@addsign/moje-agenda-shared-lib 2.0.11 → 2.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Dialog-4hkwYHTJ.js +424 -0
- package/dist/Dialog-4hkwYHTJ.js.map +1 -0
- package/dist/Dialog-CrRXl-G2.js +424 -0
- package/dist/Dialog-CrRXl-G2.js.map +1 -0
- package/dist/Dialog-D9rsAQnn.js +424 -0
- package/dist/Dialog-D9rsAQnn.js.map +1 -0
- package/dist/Dialog-v5zgZE_G.js +424 -0
- package/dist/Dialog-v5zgZE_G.js.map +1 -0
- package/dist/assets/style.css +192 -0
- package/dist/components/datatable/DataTable.js +2 -1
- package/dist/components/datatable/DataTable.js.map +1 -1
- package/dist/components/datatable/DataTableServer.js +2 -1
- package/dist/components/datatable/DataTableServer.js.map +1 -1
- package/dist/components/form/AutocompleteSearchBar.js +2 -1
- package/dist/components/form/AutocompleteSearchBar.js.map +1 -1
- package/dist/components/form/AutocompleteSearchBarServer.js +2 -1
- package/dist/components/form/AutocompleteSearchBarServer.js.map +1 -1
- package/dist/components/form/FileInput.js +3 -2
- package/dist/components/form/FileInput.js.map +1 -1
- package/dist/components/form/FileInputMultiple.js +5 -3
- package/dist/components/form/FileInputMultiple.js.map +1 -1
- package/dist/components/form/FormField.js +2 -1
- package/dist/components/form/FormField.js.map +1 -1
- package/dist/components/form/PositionsSelectorSingle.js +2 -1
- package/dist/components/form/PositionsSelectorSingle.js.map +1 -1
- package/dist/components/form/SelectField.js +2 -1
- package/dist/components/form/SelectField.js.map +1 -1
- package/dist/components/layout/CollapsibleSection.d.ts +11 -0
- package/dist/components/layout/CollapsibleSection.js +35 -0
- package/dist/components/layout/CollapsibleSection.js.map +1 -0
- package/dist/components/profiles/ProfileOverview.js +2 -1
- package/dist/components/profiles/ProfileOverview.js.map +1 -1
- package/dist/components/ui/Dialog.js +1 -1
- package/dist/components/ui/ScrollArea.js +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/command.js +2 -2
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/popover.js +5 -4
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/radioGroup.js +1 -1
- package/dist/components/ui/select.js +7 -5
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/separator.js +1 -1
- package/dist/components/ui/sonner.d.ts +5 -0
- package/dist/components/ui/sonner.js +27 -0
- package/dist/components/ui/sonner.js.map +1 -0
- package/dist/components/ui/toast.d.ts +15 -0
- package/dist/components/ui/toast.js +742 -0
- package/dist/components/ui/toast.js.map +1 -0
- package/dist/components/ui/tooltip.js +4 -4
- package/dist/index-B4D9tlF2.js +37 -0
- package/dist/index-B4D9tlF2.js.map +1 -0
- package/dist/index-BIGXjoju.js +1162 -0
- package/dist/index-BIGXjoju.js.map +1 -0
- package/dist/index-BM2wqH4l.js +270 -0
- package/dist/index-BM2wqH4l.js.map +1 -0
- package/dist/index-BkUJPEGE.js +43 -0
- package/dist/index-BkUJPEGE.js.map +1 -0
- package/dist/index-BqfaqJMm.js +43 -0
- package/dist/index-BqfaqJMm.js.map +1 -0
- package/dist/index-BvG0B6Se.js +43 -0
- package/dist/index-BvG0B6Se.js.map +1 -0
- package/dist/index-ByYhNx4V.js +2204 -0
- package/dist/index-ByYhNx4V.js.map +1 -0
- package/dist/index-C1NhngpB.js +2212 -0
- package/dist/index-C1NhngpB.js.map +1 -0
- package/dist/index-C5uX_8yI.js +36 -0
- package/dist/index-C5uX_8yI.js.map +1 -0
- package/dist/index-CEVipgcd.js +234 -0
- package/dist/index-CEVipgcd.js.map +1 -0
- package/dist/index-CFdw_5ue.js +2204 -0
- package/dist/index-CFdw_5ue.js.map +1 -0
- package/dist/index-CQ3u2ZB9.js +28845 -0
- package/dist/index-CQ3u2ZB9.js.map +1 -0
- package/dist/index-CcUZ0rsE.js +2397 -0
- package/dist/index-CcUZ0rsE.js.map +1 -0
- package/dist/index-CmEWEow1.js +304 -0
- package/dist/index-CmEWEow1.js.map +1 -0
- package/dist/index-CwJgIvMz.js +43 -0
- package/dist/index-CwJgIvMz.js.map +1 -0
- package/dist/index-CxRvlMsQ.js +1162 -0
- package/dist/index-CxRvlMsQ.js.map +1 -0
- package/dist/index-Cxv2lY-3.js +234 -0
- package/dist/index-Cxv2lY-3.js.map +1 -0
- package/dist/index-CzU-7Pp-.js +1162 -0
- package/dist/index-CzU-7Pp-.js.map +1 -0
- package/dist/index-D2vw2lEy.js +2266 -0
- package/dist/index-D2vw2lEy.js.map +1 -0
- package/dist/index-D71KqwUL.js +28839 -0
- package/dist/index-D71KqwUL.js.map +1 -0
- package/dist/index-DVCdWg5e.js +36 -0
- package/dist/index-DVCdWg5e.js.map +1 -0
- package/dist/index-DWPKrsrN.js +234 -0
- package/dist/index-DWPKrsrN.js.map +1 -0
- package/dist/index-DiJxz9_S.js +36 -0
- package/dist/index-DiJxz9_S.js.map +1 -0
- package/dist/index-DjS0QG2f.js +28845 -0
- package/dist/index-DjS0QG2f.js.map +1 -0
- package/dist/index-FMLr5tN7.js +19 -0
- package/dist/index-FMLr5tN7.js.map +1 -0
- package/dist/index-GT3w9A2i.js +19 -0
- package/dist/index-GT3w9A2i.js.map +1 -0
- package/dist/index-Gbap2fMl.js +304 -0
- package/dist/index-Gbap2fMl.js.map +1 -0
- package/dist/index-R1AkuSsS.js +2204 -0
- package/dist/index-R1AkuSsS.js.map +1 -0
- package/dist/index-VCw-BbEd.js +36 -0
- package/dist/index-VCw-BbEd.js.map +1 -0
- package/dist/index-WjZKx4Rq.js +2266 -0
- package/dist/index-WjZKx4Rq.js.map +1 -0
- package/dist/index-XoubH6QK.js +19 -0
- package/dist/index-XoubH6QK.js.map +1 -0
- package/dist/index-cAAySw6z.js +19 -0
- package/dist/index-cAAySw6z.js.map +1 -0
- package/dist/index-eb1oES0O.js +234 -0
- package/dist/index-eb1oES0O.js.map +1 -0
- package/dist/index-efRbPAF9.js +304 -0
- package/dist/index-efRbPAF9.js.map +1 -0
- package/dist/index-g4PMBWfd.js +1162 -0
- package/dist/index-g4PMBWfd.js.map +1 -0
- package/dist/index-kx4d2yA2.js +2204 -0
- package/dist/index-kx4d2yA2.js.map +1 -0
- package/dist/index-tDQ16jIS.js +304 -0
- package/dist/index-tDQ16jIS.js.map +1 -0
- package/dist/index-u7IL3f7h.js +28811 -0
- package/dist/index-u7IL3f7h.js.map +1 -0
- package/dist/index.es-CORXX5Cy.js +9594 -0
- package/dist/index.es-CORXX5Cy.js.map +1 -0
- package/dist/jspdf.plugin.autotable-f-NQ-KEg.js +11475 -0
- package/dist/jspdf.plugin.autotable-f-NQ-KEg.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +21 -15
- package/dist/main.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/handleErrors.js +2 -1
- package/dist/utils/handleErrors.js.map +1 -1
- package/lib/components/form/FileInputMultiple.tsx +1 -0
- package/lib/components/layout/CollapsibleSection.tsx +48 -0
- package/lib/components/ui/sonner.tsx +31 -0
- package/lib/components/ui/toast.tsx +129 -0
- package/lib/main.ts +5 -0
- package/lib/types.ts +1 -0
- package/lib/utils/handleErrors.ts +2 -1
- package/package.json +4 -1
|
@@ -8,7 +8,7 @@ import "../../index.esm-ifS8v9eQ.js";
|
|
|
8
8
|
import "../../jspdf.plugin.autotable-7hp3hM-a.js";
|
|
9
9
|
import "../../contexts/FederationContext.js";
|
|
10
10
|
import { useFederationContext } from "../../contexts/useFederationContext.js";
|
|
11
|
-
import "../../Dialog-
|
|
11
|
+
import "../../Dialog-D9rsAQnn.js";
|
|
12
12
|
import "../ui/ScrollArea.js";
|
|
13
13
|
import "../ui/input.js";
|
|
14
14
|
import "../ui/form.js";
|
|
@@ -20,6 +20,7 @@ import "../ui/tooltip.js";
|
|
|
20
20
|
import "../ui/separator.js";
|
|
21
21
|
import "../ui/textarea.js";
|
|
22
22
|
import "../ui/checkbox.js";
|
|
23
|
+
import "../../index-CmEWEow1.js";
|
|
23
24
|
import "../ui/button.js";
|
|
24
25
|
import "../../Calendar-DWT4e7Th.js";
|
|
25
26
|
import "../ui/DateTimePicker.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectField.js","sources":["../../../lib/components/form/SelectField.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { IFormFieldGlobalProps, IOptionItem } from \"../../types\";\r\nimport { MdCheck, MdClose, MdExpandLess, MdExpandMore } from \"react-icons/md\";\r\nimport { useClickAway } from \"react-use\";\r\nimport { SpinnerIcon, useFederationContext } from \"../../main\";\r\nimport { FaSpinner } from \"react-icons/fa\";\r\n\r\nexport interface ISelectFieldProps extends IFormFieldGlobalProps {\r\n options?: IOptionItem[];\r\n valueKey?: string;\r\n labelKey?: string | ((item: any) => string);\r\n fetchUrl?: string;\r\n loading?: boolean;\r\n}\r\n\r\nexport default function SelectField({\r\n label,\r\n name,\r\n value,\r\n description,\r\n onInputChange,\r\n options,\r\n placeholder,\r\n className,\r\n errors = {},\r\n clearable,\r\n required,\r\n disabled,\r\n rounded = true,\r\n fetchUrl,\r\n valueKey,\r\n labelKey,\r\n loading,\r\n}: ISelectFieldProps) {\r\n const [isFocused, setIsFocused] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const apiClient = useFederationContext()?.apiClient;\r\n const [localOptions, setLocalOptions] = React.useState(options);\r\n\r\n const ref = React.useRef(null);\r\n const handleClear = (e: any) => {\r\n // value;\r\n e.stopPropagation(); // Add this line\r\n\r\n setIsFocused(false);\r\n onInputChange({\r\n ...e,\r\n target: {\r\n value: \"\",\r\n name: name,\r\n },\r\n });\r\n };\r\n\r\n React.useEffect(() => {\r\n const fetchOptions = async (fetchUrl: string) => {\r\n setIsLoading(true);\r\n const { data } = await apiClient.get(fetchUrl);\r\n\r\n // Check if the first item in the data array is a number to determine the data type\r\n const isArrayOfNumbers = typeof data[0] === \"number\";\r\n const isInPageable = data && data.hasOwnProperty(\"content\");\r\n\r\n // Transform data based on its type\r\n const transformedOptions = (isInPageable ? data.content : data).map(\r\n (item: any) => {\r\n if (isArrayOfNumbers) {\r\n // If it's a number, use the number for both value and label\r\n return { value: item, label: item.toString() };\r\n } else {\r\n // Otherwise, extract using predefined keys or defaults\r\n return {\r\n value: item[valueKey || \"id\"],\r\n label:\r\n labelKey instanceof Function && labelKey !== undefined\r\n ? labelKey(item)\r\n : item[labelKey as string],\r\n };\r\n }\r\n }\r\n );\r\n\r\n setLocalOptions([\r\n { value: null, label: \" \" }, // Add an empty option as the first item\r\n ...transformedOptions,\r\n ]);\r\n setIsLoading(false);\r\n };\r\n\r\n if (fetchUrl) fetchOptions(fetchUrl);\r\n if (options) setLocalOptions(options);\r\n }, [fetchUrl, options, apiClient, valueKey, labelKey]); // ensure valueKey and labelKey are also in the dependency array if they are dynamic\r\n\r\n const handleToggleFocus = () => {\r\n setIsFocused((prev) => !prev);\r\n };\r\n\r\n useClickAway(ref, () => {\r\n setIsFocused(false);\r\n });\r\n\r\n const hangleChange = (option: IOptionItem) => {\r\n const tmp: any = {\r\n target: {\r\n value: option.value,\r\n name: name,\r\n },\r\n };\r\n\r\n onInputChange(tmp);\r\n setIsFocused(false);\r\n };\r\n const currentlySelectedOption = React.useMemo(() => {\r\n if (value === undefined || value === \"\") return null;\r\n return localOptions?.find((option) => option.value == value);\r\n }, [localOptions, value, options]);\r\n\r\n const listOfOptions = () => {\r\n if (!localOptions) return [];\r\n return (\r\n <div\r\n id=\"list\"\r\n className=\"max-h-[390px] min-w-20 w-auto whitespace-nowrap absolute z-[100000] -top-[1px] mt-[4px] bg-white rounded-lg shadow-xl border\r\n border-gray-200 justify-start items-start inline-flex overflow-auto cursor-default\"\r\n >\r\n <div className=\"grow shrink basis-0 py-1 flex-col justify-start items-start inline-flex\">\r\n {localOptions.map((option, index) => {\r\n return (\r\n <div\r\n className=\"group self-stretch px-1.5 py-px justify-start items-center inline-flex hover:bg-gray-50 \"\r\n onClick={() => hangleChange(option)}\r\n key={index}\r\n >\r\n <div className=\"grow shrink basis-0 px-1 py-2 rounded-md flex-col justify-start items-start gap-2 inline-flex\">\r\n <div className=\"self-stretch justify-start items-center gap-2 inline-flex\">\r\n <div className=\"text-gray-900 text-sm font-normal leading-normal\">\r\n {option.label}\r\n </div>\r\n {option.description && (\r\n <div className=\"text-slate-600 sm-base font-normal leading-normal\">\r\n {option.description}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"w-5 h-5 relative\">\r\n {option.value === value && value !== \"\" && (\r\n <MdCheck size={22} className=\"text-primary\" />\r\n )}{\" \"}\r\n {option.value !== value && (\r\n <MdCheck\r\n size={22}\r\n className=\"text-transparent group-hover:text-gray-300\"\r\n />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n className={\r\n \"w-full min-h-30 flex-col justify-start items-start gap-0inline-flex \" +\r\n className\r\n }\r\n id=\"selectField\"\r\n ref={ref}\r\n >\r\n <div className=\"self-stretch flex-col justify-start items-start gap-1.5 flex\">\r\n {label && (\r\n <label\r\n className=\"text-slate-700 text-sm font-medium leading-tight\"\r\n htmlFor={name}\r\n >\r\n {label} {required ? \"*\" : \"\"}\r\n </label>\r\n )}\r\n <div\r\n className={`self-stretch w-full px-3 py-1 bg-white border justify-start items-center gap-0 inline-flex outline-none \r\n ${isFocused ? \"outline-4 outline-indigo-200 outline-offset-0 border-indigo-300 \" : \"\"}\r\n ${\r\n isFocused && errors[name]?.message\r\n ? \"outline-4 outline-red-200 outline-offset-0 border-none\"\r\n : \"\"\r\n } \r\n ${rounded ? \" rounded-lg \" : \" rounded-none \"}\r\n ${!isFocused && errors[name]?.message ? \"border-red-200\" : \"\"} \r\n ${disabled || isLoading ? \"opacity-80 cursor-not-allowed \" : \"\"}\r\n `}\r\n onClick={() =>\r\n !disabled && !isLoading ? handleToggleFocus() : null\r\n }\r\n >\r\n <div className=\"grow shrink basis-0 min-h-[32px] justify-start items-center gap-0 flex whitespace-nowrap w-[calc(100%-40px)] \">\r\n <div\r\n className=\"text-gray-900 text-sm font-normal leading-normal text-ellipsis overflow-hidden w-full\"\r\n id={name}\r\n >\r\n {currentlySelectedOption?.label}\r\n {!currentlySelectedOption?.label && placeholder && (\r\n <span className=\"text-slate-400 font-normal\">\r\n {\" \"}\r\n {placeholder}\r\n </span>\r\n )}\r\n </div>\r\n <div className=\"text-slate-600 text-base font-normal leading-normal\">\r\n {currentlySelectedOption?.description}\r\n </div>\r\n </div>\r\n {clearable &&\r\n value !== \"\" &&\r\n value !== null &&\r\n value !== undefined &&\r\n !disabled && (\r\n <div\r\n className=\"w-6 h-6 relative cursor-pointer \"\r\n id={name + \":clear\"}\r\n onClick={handleClear}\r\n >\r\n <div className=\"absolute inset-0 flex items-center justify-center hover:bg-gray-100 w-6 rounded-full text-lg\">\r\n <MdClose />\r\n </div>{\" \"}\r\n </div>\r\n )}\r\n {isLoading === true ||\r\n (loading && (\r\n <div className=\"w-6 h-6 relative flex items-center justify-center align-middle\">\r\n <SpinnerIcon icon={<FaSpinner />} />\r\n </div>\r\n ))}\r\n\r\n <div className=\"w-6 h-6 relative cursor-pointer \">\r\n <div className=\"absolute inset-0 flex items-center justify-center hover:bg-gray-100 w-6 rounded-full text-lg\">\r\n {isFocused && !disabled && <MdExpandLess />}\r\n {!isFocused && !disabled && <MdExpandMore />}\r\n </div>\r\n </div>\r\n </div>\r\n </div>{\" \"}\r\n <div className=\"w-full relative\">{isFocused && listOfOptions()}</div>\r\n {description && !isFocused && (\r\n <div\r\n className=\"self-stretch text-slate-600 text-sm font-normal leading-tight\"\r\n id={name + \":description\"}\r\n >\r\n {description}\r\n </div>\r\n )}\r\n {errors[name] && (\r\n <div\r\n className=\"HintText self-stretch text-red-600 text-sm font-normal leading-tight\"\r\n id={name + \":error\"}\r\n >\r\n {errors[name]?.message}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n );\r\n}\r\n"],"names":["fetchUrl"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectField.js","sources":["../../../lib/components/form/SelectField.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { IFormFieldGlobalProps, IOptionItem } from \"../../types\";\r\nimport { MdCheck, MdClose, MdExpandLess, MdExpandMore } from \"react-icons/md\";\r\nimport { useClickAway } from \"react-use\";\r\nimport { SpinnerIcon, useFederationContext } from \"../../main\";\r\nimport { FaSpinner } from \"react-icons/fa\";\r\n\r\nexport interface ISelectFieldProps extends IFormFieldGlobalProps {\r\n options?: IOptionItem[];\r\n valueKey?: string;\r\n labelKey?: string | ((item: any) => string);\r\n fetchUrl?: string;\r\n loading?: boolean;\r\n}\r\n\r\nexport default function SelectField({\r\n label,\r\n name,\r\n value,\r\n description,\r\n onInputChange,\r\n options,\r\n placeholder,\r\n className,\r\n errors = {},\r\n clearable,\r\n required,\r\n disabled,\r\n rounded = true,\r\n fetchUrl,\r\n valueKey,\r\n labelKey,\r\n loading,\r\n}: ISelectFieldProps) {\r\n const [isFocused, setIsFocused] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const apiClient = useFederationContext()?.apiClient;\r\n const [localOptions, setLocalOptions] = React.useState(options);\r\n\r\n const ref = React.useRef(null);\r\n const handleClear = (e: any) => {\r\n // value;\r\n e.stopPropagation(); // Add this line\r\n\r\n setIsFocused(false);\r\n onInputChange({\r\n ...e,\r\n target: {\r\n value: \"\",\r\n name: name,\r\n },\r\n });\r\n };\r\n\r\n React.useEffect(() => {\r\n const fetchOptions = async (fetchUrl: string) => {\r\n setIsLoading(true);\r\n const { data } = await apiClient.get(fetchUrl);\r\n\r\n // Check if the first item in the data array is a number to determine the data type\r\n const isArrayOfNumbers = typeof data[0] === \"number\";\r\n const isInPageable = data && data.hasOwnProperty(\"content\");\r\n\r\n // Transform data based on its type\r\n const transformedOptions = (isInPageable ? data.content : data).map(\r\n (item: any) => {\r\n if (isArrayOfNumbers) {\r\n // If it's a number, use the number for both value and label\r\n return { value: item, label: item.toString() };\r\n } else {\r\n // Otherwise, extract using predefined keys or defaults\r\n return {\r\n value: item[valueKey || \"id\"],\r\n label:\r\n labelKey instanceof Function && labelKey !== undefined\r\n ? labelKey(item)\r\n : item[labelKey as string],\r\n };\r\n }\r\n }\r\n );\r\n\r\n setLocalOptions([\r\n { value: null, label: \" \" }, // Add an empty option as the first item\r\n ...transformedOptions,\r\n ]);\r\n setIsLoading(false);\r\n };\r\n\r\n if (fetchUrl) fetchOptions(fetchUrl);\r\n if (options) setLocalOptions(options);\r\n }, [fetchUrl, options, apiClient, valueKey, labelKey]); // ensure valueKey and labelKey are also in the dependency array if they are dynamic\r\n\r\n const handleToggleFocus = () => {\r\n setIsFocused((prev) => !prev);\r\n };\r\n\r\n useClickAway(ref, () => {\r\n setIsFocused(false);\r\n });\r\n\r\n const hangleChange = (option: IOptionItem) => {\r\n const tmp: any = {\r\n target: {\r\n value: option.value,\r\n name: name,\r\n },\r\n };\r\n\r\n onInputChange(tmp);\r\n setIsFocused(false);\r\n };\r\n const currentlySelectedOption = React.useMemo(() => {\r\n if (value === undefined || value === \"\") return null;\r\n return localOptions?.find((option) => option.value == value);\r\n }, [localOptions, value, options]);\r\n\r\n const listOfOptions = () => {\r\n if (!localOptions) return [];\r\n return (\r\n <div\r\n id=\"list\"\r\n className=\"max-h-[390px] min-w-20 w-auto whitespace-nowrap absolute z-[100000] -top-[1px] mt-[4px] bg-white rounded-lg shadow-xl border\r\n border-gray-200 justify-start items-start inline-flex overflow-auto cursor-default\"\r\n >\r\n <div className=\"grow shrink basis-0 py-1 flex-col justify-start items-start inline-flex\">\r\n {localOptions.map((option, index) => {\r\n return (\r\n <div\r\n className=\"group self-stretch px-1.5 py-px justify-start items-center inline-flex hover:bg-gray-50 \"\r\n onClick={() => hangleChange(option)}\r\n key={index}\r\n >\r\n <div className=\"grow shrink basis-0 px-1 py-2 rounded-md flex-col justify-start items-start gap-2 inline-flex\">\r\n <div className=\"self-stretch justify-start items-center gap-2 inline-flex\">\r\n <div className=\"text-gray-900 text-sm font-normal leading-normal\">\r\n {option.label}\r\n </div>\r\n {option.description && (\r\n <div className=\"text-slate-600 sm-base font-normal leading-normal\">\r\n {option.description}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"w-5 h-5 relative\">\r\n {option.value === value && value !== \"\" && (\r\n <MdCheck size={22} className=\"text-primary\" />\r\n )}{\" \"}\r\n {option.value !== value && (\r\n <MdCheck\r\n size={22}\r\n className=\"text-transparent group-hover:text-gray-300\"\r\n />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <div\r\n className={\r\n \"w-full min-h-30 flex-col justify-start items-start gap-0inline-flex \" +\r\n className\r\n }\r\n id=\"selectField\"\r\n ref={ref}\r\n >\r\n <div className=\"self-stretch flex-col justify-start items-start gap-1.5 flex\">\r\n {label && (\r\n <label\r\n className=\"text-slate-700 text-sm font-medium leading-tight\"\r\n htmlFor={name}\r\n >\r\n {label} {required ? \"*\" : \"\"}\r\n </label>\r\n )}\r\n <div\r\n className={`self-stretch w-full px-3 py-1 bg-white border justify-start items-center gap-0 inline-flex outline-none \r\n ${isFocused ? \"outline-4 outline-indigo-200 outline-offset-0 border-indigo-300 \" : \"\"}\r\n ${\r\n isFocused && errors[name]?.message\r\n ? \"outline-4 outline-red-200 outline-offset-0 border-none\"\r\n : \"\"\r\n } \r\n ${rounded ? \" rounded-lg \" : \" rounded-none \"}\r\n ${!isFocused && errors[name]?.message ? \"border-red-200\" : \"\"} \r\n ${disabled || isLoading ? \"opacity-80 cursor-not-allowed \" : \"\"}\r\n `}\r\n onClick={() =>\r\n !disabled && !isLoading ? handleToggleFocus() : null\r\n }\r\n >\r\n <div className=\"grow shrink basis-0 min-h-[32px] justify-start items-center gap-0 flex whitespace-nowrap w-[calc(100%-40px)] \">\r\n <div\r\n className=\"text-gray-900 text-sm font-normal leading-normal text-ellipsis overflow-hidden w-full\"\r\n id={name}\r\n >\r\n {currentlySelectedOption?.label}\r\n {!currentlySelectedOption?.label && placeholder && (\r\n <span className=\"text-slate-400 font-normal\">\r\n {\" \"}\r\n {placeholder}\r\n </span>\r\n )}\r\n </div>\r\n <div className=\"text-slate-600 text-base font-normal leading-normal\">\r\n {currentlySelectedOption?.description}\r\n </div>\r\n </div>\r\n {clearable &&\r\n value !== \"\" &&\r\n value !== null &&\r\n value !== undefined &&\r\n !disabled && (\r\n <div\r\n className=\"w-6 h-6 relative cursor-pointer \"\r\n id={name + \":clear\"}\r\n onClick={handleClear}\r\n >\r\n <div className=\"absolute inset-0 flex items-center justify-center hover:bg-gray-100 w-6 rounded-full text-lg\">\r\n <MdClose />\r\n </div>{\" \"}\r\n </div>\r\n )}\r\n {isLoading === true ||\r\n (loading && (\r\n <div className=\"w-6 h-6 relative flex items-center justify-center align-middle\">\r\n <SpinnerIcon icon={<FaSpinner />} />\r\n </div>\r\n ))}\r\n\r\n <div className=\"w-6 h-6 relative cursor-pointer \">\r\n <div className=\"absolute inset-0 flex items-center justify-center hover:bg-gray-100 w-6 rounded-full text-lg\">\r\n {isFocused && !disabled && <MdExpandLess />}\r\n {!isFocused && !disabled && <MdExpandMore />}\r\n </div>\r\n </div>\r\n </div>\r\n </div>{\" \"}\r\n <div className=\"w-full relative\">{isFocused && listOfOptions()}</div>\r\n {description && !isFocused && (\r\n <div\r\n className=\"self-stretch text-slate-600 text-sm font-normal leading-tight\"\r\n id={name + \":description\"}\r\n >\r\n {description}\r\n </div>\r\n )}\r\n {errors[name] && (\r\n <div\r\n className=\"HintText self-stretch text-red-600 text-sm font-normal leading-tight\"\r\n id={name + \":error\"}\r\n >\r\n {errors[name]?.message}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n );\r\n}\r\n"],"names":["fetchUrl"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface CollapsibleSectionProps {
|
|
3
|
+
title: string;
|
|
4
|
+
expanded?: boolean;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
classNameEnvelope?: string;
|
|
8
|
+
classNameTitle?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const CollapsibleSection: ({ title, expanded, children, className, classNameEnvelope, classNameTitle, }: CollapsibleSectionProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default CollapsibleSection;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { M as MdExpandLess, a as MdExpandMore } from "../../index-DVD0PiGU.js";
|
|
4
|
+
import { cn } from "../../utils/utils.js";
|
|
5
|
+
const CollapsibleSection = ({
|
|
6
|
+
title,
|
|
7
|
+
expanded = true,
|
|
8
|
+
children,
|
|
9
|
+
className,
|
|
10
|
+
classNameEnvelope,
|
|
11
|
+
classNameTitle
|
|
12
|
+
}) => {
|
|
13
|
+
const [isExpanded, setIsExpanded] = useState(expanded);
|
|
14
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("rounded-md shadow-lg border", classNameEnvelope), children: [
|
|
15
|
+
/* @__PURE__ */ jsxs(
|
|
16
|
+
"div",
|
|
17
|
+
{
|
|
18
|
+
className: cn(
|
|
19
|
+
"w-full justify-between border-b hover:bg-muted flex py-4 px-5 items-center cursor-pointer",
|
|
20
|
+
classNameTitle
|
|
21
|
+
),
|
|
22
|
+
onClick: () => setIsExpanded((prev) => !prev),
|
|
23
|
+
children: [
|
|
24
|
+
/* @__PURE__ */ jsx("div", { className: "font-medium text-lg", children: title }),
|
|
25
|
+
/* @__PURE__ */ jsx("div", { children: isExpanded ? /* @__PURE__ */ jsx(MdExpandLess, { size: "24px", className: "text-gray-600" }) : /* @__PURE__ */ jsx(MdExpandMore, { size: "24px", className: "text-gray-600" }) })
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
isExpanded && /* @__PURE__ */ jsx("div", { className: cn("p-5", className), children })
|
|
30
|
+
] });
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
CollapsibleSection as default
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=CollapsibleSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleSection.js","sources":["../../../lib/components/layout/CollapsibleSection.tsx"],"sourcesContent":["import { useState } from \"react\";\r\nimport { MdExpandLess, MdExpandMore } from \"react-icons/md\";\r\nimport { cn } from \"../../utils/utils\";\r\n\r\ninterface CollapsibleSectionProps {\r\n title: string;\r\n expanded?: boolean;\r\n children: React.ReactNode;\r\n\r\n className?: string;\r\n classNameEnvelope?: string;\r\n classNameTitle?: string;\r\n}\r\n\r\nconst CollapsibleSection = ({\r\n title,\r\n expanded = true,\r\n children,\r\n className,\r\n classNameEnvelope,\r\n classNameTitle,\r\n}: CollapsibleSectionProps) => {\r\n const [isExpanded, setIsExpanded] = useState(expanded);\r\n\r\n return (\r\n <div className={cn(\"rounded-md shadow-lg border\", classNameEnvelope)}>\r\n <div\r\n className={cn(\r\n \"w-full justify-between border-b hover:bg-muted flex py-4 px-5 items-center cursor-pointer\",\r\n classNameTitle\r\n )}\r\n onClick={() => setIsExpanded((prev) => !prev)}\r\n >\r\n <div className=\"font-medium text-lg\">{title}</div>\r\n <div>\r\n {isExpanded ? (\r\n <MdExpandLess size={\"24px\"} className=\"text-gray-600\" />\r\n ) : (\r\n <MdExpandMore size={\"24px\"} className=\"text-gray-600\" />\r\n )}\r\n </div>\r\n </div>\r\n {isExpanded && <div className={cn(\"p-5\", className)}>{children}</div>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default CollapsibleSection;\r\n"],"names":[],"mappings":";;;;AAcA,MAAM,qBAAqB,CAAC;AAAA,EAC1B;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,QAAQ;AAErD,8BACG,OAAI,EAAA,WAAW,GAAG,+BAA+B,iBAAiB,GACjE,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS,MAAM,cAAc,CAAC,SAAS,CAAC,IAAI;AAAA,QAE5C,UAAA;AAAA,UAAC,oBAAA,OAAA,EAAI,WAAU,uBAAuB,UAAM,OAAA;AAAA,8BAC3C,OACE,EAAA,UAAA,aACE,oBAAA,cAAA,EAAa,MAAM,QAAQ,WAAU,iBAAgB,wBAErD,cAAa,EAAA,MAAM,QAAQ,WAAU,gBAAgB,CAAA,GAE1D;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACC,kCAAe,OAAI,EAAA,WAAW,GAAG,OAAO,SAAS,GAAI,UAAS;AAAA,EACjE,EAAA,CAAA;AAEJ;"}
|
|
@@ -9,7 +9,7 @@ import { useFederationContext } from "../../contexts/useFederationContext.js";
|
|
|
9
9
|
import { getFullName } from "../../utils/getFullName.js";
|
|
10
10
|
import { handleErrors } from "../../utils/handleErrors.js";
|
|
11
11
|
import { EApproverRoles } from "../../types.js";
|
|
12
|
-
import "../../Dialog-
|
|
12
|
+
import "../../Dialog-D9rsAQnn.js";
|
|
13
13
|
import "../ui/ScrollArea.js";
|
|
14
14
|
import "../ui/input.js";
|
|
15
15
|
import "../ui/form.js";
|
|
@@ -21,6 +21,7 @@ import "../ui/tooltip.js";
|
|
|
21
21
|
import "../ui/separator.js";
|
|
22
22
|
import "../ui/textarea.js";
|
|
23
23
|
import "../ui/checkbox.js";
|
|
24
|
+
import "../../index-CmEWEow1.js";
|
|
24
25
|
import "../ui/button.js";
|
|
25
26
|
import "../../Calendar-DWT4e7Th.js";
|
|
26
27
|
import "../ui/DateTimePicker.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileOverview.js","sources":["../../../lib/components/profiles/ProfileOverview.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\r\nimport SectionTitle from \"../layout/SectionTitle\";\r\nimport {\r\n EApproverRoles,\r\n IProfileApprover,\r\n IStep,\r\n getFullName,\r\n handleErrors,\r\n useFederationContext,\r\n} from \"../../main\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport IconInCircle from \"../layout/IconInCircle\";\r\n\r\ninterface ProfileOverviewProps {\r\n employeeId?: number;\r\n onProfileApproversChange?: (data: IProfileApprover[]) => void;\r\n steps: IStep[];\r\n}\r\n\r\ninterface IApproverRoleGroup {\r\n name: string;\r\n roles: EApproverRoles[];\r\n all: boolean;\r\n parallel: boolean;\r\n stepType: number;\r\n}\r\n\r\nconst approverRoleGroups: IApproverRoleGroup[] = [\r\n {\r\n name: \"Předschvalovatelé\",\r\n roles: [EApproverRoles.predschvalovatel],\r\n all: true,\r\n parallel: true,\r\n stepType: 1,\r\n },\r\n {\r\n name: \"Schvalovatelé\",\r\n roles: [\r\n EApproverRoles.vedouci,\r\n EApproverRoles.zastupce,\r\n EApproverRoles.zastupce9,\r\n EApproverRoles.vyssiSchvalovatel,\r\n EApproverRoles.vyssiSchvalovatelZastupce,\r\n EApproverRoles.vyssiSchvalovatelZastupce9,\r\n ],\r\n all: false,\r\n parallel: true,\r\n stepType: 2,\r\n },\r\n {\r\n name: \"Docházkový vedoucí\",\r\n roles: [EApproverRoles.dochazkovyVedouci],\r\n all: true,\r\n parallel: false,\r\n stepType: 3,\r\n },\r\n];\r\n\r\nexport default function ProfileOverview({\r\n employeeId,\r\n onProfileApproversChange,\r\n steps,\r\n}: ProfileOverviewProps) {\r\n const [profileApprovers, setProfileApprovers] = useState<\r\n Array<IProfileApprover>\r\n >([]);\r\n const context = useFederationContext();\r\n\r\n const currentApprovers = useMemo(() => {\r\n return approverRoleGroups.map((group) => {\r\n const groupApprovers = profileApprovers.filter((approver) =>\r\n group.roles.includes(approver.role)\r\n );\r\n\r\n const groupApprovedSteps = steps.filter(\r\n (step) =>\r\n step.type == group.stepType &&\r\n groupApprovers.some(\r\n (approver) =>\r\n step.employee.employeeId == approver?.approver?.employeeId\r\n )\r\n );\r\n\r\n return {\r\n ...group,\r\n numberOfApprovers: groupApprovers.length,\r\n numberOfApprovedSteps: groupApprovedSteps.length,\r\n isComplete:\r\n (group.all && groupApprovers.length == groupApprovedSteps.length) ||\r\n (!group.all && groupApprovedSteps.length > 0),\r\n };\r\n });\r\n }, [profileApprovers, steps]);\r\n\r\n useEffect(() => {\r\n context.apiClient\r\n .get<IProfileApprover[]>(\r\n \"/timeoff/approve-profile\" + (employeeId ? \"/\" + employeeId : \"\")\r\n )\r\n .then((response: AxiosResponse) => {\r\n setProfileApprovers(response.data);\r\n })\r\n .catch((error) => {\r\n handleErrors(\r\n error,\r\n context.emitter,\r\n \"Nepodařilo se dohledat schvalovací profil pro uživatele \" +\r\n employeeId\r\n );\r\n console.error(\"Error submitting form:\", error);\r\n });\r\n }, [employeeId, context.emitter, context.apiClient]);\r\n\r\n const decisionsTranslations = (decision: string): string | null => {\r\n const translations: { [key: string]: string } = {\r\n approved: \"Schváleno\",\r\n rejected: \"Zamítnuto\",\r\n cancelled: \"Stornováno\",\r\n evided: \"Zaevidováno\",\r\n };\r\n\r\n return translations[decision] || null;\r\n };\r\n // pri nacteni profileApprovers se muze dat vedet parent componente inbfo o aktualnich schvalovatelich\r\n useEffect(() => {\r\n if (onProfileApproversChange) onProfileApproversChange(profileApprovers);\r\n }, [profileApprovers, onProfileApproversChange]);\r\n\r\n const findStep = (\r\n steps: IStep[],\r\n group: IApproverRoleGroup,\r\n row: IProfileApprover\r\n ) => {\r\n return steps.find(\r\n (step) =>\r\n step.type == group.stepType &&\r\n step.employee.employeeId == row.position?.employee?.employeeId\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <SectionTitle>Postup schvalování</SectionTitle>\r\n <div className=\"flex gap-4\">\r\n {currentApprovers.map((group, index) => (\r\n <div\r\n key={group.name}\r\n className={\r\n \"w-full lg:w-1/3 rounded-lg shadow-xl p-5 border gap-4 flex flex-col \"\r\n }\r\n >\r\n <div className=\"flex justify-between\">\r\n <h3 className=\"text-xl font-bold\">\r\n {group.name} - {index}\r\n </h3>\r\n\r\n <IconInCircle\r\n isComplete={group.isComplete}\r\n title={\r\n group.numberOfApprovedSteps + \" / \" + group.numberOfApprovers\r\n }\r\n isPending={!group.isComplete}\r\n ></IconInCircle>\r\n </div>\r\n {profileApprovers\r\n .filter((it) => group.roles.includes(it.role))\r\n .map((row, index) => (\r\n <div\r\n key={index}\r\n className=\" border rounded-lg p-4 flex justify-between gap-5\"\r\n >\r\n <div>\r\n <h3 className=\"\">\r\n {getFullName(row.position?.employee, true)}\r\n </h3>\r\n <p className=\"text-sm \">{row.roleTxt}</p>\r\n {findStep(steps, group, row) && (\r\n <>\r\n <p className=\"text-sm \"></p>{\" \"}\r\n {findStep(steps, group, row)?.decision && (\r\n <p className=\"text-sm \">\r\n {decisionsTranslations(\r\n findStep(steps, group, row)?.decision || \"\"\r\n )}{\" \"}\r\n (\r\n {new Date(\r\n findStep(steps, group, row)?.date || 0\r\n ).toLocaleString()}\r\n )\r\n </p>\r\n )}\r\n {findStep(steps, group, row)?.comment && (\r\n <p className=\"text-sm \">\r\n <b>Komentář</b>:{\" \"}\r\n {findStep(steps, group, row)?.comment}{\" \"}\r\n </p>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n <IconInCircle\r\n isComplete={findStep(steps, group, row) != null}\r\n isPending={!group.isComplete}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n );\r\n}\r\n"],"names":["steps","index"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAM,qBAA2C;AAAA,EAC/C;AAAA,IACE,MAAM;AAAA,IACN,OAAO,CAAC,eAAe,gBAAgB;AAAA,IACvC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,MACL,eAAe;AAAA,MACf,eAAe;AAAA,MACf,eAAe;AAAA,MACf,eAAe;AAAA,MACf,eAAe;AAAA,MACf,eAAe;AAAA,IACjB;AAAA,IACA,KAAK;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO,CAAC,eAAe,iBAAiB;AAAA,IACxC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AACF;AAEA,SAAwB,gBAAgB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAE9C,CAAE,CAAA;AACJ,QAAM,UAAU;AAEV,QAAA,mBAAmB,QAAQ,MAAM;AAC9B,WAAA,mBAAmB,IAAI,CAAC,UAAU;AACvC,YAAM,iBAAiB,iBAAiB;AAAA,QAAO,CAAC,aAC9C,MAAM,MAAM,SAAS,SAAS,IAAI;AAAA,MAAA;AAGpC,YAAM,qBAAqB,MAAM;AAAA,QAC/B,CAAC,SACC,KAAK,QAAQ,MAAM,YACnB,eAAe;AAAA,UACb,CAAC,aACC;;AAAA,wBAAK,SAAS,gBAAc,0CAAU,aAAV,mBAAoB;AAAA;AAAA,QACpD;AAAA,MAAA;AAGG,aAAA;AAAA,QACL,GAAG;AAAA,QACH,mBAAmB,eAAe;AAAA,QAClC,uBAAuB,mBAAmB;AAAA,QAC1C,YACG,MAAM,OAAO,eAAe,UAAU,mBAAmB,UACzD,CAAC,MAAM,OAAO,mBAAmB,SAAS;AAAA,MAAA;AAAA,IAC/C,CACD;AAAA,EAAA,GACA,CAAC,kBAAkB,KAAK,CAAC;AAE5B,YAAU,MAAM;AACd,YAAQ,UACL;AAAA,MACC,8BAA8B,aAAa,MAAM,aAAa;AAAA,IAAA,EAE/D,KAAK,CAAC,aAA4B;AACjC,0BAAoB,SAAS,IAAI;AAAA,IAAA,CAClC,EACA,MAAM,CAAC,UAAU;AAChB;AAAA,QACE;AAAA,QACA,QAAQ;AAAA,QACR,6DACE;AAAA,MAAA;AAEI,cAAA,MAAM,0BAA0B,KAAK;AAAA,IAAA,CAC9C;AAAA,EAAA,GACF,CAAC,YAAY,QAAQ,SAAS,QAAQ,SAAS,CAAC;AAE7C,QAAA,wBAAwB,CAAC,aAAoC;AACjE,UAAM,eAA0C;AAAA,MAC9C,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MACX,QAAQ;AAAA,IAAA;AAGH,WAAA,aAAa,QAAQ,KAAK;AAAA,EAAA;AAGnC,YAAU,MAAM;AACV,QAAA;AAA0B,+BAAyB,gBAAgB;AAAA,EAAA,GACtE,CAAC,kBAAkB,wBAAwB,CAAC;AAE/C,QAAM,WAAW,CACfA,QACA,OACA,QACG;AACH,WAAOA,OAAM;AAAA,MACX,CAAC,SACC;;AAAA,oBAAK,QAAQ,MAAM,YACnB,KAAK,SAAS,gBAAc,eAAI,aAAJ,mBAAc,aAAd,mBAAwB;AAAA;AAAA,IAAA;AAAA,EACxD;AAGF,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,gBAAa,UAAkB,qBAAA,CAAA;AAAA,IAChC,oBAAC,SAAI,WAAU,cACZ,2BAAiB,IAAI,CAAC,OAAO,UAC5B;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WACE;AAAA,QAGF,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,YAAC,qBAAA,MAAA,EAAG,WAAU,qBACX,UAAA;AAAA,cAAM,MAAA;AAAA,cAAK;AAAA,cAAI;AAAA,YAAA,GAClB;AAAA,YAEA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,YAAY,MAAM;AAAA,gBAClB,OACE,MAAM,wBAAwB,QAAQ,MAAM;AAAA,gBAE9C,WAAW,CAAC,MAAM;AAAA,cAAA;AAAA,YACnB;AAAA,UAAA,GACH;AAAA,UACC,iBACE,OAAO,CAAC,OAAO,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,EAC5C,IAAI,CAAC,KAAKC,WACT;;AAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAU;AAAA,gBAEV,UAAA;AAAA,kBAAA,qBAAC,OACC,EAAA,UAAA;AAAA,oBAAC,oBAAA,MAAA,EAAG,WAAU,IACX,UAAA,aAAY,SAAI,aAAJ,mBAAc,UAAU,IAAI,EAC3C,CAAA;AAAA,oBACC,oBAAA,KAAA,EAAE,WAAU,YAAY,cAAI,SAAQ;AAAA,oBACpC,SAAS,OAAO,OAAO,GAAG,KAEvB,qBAAA,UAAA,EAAA,UAAA;AAAA,sBAAC,oBAAA,KAAA,EAAE,WAAU,WAAW,CAAA;AAAA,sBAAK;AAAA,wBAC5B,cAAS,OAAO,OAAO,GAAG,MAA1B,mBAA6B,aAC5B,qBAAC,KAAE,EAAA,WAAU,YACV,UAAA;AAAA,wBAAA;AAAA,4BACC,cAAS,OAAO,OAAO,GAAG,MAA1B,mBAA6B,aAAY;AAAA,wBAC3C;AAAA,wBAAG;AAAA,wBAAI;AAAA,wBAEN,IAAI;AAAA,4BACH,cAAS,OAAO,OAAO,GAAG,MAA1B,mBAA6B,SAAQ;AAAA,0BACrC,eAAe;AAAA,wBAAE;AAAA,sBAAA,GAErB;AAAA,wBAED,cAAS,OAAO,OAAO,GAAG,MAA1B,mBAA6B,YAC5B,qBAAC,KAAE,EAAA,WAAU,YACX,UAAA;AAAA,wBAAA,oBAAC,OAAE,UAAQ,WAAA,CAAA;AAAA,wBAAI;AAAA,wBAAE;AAAA,yBAChB,cAAS,OAAO,OAAO,GAAG,MAA1B,mBAA6B;AAAA,wBAAS;AAAA,sBAAA,GACzC;AAAA,oBAAA,GAEJ;AAAA,kBAAA,GAEJ;AAAA,kBACA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,YAAY,SAAS,OAAO,OAAO,GAAG,KAAK;AAAA,sBAC3C,WAAW,CAAC,MAAM;AAAA,oBAAA;AAAA,kBACpB;AAAA,gBAAA;AAAA,cAAA;AAAA,cAnCKA;AAAAA,YAAA;AAAA,WAqCR;AAAA,QAAA;AAAA,MAAA;AAAA,MA3DE,MAAM;AAAA,IA6Dd,CAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"ProfileOverview.js","sources":["../../../lib/components/profiles/ProfileOverview.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\r\nimport SectionTitle from \"../layout/SectionTitle\";\r\nimport {\r\n EApproverRoles,\r\n IProfileApprover,\r\n IStep,\r\n getFullName,\r\n handleErrors,\r\n useFederationContext,\r\n} from \"../../main\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport IconInCircle from \"../layout/IconInCircle\";\r\n\r\ninterface ProfileOverviewProps {\r\n employeeId?: number;\r\n onProfileApproversChange?: (data: IProfileApprover[]) => void;\r\n steps: IStep[];\r\n}\r\n\r\ninterface IApproverRoleGroup {\r\n name: string;\r\n roles: EApproverRoles[];\r\n all: boolean;\r\n parallel: boolean;\r\n stepType: number;\r\n}\r\n\r\nconst approverRoleGroups: IApproverRoleGroup[] = [\r\n {\r\n name: \"Předschvalovatelé\",\r\n roles: [EApproverRoles.predschvalovatel],\r\n all: true,\r\n parallel: true,\r\n stepType: 1,\r\n },\r\n {\r\n name: \"Schvalovatelé\",\r\n roles: [\r\n EApproverRoles.vedouci,\r\n EApproverRoles.zastupce,\r\n EApproverRoles.zastupce9,\r\n EApproverRoles.vyssiSchvalovatel,\r\n EApproverRoles.vyssiSchvalovatelZastupce,\r\n EApproverRoles.vyssiSchvalovatelZastupce9,\r\n ],\r\n all: false,\r\n parallel: true,\r\n stepType: 2,\r\n },\r\n {\r\n name: \"Docházkový vedoucí\",\r\n roles: [EApproverRoles.dochazkovyVedouci],\r\n all: true,\r\n parallel: false,\r\n stepType: 3,\r\n },\r\n];\r\n\r\nexport default function ProfileOverview({\r\n employeeId,\r\n onProfileApproversChange,\r\n steps,\r\n}: ProfileOverviewProps) {\r\n const [profileApprovers, setProfileApprovers] = useState<\r\n Array<IProfileApprover>\r\n >([]);\r\n const context = useFederationContext();\r\n\r\n const currentApprovers = useMemo(() => {\r\n return approverRoleGroups.map((group) => {\r\n const groupApprovers = profileApprovers.filter((approver) =>\r\n group.roles.includes(approver.role)\r\n );\r\n\r\n const groupApprovedSteps = steps.filter(\r\n (step) =>\r\n step.type == group.stepType &&\r\n groupApprovers.some(\r\n (approver) =>\r\n step.employee.employeeId == approver?.approver?.employeeId\r\n )\r\n );\r\n\r\n return {\r\n ...group,\r\n numberOfApprovers: groupApprovers.length,\r\n numberOfApprovedSteps: groupApprovedSteps.length,\r\n isComplete:\r\n (group.all && groupApprovers.length == groupApprovedSteps.length) ||\r\n (!group.all && groupApprovedSteps.length > 0),\r\n };\r\n });\r\n }, [profileApprovers, steps]);\r\n\r\n useEffect(() => {\r\n context.apiClient\r\n .get<IProfileApprover[]>(\r\n \"/timeoff/approve-profile\" + (employeeId ? \"/\" + employeeId : \"\")\r\n )\r\n .then((response: AxiosResponse) => {\r\n setProfileApprovers(response.data);\r\n })\r\n .catch((error) => {\r\n handleErrors(\r\n error,\r\n context.emitter,\r\n \"Nepodařilo se dohledat schvalovací profil pro uživatele \" +\r\n employeeId\r\n );\r\n console.error(\"Error submitting form:\", error);\r\n });\r\n }, [employeeId, context.emitter, context.apiClient]);\r\n\r\n const decisionsTranslations = (decision: string): string | null => {\r\n const translations: { [key: string]: string } = {\r\n approved: \"Schváleno\",\r\n rejected: \"Zamítnuto\",\r\n cancelled: \"Stornováno\",\r\n evided: \"Zaevidováno\",\r\n };\r\n\r\n return translations[decision] || null;\r\n };\r\n // pri nacteni profileApprovers se muze dat vedet parent componente inbfo o aktualnich schvalovatelich\r\n useEffect(() => {\r\n if (onProfileApproversChange) onProfileApproversChange(profileApprovers);\r\n }, [profileApprovers, onProfileApproversChange]);\r\n\r\n const findStep = (\r\n steps: IStep[],\r\n group: IApproverRoleGroup,\r\n row: IProfileApprover\r\n ) => {\r\n return steps.find(\r\n (step) =>\r\n step.type == group.stepType &&\r\n step.employee.employeeId == row.position?.employee?.employeeId\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <SectionTitle>Postup schvalování</SectionTitle>\r\n <div className=\"flex gap-4\">\r\n {currentApprovers.map((group, index) => (\r\n <div\r\n key={group.name}\r\n className={\r\n \"w-full lg:w-1/3 rounded-lg shadow-xl p-5 border gap-4 flex flex-col \"\r\n }\r\n >\r\n <div className=\"flex justify-between\">\r\n <h3 className=\"text-xl font-bold\">\r\n {group.name} - {index}\r\n </h3>\r\n\r\n <IconInCircle\r\n isComplete={group.isComplete}\r\n title={\r\n group.numberOfApprovedSteps + \" / \" + group.numberOfApprovers\r\n }\r\n isPending={!group.isComplete}\r\n ></IconInCircle>\r\n </div>\r\n {profileApprovers\r\n .filter((it) => group.roles.includes(it.role))\r\n .map((row, index) => (\r\n <div\r\n key={index}\r\n className=\" border rounded-lg p-4 flex justify-between gap-5\"\r\n >\r\n <div>\r\n <h3 className=\"\">\r\n {getFullName(row.position?.employee, true)}\r\n </h3>\r\n <p className=\"text-sm \">{row.roleTxt}</p>\r\n {findStep(steps, group, row) && (\r\n <>\r\n <p className=\"text-sm \"></p>{\" \"}\r\n {findStep(steps, group, row)?.decision && (\r\n <p className=\"text-sm \">\r\n {decisionsTranslations(\r\n findStep(steps, group, row)?.decision || \"\"\r\n )}{\" \"}\r\n (\r\n {new Date(\r\n findStep(steps, group, row)?.date || 0\r\n ).toLocaleString()}\r\n )\r\n </p>\r\n )}\r\n {findStep(steps, group, row)?.comment && (\r\n <p className=\"text-sm \">\r\n <b>Komentář</b>:{\" \"}\r\n {findStep(steps, group, row)?.comment}{\" \"}\r\n </p>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n <IconInCircle\r\n isComplete={findStep(steps, group, row) != null}\r\n isPending={!group.isComplete}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n );\r\n}\r\n"],"names":["steps","index"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { D, c, e, i, g, f, b, a, h, d } from "../../Dialog-
|
|
3
|
+
import { D, c, e, i, g, f, b, a, h, d } from "../../Dialog-D9rsAQnn.js";
|
|
4
4
|
import "../../utils/utils.js";
|
|
5
5
|
import "../../x-DciOkaU0.js";
|
|
6
6
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { P as Primitive } from "../../index-
|
|
3
|
+
import { P as Primitive } from "../../index-BkUJPEGE.js";
|
|
4
4
|
import { P as Presence } from "../../index-CA2QNu6z.js";
|
|
5
5
|
import { c as createContextScope, b as composeEventHandlers, a as useCallbackRef, u as useLayoutEffect2 } from "../../index-CDCkSjVs.js";
|
|
6
6
|
import { u as useComposedRefs } from "../../index-D9mvqz1C.js";
|
|
@@ -6,7 +6,7 @@ import { u as useControllableState } from "../../index-DFSwSCB0.js";
|
|
|
6
6
|
import { u as usePrevious } from "../../index-CshadhlS.js";
|
|
7
7
|
import { u as useSize } from "../../index-pLFWXSOv.js";
|
|
8
8
|
import { P as Presence } from "../../index-CA2QNu6z.js";
|
|
9
|
-
import { P as Primitive } from "../../index-
|
|
9
|
+
import { P as Primitive } from "../../index-BkUJPEGE.js";
|
|
10
10
|
import { cn } from "../../utils/utils.js";
|
|
11
11
|
import { C as Check } from "../../check-B7dJm08z.js";
|
|
12
12
|
var CHECKBOX_NAME = "Checkbox";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import React__default from "react";
|
|
4
|
-
import { R as Root, P as Portal, O as Overlay, C as Content, D as Dialog, e as DialogContent } from "../../Dialog-
|
|
5
|
-
import { P as Primitive } from "../../index-
|
|
4
|
+
import { R as Root, P as Portal, O as Overlay, C as Content, D as Dialog, e as DialogContent } from "../../Dialog-D9rsAQnn.js";
|
|
5
|
+
import { P as Primitive } from "../../index-BkUJPEGE.js";
|
|
6
6
|
import { u as useId } from "../../index-Deoi9R3y.js";
|
|
7
7
|
import { cn } from "../../utils/utils.js";
|
|
8
8
|
import { c as createLucideIcon } from "../../createLucideIcon-KSoQd4Wi.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { P as Primitive } from "../../index-
|
|
3
|
+
import { P as Primitive } from "../../index-BkUJPEGE.js";
|
|
4
4
|
import { c as cva } from "../../index-udNDzvjB.js";
|
|
5
5
|
import { cn } from "../../utils/utils.js";
|
|
6
6
|
var NAME = "Label";
|
|
@@ -2,12 +2,13 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { c as createContextScope, b as composeEventHandlers } from "../../index-CDCkSjVs.js";
|
|
4
4
|
import { u as useComposedRefs, S as Slot } from "../../index-D9mvqz1C.js";
|
|
5
|
-
import { D as DismissableLayer } from "../../index-
|
|
6
|
-
import { h as hideOthers, R as ReactRemoveScroll, u as useFocusGuards, F as FocusScope
|
|
5
|
+
import { D as DismissableLayer } from "../../index-CEVipgcd.js";
|
|
6
|
+
import { h as hideOthers, R as ReactRemoveScroll, u as useFocusGuards, F as FocusScope } from "../../index-g4PMBWfd.js";
|
|
7
7
|
import { u as useId } from "../../index-Deoi9R3y.js";
|
|
8
|
-
import { c as createPopperScope, A as Anchor, C as Content, a as Arrow, R as Root2$1 } from "../../index-
|
|
8
|
+
import { c as createPopperScope, A as Anchor, C as Content, a as Arrow, R as Root2$1 } from "../../index-kx4d2yA2.js";
|
|
9
|
+
import { P as Portal$1 } from "../../index-cAAySw6z.js";
|
|
9
10
|
import { P as Presence } from "../../index-CA2QNu6z.js";
|
|
10
|
-
import { P as Primitive } from "../../index-
|
|
11
|
+
import { P as Primitive } from "../../index-BkUJPEGE.js";
|
|
11
12
|
import { u as useControllableState } from "../../index-DFSwSCB0.js";
|
|
12
13
|
import { cn } from "../../utils/utils.js";
|
|
13
14
|
var POPOVER_NAME = "Popover";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sources":["../../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../../lib/components/ui/popover.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/popover/src/Popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\r\n\r\nimport { cn } from \"../../utils/utils\";\r\n\r\nconst Popover = PopoverPrimitive.Root;\r\n\r\nconst PopoverTrigger = PopoverPrimitive.Trigger;\r\n\r\nconst PopoverContent = React.forwardRef<\r\n React.ElementRef<typeof PopoverPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\r\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n ref={ref}\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n));\r\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent };\r\n"],"names":["Popover","PopperPrimitive.Root","PopperPrimitive.Anchor","PopoverTrigger","PortalPrimitive","PopoverContent","RemoveScroll","PopperPrimitive.Content","PopperPrimitive.Arrow","PopoverPrimitive.Root","PopoverPrimitive.Trigger","PopoverPrimitive.Portal","PopoverPrimitive.Content"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"popover.js","sources":["../../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../../lib/components/ui/popover.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/popover/src/Popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\r\n\r\nimport { cn } from \"../../utils/utils\";\r\n\r\nconst Popover = PopoverPrimitive.Root;\r\n\r\nconst PopoverTrigger = PopoverPrimitive.Trigger;\r\n\r\nconst PopoverContent = React.forwardRef<\r\n React.ElementRef<typeof PopoverPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\r\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n ref={ref}\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n));\r\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent };\r\n"],"names":["Popover","PopperPrimitive.Root","PopperPrimitive.Anchor","PopoverTrigger","PortalPrimitive","PopoverContent","RemoveScroll","PopperPrimitive.Content","PopperPrimitive.Arrow","PopoverPrimitive.Root","PopoverPrimitive.Trigger","PopoverPrimitive.Portal","PopoverPrimitive.Content"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { a as useCallbackRef, b as composeEventHandlers, c as createContextScope$1 } from "../../index-CDCkSjVs.js";
|
|
4
4
|
import { u as useComposedRefs } from "../../index-D9mvqz1C.js";
|
|
5
|
-
import { P as Primitive } from "../../index-
|
|
5
|
+
import { P as Primitive } from "../../index-BkUJPEGE.js";
|
|
6
6
|
import { c as createCollection } from "../../index-E5yk6fTE.js";
|
|
7
7
|
import { u as useId } from "../../index-Deoi9R3y.js";
|
|
8
8
|
import { u as useControllableState } from "../../index-DFSwSCB0.js";
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { r as reactDomExports } from "../../index-CQ3u2ZB9.js";
|
|
4
4
|
import { c as clamp } from "../../index-IXOTxK3N.js";
|
|
5
5
|
import { c as createContextScope, b as composeEventHandlers, u as useLayoutEffect2, a as useCallbackRef } from "../../index-CDCkSjVs.js";
|
|
6
6
|
import { c as createCollection } from "../../index-E5yk6fTE.js";
|
|
7
7
|
import { u as useComposedRefs, S as Slot } from "../../index-D9mvqz1C.js";
|
|
8
8
|
import { u as useDirection } from "../../index-Bk8dRTPE.js";
|
|
9
|
-
import { D as DismissableLayer } from "../../index-
|
|
10
|
-
import { h as hideOthers, u as useFocusGuards, R as ReactRemoveScroll, F as FocusScope
|
|
9
|
+
import { D as DismissableLayer } from "../../index-CEVipgcd.js";
|
|
10
|
+
import { h as hideOthers, u as useFocusGuards, R as ReactRemoveScroll, F as FocusScope } from "../../index-g4PMBWfd.js";
|
|
11
11
|
import { u as useId } from "../../index-Deoi9R3y.js";
|
|
12
|
-
import { c as createPopperScope, A as Anchor, C as Content, a as Arrow, R as Root2$1 } from "../../index-
|
|
12
|
+
import { c as createPopperScope, A as Anchor, C as Content, a as Arrow, R as Root2$1 } from "../../index-kx4d2yA2.js";
|
|
13
|
+
import { P as Portal$1 } from "../../index-cAAySw6z.js";
|
|
14
|
+
import { P as Primitive } from "../../index-BkUJPEGE.js";
|
|
13
15
|
import { u as useControllableState } from "../../index-DFSwSCB0.js";
|
|
14
16
|
import { u as usePrevious } from "../../index-CshadhlS.js";
|
|
15
|
-
import { V as VisuallyHidden } from "../../index-
|
|
17
|
+
import { V as VisuallyHidden } from "../../index-DiJxz9_S.js";
|
|
16
18
|
import { cn } from "../../utils/utils.js";
|
|
17
19
|
import { c as createLucideIcon } from "../../createLucideIcon-KSoQd4Wi.js";
|
|
18
20
|
import { C as Check } from "../../check-B7dJm08z.js";
|