@hitachivantara/uikit-react-core 5.18.0 → 5.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Accordion/Accordion.cjs +1 -1
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +2 -5
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/Box/Box.cjs +2 -2
- package/dist/cjs/components/Box/Box.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.cjs +1 -1
- package/dist/cjs/components/Button/Button.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.styles.cjs +6 -5
- package/dist/cjs/components/Button/Button.styles.cjs.map +1 -1
- package/dist/cjs/components/Carousel/Carousel.cjs +8 -8
- package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +8 -8
- package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/Picker/Picker.cjs +2 -2
- package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.cjs +2 -2
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.cjs +19 -13
- package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +20 -67
- package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +1 -0
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/List/List.cjs +1 -1
- package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs +1 -1
- package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
- package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +16 -13
- package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +26 -15
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/cjs/components/Input/Input.cjs +83 -75
- package/dist/cjs/components/Input/Input.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +2 -2
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +10 -10
- package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.styles.cjs +1 -3
- package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/useScrollTo.cjs.map +1 -1
- package/dist/cjs/components/Slider/Slider.cjs +1 -1
- package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs +9 -14
- package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.styles.cjs +38 -29
- package/dist/cjs/components/Snackbar/Snackbar.styles.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +22 -18
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs +37 -89
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +34 -64
- package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.styles.cjs +28 -0
- package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.styles.cjs.map +1 -0
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +6 -3
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +9 -6
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.cjs +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.cjs +45 -43
- package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
- package/dist/cjs/components/Typography/Typography.cjs +20 -133
- package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
- package/dist/cjs/components/Typography/Typography.styles.cjs +107 -0
- package/dist/cjs/components/Typography/Typography.styles.cjs.map +1 -0
- package/dist/cjs/components/Typography/utils.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +7 -7
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +5 -5
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs +1 -4
- package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +5 -5
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/hooks/useWidth.cjs.map +1 -1
- package/dist/cjs/index.cjs +13 -10
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/providers/ThemeProvider.cjs +20 -18
- package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js +1 -1
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/AppSwitcher/AppSwitcher.js +2 -5
- package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/Box/Box.js +2 -2
- package/dist/esm/components/Box/Box.js.map +1 -1
- package/dist/esm/components/Button/Button.js +1 -1
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Button/Button.styles.js +6 -5
- package/dist/esm/components/Button/Button.styles.js.map +1 -1
- package/dist/esm/components/Carousel/Carousel.js +9 -9
- package/dist/esm/components/Carousel/Carousel.js.map +1 -1
- package/dist/esm/components/ColorPicker/Fields/Fields.js +8 -8
- package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
- package/dist/esm/components/ColorPicker/Picker/Picker.js +2 -2
- package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +2 -2
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +1 -1
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.js +22 -15
- package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.styles.js +20 -65
- package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +1 -0
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
- package/dist/esm/components/Dropdown/List/List.js +1 -1
- package/dist/esm/components/Dropdown/List/List.js.map +1 -1
- package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js +1 -1
- package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/esm/components/Forms/Suggestions/Suggestions.js +17 -14
- package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +26 -15
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/esm/components/Input/Input.js +84 -76
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/ListContainer/ListItem/ListItem.js +2 -2
- package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.styles.js +10 -10
- package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.styles.js +1 -3
- package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
- package/dist/esm/components/ScrollTo/useScrollTo.js.map +1 -1
- package/dist/esm/components/Slider/Slider.js +2 -2
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Snackbar/Snackbar.js +12 -16
- package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/components/Snackbar/Snackbar.styles.js +38 -26
- package/dist/esm/components/Snackbar/Snackbar.styles.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +21 -18
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.js +37 -86
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +35 -62
- package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.styles.js +28 -0
- package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.styles.js.map +1 -0
- package/dist/esm/components/Table/TableCell/TableCell.js +6 -3
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +9 -6
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/TagsInput/TagsInput.js +1 -1
- package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.js +46 -44
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/Typography/Typography.js +23 -133
- package/dist/esm/components/Typography/Typography.js.map +1 -1
- package/dist/esm/components/Typography/Typography.styles.js +107 -0
- package/dist/esm/components/Typography/Typography.styles.js.map +1 -0
- package/dist/esm/components/Typography/utils.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +7 -7
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +5 -5
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/descendants.js +1 -4
- package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +6 -6
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/hooks/useWidth.js.map +1 -1
- package/dist/esm/index.js +270 -267
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/ThemeProvider.js +21 -19
- package/dist/esm/providers/ThemeProvider.js.map +1 -1
- package/dist/types/index.d.ts +265 -204
- package/package.json +3 -3
- package/dist/cjs/components/DotPagination/dotPaginationClasses.cjs +0 -8
- package/dist/cjs/components/DotPagination/dotPaginationClasses.cjs.map +0 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.cjs +0 -8
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.cjs.map +0 -1
- package/dist/cjs/components/Snackbar/snackbarClasses.cjs +0 -8
- package/dist/cjs/components/Snackbar/snackbarClasses.cjs.map +0 -1
- package/dist/cjs/components/Typography/typographyClasses.cjs +0 -8
- package/dist/cjs/components/Typography/typographyClasses.cjs.map +0 -1
- package/dist/esm/components/DotPagination/dotPaginationClasses.js +0 -8
- package/dist/esm/components/DotPagination/dotPaginationClasses.js.map +0 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.js +0 -8
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.js.map +0 -1
- package/dist/esm/components/Snackbar/snackbarClasses.js +0 -8
- package/dist/esm/components/Snackbar/snackbarClasses.js.map +0 -1
- package/dist/esm/components/Typography/typographyClasses.js +0 -8
- package/dist/esm/components/Typography/typographyClasses.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.styles.cjs","sources":["../../../../src/components/Button/Button.styles.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { outlineStyles } from \"@core/utils\";\nimport { transientOptions } from \"@core/utils/transientOptions\";\nimport { HvButtonRadius, HvButtonSize, HvButtonVariant } from \".\";\n\nexport interface StyledButtonProps {\n $radius?: HvButtonRadius;\n $size?: HvButtonSize;\n $variant?: HvButtonVariant;\n $iconOnly?: Boolean;\n $overrideIconColors?: Boolean;\n $disabled?: Boolean;\n $startIcon?: Boolean;\n $endIcon?: Boolean;\n}\n\nexport const StyledContentDiv = styled.div<{}>({\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\",\n overflow: \"visible\",\n});\n\nexport const StyledIconSpan = styled.span<{}>({\n display: \"flex\",\n gap: theme.space.sm,\n});\n\nexport const StyledChildren = styled.span<{}>({\n whiteSpace: \"nowrap\",\n display: \"flex\",\n});\n\nexport const StyledButton = (component) =>\n styled(\n component,\n transientOptions\n )(\n ({\n $variant,\n $iconOnly,\n $size,\n $radius,\n $overrideIconColors,\n $disabled,\n $startIcon,\n $endIcon,\n }: StyledButtonProps) => ({\n display: \"inline-flex\",\n justifyContent: \"center\",\n textTransform: \"none\",\n cursor: $disabled ? \"not-allowed\" : \"pointer\",\n ...($disabled && {\n pointerEvents: \"none\",\n }),\n \"&:hover\": {},\n \"&:focus\": {},\n \"&.HvIsFocusVisible\": {\n ...outlineStyles,\n },\n \"&:active\": {},\n\n // default button - no size specified\n fontFamily: theme.fontFamily.body,\n fontSize: theme.fontSizes.base,\n fontWeight: 600,\n lineHeight: \"11px\",\n letterSpacing: 0,\n height: \"32px\",\n borderRadius: theme.button.borderRadius,\n padding: theme.button.padding,\n\n ...($startIcon && {\n paddingLeft: theme.space.xs,\n }),\n ...($endIcon && {\n paddingRight: theme.space.xs,\n }),\n\n ...($overrideIconColors &&\n $variant === \"primary\" && {\n \"& svg .color0\": {\n fill: $disabled ? theme.colors.secondary_60 : theme.colors.atmo1,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"primarySubtle\" && {\n \"& svg .color0\": {\n fill: $disabled ? theme.colors.secondary_60 : theme.colors.primary,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"primaryGhost\" && {\n \"& svg .color0\": {\n fill: $disabled ? theme.colors.secondary_60 : theme.colors.primary,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"secondarySubtle\" && {\n \"& svg .color0\": {\n fill: $disabled\n ? theme.colors.secondary_60\n : theme.colors.secondary,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"secondaryGhost\" && {\n \"& svg .color0\": {\n fill: $disabled\n ? theme.colors.secondary_60\n : theme.colors.secondary,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"semantic\" && {\n \"& svg .color0\": {\n fill: $disabled\n ? theme.colors.secondary_60\n : theme.colors.base_dark,\n },\n }),\n ...($variant === \"primary\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.atmo1,\n backgroundColor: $disabled ? theme.colors.atmo3 : theme.colors.primary,\n \"&:hover\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.colors.primary_80,\n },\n \"&:focus-visible\": {\n backgroundColor: theme.colors.primary_80,\n },\n }),\n ...($variant === \"primarySubtle\" && {\n backgroundColor: $disabled ? theme.colors.atmo3 : \"transparent\",\n border: $disabled\n ? `1px solid ${theme.colors.atmo4}`\n : `1px solid ${theme.colors.primary}`,\n color: $disabled ? theme.colors.secondary_60 : theme.colors.primary,\n \"&:hover\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.hoverColor,\n },\n \"&:focus-visible\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.hoverColor,\n },\n }),\n ...($variant === \"primaryGhost\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.primary,\n backgroundColor: \"transparent\",\n \"&:hover\": {\n backgroundColor: $disabled ? \"transparent\" : theme.button.hoverColor,\n },\n \"&:focus-visible\": {\n backgroundColor: $disabled ? \"transparent\" : theme.button.hoverColor,\n },\n }),\n ...($variant === \"secondarySubtle\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.secondary,\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.secondaryBackgroundColor,\n border: $disabled\n ? `1px solid ${theme.colors.atmo4}`\n : `1px solid ${theme.button.secondarySubtleBorderColor}`,\n \"&:hover\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.hoverColor,\n border: $disabled\n ? `1px solid ${theme.colors.atmo4}`\n : `1px solid ${theme.button.secondarySubtleBorderColor}`,\n },\n \"&:focus-visible\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.hoverColor,\n },\n }),\n ...($variant === \"secondaryGhost\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.secondary,\n backgroundColor: \"transparent\",\n \"&:hover\": {\n backgroundColor: $disabled ? \"transparent\" : theme.button.hoverColor,\n },\n \"&:focus-visible\": {\n backgroundColor: $disabled ? \"transparent\" : theme.button.hoverColor,\n },\n }),\n ...($variant === \"semantic\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.base_dark,\n backgroundColor: $disabled\n ? theme.button.semanticColorDisabled\n : \"transparent\",\n \"&:hover\": {\n backgroundColor: theme.button.semanticColor,\n },\n }),\n ...($size === \"xs\" && {\n height: theme.sizes.xs,\n paddingLeft: theme.space.xs,\n paddingRight: theme.space.xs,\n fontSize: theme.fontSizes.xs,\n }),\n ...($size === \"sm\" && {\n height: theme.sizes.sm,\n paddingLeft: theme.space.sm,\n paddingRight: theme.space.sm,\n fontSize: theme.fontSizes.sm,\n }),\n ...($size === \"md\" && {\n height: theme.sizes.md,\n paddingLeft: theme.space.md,\n paddingRight: theme.space.md,\n }),\n ...($size === \"lg\" && {\n height: theme.sizes.lg,\n paddingLeft: theme.space.lg,\n paddingRight: theme.space.lg,\n fontSize: theme.fontSizes.lg,\n }),\n ...($size === \"xl\" && {\n height: theme.sizes.xl,\n paddingLeft: theme.space.xl,\n paddingRight: theme.space.xl,\n fontSize: theme.fontSizes.xl,\n }),\n ...($radius === \"none\" && { borderRadius: theme.radii.none }),\n ...($radius === \"base\" && { borderRadius: theme.radii.base }),\n ...($radius === \"round\" && { borderRadius: theme.radii.round }),\n ...($radius === \"circle\" && { borderRadius: theme.radii.circle }),\n ...($radius === \"full\" && { borderRadius: theme.radii.full }),\n ...($iconOnly && {\n margin: 0,\n padding: 0,\n }),\n ...(!$iconOnly && {\n minWidth: \"70px\",\n }),\n })\n );\n"],"names":["StyledContentDiv","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","StyledIconSpan","display","gap","theme","space","sm","StyledChildren","StyledButton","component","_styled","_extends","transientOptions","$variant","$iconOnly","$size","$radius","$overrideIconColors","$disabled","$startIcon","$endIcon","justifyContent","textTransform","cursor","pointerEvents","outlineStyles","fontFamily","body","fontSize","fontSizes","base","fontWeight","lineHeight","letterSpacing","height","borderRadius","button","padding","paddingLeft","xs","paddingRight","fill","colors","secondary_60","atmo1","primary","secondary","base_dark","color","backgroundColor","atmo3","primary_80","border","atmo4","hoverColor","secondaryBackgroundColor","secondarySubtleBorderColor","semanticColorDisabled","semanticColor","sizes","md","lg","xl","radii","none","round","circle","full","margin","minWidth"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Button.styles.cjs","sources":["../../../../src/components/Button/Button.styles.ts"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { outlineStyles } from \"@core/utils\";\nimport { transientOptions } from \"@core/utils/transientOptions\";\nimport { HvButtonRadius, HvButtonSize, HvButtonVariant } from \".\";\n\nexport interface StyledButtonProps {\n $radius?: HvButtonRadius;\n $size?: HvButtonSize;\n $variant?: HvButtonVariant;\n $iconOnly?: Boolean;\n $overrideIconColors?: Boolean;\n $disabled?: Boolean;\n $startIcon?: Boolean;\n $endIcon?: Boolean;\n}\n\nexport const StyledContentDiv = styled.div<{}>({\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\",\n overflow: \"visible\",\n});\n\nexport const StyledIconSpan = styled.span<{}>({\n display: \"flex\",\n gap: theme.space.sm,\n});\n\nexport const StyledChildren = styled.span<{}>({\n whiteSpace: \"nowrap\",\n display: \"flex\",\n});\n\nexport const StyledButton = (component) =>\n styled(\n component,\n transientOptions\n )(\n ({\n $variant,\n $iconOnly,\n $size,\n $radius,\n $overrideIconColors,\n $disabled,\n $startIcon,\n $endIcon,\n }: StyledButtonProps) => ({\n display: \"inline-flex\",\n justifyContent: \"center\",\n textTransform: \"none\",\n cursor: $disabled ? \"not-allowed\" : \"pointer\",\n ...($disabled && {\n pointerEvents: \"none\",\n }),\n \"&:hover\": {},\n \"&:focus\": {},\n \"&.HvIsFocusVisible\": {\n ...outlineStyles,\n },\n \"&:active\": {},\n\n // default button - no size specified\n fontFamily: theme.fontFamily.body,\n fontSize: theme.fontSizes.base,\n fontWeight: 600,\n lineHeight: \"11px\",\n letterSpacing: 0,\n height: \"32px\",\n borderRadius: theme.button.borderRadius,\n padding: theme.button.padding,\n\n ...($startIcon && {\n paddingLeft: theme.space.xs,\n }),\n ...($endIcon && {\n paddingRight: theme.space.xs,\n }),\n\n ...($overrideIconColors &&\n $variant === \"primary\" && {\n \"& svg .color0\": {\n fill: $disabled ? theme.colors.secondary_60 : theme.colors.atmo1,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"primarySubtle\" && {\n \"& svg .color0\": {\n fill: $disabled ? theme.colors.secondary_60 : theme.colors.primary,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"primaryGhost\" && {\n \"& svg .color0\": {\n fill: $disabled ? theme.colors.secondary_60 : theme.colors.primary,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"secondarySubtle\" && {\n \"& svg .color0\": {\n fill: $disabled\n ? theme.colors.secondary_60\n : theme.colors.secondary,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"secondaryGhost\" && {\n \"& svg .color0\": {\n fill: $disabled\n ? theme.colors.secondary_60\n : theme.colors.secondary,\n },\n }),\n ...($overrideIconColors &&\n $variant === \"semantic\" && {\n \"& svg .color0\": {\n fill: $disabled\n ? theme.colors.secondary_60\n : theme.colors.base_dark,\n },\n }),\n ...($variant === \"primary\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.atmo1,\n backgroundColor: $disabled ? theme.colors.atmo3 : theme.colors.primary,\n \"&:hover\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.colors.primary_80,\n },\n \"&:focus-visible\": {\n backgroundColor: theme.colors.primary_80,\n },\n }),\n ...($variant === \"primarySubtle\" && {\n backgroundColor: $disabled ? theme.colors.atmo3 : \"transparent\",\n border: $disabled\n ? `1px solid ${theme.colors.atmo4}`\n : `1px solid ${theme.colors.primary}`,\n color: $disabled ? theme.colors.secondary_60 : theme.colors.primary,\n \"&:hover\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.hoverColor,\n },\n \"&:focus-visible\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.hoverColor,\n },\n }),\n ...($variant === \"primaryGhost\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.primary,\n backgroundColor: \"transparent\",\n \"&:hover\": {\n backgroundColor: $disabled ? \"transparent\" : theme.button.hoverColor,\n },\n \"&:focus-visible\": {\n backgroundColor: $disabled ? \"transparent\" : theme.button.hoverColor,\n },\n }),\n ...($variant === \"secondarySubtle\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.secondary,\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.secondaryBackgroundColor,\n border: $disabled\n ? `1px solid ${theme.colors.atmo4}`\n : `1px solid ${theme.button.secondarySubtleBorderColor}`,\n \"&:hover\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.hoverColor,\n border: $disabled\n ? `1px solid ${theme.colors.atmo4}`\n : `1px solid ${theme.button.secondarySubtleBorderColor}`,\n },\n \"&:focus-visible\": {\n backgroundColor: $disabled\n ? theme.colors.atmo3\n : theme.button.hoverColor,\n },\n }),\n ...($variant === \"secondaryGhost\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.secondary,\n backgroundColor: \"transparent\",\n \"&:hover\": {\n backgroundColor: $disabled ? \"transparent\" : theme.button.hoverColor,\n },\n \"&:focus-visible\": {\n backgroundColor: $disabled ? \"transparent\" : theme.button.hoverColor,\n },\n }),\n ...($variant === \"semantic\" && {\n color: $disabled ? theme.colors.secondary_60 : theme.colors.base_dark,\n backgroundColor: $disabled\n ? theme.button.semanticColorDisabled\n : \"transparent\",\n \"&:hover\": {\n backgroundColor: theme.button.semanticColor,\n },\n }),\n ...($size === \"xs\" && {\n height: theme.sizes.xs,\n paddingLeft: theme.space.xs,\n paddingRight: theme.space.xs,\n fontSize: theme.fontSizes.xs,\n }),\n ...($size === \"sm\" && {\n height: theme.sizes.sm,\n paddingLeft: theme.space.sm,\n paddingRight: theme.space.sm,\n fontSize: theme.fontSizes.sm,\n }),\n ...($size === \"md\" && {\n height: theme.sizes.md,\n paddingLeft: theme.space.md,\n paddingRight: theme.space.md,\n }),\n ...($size === \"lg\" && {\n height: theme.sizes.lg,\n paddingLeft: theme.space.lg,\n paddingRight: theme.space.lg,\n fontSize: theme.fontSizes.lg,\n }),\n ...($size === \"xl\" && {\n height: theme.sizes.xl,\n paddingLeft: theme.space.xl,\n paddingRight: theme.space.xl,\n fontSize: theme.fontSizes.xl,\n }),\n ...($radius === \"none\" && { borderRadius: theme.radii.none }),\n ...($radius === \"base\" && { borderRadius: theme.radii.base }),\n ...($radius === \"round\" && { borderRadius: theme.radii.round }),\n ...($radius === \"circle\" && { borderRadius: theme.radii.circle }),\n ...($radius === \"full\" && { borderRadius: theme.radii.full }),\n ...($iconOnly && {\n margin: 0,\n padding: 0,\n height: \"fit-content\",\n }),\n ...(!$iconOnly && {\n minWidth: \"70px\",\n }),\n })\n );\n"],"names":["StyledContentDiv","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","StyledIconSpan","display","gap","theme","space","sm","StyledChildren","StyledButton","component","_styled","_extends","transientOptions","$variant","$iconOnly","$size","$radius","$overrideIconColors","$disabled","$startIcon","$endIcon","justifyContent","textTransform","cursor","pointerEvents","outlineStyles","fontFamily","body","fontSize","fontSizes","base","fontWeight","lineHeight","letterSpacing","height","borderRadius","button","padding","paddingLeft","xs","paddingRight","fill","colors","secondary_60","atmo1","primary","secondary","base_dark","color","backgroundColor","atmo3","primary_80","border","atmo4","hoverColor","secondaryBackgroundColor","secondarySubtleBorderColor","semanticColorDisabled","semanticColor","sizes","md","lg","xl","radii","none","round","circle","full","margin","minWidth"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAiBO,MAAMA,mEAAmBC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAU,EAAIJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAK7C;AAEM,MAAMC,kEAAiBV,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAgB;AAAA,EAC5CO,SAAS;AAAA,EACTC,KAAKC,YAAAA,MAAMC,MAAMC;AACnB,GAACf,QAAAC,IAAAC,aAAC,eAAA,KAAA,q8VAAA;AAEK,MAAMc,kEAAiBhB,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAW,EAAIJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAG5C;AAEYQ,MAAAA,eAAgBC,CAC3BC,cAAAA,iCAAAA,QACED,WAASlB,QAAAC,IAAAC,4BAAAkB,SAAA,IAAA;AAAA,EAAAjB,QAAA;AAAA,GACTkB,iBAAgB,gBAAA,IAAAD,SAAA,IAAA;AAAA,EAAAjB,QAAA;AAAA,EAAAC,OAAA;AAAA,GAAhBiB,iBAAAA,gBAAgB,CAClB,EACE,CAAC;AAAA,EACCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACiB,OAAO;AAAA,EACxBlB,SAAS;AAAA,EACTmB,gBAAgB;AAAA,EAChBC,eAAe;AAAA,EACfC,QAAQL,YAAY,gBAAgB;AAAA,EACpC,GAAIA,aAAa;AAAA,IACfM,eAAe;AAAA,EACjB;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,WAAW,CAAC;AAAA,EACZ,sBAAsB;AAAA,IACpB,GAAGC,WAAAA;AAAAA,EACL;AAAA,EACA,YAAY,CAAC;AAAA;AAAA,EAGbC,YAAYtB,YAAAA,MAAMsB,WAAWC;AAAAA,EAC7BC,UAAUxB,YAAAA,MAAMyB,UAAUC;AAAAA,EAC1BC,YAAY;AAAA,EACZC,YAAY;AAAA,EACZC,eAAe;AAAA,EACfC,QAAQ;AAAA,EACRC,cAAc/B,YAAAA,MAAMgC,OAAOD;AAAAA,EAC3BE,SAASjC,YAAAA,MAAMgC,OAAOC;AAAAA,EAEtB,GAAIlB,cAAc;AAAA,IAChBmB,aAAalC,YAAAA,MAAMC,MAAMkC;AAAAA,EAC3B;AAAA,EACA,GAAInB,YAAY;AAAA,IACdoB,cAAcpC,YAAAA,MAAMC,MAAMkC;AAAAA,EAC5B;AAAA,EAEA,GAAItB,uBACFJ,aAAa,aAAa;AAAA,IACxB,iBAAiB;AAAA,MACf4B,MAAMvB,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOE;AAAAA,IAC7D;AAAA,EACF;AAAA,EACF,GAAI3B,uBACFJ,aAAa,mBAAmB;AAAA,IAC9B,iBAAiB;AAAA,MACf4B,MAAMvB,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOG;AAAAA,IAC7D;AAAA,EACF;AAAA,EACF,GAAI5B,uBACFJ,aAAa,kBAAkB;AAAA,IAC7B,iBAAiB;AAAA,MACf4B,MAAMvB,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOG;AAAAA,IAC7D;AAAA,EACF;AAAA,EACF,GAAI5B,uBACFJ,aAAa,qBAAqB;AAAA,IAChC,iBAAiB;AAAA,MACf4B,MAAMvB,YACFd,kBAAMsC,OAAOC,eACbvC,YAAAA,MAAMsC,OAAOI;AAAAA,IACnB;AAAA,EACF;AAAA,EACF,GAAI7B,uBACFJ,aAAa,oBAAoB;AAAA,IAC/B,iBAAiB;AAAA,MACf4B,MAAMvB,YACFd,kBAAMsC,OAAOC,eACbvC,YAAAA,MAAMsC,OAAOI;AAAAA,IACnB;AAAA,EACF;AAAA,EACF,GAAI7B,uBACFJ,aAAa,cAAc;AAAA,IACzB,iBAAiB;AAAA,MACf4B,MAAMvB,YACFd,kBAAMsC,OAAOC,eACbvC,YAAAA,MAAMsC,OAAOK;AAAAA,IACnB;AAAA,EACF;AAAA,EACF,GAAIlC,aAAa,aAAa;AAAA,IAC5BmC,OAAO9B,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOE;AAAAA,IAC5DK,iBAAiB/B,YAAYd,kBAAMsC,OAAOQ,QAAQ9C,YAAAA,MAAMsC,OAAOG;AAAAA,IAC/D,WAAW;AAAA,MACTI,iBAAiB/B,YACbd,kBAAMsC,OAAOQ,QACb9C,YAAAA,MAAMsC,OAAOS;AAAAA,IACnB;AAAA,IACA,mBAAmB;AAAA,MACjBF,iBAAiB7C,YAAAA,MAAMsC,OAAOS;AAAAA,IAChC;AAAA,EACF;AAAA,EACA,GAAItC,aAAa,mBAAmB;AAAA,IAClCoC,iBAAiB/B,YAAYd,YAAAA,MAAMsC,OAAOQ,QAAQ;AAAA,IAClDE,QAAQlC,YACH,aAAYd,YAAAA,MAAMsC,OAAOW,UACzB,aAAYjD,YAAAA,MAAMsC,OAAOG;AAAAA,IAC9BG,OAAO9B,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOG;AAAAA,IAC5D,WAAW;AAAA,MACTI,iBAAiB/B,YACbd,kBAAMsC,OAAOQ,QACb9C,YAAAA,MAAMgC,OAAOkB;AAAAA,IACnB;AAAA,IACA,mBAAmB;AAAA,MACjBL,iBAAiB/B,YACbd,kBAAMsC,OAAOQ,QACb9C,YAAAA,MAAMgC,OAAOkB;AAAAA,IACnB;AAAA,EACF;AAAA,EACA,GAAIzC,aAAa,kBAAkB;AAAA,IACjCmC,OAAO9B,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOG;AAAAA,IAC5DI,iBAAiB;AAAA,IACjB,WAAW;AAAA,MACTA,iBAAiB/B,YAAY,gBAAgBd,YAAAA,MAAMgC,OAAOkB;AAAAA,IAC5D;AAAA,IACA,mBAAmB;AAAA,MACjBL,iBAAiB/B,YAAY,gBAAgBd,YAAAA,MAAMgC,OAAOkB;AAAAA,IAC5D;AAAA,EACF;AAAA,EACA,GAAIzC,aAAa,qBAAqB;AAAA,IACpCmC,OAAO9B,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOI;AAAAA,IAC5DG,iBAAiB/B,YACbd,kBAAMsC,OAAOQ,QACb9C,YAAAA,MAAMgC,OAAOmB;AAAAA,IACjBH,QAAQlC,YACH,aAAYd,YAAAA,MAAMsC,OAAOW,UACzB,aAAYjD,YAAAA,MAAMgC,OAAOoB;AAAAA,IAC9B,WAAW;AAAA,MACTP,iBAAiB/B,YACbd,kBAAMsC,OAAOQ,QACb9C,YAAAA,MAAMgC,OAAOkB;AAAAA,MACjBF,QAAQlC,YACH,aAAYd,YAAAA,MAAMsC,OAAOW,UACzB,aAAYjD,YAAAA,MAAMgC,OAAOoB;AAAAA,IAChC;AAAA,IACA,mBAAmB;AAAA,MACjBP,iBAAiB/B,YACbd,kBAAMsC,OAAOQ,QACb9C,YAAAA,MAAMgC,OAAOkB;AAAAA,IACnB;AAAA,EACF;AAAA,EACA,GAAIzC,aAAa,oBAAoB;AAAA,IACnCmC,OAAO9B,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOI;AAAAA,IAC5DG,iBAAiB;AAAA,IACjB,WAAW;AAAA,MACTA,iBAAiB/B,YAAY,gBAAgBd,YAAAA,MAAMgC,OAAOkB;AAAAA,IAC5D;AAAA,IACA,mBAAmB;AAAA,MACjBL,iBAAiB/B,YAAY,gBAAgBd,YAAAA,MAAMgC,OAAOkB;AAAAA,IAC5D;AAAA,EACF;AAAA,EACA,GAAIzC,aAAa,cAAc;AAAA,IAC7BmC,OAAO9B,YAAYd,kBAAMsC,OAAOC,eAAevC,YAAAA,MAAMsC,OAAOK;AAAAA,IAC5DE,iBAAiB/B,YACbd,YAAAA,MAAMgC,OAAOqB,wBACb;AAAA,IACJ,WAAW;AAAA,MACTR,iBAAiB7C,YAAAA,MAAMgC,OAAOsB;AAAAA,IAChC;AAAA,EACF;AAAA,EACA,GAAI3C,UAAU,QAAQ;AAAA,IACpBmB,QAAQ9B,YAAAA,MAAMuD,MAAMpB;AAAAA,IACpBD,aAAalC,YAAAA,MAAMC,MAAMkC;AAAAA,IACzBC,cAAcpC,YAAAA,MAAMC,MAAMkC;AAAAA,IAC1BX,UAAUxB,YAAAA,MAAMyB,UAAUU;AAAAA,EAC5B;AAAA,EACA,GAAIxB,UAAU,QAAQ;AAAA,IACpBmB,QAAQ9B,YAAAA,MAAMuD,MAAMrD;AAAAA,IACpBgC,aAAalC,YAAAA,MAAMC,MAAMC;AAAAA,IACzBkC,cAAcpC,YAAAA,MAAMC,MAAMC;AAAAA,IAC1BsB,UAAUxB,YAAAA,MAAMyB,UAAUvB;AAAAA,EAC5B;AAAA,EACA,GAAIS,UAAU,QAAQ;AAAA,IACpBmB,QAAQ9B,YAAAA,MAAMuD,MAAMC;AAAAA,IACpBtB,aAAalC,YAAAA,MAAMC,MAAMuD;AAAAA,IACzBpB,cAAcpC,YAAAA,MAAMC,MAAMuD;AAAAA,EAC5B;AAAA,EACA,GAAI7C,UAAU,QAAQ;AAAA,IACpBmB,QAAQ9B,YAAAA,MAAMuD,MAAME;AAAAA,IACpBvB,aAAalC,YAAAA,MAAMC,MAAMwD;AAAAA,IACzBrB,cAAcpC,YAAAA,MAAMC,MAAMwD;AAAAA,IAC1BjC,UAAUxB,YAAAA,MAAMyB,UAAUgC;AAAAA,EAC5B;AAAA,EACA,GAAI9C,UAAU,QAAQ;AAAA,IACpBmB,QAAQ9B,YAAAA,MAAMuD,MAAMG;AAAAA,IACpBxB,aAAalC,YAAAA,MAAMC,MAAMyD;AAAAA,IACzBtB,cAAcpC,YAAAA,MAAMC,MAAMyD;AAAAA,IAC1BlC,UAAUxB,YAAAA,MAAMyB,UAAUiC;AAAAA,EAC5B;AAAA,EACA,GAAI9C,YAAY,UAAU;AAAA,IAAEmB,cAAc/B,YAAAA,MAAM2D,MAAMC;AAAAA,EAAK;AAAA,EAC3D,GAAIhD,YAAY,UAAU;AAAA,IAAEmB,cAAc/B,YAAAA,MAAM2D,MAAMjC;AAAAA,EAAK;AAAA,EAC3D,GAAId,YAAY,WAAW;AAAA,IAAEmB,cAAc/B,YAAAA,MAAM2D,MAAME;AAAAA,EAAM;AAAA,EAC7D,GAAIjD,YAAY,YAAY;AAAA,IAAEmB,cAAc/B,YAAAA,MAAM2D,MAAMG;AAAAA,EAAO;AAAA,EAC/D,GAAIlD,YAAY,UAAU;AAAA,IAAEmB,cAAc/B,YAAAA,MAAM2D,MAAMI;AAAAA,EAAK;AAAA,EAC3D,GAAIrD,aAAa;AAAA,IACfsD,QAAQ;AAAA,IACR/B,SAAS;AAAA,IACTH,QAAQ;AAAA,EACV;AAAA,EACA,GAAI,CAACpB,aAAa;AAAA,IAChBuD,UAAU;AAAA,EACZ;AACF,IAAE9E,QAAAC,IAAAC,s+VACJ;;;;;"}
|
|
@@ -45,16 +45,16 @@ const HvCarousel = (props) => {
|
|
|
45
45
|
});
|
|
46
46
|
const [selectedIndex, setSelectedIndex] = React.useState((carouselOptions == null ? void 0 : carouselOptions.startIndex) ?? 0);
|
|
47
47
|
const numSlides = React.Children.count(children);
|
|
48
|
-
const handlePrevious = () => {
|
|
48
|
+
const handlePrevious = React.useCallback(() => {
|
|
49
49
|
controller == null ? void 0 : controller.scrollPrev();
|
|
50
|
-
};
|
|
51
|
-
const handleNext = () => {
|
|
50
|
+
}, [controller]);
|
|
51
|
+
const handleNext = React.useCallback(() => {
|
|
52
52
|
controller == null ? void 0 : controller.scrollNext();
|
|
53
|
-
};
|
|
53
|
+
}, [controller]);
|
|
54
54
|
const handleScroll = (index) => {
|
|
55
55
|
controller == null ? void 0 : controller.scrollTo(index);
|
|
56
56
|
};
|
|
57
|
-
const handleSelect = () => {
|
|
57
|
+
const handleSelect = React.useCallback(() => {
|
|
58
58
|
var _a, _b, _c;
|
|
59
59
|
if (!controller)
|
|
60
60
|
return;
|
|
@@ -65,7 +65,7 @@ const HvCarousel = (props) => {
|
|
|
65
65
|
block: "nearest"
|
|
66
66
|
});
|
|
67
67
|
onChange == null ? void 0 : onChange(slideIndex);
|
|
68
|
-
};
|
|
68
|
+
}, [controller, onChange]);
|
|
69
69
|
React.useEffect(() => {
|
|
70
70
|
if (!controller)
|
|
71
71
|
return;
|
|
@@ -73,13 +73,13 @@ const HvCarousel = (props) => {
|
|
|
73
73
|
return () => {
|
|
74
74
|
controller.off("select", handleSelect);
|
|
75
75
|
};
|
|
76
|
-
}, [controller]);
|
|
76
|
+
}, [controller, handleSelect]);
|
|
77
77
|
React.useEffect(() => {
|
|
78
78
|
if (!controller)
|
|
79
79
|
return;
|
|
80
80
|
controller.reInit();
|
|
81
81
|
setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides, 0));
|
|
82
|
-
}, [numSlides]);
|
|
82
|
+
}, [numSlides, controller]);
|
|
83
83
|
const canPrev = (controller == null ? void 0 : controller.canScrollPrev()) ?? false;
|
|
84
84
|
const canNext = (controller == null ? void 0 : controller.canScrollNext()) ?? false;
|
|
85
85
|
const showTitle = !!title && (!xs || isFullscreen);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.cjs","sources":["../../../../src/components/Carousel/Carousel.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n Children,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport useCarousel, { EmblaOptionsType } from \"embla-carousel-react\";\nimport {\n Backwards,\n Forwards,\n Close,\n Fullscreen,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { HvButton, HvContainer, HvStack, HvTypography } from \"@core/components\";\nimport { HvBaseProps } from \"@core/types\";\nimport { ExtractNames } from \"@core/utils\";\n\nimport { staticClasses, useClasses } from \"./Carousel.styles\";\n\nconst clamp = (num: number, max: number, min = 0) =>\n Math.min(Math.max(num, min), max);\n\nexport { staticClasses as carouselClasses };\n\nexport type HvCarouselClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCarouselProps\n extends HvBaseProps<HTMLDivElement, \"title\" | \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCarouselClasses;\n /** Height of the Slider container. If `undefined`, images will keep a 16/9 aspect-ratio */\n height?: CSSProperties[\"height\"];\n /** Width of the thumbnail. Height will try to maintain a 16/9 aspect-ratio */\n thumbnailWidth?: CSSProperties[\"width\"];\n /** Title of the carousel */\n title?: React.ReactNode;\n /** Content slides to be displayed. @see `<HvCarouselSlide />` */\n children?: React.ReactNode;\n /** Custom content to render in the actions area */\n actions?: React.ReactNode;\n /** Whether Carousel is in \"xs mode\" - to use in embedded contexts */\n xs?: boolean;\n /** Whether to show dots instead of arrow pagination. Defaults to true under 5 elements */\n showDots?: boolean;\n /** Whether to show the counter on the top-right corner of the active slide */\n showCounter?: boolean;\n /** Whether to show the back/forwards buttons over the active slide */\n showSlideControls?: boolean;\n /** Whether to enable the fullscreen toggle button */\n showFullscreen?: boolean;\n /** Whether to hide the thumbnails. Hidden by default in \"xs\" mode */\n hideThumbnails?: boolean;\n /** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */\n carouselOptions?: EmblaOptionsType;\n /** */\n renderThumbnail?: (index: number) => React.ReactNode;\n /** The callback fired when the active slide changes. */\n onChange?: (index: number) => void;\n}\n\n/**\n * A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.\n * It allows you to focus on a particular content while having a notion of how many you have to explore.\n */\nexport const HvCarousel = (props: HvCarouselProps) => {\n const {\n className,\n classes: classesProp,\n height: heightProp = \"auto\",\n thumbnailWidth = 90,\n title,\n children,\n actions,\n xs,\n showDots: showDotsProp,\n showCounter: showCounterProp,\n showSlideControls,\n showFullscreen: showFullscreenProp,\n hideThumbnails: hideThumbnailsProp,\n carouselOptions,\n renderThumbnail,\n onChange,\n ...others\n } = props;\n const { classes, cx } = useClasses(classesProp);\n const thumbnailsRef = useRef<HTMLDivElement>(null);\n const [isFullscreen, setIsFullscreen] = useState(false);\n\n const [containerRef, controller] = useCarousel({\n align: \"start\",\n loop: true,\n ...carouselOptions,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(\n carouselOptions?.startIndex ?? 0\n );\n\n const numSlides = Children.count(children);\n\n const handlePrevious = () => {\n controller?.scrollPrev();\n };\n\n const handleNext = () => {\n controller?.scrollNext();\n };\n\n const handleScroll = (index: number) => {\n controller?.scrollTo(index);\n };\n\n const handleSelect = () => {\n if (!controller) return;\n\n const slideIndex = controller.selectedScrollSnap();\n setSelectedIndex(slideIndex);\n\n // scroll to thumbnail button\n thumbnailsRef.current\n ?.querySelectorAll(\"button\")\n ?.[slideIndex]?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n\n onChange?.(slideIndex);\n };\n\n useEffect(() => {\n if (!controller) return;\n\n controller.on(\"select\", handleSelect);\n\n return () => {\n controller.off(\"select\", handleSelect);\n };\n }, [controller]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.reInit();\n setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides, 0));\n }, [numSlides]);\n\n const canPrev = controller?.canScrollPrev() ?? false;\n const canNext = controller?.canScrollNext() ?? false;\n const showTitle = !!title && (!xs || isFullscreen);\n const showFullscreen = showFullscreenProp ?? xs;\n const height = isFullscreen ? \"100%\" : heightProp ?? \"auto\";\n const showCounter = xs;\n const hideThumbnails = hideThumbnailsProp ?? (xs && !isFullscreen);\n const showThumbnails = !hideThumbnails && !!renderThumbnail;\n const showDots = showDotsProp ?? numSlides <= 5;\n\n return (\n <HvContainer\n className={cx(classes.root, className, {\n [classes.xs]: xs,\n [classes.fullscreen]: isFullscreen,\n })}\n {...others}\n >\n {showTitle && (\n <HvTypography variant=\"title2\" className={classes.title}>\n {title}\n </HvTypography>\n )}\n <div className={classes.actions}>\n {showFullscreen && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n onClick={() => setIsFullscreen((curr) => !curr)}\n className={classes.closeButton}\n >\n {isFullscreen ? (\n <Close aria-label=\"Close\" />\n ) : (\n <Fullscreen aria-label=\"Fullscreen\" />\n )}\n </HvButton>\n )}\n {actions}\n </div>\n\n <div className={classes.mainContainer}>\n <div className={classes.controls}>\n {showDots ? (\n <div className={classes.dots}>\n {Array.from(Array(numSlides)).map((el, index) => (\n <span\n key={`circle-${index}`}\n className={cx(classes.dot, {\n [classes.dotSelected]: index === selectedIndex,\n })}\n />\n ))}\n </div>\n ) : (\n <>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondaryGhost\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <div className={classes.pageCounter}>\n {`${selectedIndex + 1} / ${numSlides}`}\n </div>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondaryGhost\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </>\n )}\n </div>\n\n <div\n className={cx(classes.main, {\n [classes.mainXs]: xs,\n [classes.mainFullscreen]: isFullscreen,\n })}\n >\n {showCounter && (\n <div className={classes.counterContainer}>\n <span className={classes.counter}>\n {`${selectedIndex + 1}/${numSlides}`}\n </span>\n </div>\n )}\n\n {showSlideControls && (\n <div className={classes.slideControls}>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondary\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondary\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </div>\n )}\n\n <div\n ref={containerRef}\n style={{ height }}\n className={classes.slidesViewport}\n >\n <div className={classes.slidesContainer}>{children}</div>\n </div>\n </div>\n </div>\n\n {showThumbnails && (\n <div ref={thumbnailsRef} className={classes.panel}>\n <HvStack direction=\"row\" spacing=\"xs\">\n {Array.from(Array(numSlides)).map((doc, i) => (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n key={`button-${i}`}\n style={{ width: thumbnailWidth }}\n className={cx(classes.thumbnail, {\n [classes.thumbnailSelected]: i === selectedIndex,\n })}\n onClick={() => handleScroll(i)}\n >\n {renderThumbnail(i)}\n </HvButton>\n ))}\n </HvStack>\n </div>\n )}\n </HvContainer>\n );\n};\n"],"names":["clamp","num","max","min","Math","HvCarousel","props","className","classes","classesProp","height","heightProp","thumbnailWidth","title","children","actions","xs","showDots","showDotsProp","showCounter","showCounterProp","showSlideControls","showFullscreen","showFullscreenProp","hideThumbnails","hideThumbnailsProp","carouselOptions","renderThumbnail","onChange","others","cx","useClasses","thumbnailsRef","useRef","isFullscreen","setIsFullscreen","useState","containerRef","controller","useCarousel","align","loop","selectedIndex","setSelectedIndex","startIndex","numSlides","Children","count","handlePrevious","scrollPrev","handleNext","scrollNext","handleScroll","index","scrollTo","handleSelect","slideIndex","selectedScrollSnap","current","querySelectorAll","scrollIntoView","behavior","block","useEffect","on","off","reInit","currentIndex","canPrev","canScrollPrev","canNext","canScrollNext","showTitle","showThumbnails","HvContainer","root","fullscreen","_jsx","HvTypography","variant","_jsxs","HvButton","icon","onClick","curr","closeButton","Close","Fullscreen","mainContainer","controls","dots","Array","from","map","el","dot","dotSelected","_Fragment","disabled","Backwards","iconSize","pageCounter","Forwards","main","mainXs","mainFullscreen","counterContainer","counter","slideControls","ref","style","slidesViewport","slidesContainer","panel","HvStack","direction","spacing","doc","i","width","thumbnail","thumbnailSelected"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Carousel.cjs","sources":["../../../../src/components/Carousel/Carousel.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n Children,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport useCarousel, { EmblaOptionsType } from \"embla-carousel-react\";\nimport {\n Backwards,\n Forwards,\n Close,\n Fullscreen,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { HvButton, HvContainer, HvStack, HvTypography } from \"@core/components\";\nimport { HvBaseProps } from \"@core/types\";\nimport { ExtractNames } from \"@core/utils\";\n\nimport { staticClasses, useClasses } from \"./Carousel.styles\";\n\nconst clamp = (num: number, max: number, min = 0) =>\n Math.min(Math.max(num, min), max);\n\nexport { staticClasses as carouselClasses };\n\nexport type HvCarouselClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCarouselProps\n extends HvBaseProps<HTMLDivElement, \"title\" | \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCarouselClasses;\n /** Height of the Slider container. If `undefined`, images will keep a 16/9 aspect-ratio */\n height?: CSSProperties[\"height\"];\n /** Width of the thumbnail. Height will try to maintain a 16/9 aspect-ratio */\n thumbnailWidth?: CSSProperties[\"width\"];\n /** Title of the carousel */\n title?: React.ReactNode;\n /** Content slides to be displayed. @see `<HvCarouselSlide />` */\n children?: React.ReactNode;\n /** Custom content to render in the actions area */\n actions?: React.ReactNode;\n /** Whether Carousel is in \"xs mode\" - to use in embedded contexts */\n xs?: boolean;\n /** Whether to show dots instead of arrow pagination. Defaults to true under 5 elements */\n showDots?: boolean;\n /** Whether to show the counter on the top-right corner of the active slide */\n showCounter?: boolean;\n /** Whether to show the back/forwards buttons over the active slide */\n showSlideControls?: boolean;\n /** Whether to enable the fullscreen toggle button */\n showFullscreen?: boolean;\n /** Whether to hide the thumbnails. Hidden by default in \"xs\" mode */\n hideThumbnails?: boolean;\n /** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */\n carouselOptions?: EmblaOptionsType;\n /** */\n renderThumbnail?: (index: number) => React.ReactNode;\n /** The callback fired when the active slide changes. */\n onChange?: (index: number) => void;\n}\n\n/**\n * A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.\n * It allows you to focus on a particular content while having a notion of how many you have to explore.\n */\nexport const HvCarousel = (props: HvCarouselProps) => {\n const {\n className,\n classes: classesProp,\n height: heightProp = \"auto\",\n thumbnailWidth = 90,\n title,\n children,\n actions,\n xs,\n showDots: showDotsProp,\n showCounter: showCounterProp,\n showSlideControls,\n showFullscreen: showFullscreenProp,\n hideThumbnails: hideThumbnailsProp,\n carouselOptions,\n renderThumbnail,\n onChange,\n ...others\n } = props;\n const { classes, cx } = useClasses(classesProp);\n const thumbnailsRef = useRef<HTMLDivElement>(null);\n const [isFullscreen, setIsFullscreen] = useState(false);\n\n const [containerRef, controller] = useCarousel({\n align: \"start\",\n loop: true,\n ...carouselOptions,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(\n carouselOptions?.startIndex ?? 0\n );\n\n const numSlides = Children.count(children);\n\n const handlePrevious = useCallback(() => {\n controller?.scrollPrev();\n }, [controller]);\n\n const handleNext = useCallback(() => {\n controller?.scrollNext();\n }, [controller]);\n\n const handleScroll = (index: number) => {\n controller?.scrollTo(index);\n };\n\n const handleSelect = useCallback(() => {\n if (!controller) return;\n\n const slideIndex = controller.selectedScrollSnap();\n setSelectedIndex(slideIndex);\n\n // scroll to thumbnail button\n thumbnailsRef.current\n ?.querySelectorAll(\"button\")\n ?.[slideIndex]?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n\n onChange?.(slideIndex);\n }, [controller, onChange]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.on(\"select\", handleSelect);\n\n return () => {\n controller.off(\"select\", handleSelect);\n };\n }, [controller, handleSelect]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.reInit();\n setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides, 0));\n }, [numSlides, controller]);\n\n const canPrev = controller?.canScrollPrev() ?? false;\n const canNext = controller?.canScrollNext() ?? false;\n const showTitle = !!title && (!xs || isFullscreen);\n const showFullscreen = showFullscreenProp ?? xs;\n const height = isFullscreen ? \"100%\" : heightProp ?? \"auto\";\n const showCounter = xs;\n const hideThumbnails = hideThumbnailsProp ?? (xs && !isFullscreen);\n const showThumbnails = !hideThumbnails && !!renderThumbnail;\n const showDots = showDotsProp ?? numSlides <= 5;\n\n return (\n <HvContainer\n className={cx(classes.root, className, {\n [classes.xs]: xs,\n [classes.fullscreen]: isFullscreen,\n })}\n {...others}\n >\n {showTitle && (\n <HvTypography variant=\"title2\" className={classes.title}>\n {title}\n </HvTypography>\n )}\n <div className={classes.actions}>\n {showFullscreen && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n onClick={() => setIsFullscreen((curr) => !curr)}\n className={classes.closeButton}\n >\n {isFullscreen ? (\n <Close aria-label=\"Close\" />\n ) : (\n <Fullscreen aria-label=\"Fullscreen\" />\n )}\n </HvButton>\n )}\n {actions}\n </div>\n\n <div className={classes.mainContainer}>\n <div className={classes.controls}>\n {showDots ? (\n <div className={classes.dots}>\n {Array.from(Array(numSlides)).map((el, index) => (\n <span\n key={`circle-${index}`}\n className={cx(classes.dot, {\n [classes.dotSelected]: index === selectedIndex,\n })}\n />\n ))}\n </div>\n ) : (\n <>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondaryGhost\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <div className={classes.pageCounter}>\n {`${selectedIndex + 1} / ${numSlides}`}\n </div>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondaryGhost\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </>\n )}\n </div>\n\n <div\n className={cx(classes.main, {\n [classes.mainXs]: xs,\n [classes.mainFullscreen]: isFullscreen,\n })}\n >\n {showCounter && (\n <div className={classes.counterContainer}>\n <span className={classes.counter}>\n {`${selectedIndex + 1}/${numSlides}`}\n </span>\n </div>\n )}\n\n {showSlideControls && (\n <div className={classes.slideControls}>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondary\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondary\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </div>\n )}\n\n <div\n ref={containerRef}\n style={{ height }}\n className={classes.slidesViewport}\n >\n <div className={classes.slidesContainer}>{children}</div>\n </div>\n </div>\n </div>\n\n {showThumbnails && (\n <div ref={thumbnailsRef} className={classes.panel}>\n <HvStack direction=\"row\" spacing=\"xs\">\n {Array.from(Array(numSlides)).map((doc, i) => (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n key={`button-${i}`}\n style={{ width: thumbnailWidth }}\n className={cx(classes.thumbnail, {\n [classes.thumbnailSelected]: i === selectedIndex,\n })}\n onClick={() => handleScroll(i)}\n >\n {renderThumbnail(i)}\n </HvButton>\n ))}\n </HvStack>\n </div>\n )}\n </HvContainer>\n );\n};\n"],"names":["clamp","num","max","min","Math","HvCarousel","props","className","classes","classesProp","height","heightProp","thumbnailWidth","title","children","actions","xs","showDots","showDotsProp","showCounter","showCounterProp","showSlideControls","showFullscreen","showFullscreenProp","hideThumbnails","hideThumbnailsProp","carouselOptions","renderThumbnail","onChange","others","cx","useClasses","thumbnailsRef","useRef","isFullscreen","setIsFullscreen","useState","containerRef","controller","useCarousel","align","loop","selectedIndex","setSelectedIndex","startIndex","numSlides","Children","count","handlePrevious","useCallback","scrollPrev","handleNext","scrollNext","handleScroll","index","scrollTo","handleSelect","slideIndex","selectedScrollSnap","current","querySelectorAll","scrollIntoView","behavior","block","useEffect","on","off","reInit","currentIndex","canPrev","canScrollPrev","canNext","canScrollNext","showTitle","showThumbnails","HvContainer","root","fullscreen","_jsx","HvTypography","variant","_jsxs","HvButton","icon","onClick","curr","closeButton","Close","Fullscreen","mainContainer","controls","dots","Array","from","map","el","dot","dotSelected","_Fragment","disabled","Backwards","iconSize","pageCounter","Forwards","main","mainXs","mainFullscreen","counterContainer","counter","slideControls","ref","style","slidesViewport","slidesContainer","panel","HvStack","direction","spacing","doc","i","width","thumbnail","thumbnailSelected"],"mappings":"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"}
|
|
@@ -39,10 +39,10 @@ const Fields = ({
|
|
|
39
39
|
const [internalRed, setInternalRed] = React.useState(rgb == null ? void 0 : rgb.r);
|
|
40
40
|
const [internalGreen, setInternalGreen] = React.useState(rgb == null ? void 0 : rgb.g);
|
|
41
41
|
const [internalBlue, setInternalBlue] = React.useState(rgb == null ? void 0 : rgb.b);
|
|
42
|
-
const hexInputRef = React.useRef();
|
|
43
|
-
const redInputRef = React.useRef();
|
|
44
|
-
const greenInputRef = React.useRef();
|
|
45
|
-
const blueInputRef = React.useRef();
|
|
42
|
+
const hexInputRef = React.useRef(null);
|
|
43
|
+
const redInputRef = React.useRef(null);
|
|
44
|
+
const greenInputRef = React.useRef(null);
|
|
45
|
+
const blueInputRef = React.useRef(null);
|
|
46
46
|
React.useEffect(() => {
|
|
47
47
|
if (document.activeElement !== hexInputRef.current) {
|
|
48
48
|
setInternalHex(hex);
|
|
@@ -96,7 +96,7 @@ const Fields = ({
|
|
|
96
96
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
97
97
|
className: cx(className, classes.fields),
|
|
98
98
|
children: [/* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
|
|
99
|
-
|
|
99
|
+
ref: hexInputRef,
|
|
100
100
|
className: classes.double,
|
|
101
101
|
label: "HEX",
|
|
102
102
|
value: internalHex == null ? void 0 : internalHex.replace("#", ""),
|
|
@@ -104,7 +104,7 @@ const Fields = ({
|
|
|
104
104
|
onBlur: () => setInternalHex(hex),
|
|
105
105
|
disableClear: true
|
|
106
106
|
}), /* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
|
|
107
|
-
|
|
107
|
+
ref: redInputRef,
|
|
108
108
|
className: classes.single,
|
|
109
109
|
label: "R",
|
|
110
110
|
value: `${internalRed}`,
|
|
@@ -112,7 +112,7 @@ const Fields = ({
|
|
|
112
112
|
onBlur: () => setInternalRed(rgb == null ? void 0 : rgb.r),
|
|
113
113
|
disableClear: true
|
|
114
114
|
}), /* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
|
|
115
|
-
|
|
115
|
+
ref: greenInputRef,
|
|
116
116
|
className: classes.single,
|
|
117
117
|
label: "G",
|
|
118
118
|
value: `${internalGreen}`,
|
|
@@ -120,7 +120,7 @@ const Fields = ({
|
|
|
120
120
|
onBlur: () => setInternalGreen(rgb == null ? void 0 : rgb.g),
|
|
121
121
|
disableClear: true
|
|
122
122
|
}), /* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
|
|
123
|
-
|
|
123
|
+
ref: blueInputRef,
|
|
124
124
|
className: classes.single,
|
|
125
125
|
label: "B",
|
|
126
126
|
value: `${internalBlue}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fields.cjs","sources":["../../../../../src/components/ColorPicker/Fields/Fields.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { HSLColor, HSVColor, RGBColor } from \"react-color\";\nimport * as color from \"react-color/lib/helpers/color\";\nimport { HvInput } from \"@core/components\";\nimport { ExtractNames } from \"@core/utils\";\nimport { staticClasses, useClasses } from \"./Fields.styles\";\n\nexport { staticClasses as colorPickerFieldsClasses };\n\nexport type HvColorPickerFieldsClasses = ExtractNames<typeof useClasses>;\n\ninterface FieldsProps {\n className?: string;\n rgb?: RGBColor;\n hex?: string;\n onChange: (\n data:\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => void;\n classes?: HvColorPickerFieldsClasses;\n}\n\nexport const Fields = ({\n className,\n onChange,\n rgb,\n hex,\n classes: classesProp,\n}: FieldsProps) => {\n const { classes, cx } = useClasses(classesProp);\n const [internalHex, setInternalHex] = useState
|
|
1
|
+
{"version":3,"file":"Fields.cjs","sources":["../../../../../src/components/ColorPicker/Fields/Fields.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { HSLColor, HSVColor, RGBColor } from \"react-color\";\nimport * as color from \"react-color/lib/helpers/color\";\nimport { HvInput } from \"@core/components\";\nimport { ExtractNames } from \"@core/utils\";\nimport { staticClasses, useClasses } from \"./Fields.styles\";\n\nexport { staticClasses as colorPickerFieldsClasses };\n\nexport type HvColorPickerFieldsClasses = ExtractNames<typeof useClasses>;\n\ninterface FieldsProps {\n className?: string;\n rgb?: RGBColor;\n hex?: string;\n onChange: (\n data:\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => void;\n classes?: HvColorPickerFieldsClasses;\n}\n\nexport const Fields = ({\n className,\n onChange,\n rgb,\n hex,\n classes: classesProp,\n}: FieldsProps) => {\n const { classes, cx } = useClasses(classesProp);\n const [internalHex, setInternalHex] = useState(hex);\n const [internalRed, setInternalRed] = useState(rgb?.r);\n const [internalGreen, setInternalGreen] = useState(rgb?.g);\n const [internalBlue, setInternalBlue] = useState(rgb?.b);\n\n const hexInputRef = useRef<HTMLInputElement>(null);\n const redInputRef = useRef<HTMLInputElement>(null);\n const greenInputRef = useRef<HTMLInputElement>(null);\n const blueInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (document.activeElement !== hexInputRef.current) {\n setInternalHex(hex);\n }\n }, [hex]);\n\n useEffect(() => {\n if (document.activeElement !== redInputRef.current) {\n setInternalRed(rgb?.r);\n }\n\n if (document.activeElement !== greenInputRef.current) {\n setInternalGreen(rgb?.g);\n }\n\n if (document.activeElement !== blueInputRef.current) {\n setInternalBlue(rgb?.b);\n }\n }, [rgb]);\n\n const handleChange = (\n data: {\n hex?: string;\n r?: number;\n g?: number;\n b?: number;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n if (data.hex && color.isValidHex(data.hex)) {\n onChange(\n {\n hex: data.hex,\n source: \"hex\",\n },\n event\n );\n } else if (data.r || data.g || data.b) {\n onChange(\n {\n r: data.r || rgb?.r,\n g: data.g || rgb?.g,\n b: data.b || rgb?.b,\n source: \"rgb\",\n },\n event\n );\n }\n };\n\n const onChangeHex = (event: React.ChangeEvent<any>, value: string) => {\n setInternalHex(value);\n handleChange({ hex: value }, event);\n };\n\n const onChangeRbg = (\n event: React.ChangeEvent<any>,\n value: string,\n colorPart: \"r\" | \"g\" | \"b\"\n ) => {\n if (colorPart === \"r\") setInternalRed(Number(value));\n if (colorPart === \"g\") setInternalGreen(Number(value));\n if (colorPart === \"b\") setInternalBlue(Number(value));\n\n handleChange(\n {\n r: colorPart === \"r\" ? Number(value) : rgb?.r,\n g: colorPart === \"g\" ? Number(value) : rgb?.g,\n b: colorPart === \"b\" ? Number(value) : rgb?.b,\n },\n event\n );\n };\n\n return (\n <div className={cx(className, classes.fields)}>\n <HvInput\n ref={hexInputRef}\n className={classes.double}\n label=\"HEX\"\n value={internalHex?.replace(\"#\", \"\")}\n onChange={onChangeHex}\n onBlur={() => setInternalHex(hex)}\n disableClear\n />\n <HvInput\n ref={redInputRef}\n className={classes.single}\n label=\"R\"\n value={`${internalRed}`}\n onChange={(event, value) => onChangeRbg(event, value, \"r\")}\n onBlur={() => setInternalRed(rgb?.r)}\n disableClear\n />\n <HvInput\n ref={greenInputRef}\n className={classes.single}\n label=\"G\"\n value={`${internalGreen}`}\n onChange={(event, value) => onChangeRbg(event, value, \"g\")}\n onBlur={() => setInternalGreen(rgb?.g)}\n disableClear\n />\n <HvInput\n ref={blueInputRef}\n className={classes.single}\n label=\"B\"\n value={`${internalBlue}`}\n onChange={(event, value) => onChangeRbg(event, value, \"b\")}\n onBlur={() => setInternalBlue(rgb?.b)}\n disableClear\n />\n </div>\n );\n};\n"],"names":["Fields","className","onChange","rgb","hex","classes","classesProp","cx","useClasses","internalHex","setInternalHex","useState","internalRed","setInternalRed","r","internalGreen","setInternalGreen","g","internalBlue","setInternalBlue","b","hexInputRef","useRef","redInputRef","greenInputRef","blueInputRef","useEffect","document","activeElement","current","handleChange","data","event","color","isValidHex","source","onChangeHex","value","onChangeRbg","colorPart","Number","fields","children","_jsx","HvInput","ref","double","label","replace","onBlur","disableClear","single"],"mappings":"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"}
|
|
@@ -25,10 +25,10 @@ const Picker = ({
|
|
|
25
25
|
} = Picker_styles.useClasses(classesProp);
|
|
26
26
|
const SaturationPointer = React.useCallback(() => /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
27
27
|
className: classes == null ? void 0 : classes.saturationPointer
|
|
28
|
-
}), []);
|
|
28
|
+
}), [classes == null ? void 0 : classes.saturationPointer]);
|
|
29
29
|
const HueSlider = React.useCallback(() => /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
30
30
|
className: classes == null ? void 0 : classes.hueSlider
|
|
31
|
-
}), []);
|
|
31
|
+
}), [classes == null ? void 0 : classes.hueSlider]);
|
|
32
32
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
33
33
|
children: [title && /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
|
|
34
34
|
className: classes.title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Picker.cjs","sources":["../../../../../src/components/ColorPicker/Picker/Picker.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport { Saturation, Hue } from \"react-color/lib/components/common\";\nimport {\n CustomPicker,\n CustomPickerInjectedProps,\n HSLColor,\n HSVColor,\n RGBColor,\n} from \"react-color\";\nimport { HvTypography } from \"@core/components\";\nimport { useTheme } from \"@core/hooks\";\nimport { ExtractNames } from \"@core/utils\";\nimport { staticClasses, useClasses } from \"./Picker.styles\";\nimport { Fields } from \"../Fields\";\n\nexport { staticClasses as colorPickerPickerClasses };\n\nexport type HvColorPickerPickerClasses = ExtractNames<typeof useClasses>;\n\nexport const Picker = ({\n onChange,\n rgb,\n hsl,\n hsv,\n hex,\n title,\n classes: classesProp,\n}: {\n classes?: HvColorPickerPickerClasses;\n title?: string;\n} & CustomPickerInjectedProps<\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n }\n>) => {\n const { activeTheme } = useTheme();\n const { classes } = useClasses(classesProp);\n\n const SaturationPointer = useCallback(\n () => <div className={classes?.saturationPointer} />,\n []\n );\n\n const HueSlider = useCallback(\n () => <div className={classes?.hueSlider} />,\n []\n );\n\n return (\n <>\n {title && (\n <HvTypography className={classes.title} variant=\"caption1\">\n {title}\n </HvTypography>\n )}\n <div className={classes.pickers}>\n <div className={classes.saturation}>\n <Saturation\n hsl={hsl}\n hsv={hsv}\n onChange={onChange}\n pointer={SaturationPointer}\n />\n </div>\n <div className={classes.hue}>\n <Hue\n direction={activeTheme?.colorPicker.hueDirection}\n hsl={hsl}\n onChange={onChange}\n pointer={HueSlider}\n />\n </div>\n </div>\n <Fields\n className={classes.fields}\n rgb={rgb}\n hex={hex}\n onChange={onChange}\n />\n </>\n );\n};\n\nexport default CustomPicker(Picker);\n"],"names":["Picker","onChange","rgb","hsl","hsv","hex","title","classes","classesProp","activeTheme","useTheme","useClasses","SaturationPointer","useCallback","_jsx","className","saturationPointer","HueSlider","hueSlider","_Fragment","children","HvTypography","variant","_jsxs","pickers","saturation","Saturation","pointer","hue","Hue","direction","colorPicker","hueDirection","Fields","fields","CustomPicker"],"mappings":";;;;;;;;;;AAmBO,MAAMA,SAASA,CAAC;AAAA,EACrBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,SAASC;AAYX,MAAM;AACE,QAAA;AAAA,IAAEC;AAAAA,MAAgBC,SAAS,SAAA;AAC3B,QAAA;AAAA,IAAEH;AAAAA,EAAAA,IAAYI,cAAAA,WAAWH,WAAW;AAE1C,QAAMI,oBAAoBC,MAAAA,YACxB,MAAMC,2BAAAA,IAAA,OAAA;AAAA,IAAKC,WAAWR,mCAASS;AAAAA,
|
|
1
|
+
{"version":3,"file":"Picker.cjs","sources":["../../../../../src/components/ColorPicker/Picker/Picker.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport { Saturation, Hue } from \"react-color/lib/components/common\";\nimport {\n CustomPicker,\n CustomPickerInjectedProps,\n HSLColor,\n HSVColor,\n RGBColor,\n} from \"react-color\";\nimport { HvTypography } from \"@core/components\";\nimport { useTheme } from \"@core/hooks\";\nimport { ExtractNames } from \"@core/utils\";\nimport { staticClasses, useClasses } from \"./Picker.styles\";\nimport { Fields } from \"../Fields\";\n\nexport { staticClasses as colorPickerPickerClasses };\n\nexport type HvColorPickerPickerClasses = ExtractNames<typeof useClasses>;\n\nexport const Picker = ({\n onChange,\n rgb,\n hsl,\n hsv,\n hex,\n title,\n classes: classesProp,\n}: {\n classes?: HvColorPickerPickerClasses;\n title?: string;\n} & CustomPickerInjectedProps<\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n }\n>) => {\n const { activeTheme } = useTheme();\n const { classes } = useClasses(classesProp);\n\n const SaturationPointer = useCallback(\n () => <div className={classes?.saturationPointer} />,\n [classes?.saturationPointer]\n );\n\n const HueSlider = useCallback(\n () => <div className={classes?.hueSlider} />,\n [classes?.hueSlider]\n );\n\n return (\n <>\n {title && (\n <HvTypography className={classes.title} variant=\"caption1\">\n {title}\n </HvTypography>\n )}\n <div className={classes.pickers}>\n <div className={classes.saturation}>\n <Saturation\n hsl={hsl}\n hsv={hsv}\n onChange={onChange}\n pointer={SaturationPointer}\n />\n </div>\n <div className={classes.hue}>\n <Hue\n direction={activeTheme?.colorPicker.hueDirection}\n hsl={hsl}\n onChange={onChange}\n pointer={HueSlider}\n />\n </div>\n </div>\n <Fields\n className={classes.fields}\n rgb={rgb}\n hex={hex}\n onChange={onChange}\n />\n </>\n );\n};\n\nexport default CustomPicker(Picker);\n"],"names":["Picker","onChange","rgb","hsl","hsv","hex","title","classes","classesProp","activeTheme","useTheme","useClasses","SaturationPointer","useCallback","_jsx","className","saturationPointer","HueSlider","hueSlider","_Fragment","children","HvTypography","variant","_jsxs","pickers","saturation","Saturation","pointer","hue","Hue","direction","colorPicker","hueDirection","Fields","fields","CustomPicker"],"mappings":";;;;;;;;;;AAmBO,MAAMA,SAASA,CAAC;AAAA,EACrBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,SAASC;AAYX,MAAM;AACE,QAAA;AAAA,IAAEC;AAAAA,MAAgBC,SAAS,SAAA;AAC3B,QAAA;AAAA,IAAEH;AAAAA,EAAAA,IAAYI,cAAAA,WAAWH,WAAW;AAE1C,QAAMI,oBAAoBC,MAAAA,YACxB,MAAMC,2BAAAA,IAAA,OAAA;AAAA,IAAKC,WAAWR,mCAASS;AAAAA,EAAoB,CAAA,GACnD,CAACT,mCAASS,iBAAiB,CAC7B;AAEA,QAAMC,YAAYJ,MAAAA,YAChB,MAAMC,2BAAAA,IAAA,OAAA;AAAA,IAAKC,WAAWR,mCAASW;AAAAA,EAAY,CAAA,GAC3C,CAACX,mCAASW,SAAS,CACrB;AAEA,yCACEC,WAAAA,UAAA;AAAA,IAAAC,UACGd,CAAAA,SACCQ,2BAAAA,IAACO,yBAAY;AAAA,MAACN,WAAWR,QAAQD;AAAAA,MAAOgB,SAAQ;AAAA,MAAUF,UACvDd;AAAAA,IAAAA,CACW,GAEhBiB,2BAAAA,KAAA,OAAA;AAAA,MAAKR,WAAWR,QAAQiB;AAAAA,MAAQJ,WAC9BN,2BAAAA,IAAA,OAAA;AAAA,QAAKC,WAAWR,QAAQkB;AAAAA,QAAWL,yCAChCM,mBAAU;AAAA,UACTvB;AAAAA,UACAC;AAAAA,UACAH;AAAAA,UACA0B,SAASf;AAAAA,QAAAA,CACV;AAAA,MAAA,CACE,GACLE,2BAAAA,IAAA,OAAA;AAAA,QAAKC,WAAWR,QAAQqB;AAAAA,QAAIR,yCACzBS,YAAG;AAAA,UACFC,WAAWrB,2CAAasB,YAAYC;AAAAA,UACpC7B;AAAAA,UACAF;AAAAA,UACA0B,SAASV;AAAAA,QAAAA,CACV;AAAA,MAAA,CACE,CAAC;AAAA,IAAA,CACH,GACLH,2BAAAA,IAACmB,eAAM;AAAA,MACLlB,WAAWR,QAAQ2B;AAAAA,MACnBhC;AAAAA,MACAG;AAAAA,MACAJ;AAAAA,IAAAA,CACD,CAAC;AAAA,EAAA,CACF;AAEN;AAEA,MAAekC,WAAAA,WAAAA,aAAanC,MAAM;;;;"}
|
|
@@ -89,7 +89,7 @@ const HvDatePicker = ({
|
|
|
89
89
|
React.useEffect(() => {
|
|
90
90
|
setStartDate(rangeMode ? startValue : value, true);
|
|
91
91
|
setEndDate(endValue, true);
|
|
92
|
-
}, [value, startValue, endValue, rangeMode]);
|
|
92
|
+
}, [value, startValue, endValue, rangeMode, setStartDate, setEndDate]);
|
|
93
93
|
const endDateIsSet = React.useRef(false);
|
|
94
94
|
endDateIsSet.current = endDate != null;
|
|
95
95
|
React.useEffect(() => {
|
|
@@ -236,7 +236,7 @@ const HvDatePicker = ({
|
|
|
236
236
|
label: "StyledTypography"
|
|
237
237
|
})({
|
|
238
238
|
color: dateString ? uikitStyles.theme.colors.secondary : uikitStyles.theme.datePicker.dropdownPlaceholderColor
|
|
239
|
-
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5ZDZCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtcmVhY3QtaWNvbnNcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7XG4gIEh2Q2FsZW5kYXIsXG4gIEh2SW5mb01lc3NhZ2UsXG4gIEh2V2FybmluZ1RleHQsXG4gIEh2Q2FsZW5kYXJQcm9wcyxcbiAgSHZBY3Rpb25CYXIsXG4gIEh2QnV0dG9uLFxuICBIdkZvcm1FbGVtZW50LFxuICBIdlR5cG9ncmFwaHksXG4gIEh2QmFzZURyb3Bkb3duLFxuICBIdkxhYmVsLFxufSBmcm9tIFwiQGNvcmUvY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZCwgdXNlTGFiZWxzLCB1c2VUaGVtZSwgdXNlVW5pcXVlSWQgfSBmcm9tIFwiQGNvcmUvaG9va3NcIjtcbmltcG9ydCB7IEh2QmFzZVByb3BzIH0gZnJvbSBcIkBjb3JlL3R5cGVzXCI7XG5pbXBvcnQgeyBFeHRyYWN0TmFtZXMsIHNldElkLCB1c2VTYXZlZFN0YXRlIH0gZnJvbSBcIkBjb3JlL3V0aWxzXCI7XG5pbXBvcnQgeyBpc0ludmFsaWQgfSBmcm9tIFwiLi4vRm9ybXMvRm9ybUVsZW1lbnQvdmFsaWRhdGlvblN0YXRlc1wiO1xuaW1wb3J0IHsgaXNEYXRlIH0gZnJvbSBcIi4uL0NhbGVuZGFyL3V0aWxzXCI7XG5pbXBvcnQgeyBnZXREYXRlTGFiZWwgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHVzZVZpc2libGVEYXRlIGZyb20gXCIuL3VzZVZpc2libGVEYXRlXCI7XG5pbXBvcnQgeyBzdGF0aWNDbGFzc2VzLCB1c2VDbGFzc2VzIH0gZnJvbSBcIi4vRGF0ZVBpY2tlci5zdHlsZXNcIjtcblxuZXhwb3J0IHsgc3RhdGljQ2xhc3NlcyBhcyBkYXRlUGlja2VyQ2xhc3NlcyB9O1xuXG5leHBvcnQgdHlwZSBIdkRhdGVQaWNrZXJDbGFzc2VzID0gRXh0cmFjdE5hbWVzPHR5cGVvZiB1c2VDbGFzc2VzPjtcblxuY29uc3QgREVGQVVMVF9MQUJFTFMgPSB7XG4gIGFwcGx5TGFiZWw6IFwiQXBwbHlcIixcbiAgY2FuY2VsTGFiZWw6IFwiQ2FuY2VsXCIsXG4gIGNsZWFyTGFiZWw6IFwiQ2xlYXJcIixcbiAgaW52YWxpZExhYmVsOiBcIkludmFsaWQgZGF0ZVwiLFxufTtcblxuZXhwb3J0IHR5cGUgSHZEYXRlUGlja2VyU3RhdHVzID0gXCJzdGFuZEJ5XCIgfCBcInZhbGlkXCIgfCBcImludmFsaWRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBIdkRhdGVQaWNrZXJQcm9wc1xuICBleHRlbmRzIEh2QmFzZVByb3BzPEhUTUxEaXZFbGVtZW50LCBcIm9uQ2hhbmdlXCI+IHtcbiAgLyoqXG4gICAqIENsYXNzIG5hbWVzIHRvIGJlIGFwcGxpZWQuXG4gICAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIEpzcyBPYmplY3QgdXNlZCB0byBvdmVycmlkZSBvciBleHRlbmQgdGhlIGNvbXBvbmVudCBzdHlsZXMgYXBwbGllZC5cbiAgICovXG4gIGNsYXNzZXM/OiBIdkRhdGVQaWNrZXJDbGFzc2VzO1xuICAvKipcbiAgICogSWQgdG8gYmUgYXBwbGllZCB0byB0aGUgZm9ybSBlbGVtZW50IHJvb3Qgbm9kZS5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBlbGVtZW50IG5hbWUuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBmb3JtIGVsZW1lbnQuXG4gICAqXG4gICAqIFRoZSBmb3JtIGVsZW1lbnQgbXVzdCBiZSBsYWJlbGVkIGZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnMuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgYW4gYXJpYS1sYWJlbCBvciBhcmlhLWxhYmVsbGVkYnkgbXVzdCBiZSBwcm92aWRlZCBpbnN0ZWFkLlxuICAgKi9cbiAgbGFiZWw/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIFwiYXJpYS1sYWJlbGxlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm92aWRlIGFkZGl0aW9uYWwgZGVzY3JpcHRpdmUgdGV4dCBmb3IgdGhlIGZvcm0gZWxlbWVudC5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmb3JtIGVsZW1lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB1c2VyIGlucHV0IGlzIHJlcXVpcmVkIG9uIHRoZSBmb3JtIGVsZW1lbnQuXG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIGZvcm0gZWxlbWVudC5cbiAgICpcbiAgICogVmFsaWQgaXMgY29ycmVjdCwgaW52YWxpZCBpcyBpbmNvcnJlY3QgYW5kIHN0YW5kQnkgbWVhbnMgbm8gdmFsaWRhdGlvbnMgaGF2ZSBydW4uXG4gICAqXG4gICAqIFdoZW4gdW5jb250cm9sbGVkIGFuZCB1bnNwZWNpZmllZCBpdCB3aWxsIGRlZmF1bHQgdG8gXCJzdGFuZEJ5XCIgYW5kIGNoYW5nZSB0byBlaXRoZXIgXCJ2YWxpZFwiXG4gICAqIG9yIFwiaW52YWxpZFwiIGFmdGVyIGFueSBjaGFuZ2UgdG8gdGhlIHN0YXRlLlxuICAgKi9cbiAgc3RhdHVzPzogSHZEYXRlUGlja2VyU3RhdHVzO1xuICAvKipcbiAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gc2hvdyB3aGVuIHRoZSB2YWxpZGF0aW9uIHN0YXR1cyBpcyBcImludmFsaWRcIi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gXCJSZXF1aXJlZFwiIHdoZW4gdGhlIHN0YXR1cyBpcyB1bmNvbnRyb2xsZWQgYW5kIG5vIGBhcmlhLWVycm9ybWVzc2FnZWAgaXMgcHJvdmlkZWQuXG4gICAqL1xuICBzdGF0dXNNZXNzYWdlPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCB0aGF0IHByb3ZpZGVzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBkYXRlIHBpY2tlci5cbiAgICpcbiAgICogV2lsbCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgdmFsaWRhdGlvbiBzdGF0dXMgaXMgaW52YWxpZC5cbiAgICovXG4gIFwiYXJpYS1lcnJvcm1lc3NhZ2VcIj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbGxiYWNrIGZpcmVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZT86IChkYXRlPzogRGF0ZSwgZW5kRGF0ZT86IERhdGUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgZmlyZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBjYW5jZWwuXG4gICAqL1xuICBvbkNhbmNlbD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgZmlyZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBjbGVhci5cbiAgICovXG4gIG9uQ2xlYXI/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIHRoZSBsYWJlbHMgZm9yIHRoZSBkYXRlcGlja2VyLlxuICAgKi9cbiAgbGFiZWxzPzoge1xuICAgIC8qKlxuICAgICAqIEFwcGx5IGJ1dHRvbiBsYWJlbC5cbiAgICAgKi9cbiAgICBhcHBseUxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIENhbmNlbCBidXR0b24gbGFiZWwuXG4gICAgICovXG4gICAgY2FuY2VsTGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQ2xlYXIgYnV0dG9uIGxhYmVsLlxuICAgICAqL1xuICAgIGNsZWFyTGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSW52YWxpZCBEYXRlIGxhYmVsLlxuICAgICAqL1xuICAgIGludmFsaWREYXRlTGFiZWw/OiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBpbnB1dCB3aGVuIGluIHNpbmdsZSBjYWxlbmRhciBtb2RlLlxuICAgKi9cbiAgdmFsdWU/OiBEYXRlO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBzdGFydCBkYXRlIHdoZW4gaW4gcmFuZ2UgbW9kZS5cbiAgICovXG4gIHN0YXJ0VmFsdWU/OiBEYXRlO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBlbmQgZGF0ZSB3aGVuIGluIHJhbmdlIG1vZGUuXG4gICAqL1xuICBlbmRWYWx1ZT86IERhdGU7XG4gIC8qKlxuICAgKiBGbGFnIGluZm9ybWluZyBpZiB0aGUgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgaW4gcmFuZ2UgbW9kZSBvciBpbiBzaW5nbGUgbW9kZS5cbiAgICogVE9ETzogcmVtb3ZlIHRoaXMgaW4gZmF2b3VyIG9mIGRpc2NyaW1pbmF0ZWQgdW5pb25cbiAgICovXG4gIHJhbmdlTW9kZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcGxhY2VtZW50IHdoZXJlIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgcGxhY2VkIGFjY29yZGluZyB0byB0aGUgaW5wdXQuIE9wdGlvbnMgYXJlIGBsZWZ0YCBvciBgcmlnaHRgLlxuICAgKiBOb3RlIHRoaXMgcHJvcCBvbmx5IGFmZmVjdHMgdGhlIGNhbGVuZGFyIHdoZW4gaW4gYHJhbmdlTW9kZWAuXG4gICAqL1xuICBob3Jpem9udGFsUGxhY2VtZW50PzogXCJsZWZ0XCIgfCBcInJpZ2h0XCI7XG4gIC8qKlxuICAgKiBUaGUgY2FsZW5kYXIgbG9jYWxlLiBJZiB1bmRlZmluZWQsIGl0IHVzZXMgY2FsZW5kYXIgZGVmYXVsdFxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb250cm9scyBpZiBhY3Rpb25zIGJ1dHRvbnMgYXJlIHZpc2libGUgYXQgdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgc2hvd0FjdGlvbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29udHJvbHMgaWYgY2xlYXIgYnV0dG9uIGlzIHZpc2libGUgYXQgdGhlIGNhbGVuZGFyLFxuICAgKiBvbmx5IHdvcmtzIGlmIHNob3dpbmcgYWN0aW9ucyBvciBpbiByYW5nZSBtb2RlLlxuICAgKi9cbiAgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIHBvcnRhbCBiZWhhdmlvci4gVGhlIGNoaWxkcmVuIHN0YXkgd2l0aGluIGl0J3MgcGFyZW50IERPTSBoaWVyYXJjaHkuXG4gICAqL1xuICBkaXNhYmxlUG9ydGFsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHMgaWYgdGhlIGNhbGVuZGFyIGNvbnRhaW5lciBzaG91bGQgZm9sbG93IHRoZSBkYXRlIHBpY2tlciBpbnB1dCBvdXQgb2YgdGhlIHNjcmVlbiBvciBzdGF5IHZpc2libGUuXG4gICAqL1xuICBlc2NhcGVXaXRoUmVmZXJlbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFuIGVsZW1lbnQgcGxhY2VkIGJlZm9yZSB0aGUgQ2FsZW5kYXJcbiAgICovXG4gIHN0YXJ0QWRvcm5tZW50PzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcHMgdG8gYmUgcGFzc2VkIG9udG8gdGhlIGJhc2VEcm9wZG93bi5cbiAgICovXG4gIGRyb3Bkb3duUHJvcHM/OiBPYmplY3Q7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgdGhlIERhdGVQaWNrZXIgd2lsbCBiZSBpbiByZWFkIG9ubHkgbW9kZSwgdW5hYmxlIHRvIGJlIGludGVyYWN0ZWQuXG4gICAqL1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHByb3BzIHBhc3NlZCB0byB0aGUgSHZDYWxlbmRhciBjb21wb25lbnQuXG4gICAqL1xuICBjYWxlbmRhclByb3BzPzogUGFydGlhbDxIdkNhbGVuZGFyUHJvcHM+O1xufVxuXG4vKipcbiAqIEEgZGF0ZSBwaWNrZXIsIHBvcHVwIGNhbGVuZGFyIG9yIGRhdGUgcmFuZ2UgcGlja2VyIGlzIGEgZ3JhcGhpY2FsIHVzZXJcbiAqIGludGVyZmFjZSB3aWRnZXQgd2hpY2ggYWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCBhIGRhdGUgZnJvbSBhIGNhbGVuZGFyLlxuICovXG5leHBvcnQgY29uc3QgSHZEYXRlUGlja2VyID0gKHtcbiAgY2xhc3NlczogY2xhc3Nlc1Byb3AsXG4gIGNsYXNzTmFtZSxcblxuICBpZCxcbiAgbmFtZSxcblxuICByZXF1aXJlZCA9IGZhbHNlLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICByZWFkT25seSxcblxuICBsYWJlbCxcbiAgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCxcbiAgXCJhcmlhLWxhYmVsbGVkYnlcIjogYXJpYUxhYmVsbGVkQnksXG4gIGRlc2NyaXB0aW9uLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuXG4gIG9uQ2hhbmdlLFxuICBvbkNhbmNlbCxcbiAgb25DbGVhcixcbiAgc3RhdHVzLFxuICBzdGF0dXNNZXNzYWdlLFxuICBcImFyaWEtZXJyb3JtZXNzYWdlXCI6IGFyaWFFcnJvck1lc3NhZ2UsXG5cbiAgcGxhY2Vob2xkZXIsXG5cbiAgbGFiZWxzOiBsYWJlbHNQcm9wLFxuXG4gIHZhbHVlLFxuICBzdGFydFZhbHVlLFxuICBlbmRWYWx1ZSxcblxuICByYW5nZU1vZGUgPSBmYWxzZSxcbiAgc3RhcnRBZG9ybm1lbnQsXG4gIGhvcml6b250YWxQbGFjZW1lbnQgPSBcInJpZ2h0XCIsXG4gIGxvY2FsZTogbG9jYWxlUHJvcCxcbiAgc2hvd0FjdGlvbnMgPSBmYWxzZSxcbiAgc2hvd0NsZWFyID0gZmFsc2UsXG4gIGRpc2FibGVQb3J0YWwgPSB0cnVlLFxuICBlc2NhcGVXaXRoUmVmZXJlbmNlID0gdHJ1ZSxcbiAgZHJvcGRvd25Qcm9wcyxcbiAgY2FsZW5kYXJQcm9wcyxcbiAgLi4ub3RoZXJzXG59OiBIdkRhdGVQaWNrZXJQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzZXMsIGN4IH0gPSB1c2VDbGFzc2VzKGNsYXNzZXNQcm9wKTtcbiAgY29uc3QgbGFiZWxzID0gdXNlTGFiZWxzKERFRkFVTFRfTEFCRUxTLCBsYWJlbHNQcm9wKTtcblxuICBjb25zdCBlbGVtZW50SWQgPSB1c2VVbmlxdWVJZChpZCwgXCJodmRhdGVwaWNrZXJcIik7XG5cbiAgY29uc3QgW3ZhbGlkYXRpb25TdGF0ZSwgc2V0VmFsaWRhdGlvblN0YXRlXSA9IHVzZUNvbnRyb2xsZWQoXG4gICAgc3RhdHVzLFxuICAgIFwic3RhbmRCeVwiXG4gICk7XG5cbiAgY29uc3QgW3ZhbGlkYXRpb25NZXNzYWdlXSA9IHVzZUNvbnRyb2xsZWQoc3RhdHVzTWVzc2FnZSwgXCJSZXF1aXJlZFwiKTtcblxuICBjb25zdCBsb2NhbGUgPSBsb2NhbGVQcm9wIHx8IFwiZW4tVVNcIjtcblxuICBjb25zdCBbY2FsZW5kYXJPcGVuLCBzZXRDYWxlbmRhck9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IFtzdGFydERhdGUsIHNldFN0YXJ0RGF0ZSwgcm9sbGJhY2tTdGFydERhdGVdID0gdXNlU2F2ZWRTdGF0ZShcbiAgICByYW5nZU1vZGUgPyBzdGFydFZhbHVlIDogdmFsdWVcbiAgKTtcbiAgY29uc3QgW2VuZERhdGUsIHNldEVuZERhdGUsIHJvbGxiYWNrRW5kRGF0ZV0gPSB1c2VTYXZlZFN0YXRlKGVuZFZhbHVlKTtcblxuICBjb25zdCBbdmlzaWJsZURhdGUsIGRpc3BhdGNoQWN0aW9uXSA9IHVzZVZpc2libGVEYXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG5cbiAgY29uc3QgZm9jdXNUYXJnZXQgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IHsgYWN0aXZlVGhlbWUgfSA9IHVzZVRoZW1lKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTdGFydERhdGUocmFuZ2VNb2RlID8gc3RhcnRWYWx1ZSA6IHZhbHVlLCB0cnVlKTtcbiAgICBzZXRFbmREYXRlKGVuZFZhbHVlLCB0cnVlKTtcbiAgfSwgW3ZhbHVlLCBzdGFydFZhbHVlLCBlbmRWYWx1ZSwgcmFuZ2VNb2RlXSk7XG5cbiAgY29uc3QgZW5kRGF0ZUlzU2V0ID0gdXNlUmVmKGZhbHNlKTtcbiAgZW5kRGF0ZUlzU2V0LmN1cnJlbnQgPSBlbmREYXRlICE9IG51bGw7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc3RhcnREYXRlICE9IG51bGwpIHtcbiAgICAgIGRpc3BhdGNoQWN0aW9uKHtcbiAgICAgICAgdHlwZTogXCJtb250aF95ZWFyXCIsXG4gICAgICAgIHRhcmdldDogZW5kRGF0ZUlzU2V0LmN1cnJlbnQgPyBcImxlZnRcIiA6IFwiYmVzdFwiLFxuICAgICAgICB5ZWFyOiBzdGFydERhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgbW9udGg6IHN0YXJ0RGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2Rpc3BhdGNoQWN0aW9uLCBzdGFydERhdGVdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChlbmREYXRlICE9IG51bGwpIHtcbiAgICAgIGRpc3BhdGNoQWN0aW9uKHtcbiAgICAgICAgdHlwZTogXCJtb250aF95ZWFyXCIsXG4gICAgICAgIHRhcmdldDogXCJyaWdodFwiLFxuICAgICAgICB5ZWFyOiBlbmREYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIG1vbnRoOiBlbmREYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZGlzcGF0Y2hBY3Rpb24sIGVuZERhdGVdKTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgYEFwcGx5YCBhY3Rpb24uIEJvdGggc2luZ2xlIGFuZCByYW5nZWQgbW9kZXMgYXJlIGhhbmRsZWQgaGVyZS5cbiAgICovXG4gIGNvbnN0IGhhbmRsZUFwcGx5ID0gKCkgPT4ge1xuICAgIHNldFN0YXJ0RGF0ZShzdGFydERhdGUsIHRydWUpO1xuICAgIHNldEVuZERhdGUoZW5kRGF0ZSA/PyBzdGFydERhdGUsIHRydWUpO1xuXG4gICAgb25DaGFuZ2U/LihzdGFydERhdGUsIGVuZERhdGUpO1xuXG4gICAgc2V0VmFsaWRhdGlvblN0YXRlKCgpID0+IHtcbiAgICAgIC8vIHRoaXMgd2lsbCBvbmx5IHJ1biBpZiBzdGF0dXMgaXMgdW5jb250cm9sbGVkXG4gICAgICBpZiAocmVxdWlyZWQgJiYgKCFpc0RhdGUoc3RhcnREYXRlKSB8fCAocmFuZ2VNb2RlICYmICFpc0RhdGUoZW5kRGF0ZSkpKSkge1xuICAgICAgICByZXR1cm4gXCJpbnZhbGlkXCI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBcInZhbGlkXCI7XG4gICAgfSk7XG5cbiAgICBzZXRDYWxlbmRhck9wZW4oZmFsc2UpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBgQ2FuY2VsYCBhY3Rpb24uIEJvdGggc2luZ2xlIGFuZCByYW5nZWQgbW9kZXMgYXJlIGhhbmRsZWQgaGVyZS5cbiAgICovXG4gIGNvbnN0IGhhbmRsZUNhbmNlbCA9ICgpID0+IHtcbiAgICByb2xsYmFja1N0YXJ0RGF0ZSgpO1xuICAgIHJvbGxiYWNrRW5kRGF0ZSgpO1xuXG4gICAgb25DYW5jZWw/LigpO1xuXG4gICAgc2V0Q2FsZW5kYXJPcGVuKGZhbHNlKTtcbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgYENhbmNlbGAgYWN0aW9uLiBCb3RoIHNpbmdsZSBhbmQgcmFuZ2VkIG1vZGVzIGFyZSBoYW5kbGVkIGhlcmUuXG4gICAqL1xuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTdGFydERhdGUodW5kZWZpbmVkLCBmYWxzZSk7XG4gICAgc2V0RW5kRGF0ZSh1bmRlZmluZWQsIGZhbHNlKTtcbiAgICBvbkNsZWFyPy4oKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVDYWxlbmRhckNsb3NlID0gKCkgPT4ge1xuICAgIGNvbnN0IHNob3VsZFNhdmUgPSAhKHJhbmdlTW9kZSB8fCBzaG93QWN0aW9ucyk7XG4gICAgaWYgKHNob3VsZFNhdmUpIHtcbiAgICAgIGhhbmRsZUFwcGx5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhhbmRsZUNhbmNlbCgpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVUb2dnbGUgPSAoZXZ0LCBvcGVuKSA9PiB7XG4gICAgLyogXG4gICAgIElmIGV2dCBpcyBudWxsIHRoaXMgdG9nZ2xlIHdhc24ndCB0cmlnZ2VyZWQgYnkgdGhlIHVzZXIuXG4gICAgIGluc3RlYWQgaXQgd2FzIHRyaWdnZXJlZCBieSB0aGUgYmFzZURyb3Bkb3duIHVzZUVmZmVjdCBhZnRlclxuICAgICB0aGUgZGF0ZXBpY2tlciBjaGFuZ2VkIHRoZSBleHBhbmRlZCB2YWx1ZSB0aGlzIGJhc2VEcm9wZG93biBiZWhhdmlvciBuZWVkcyBhIHJldmlld1xuICAgICovXG4gICAgaWYgKGV2dCA9PT0gbnVsbCkgcmV0dXJuO1xuICAgIHNldENhbGVuZGFyT3BlbihvcGVuKTtcbiAgICBpZiAoIW9wZW4pIGhhbmRsZUNhbGVuZGFyQ2xvc2UoKTtcbiAgfTtcblxuICBjb25zdCBmb2N1c09uQ29udGFpbmVyID0gKCkgPT4ge1xuICAgIGZvY3VzVGFyZ2V0LmN1cnJlbnQ/LmZvY3VzKCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGF0ZUNoYW5nZSA9IChldmVudCwgbmV3RGF0ZSkgPT4ge1xuICAgIGlmICghaXNEYXRlKG5ld0RhdGUpKSByZXR1cm47XG5cbiAgICBjb25zdCBhdXRvU2F2ZSA9ICFzaG93QWN0aW9ucyAmJiAhcmFuZ2VNb2RlO1xuXG4gICAgaWYgKHJhbmdlTW9kZSkge1xuICAgICAgaWYgKCFzdGFydERhdGUgfHwgKHN0YXJ0RGF0ZSAmJiBlbmREYXRlKSB8fCBuZXdEYXRlIDwgc3RhcnREYXRlKSB7XG4gICAgICAgIHNldFN0YXJ0RGF0ZShuZXdEYXRlKTtcbiAgICAgICAgc2V0RW5kRGF0ZSh1bmRlZmluZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0RW5kRGF0ZShuZXdEYXRlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U3RhcnREYXRlKG5ld0RhdGUsIGF1dG9TYXZlKTtcbiAgICB9XG5cbiAgICBpZiAoYXV0b1NhdmUpIHtcbiAgICAgIG9uQ2hhbmdlPy4obmV3RGF0ZSk7XG5cbiAgICAgIHNldFZhbGlkYXRpb25TdGF0ZSgoKSA9PiB7XG4gICAgICAgIC8vIHRoaXMgd2lsbCBvbmx5IHJ1biBpZiBzdGF0dXMgaXMgdW5jb250cm9sbGVkXG4gICAgICAgIGlmIChyZXF1aXJlZCAmJiAhaXNEYXRlKG5ld0RhdGUpKSB7XG4gICAgICAgICAgcmV0dXJuIFwiaW52YWxpZFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFwidmFsaWRcIjtcbiAgICAgIH0pO1xuXG4gICAgICBzZXRDYWxlbmRhck9wZW4oZmFsc2UpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVJbnB1dERhdGVDaGFuZ2UgPSAoZXZlbnQsIG5ld0RhdGUsIHBvc2l0aW9uKSA9PiB7XG4gICAgaWYgKCFpc0RhdGUobmV3RGF0ZSkpIHJldHVybjtcblxuICAgIGlmICghcmFuZ2VNb2RlKSB7XG4gICAgICBoYW5kbGVEYXRlQ2hhbmdlKGV2ZW50LCBuZXdEYXRlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gPT09IFwibGVmdFwiKSB7XG4gICAgICBpZiAoZW5kRGF0ZSkgc2V0U3RhcnREYXRlKG5ld0RhdGUgPiBlbmREYXRlID8gZW5kRGF0ZSA6IG5ld0RhdGUpO1xuICAgIH0gZWxzZSBpZiAocG9zaXRpb24gPT09IFwicmlnaHRcIikge1xuICAgICAgaWYgKCFzdGFydERhdGUpIHtcbiAgICAgICAgaWYgKGVuZERhdGUpIHNldFN0YXJ0RGF0ZShuZXdEYXRlID4gZW5kRGF0ZSA/IGVuZERhdGUgOiBuZXdEYXRlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgc2V0RW5kRGF0ZShuZXdEYXRlIDwgc3RhcnREYXRlID8gc3RhcnREYXRlIDogbmV3RGF0ZSk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBjb250YWluZXIgZm9yIHRoZSBhY3Rpb24gZWxlbWVudHMuXG4gICAqL1xuICBjb25zdCByZW5kZXJBY3Rpb25zID0gKCkgPT4gKFxuICAgIDxIdkFjdGlvbkJhciBjbGFzc05hbWU9e2N4KHsgW2NsYXNzZXMuYWN0aW9uQ29udGFpbmVyXTogc2hvd0NsZWFyIH0pfT5cbiAgICAgIHtzaG93Q2xlYXIgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5sZWZ0Q29udGFpbmVyfT5cbiAgICAgICAgICA8SHZCdXR0b25cbiAgICAgICAgICAgIGlkPXtzZXRJZChpZCwgXCJhY3Rpb25cIiwgXCJjbGVhclwiKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5hY3Rpb259XG4gICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeUdob3N0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsZWFyfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtsYWJlbHM/LmNsZWFyTGFiZWx9XG4gICAgICAgICAgPC9IdkJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucmlnaHRDb250YWluZXJ9PlxuICAgICAgICA8SHZCdXR0b25cbiAgICAgICAgICBpZD17c2V0SWQoaWQsIFwiYWN0aW9uXCIsIFwiYXBwbHlcIil9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmFjdGlvbn1cbiAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeUdob3N0XCJcbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVBcHBseX1cbiAgICAgICAgPlxuICAgICAgICAgIHtsYWJlbHM/LmFwcGx5TGFiZWx9XG4gICAgICAgIDwvSHZCdXR0b24+XG4gICAgICAgIDxIdkJ1dHRvblxuICAgICAgICAgIGlkPXtzZXRJZChpZCwgXCJhY3Rpb25cIiwgXCJjYW5jZWxcIil9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmFjdGlvbn1cbiAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeUdob3N0XCJcbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDYW5jZWx9XG4gICAgICAgID5cbiAgICAgICAgICB7bGFiZWxzPy5jYW5jZWxMYWJlbH1cbiAgICAgICAgPC9IdkJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvSHZBY3Rpb25CYXI+XG4gICk7XG5cbiAgY29uc3Qgc3R5bGVkVHlwb2dyYXBoeSA9IChkYXRlU3RyaW5nLCB2YXJpYW50LCB0ZXh0KSA9PiB7XG4gICAgY29uc3QgU3R5bGVkVHlwb2dyYXBoeSA9IHN0eWxlZChIdlR5cG9ncmFwaHkpKHtcbiAgICAgIGNvbG9yOiBkYXRlU3RyaW5nXG4gICAgICAgID8gdGhlbWUuY29sb3JzLnNlY29uZGFyeVxuICAgICAgICA6IHRoZW1lLmRhdGVQaWNrZXIuZHJvcGRvd25QbGFjZWhvbGRlckNvbG9yLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIDxTdHlsZWRUeXBvZ3JhcGh5IHZhcmlhbnQ9e3ZhcmlhbnR9Pnt0ZXh0fTwvU3R5bGVkVHlwb2dyYXBoeT47XG4gIH07XG5cbiAgY29uc3QgcmVuZGVySW5wdXQgPSAoZGF0ZVN0cmluZykgPT5cbiAgICBzdHlsZWRUeXBvZ3JhcGh5KFxuICAgICAgZGF0ZVN0cmluZyxcbiAgICAgIGFjdGl2ZVRoZW1lPy5kYXRlUGlja2VyLnBsYWNlaG9sZGVyVmFyaWFudCxcbiAgICAgIChkYXRlU3RyaW5nIHx8IHBsYWNlaG9sZGVyKSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IGRhdGVTdHJpbmcgfHwgcGxhY2Vob2xkZXJcbiAgICApO1xuXG4gIGNvbnN0IGRhdGVWYWx1ZSA9IHJhbmdlTW9kZSA/IHsgc3RhcnREYXRlLCBlbmREYXRlIH0gOiBzdGFydERhdGU7XG5cbiAgY29uc3QgaGFzTGFiZWwgPSBsYWJlbCAhPSBudWxsO1xuICBjb25zdCBoYXNEZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uICE9IG51bGw7XG5cbiAgLy8gdGhlIGVycm9yIG1lc3NhZ2UgYXJlYSB3aWxsIG9ubHkgYmUgY3JlYXRlZCBpZjpcbiAgLy8gLSBhbiBleHRlcm5hbCBlbGVtZW50IHRoYXQgcHJvdmlkZXMgYW4gZXJyb3IgbWVzc2FnZSBpc24ndCBpZGVudGlmaWVkIHZpYSBhcmlhLWVycm9ybWVzc2FnZSBBTkRcbiAgLy8gICAtIGJvdGggc3RhdHVzIGFuZCBzdGF0dXNNZXNzYWdlIHByb3BlcnRpZXMgYXJlIGJlaW5nIGNvbnRyb2xsZWQgT1JcbiAgLy8gICAtIHN0YXR1cyBpcyB1bmNvbnRyb2xsZWQgYW5kIHJlcXVpcmVkIGlzIHRydWVcbiAgY29uc3QgY2FuU2hvd0Vycm9yID1cbiAgICBhcmlhRXJyb3JNZXNzYWdlID09IG51bGwgJiZcbiAgICAoKHN0YXR1cyAhPT0gdW5kZWZpbmVkICYmIHN0YXR1c01lc3NhZ2UgIT09IHVuZGVmaW5lZCkgfHxcbiAgICAgIChzdGF0dXMgPT09IHVuZGVmaW5lZCAmJiByZXF1aXJlZCkpO1xuXG4gIGNvbnN0IGlzU3RhdGVJbnZhbGlkID0gaXNJbnZhbGlkKHZhbGlkYXRpb25TdGF0ZSk7XG5cbiAgbGV0IGVycm9yTWVzc2FnZUlkO1xuICBpZiAoaXNTdGF0ZUludmFsaWQpIHtcbiAgICBlcnJvck1lc3NhZ2VJZCA9IGNhblNob3dFcnJvclxuICAgICAgPyBzZXRJZChlbGVtZW50SWQsIFwiZXJyb3JcIilcbiAgICAgIDogYXJpYUVycm9yTWVzc2FnZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEh2Rm9ybUVsZW1lbnRcbiAgICAgIGlkPXtpZH1cbiAgICAgIG5hbWU9e25hbWV9XG4gICAgICB2YWx1ZT17ZGF0ZVZhbHVlfVxuICAgICAgc3RhdHVzPXt2YWxpZGF0aW9uU3RhdGV9XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBjbGFzc05hbWU9e2N4KGNsYXNzTmFtZSwgY2xhc3Nlcy5yb290KX1cbiAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgIHsuLi5vdGhlcnN9XG4gICAgPlxuICAgICAgeyhoYXNMYWJlbCB8fCBoYXNEZXNjcmlwdGlvbikgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5sYWJlbENvbnRhaW5lcn0+XG4gICAgICAgICAge2hhc0xhYmVsICYmIChcbiAgICAgICAgICAgIDxIdkxhYmVsXG4gICAgICAgICAgICAgIGlkPXtzZXRJZChlbGVtZW50SWQsIFwibGFiZWxcIil9XG4gICAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmxhYmVsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc0Rlc2NyaXB0aW9uICYmIChcbiAgICAgICAgICAgIDxIdkluZm9NZXNzYWdlXG4gICAgICAgICAgICAgIGlkPXtzZXRJZChlbGVtZW50SWQsIFwiZGVzY3JpcHRpb25cIil9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2Rlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPC9IdkluZm9NZXNzYWdlPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIDxIdkJhc2VEcm9wZG93blxuICAgICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgcm9vdDogY2xhc3Nlcy5kcm9wZG93bixcbiAgICAgICAgICBwYW5lbDogY2xhc3Nlcy5wYW5lbCxcbiAgICAgICAgICBoZWFkZXI6IGN4KHsgW2NsYXNzZXMuZHJvcGRvd25IZWFkZXJJbnZhbGlkXTogaXNTdGF0ZUludmFsaWQgfSksXG4gICAgICAgICAgaGVhZGVyT3BlbjogY2xhc3Nlcy5kcm9wZG93bkhlYWRlck9wZW4sXG4gICAgICAgIH19XG4gICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkaXNhYmxlUG9ydGFsPXtkaXNhYmxlUG9ydGFsfVxuICAgICAgICB2YXJpYWJsZVdpZHRoXG4gICAgICAgIHBsYWNlbWVudD17aG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgICAgZXhwYW5kZWQ9e2NhbGVuZGFyT3Blbn1cbiAgICAgICAgb25Ub2dnbGU9e2hhbmRsZVRvZ2dsZX1cbiAgICAgICAgb25DbGlja091dHNpZGU9e2hhbmRsZUNhbGVuZGFyQ2xvc2V9XG4gICAgICAgIG9uQ29udGFpbmVyQ3JlYXRpb249e2ZvY3VzT25Db250YWluZXJ9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtyZW5kZXJJbnB1dChnZXREYXRlTGFiZWwoZGF0ZVZhbHVlLCByYW5nZU1vZGUsIGxvY2FsZSkpfVxuICAgICAgICBhZG9ybm1lbnQ9e1xuICAgICAgICAgIDxDYWxlbmRhclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmljb259XG4gICAgICAgICAgICBjb2xvcj17ZGlzYWJsZWQgPyBcInNlY29uZGFyeV84MFwiIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgcG9wcGVyUHJvcHM9e3tcbiAgICAgICAgICBtb2RpZmllcnM6IFtcbiAgICAgICAgICAgIHsgbmFtZTogXCJwcmV2ZW50T3ZlcmZsb3dcIiwgZW5hYmxlZDogZXNjYXBlV2l0aFJlZmVyZW5jZSB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH19XG4gICAgICAgIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIlxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT17XG4gICAgICAgICAgW2xhYmVsICYmIHNldElkKGVsZW1lbnRJZCwgXCJsYWJlbFwiKSwgYXJpYUxhYmVsbGVkQnldXG4gICAgICAgICAgICAuam9pbihcIiBcIilcbiAgICAgICAgICAgIC50cmltKCkgfHwgdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgICAgYXJpYS1pbnZhbGlkPXtpc1N0YXRlSW52YWxpZCA/IHRydWUgOiB1bmRlZmluZWR9XG4gICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtlcnJvck1lc3NhZ2VJZH1cbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XG4gICAgICAgICAgW2Rlc2NyaXB0aW9uICYmIHNldElkKGVsZW1lbnRJZCwgXCJkZXNjcmlwdGlvblwiKSwgYXJpYURlc2NyaWJlZEJ5XVxuICAgICAgICAgICAgLmpvaW4oXCIgXCIpXG4gICAgICAgICAgICAudHJpbSgpIHx8IHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICAgIHsuLi5kcm9wZG93blByb3BzfVxuICAgICAgPlxuICAgICAgICA8ZGl2IHJlZj17Zm9jdXNUYXJnZXR9IHRhYkluZGV4PXstMX0gLz5cbiAgICAgICAgPEh2Q2FsZW5kYXJcbiAgICAgICAgICBpZD17c2V0SWQoaWQsIFwiY2FsZW5kYXJcIil9XG4gICAgICAgICAgc3RhcnRBZG9ybm1lbnQ9e3N0YXJ0QWRvcm5tZW50fVxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVEYXRlQ2hhbmdlfVxuICAgICAgICAgIG9uSW5wdXRDaGFuZ2U9e2hhbmRsZUlucHV0RGF0ZUNoYW5nZX1cbiAgICAgICAgICBvblZpc2libGVEYXRlQ2hhbmdlPXsoX2V2ZW50LCB0eXBlLCBtb250aCwgdGFyZ2V0KSA9PiB7XG4gICAgICAgICAgICBkaXNwYXRjaEFjdGlvbih7IHR5cGUsIHRhcmdldCwgbW9udGggfSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBsb2NhbGU9e2xvY2FsZX1cbiAgICAgICAgICB7Li4udmlzaWJsZURhdGV9XG4gICAgICAgICAgey4uLmNhbGVuZGFyUHJvcHN9XG4gICAgICAgICAgaW52YWxpZERhdGVMYWJlbD17bGFiZWxzPy5pbnZhbGlkRGF0ZUxhYmVsfVxuICAgICAgICAvPlxuICAgICAgICB7KHJhbmdlTW9kZSB8fCBzaG93QWN0aW9ucykgJiYgcmVuZGVyQWN0aW9ucygpfVxuICAgICAgPC9IdkJhc2VEcm9wZG93bj5cbiAgICAgIHtjYW5TaG93RXJyb3IgJiYgKFxuICAgICAgICA8SHZXYXJuaW5nVGV4dFxuICAgICAgICAgIGlkPXtzZXRJZChlbGVtZW50SWQsIFwiZXJyb3JcIil9XG4gICAgICAgICAgZGlzYWJsZUJvcmRlclxuICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5lcnJvcil9XG4gICAgICAgID5cbiAgICAgICAgICB7dmFsaWRhdGlvbk1lc3NhZ2V9XG4gICAgICAgIDwvSHZXYXJuaW5nVGV4dD5cbiAgICAgICl9XG4gICAgPC9IdkZvcm1FbGVtZW50PlxuICApO1xufTtcbiJdfQ== */");
|
|
239
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyZDZCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtcmVhY3QtaWNvbnNcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7XG4gIEh2Q2FsZW5kYXIsXG4gIEh2SW5mb01lc3NhZ2UsXG4gIEh2V2FybmluZ1RleHQsXG4gIEh2Q2FsZW5kYXJQcm9wcyxcbiAgSHZBY3Rpb25CYXIsXG4gIEh2QnV0dG9uLFxuICBIdkZvcm1FbGVtZW50LFxuICBIdlR5cG9ncmFwaHksXG4gIEh2QmFzZURyb3Bkb3duLFxuICBIdkxhYmVsLFxuICBIdkZvcm1TdGF0dXMsXG59IGZyb20gXCJAY29yZS9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyB1c2VDb250cm9sbGVkLCB1c2VMYWJlbHMsIHVzZVRoZW1lLCB1c2VVbmlxdWVJZCB9IGZyb20gXCJAY29yZS9ob29rc1wiO1xuaW1wb3J0IHsgSHZCYXNlUHJvcHMgfSBmcm9tIFwiQGNvcmUvdHlwZXNcIjtcbmltcG9ydCB7IEV4dHJhY3ROYW1lcywgc2V0SWQsIHVzZVNhdmVkU3RhdGUgfSBmcm9tIFwiQGNvcmUvdXRpbHNcIjtcbmltcG9ydCB7IGlzSW52YWxpZCB9IGZyb20gXCIuLi9Gb3Jtcy9Gb3JtRWxlbWVudC92YWxpZGF0aW9uU3RhdGVzXCI7XG5pbXBvcnQgeyBpc0RhdGUgfSBmcm9tIFwiLi4vQ2FsZW5kYXIvdXRpbHNcIjtcbmltcG9ydCB7IGdldERhdGVMYWJlbCB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgdXNlVmlzaWJsZURhdGUgZnJvbSBcIi4vdXNlVmlzaWJsZURhdGVcIjtcbmltcG9ydCB7IHN0YXRpY0NsYXNzZXMsIHVzZUNsYXNzZXMgfSBmcm9tIFwiLi9EYXRlUGlja2VyLnN0eWxlc1wiO1xuXG5leHBvcnQgeyBzdGF0aWNDbGFzc2VzIGFzIGRhdGVQaWNrZXJDbGFzc2VzIH07XG5cbmV4cG9ydCB0eXBlIEh2RGF0ZVBpY2tlckNsYXNzZXMgPSBFeHRyYWN0TmFtZXM8dHlwZW9mIHVzZUNsYXNzZXM+O1xuXG5jb25zdCBERUZBVUxUX0xBQkVMUyA9IHtcbiAgYXBwbHlMYWJlbDogXCJBcHBseVwiLFxuICBjYW5jZWxMYWJlbDogXCJDYW5jZWxcIixcbiAgY2xlYXJMYWJlbDogXCJDbGVhclwiLFxuICBpbnZhbGlkTGFiZWw6IFwiSW52YWxpZCBkYXRlXCIsXG59O1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIGBIdkZvcm1TdGF0dXNgIGluc3RlYWQgKi9cbmV4cG9ydCB0eXBlIEh2RGF0ZVBpY2tlclN0YXR1cyA9IEh2Rm9ybVN0YXR1cztcblxuZXhwb3J0IGludGVyZmFjZSBIdkRhdGVQaWNrZXJQcm9wc1xuICBleHRlbmRzIEh2QmFzZVByb3BzPEhUTUxEaXZFbGVtZW50LCBcIm9uQ2hhbmdlXCI+IHtcbiAgLyoqXG4gICAqIENsYXNzIG5hbWVzIHRvIGJlIGFwcGxpZWQuXG4gICAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIEpzcyBPYmplY3QgdXNlZCB0byBvdmVycmlkZSBvciBleHRlbmQgdGhlIGNvbXBvbmVudCBzdHlsZXMgYXBwbGllZC5cbiAgICovXG4gIGNsYXNzZXM/OiBIdkRhdGVQaWNrZXJDbGFzc2VzO1xuICAvKipcbiAgICogSWQgdG8gYmUgYXBwbGllZCB0byB0aGUgZm9ybSBlbGVtZW50IHJvb3Qgbm9kZS5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBlbGVtZW50IG5hbWUuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBmb3JtIGVsZW1lbnQuXG4gICAqXG4gICAqIFRoZSBmb3JtIGVsZW1lbnQgbXVzdCBiZSBsYWJlbGVkIGZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnMuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgYW4gYXJpYS1sYWJlbCBvciBhcmlhLWxhYmVsbGVkYnkgbXVzdCBiZSBwcm92aWRlZCBpbnN0ZWFkLlxuICAgKi9cbiAgbGFiZWw/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIFwiYXJpYS1sYWJlbGxlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm92aWRlIGFkZGl0aW9uYWwgZGVzY3JpcHRpdmUgdGV4dCBmb3IgdGhlIGZvcm0gZWxlbWVudC5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmb3JtIGVsZW1lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB1c2VyIGlucHV0IGlzIHJlcXVpcmVkIG9uIHRoZSBmb3JtIGVsZW1lbnQuXG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIGZvcm0gZWxlbWVudC5cbiAgICpcbiAgICogVmFsaWQgaXMgY29ycmVjdCwgaW52YWxpZCBpcyBpbmNvcnJlY3QgYW5kIHN0YW5kQnkgbWVhbnMgbm8gdmFsaWRhdGlvbnMgaGF2ZSBydW4uXG4gICAqXG4gICAqIFdoZW4gdW5jb250cm9sbGVkIGFuZCB1bnNwZWNpZmllZCBpdCB3aWxsIGRlZmF1bHQgdG8gXCJzdGFuZEJ5XCIgYW5kIGNoYW5nZSB0byBlaXRoZXIgXCJ2YWxpZFwiXG4gICAqIG9yIFwiaW52YWxpZFwiIGFmdGVyIGFueSBjaGFuZ2UgdG8gdGhlIHN0YXRlLlxuICAgKi9cbiAgc3RhdHVzPzogSHZGb3JtU3RhdHVzO1xuICAvKipcbiAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gc2hvdyB3aGVuIHRoZSB2YWxpZGF0aW9uIHN0YXR1cyBpcyBcImludmFsaWRcIi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gXCJSZXF1aXJlZFwiIHdoZW4gdGhlIHN0YXR1cyBpcyB1bmNvbnRyb2xsZWQgYW5kIG5vIGBhcmlhLWVycm9ybWVzc2FnZWAgaXMgcHJvdmlkZWQuXG4gICAqL1xuICBzdGF0dXNNZXNzYWdlPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCB0aGF0IHByb3ZpZGVzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBkYXRlIHBpY2tlci5cbiAgICpcbiAgICogV2lsbCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgdmFsaWRhdGlvbiBzdGF0dXMgaXMgaW52YWxpZC5cbiAgICovXG4gIFwiYXJpYS1lcnJvcm1lc3NhZ2VcIj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbGxiYWNrIGZpcmVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZT86IChkYXRlPzogRGF0ZSwgZW5kRGF0ZT86IERhdGUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgZmlyZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBjYW5jZWwuXG4gICAqL1xuICBvbkNhbmNlbD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgZmlyZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiBjbGVhci5cbiAgICovXG4gIG9uQ2xlYXI/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIHRoZSBsYWJlbHMgZm9yIHRoZSBkYXRlcGlja2VyLlxuICAgKi9cbiAgbGFiZWxzPzoge1xuICAgIC8qKlxuICAgICAqIEFwcGx5IGJ1dHRvbiBsYWJlbC5cbiAgICAgKi9cbiAgICBhcHBseUxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIENhbmNlbCBidXR0b24gbGFiZWwuXG4gICAgICovXG4gICAgY2FuY2VsTGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQ2xlYXIgYnV0dG9uIGxhYmVsLlxuICAgICAqL1xuICAgIGNsZWFyTGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSW52YWxpZCBEYXRlIGxhYmVsLlxuICAgICAqL1xuICAgIGludmFsaWREYXRlTGFiZWw/OiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBpbnB1dCB3aGVuIGluIHNpbmdsZSBjYWxlbmRhciBtb2RlLlxuICAgKi9cbiAgdmFsdWU/OiBEYXRlO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBzdGFydCBkYXRlIHdoZW4gaW4gcmFuZ2UgbW9kZS5cbiAgICovXG4gIHN0YXJ0VmFsdWU/OiBEYXRlO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBlbmQgZGF0ZSB3aGVuIGluIHJhbmdlIG1vZGUuXG4gICAqL1xuICBlbmRWYWx1ZT86IERhdGU7XG4gIC8qKlxuICAgKiBGbGFnIGluZm9ybWluZyBpZiB0aGUgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgaW4gcmFuZ2UgbW9kZSBvciBpbiBzaW5nbGUgbW9kZS5cbiAgICogVE9ETzogcmVtb3ZlIHRoaXMgaW4gZmF2b3VyIG9mIGRpc2NyaW1pbmF0ZWQgdW5pb25cbiAgICovXG4gIHJhbmdlTW9kZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcGxhY2VtZW50IHdoZXJlIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgcGxhY2VkIGFjY29yZGluZyB0byB0aGUgaW5wdXQuIE9wdGlvbnMgYXJlIGBsZWZ0YCBvciBgcmlnaHRgLlxuICAgKiBOb3RlIHRoaXMgcHJvcCBvbmx5IGFmZmVjdHMgdGhlIGNhbGVuZGFyIHdoZW4gaW4gYHJhbmdlTW9kZWAuXG4gICAqL1xuICBob3Jpem9udGFsUGxhY2VtZW50PzogXCJsZWZ0XCIgfCBcInJpZ2h0XCI7XG4gIC8qKlxuICAgKiBUaGUgY2FsZW5kYXIgbG9jYWxlLiBJZiB1bmRlZmluZWQsIGl0IHVzZXMgY2FsZW5kYXIgZGVmYXVsdFxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb250cm9scyBpZiBhY3Rpb25zIGJ1dHRvbnMgYXJlIHZpc2libGUgYXQgdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgc2hvd0FjdGlvbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29udHJvbHMgaWYgY2xlYXIgYnV0dG9uIGlzIHZpc2libGUgYXQgdGhlIGNhbGVuZGFyLFxuICAgKiBvbmx5IHdvcmtzIGlmIHNob3dpbmcgYWN0aW9ucyBvciBpbiByYW5nZSBtb2RlLlxuICAgKi9cbiAgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIHBvcnRhbCBiZWhhdmlvci4gVGhlIGNoaWxkcmVuIHN0YXkgd2l0aGluIGl0J3MgcGFyZW50IERPTSBoaWVyYXJjaHkuXG4gICAqL1xuICBkaXNhYmxlUG9ydGFsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNldHMgaWYgdGhlIGNhbGVuZGFyIGNvbnRhaW5lciBzaG91bGQgZm9sbG93IHRoZSBkYXRlIHBpY2tlciBpbnB1dCBvdXQgb2YgdGhlIHNjcmVlbiBvciBzdGF5IHZpc2libGUuXG4gICAqL1xuICBlc2NhcGVXaXRoUmVmZXJlbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFuIGVsZW1lbnQgcGxhY2VkIGJlZm9yZSB0aGUgQ2FsZW5kYXJcbiAgICovXG4gIHN0YXJ0QWRvcm5tZW50PzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcHMgdG8gYmUgcGFzc2VkIG9udG8gdGhlIGJhc2VEcm9wZG93bi5cbiAgICovXG4gIGRyb3Bkb3duUHJvcHM/OiBPYmplY3Q7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAgdGhlIERhdGVQaWNrZXIgd2lsbCBiZSBpbiByZWFkIG9ubHkgbW9kZSwgdW5hYmxlIHRvIGJlIGludGVyYWN0ZWQuXG4gICAqL1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHByb3BzIHBhc3NlZCB0byB0aGUgSHZDYWxlbmRhciBjb21wb25lbnQuXG4gICAqL1xuICBjYWxlbmRhclByb3BzPzogUGFydGlhbDxIdkNhbGVuZGFyUHJvcHM+O1xufVxuXG4vKipcbiAqIEEgZGF0ZSBwaWNrZXIsIHBvcHVwIGNhbGVuZGFyIG9yIGRhdGUgcmFuZ2UgcGlja2VyIGlzIGEgZ3JhcGhpY2FsIHVzZXJcbiAqIGludGVyZmFjZSB3aWRnZXQgd2hpY2ggYWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCBhIGRhdGUgZnJvbSBhIGNhbGVuZGFyLlxuICovXG5leHBvcnQgY29uc3QgSHZEYXRlUGlja2VyID0gKHtcbiAgY2xhc3NlczogY2xhc3Nlc1Byb3AsXG4gIGNsYXNzTmFtZSxcblxuICBpZCxcbiAgbmFtZSxcblxuICByZXF1aXJlZCA9IGZhbHNlLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxuICByZWFkT25seSxcblxuICBsYWJlbCxcbiAgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCxcbiAgXCJhcmlhLWxhYmVsbGVkYnlcIjogYXJpYUxhYmVsbGVkQnksXG4gIGRlc2NyaXB0aW9uLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuXG4gIG9uQ2hhbmdlLFxuICBvbkNhbmNlbCxcbiAgb25DbGVhcixcbiAgc3RhdHVzLFxuICBzdGF0dXNNZXNzYWdlLFxuICBcImFyaWEtZXJyb3JtZXNzYWdlXCI6IGFyaWFFcnJvck1lc3NhZ2UsXG5cbiAgcGxhY2Vob2xkZXIsXG5cbiAgbGFiZWxzOiBsYWJlbHNQcm9wLFxuXG4gIHZhbHVlLFxuICBzdGFydFZhbHVlLFxuICBlbmRWYWx1ZSxcblxuICByYW5nZU1vZGUgPSBmYWxzZSxcbiAgc3RhcnRBZG9ybm1lbnQsXG4gIGhvcml6b250YWxQbGFjZW1lbnQgPSBcInJpZ2h0XCIsXG4gIGxvY2FsZTogbG9jYWxlUHJvcCxcbiAgc2hvd0FjdGlvbnMgPSBmYWxzZSxcbiAgc2hvd0NsZWFyID0gZmFsc2UsXG4gIGRpc2FibGVQb3J0YWwgPSB0cnVlLFxuICBlc2NhcGVXaXRoUmVmZXJlbmNlID0gdHJ1ZSxcbiAgZHJvcGRvd25Qcm9wcyxcbiAgY2FsZW5kYXJQcm9wcyxcbiAgLi4ub3RoZXJzXG59OiBIdkRhdGVQaWNrZXJQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzZXMsIGN4IH0gPSB1c2VDbGFzc2VzKGNsYXNzZXNQcm9wKTtcbiAgY29uc3QgbGFiZWxzID0gdXNlTGFiZWxzKERFRkFVTFRfTEFCRUxTLCBsYWJlbHNQcm9wKTtcblxuICBjb25zdCBlbGVtZW50SWQgPSB1c2VVbmlxdWVJZChpZCwgXCJodmRhdGVwaWNrZXJcIik7XG5cbiAgY29uc3QgW3ZhbGlkYXRpb25TdGF0ZSwgc2V0VmFsaWRhdGlvblN0YXRlXSA9IHVzZUNvbnRyb2xsZWQoXG4gICAgc3RhdHVzLFxuICAgIFwic3RhbmRCeVwiXG4gICk7XG5cbiAgY29uc3QgW3ZhbGlkYXRpb25NZXNzYWdlXSA9IHVzZUNvbnRyb2xsZWQoc3RhdHVzTWVzc2FnZSwgXCJSZXF1aXJlZFwiKTtcblxuICBjb25zdCBsb2NhbGUgPSBsb2NhbGVQcm9wIHx8IFwiZW4tVVNcIjtcblxuICBjb25zdCBbY2FsZW5kYXJPcGVuLCBzZXRDYWxlbmRhck9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IFtzdGFydERhdGUsIHNldFN0YXJ0RGF0ZSwgcm9sbGJhY2tTdGFydERhdGVdID0gdXNlU2F2ZWRTdGF0ZShcbiAgICByYW5nZU1vZGUgPyBzdGFydFZhbHVlIDogdmFsdWVcbiAgKTtcbiAgY29uc3QgW2VuZERhdGUsIHNldEVuZERhdGUsIHJvbGxiYWNrRW5kRGF0ZV0gPSB1c2VTYXZlZFN0YXRlKGVuZFZhbHVlKTtcblxuICBjb25zdCBbdmlzaWJsZURhdGUsIGRpc3BhdGNoQWN0aW9uXSA9IHVzZVZpc2libGVEYXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG5cbiAgY29uc3QgZm9jdXNUYXJnZXQgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IHsgYWN0aXZlVGhlbWUgfSA9IHVzZVRoZW1lKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTdGFydERhdGUocmFuZ2VNb2RlID8gc3RhcnRWYWx1ZSA6IHZhbHVlLCB0cnVlKTtcbiAgICBzZXRFbmREYXRlKGVuZFZhbHVlLCB0cnVlKTtcbiAgfSwgW3ZhbHVlLCBzdGFydFZhbHVlLCBlbmRWYWx1ZSwgcmFuZ2VNb2RlLCBzZXRTdGFydERhdGUsIHNldEVuZERhdGVdKTtcblxuICBjb25zdCBlbmREYXRlSXNTZXQgPSB1c2VSZWYoZmFsc2UpO1xuICBlbmREYXRlSXNTZXQuY3VycmVudCA9IGVuZERhdGUgIT0gbnVsbDtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzdGFydERhdGUgIT0gbnVsbCkge1xuICAgICAgZGlzcGF0Y2hBY3Rpb24oe1xuICAgICAgICB0eXBlOiBcIm1vbnRoX3llYXJcIixcbiAgICAgICAgdGFyZ2V0OiBlbmREYXRlSXNTZXQuY3VycmVudCA/IFwibGVmdFwiIDogXCJiZXN0XCIsXG4gICAgICAgIHllYXI6IHN0YXJ0RGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBtb250aDogc3RhcnREYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZGlzcGF0Y2hBY3Rpb24sIHN0YXJ0RGF0ZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGVuZERhdGUgIT0gbnVsbCkge1xuICAgICAgZGlzcGF0Y2hBY3Rpb24oe1xuICAgICAgICB0eXBlOiBcIm1vbnRoX3llYXJcIixcbiAgICAgICAgdGFyZ2V0OiBcInJpZ2h0XCIsXG4gICAgICAgIHllYXI6IGVuZERhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgbW9udGg6IGVuZERhdGUuZ2V0TW9udGgoKSArIDEsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtkaXNwYXRjaEFjdGlvbiwgZW5kRGF0ZV0pO1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBgQXBwbHlgIGFjdGlvbi4gQm90aCBzaW5nbGUgYW5kIHJhbmdlZCBtb2RlcyBhcmUgaGFuZGxlZCBoZXJlLlxuICAgKi9cbiAgY29uc3QgaGFuZGxlQXBwbHkgPSAoKSA9PiB7XG4gICAgc2V0U3RhcnREYXRlKHN0YXJ0RGF0ZSwgdHJ1ZSk7XG4gICAgc2V0RW5kRGF0ZShlbmREYXRlID8/IHN0YXJ0RGF0ZSwgdHJ1ZSk7XG5cbiAgICBvbkNoYW5nZT8uKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG5cbiAgICBzZXRWYWxpZGF0aW9uU3RhdGUoKCkgPT4ge1xuICAgICAgLy8gdGhpcyB3aWxsIG9ubHkgcnVuIGlmIHN0YXR1cyBpcyB1bmNvbnRyb2xsZWRcbiAgICAgIGlmIChyZXF1aXJlZCAmJiAoIWlzRGF0ZShzdGFydERhdGUpIHx8IChyYW5nZU1vZGUgJiYgIWlzRGF0ZShlbmREYXRlKSkpKSB7XG4gICAgICAgIHJldHVybiBcImludmFsaWRcIjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFwidmFsaWRcIjtcbiAgICB9KTtcblxuICAgIHNldENhbGVuZGFyT3BlbihmYWxzZSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGBDYW5jZWxgIGFjdGlvbi4gQm90aCBzaW5nbGUgYW5kIHJhbmdlZCBtb2RlcyBhcmUgaGFuZGxlZCBoZXJlLlxuICAgKi9cbiAgY29uc3QgaGFuZGxlQ2FuY2VsID0gKCkgPT4ge1xuICAgIHJvbGxiYWNrU3RhcnREYXRlKCk7XG4gICAgcm9sbGJhY2tFbmREYXRlKCk7XG5cbiAgICBvbkNhbmNlbD8uKCk7XG5cbiAgICBzZXRDYWxlbmRhck9wZW4oZmFsc2UpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBgQ2FuY2VsYCBhY3Rpb24uIEJvdGggc2luZ2xlIGFuZCByYW5nZWQgbW9kZXMgYXJlIGhhbmRsZWQgaGVyZS5cbiAgICovXG4gIGNvbnN0IGhhbmRsZUNsZWFyID0gKCkgPT4ge1xuICAgIHNldFN0YXJ0RGF0ZSh1bmRlZmluZWQsIGZhbHNlKTtcbiAgICBzZXRFbmREYXRlKHVuZGVmaW5lZCwgZmFsc2UpO1xuICAgIG9uQ2xlYXI/LigpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNhbGVuZGFyQ2xvc2UgPSAoKSA9PiB7XG4gICAgY29uc3Qgc2hvdWxkU2F2ZSA9ICEocmFuZ2VNb2RlIHx8IHNob3dBY3Rpb25zKTtcbiAgICBpZiAoc2hvdWxkU2F2ZSkge1xuICAgICAgaGFuZGxlQXBwbHkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlQ2FuY2VsKCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZSA9IChldnQsIG9wZW4pID0+IHtcbiAgICAvKiBcbiAgICAgSWYgZXZ0IGlzIG51bGwgdGhpcyB0b2dnbGUgd2Fzbid0IHRyaWdnZXJlZCBieSB0aGUgdXNlci5cbiAgICAgaW5zdGVhZCBpdCB3YXMgdHJpZ2dlcmVkIGJ5IHRoZSBiYXNlRHJvcGRvd24gdXNlRWZmZWN0IGFmdGVyXG4gICAgIHRoZSBkYXRlcGlja2VyIGNoYW5nZWQgdGhlIGV4cGFuZGVkIHZhbHVlIHRoaXMgYmFzZURyb3Bkb3duIGJlaGF2aW9yIG5lZWRzIGEgcmV2aWV3XG4gICAgKi9cbiAgICBpZiAoZXZ0ID09PSBudWxsKSByZXR1cm47XG4gICAgc2V0Q2FsZW5kYXJPcGVuKG9wZW4pO1xuICAgIGlmICghb3BlbikgaGFuZGxlQ2FsZW5kYXJDbG9zZSgpO1xuICB9O1xuXG4gIGNvbnN0IGZvY3VzT25Db250YWluZXIgPSAoKSA9PiB7XG4gICAgZm9jdXNUYXJnZXQuY3VycmVudD8uZm9jdXMoKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEYXRlQ2hhbmdlID0gKGV2ZW50LCBuZXdEYXRlKSA9PiB7XG4gICAgaWYgKCFpc0RhdGUobmV3RGF0ZSkpIHJldHVybjtcblxuICAgIGNvbnN0IGF1dG9TYXZlID0gIXNob3dBY3Rpb25zICYmICFyYW5nZU1vZGU7XG5cbiAgICBpZiAocmFuZ2VNb2RlKSB7XG4gICAgICBpZiAoIXN0YXJ0RGF0ZSB8fCAoc3RhcnREYXRlICYmIGVuZERhdGUpIHx8IG5ld0RhdGUgPCBzdGFydERhdGUpIHtcbiAgICAgICAgc2V0U3RhcnREYXRlKG5ld0RhdGUpO1xuICAgICAgICBzZXRFbmREYXRlKHVuZGVmaW5lZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRFbmREYXRlKG5ld0RhdGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRTdGFydERhdGUobmV3RGF0ZSwgYXV0b1NhdmUpO1xuICAgIH1cblxuICAgIGlmIChhdXRvU2F2ZSkge1xuICAgICAgb25DaGFuZ2U/LihuZXdEYXRlKTtcblxuICAgICAgc2V0VmFsaWRhdGlvblN0YXRlKCgpID0+IHtcbiAgICAgICAgLy8gdGhpcyB3aWxsIG9ubHkgcnVuIGlmIHN0YXR1cyBpcyB1bmNvbnRyb2xsZWRcbiAgICAgICAgaWYgKHJlcXVpcmVkICYmICFpc0RhdGUobmV3RGF0ZSkpIHtcbiAgICAgICAgICByZXR1cm4gXCJpbnZhbGlkXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gXCJ2YWxpZFwiO1xuICAgICAgfSk7XG5cbiAgICAgIHNldENhbGVuZGFyT3BlbihmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUlucHV0RGF0ZUNoYW5nZSA9IChldmVudCwgbmV3RGF0ZSwgcG9zaXRpb24pID0+IHtcbiAgICBpZiAoIWlzRGF0ZShuZXdEYXRlKSkgcmV0dXJuO1xuXG4gICAgaWYgKCFyYW5nZU1vZGUpIHtcbiAgICAgIGhhbmRsZURhdGVDaGFuZ2UoZXZlbnQsIG5ld0RhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwb3NpdGlvbiA9PT0gXCJsZWZ0XCIpIHtcbiAgICAgIGlmIChlbmREYXRlKSBzZXRTdGFydERhdGUobmV3RGF0ZSA+IGVuZERhdGUgPyBlbmREYXRlIDogbmV3RGF0ZSk7XG4gICAgfSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gXCJyaWdodFwiKSB7XG4gICAgICBpZiAoIXN0YXJ0RGF0ZSkge1xuICAgICAgICBpZiAoZW5kRGF0ZSkgc2V0U3RhcnREYXRlKG5ld0RhdGUgPiBlbmREYXRlID8gZW5kRGF0ZSA6IG5ld0RhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzZXRFbmREYXRlKG5ld0RhdGUgPCBzdGFydERhdGUgPyBzdGFydERhdGUgOiBuZXdEYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIGNvbnRhaW5lciBmb3IgdGhlIGFjdGlvbiBlbGVtZW50cy5cbiAgICovXG4gIGNvbnN0IHJlbmRlckFjdGlvbnMgPSAoKSA9PiAoXG4gICAgPEh2QWN0aW9uQmFyIGNsYXNzTmFtZT17Y3goeyBbY2xhc3Nlcy5hY3Rpb25Db250YWluZXJdOiBzaG93Q2xlYXIgfSl9PlxuICAgICAge3Nob3dDbGVhciAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmxlZnRDb250YWluZXJ9PlxuICAgICAgICAgIDxIdkJ1dHRvblxuICAgICAgICAgICAgaWQ9e3NldElkKGlkLCBcImFjdGlvblwiLCBcImNsZWFyXCIpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmFjdGlvbn1cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5R2hvc3RcIlxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2xhYmVscz8uY2xlYXJMYWJlbH1cbiAgICAgICAgICA8L0h2QnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yaWdodENvbnRhaW5lcn0+XG4gICAgICAgIDxIdkJ1dHRvblxuICAgICAgICAgIGlkPXtzZXRJZChpZCwgXCJhY3Rpb25cIiwgXCJhcHBseVwiKX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYWN0aW9ufVxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5R2hvc3RcIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUFwcGx5fVxuICAgICAgICA+XG4gICAgICAgICAge2xhYmVscz8uYXBwbHlMYWJlbH1cbiAgICAgICAgPC9IdkJ1dHRvbj5cbiAgICAgICAgPEh2QnV0dG9uXG4gICAgICAgICAgaWQ9e3NldElkKGlkLCBcImFjdGlvblwiLCBcImNhbmNlbFwiKX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYWN0aW9ufVxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5R2hvc3RcIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNhbmNlbH1cbiAgICAgICAgPlxuICAgICAgICAgIHtsYWJlbHM/LmNhbmNlbExhYmVsfVxuICAgICAgICA8L0h2QnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9IdkFjdGlvbkJhcj5cbiAgKTtcblxuICBjb25zdCBzdHlsZWRUeXBvZ3JhcGh5ID0gKGRhdGVTdHJpbmcsIHZhcmlhbnQsIHRleHQpID0+IHtcbiAgICBjb25zdCBTdHlsZWRUeXBvZ3JhcGh5ID0gc3R5bGVkKEh2VHlwb2dyYXBoeSkoe1xuICAgICAgY29sb3I6IGRhdGVTdHJpbmdcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5XG4gICAgICAgIDogdGhlbWUuZGF0ZVBpY2tlci5kcm9wZG93blBsYWNlaG9sZGVyQ29sb3IsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gPFN0eWxlZFR5cG9ncmFwaHkgdmFyaWFudD17dmFyaWFudH0+e3RleHR9PC9TdHlsZWRUeXBvZ3JhcGh5PjtcbiAgfTtcblxuICBjb25zdCByZW5kZXJJbnB1dCA9IChkYXRlU3RyaW5nKSA9PlxuICAgIHN0eWxlZFR5cG9ncmFwaHkoXG4gICAgICBkYXRlU3RyaW5nLFxuICAgICAgYWN0aXZlVGhlbWU/LmRhdGVQaWNrZXIucGxhY2Vob2xkZXJWYXJpYW50LFxuICAgICAgKGRhdGVTdHJpbmcgfHwgcGxhY2Vob2xkZXIpID09PSB1bmRlZmluZWQgPyBcIlwiIDogZGF0ZVN0cmluZyB8fCBwbGFjZWhvbGRlclxuICAgICk7XG5cbiAgY29uc3QgZGF0ZVZhbHVlID0gcmFuZ2VNb2RlID8geyBzdGFydERhdGUsIGVuZERhdGUgfSA6IHN0YXJ0RGF0ZTtcblxuICBjb25zdCBoYXNMYWJlbCA9IGxhYmVsICE9IG51bGw7XG4gIGNvbnN0IGhhc0Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24gIT0gbnVsbDtcblxuICAvLyB0aGUgZXJyb3IgbWVzc2FnZSBhcmVhIHdpbGwgb25seSBiZSBjcmVhdGVkIGlmOlxuICAvLyAtIGFuIGV4dGVybmFsIGVsZW1lbnQgdGhhdCBwcm92aWRlcyBhbiBlcnJvciBtZXNzYWdlIGlzbid0IGlkZW50aWZpZWQgdmlhIGFyaWEtZXJyb3JtZXNzYWdlIEFORFxuICAvLyAgIC0gYm90aCBzdGF0dXMgYW5kIHN0YXR1c01lc3NhZ2UgcHJvcGVydGllcyBhcmUgYmVpbmcgY29udHJvbGxlZCBPUlxuICAvLyAgIC0gc3RhdHVzIGlzIHVuY29udHJvbGxlZCBhbmQgcmVxdWlyZWQgaXMgdHJ1ZVxuICBjb25zdCBjYW5TaG93RXJyb3IgPVxuICAgIGFyaWFFcnJvck1lc3NhZ2UgPT0gbnVsbCAmJlxuICAgICgoc3RhdHVzICE9PSB1bmRlZmluZWQgJiYgc3RhdHVzTWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB8fFxuICAgICAgKHN0YXR1cyA9PT0gdW5kZWZpbmVkICYmIHJlcXVpcmVkKSk7XG5cbiAgY29uc3QgaXNTdGF0ZUludmFsaWQgPSBpc0ludmFsaWQodmFsaWRhdGlvblN0YXRlKTtcblxuICBsZXQgZXJyb3JNZXNzYWdlSWQ7XG4gIGlmIChpc1N0YXRlSW52YWxpZCkge1xuICAgIGVycm9yTWVzc2FnZUlkID0gY2FuU2hvd0Vycm9yXG4gICAgICA/IHNldElkKGVsZW1lbnRJZCwgXCJlcnJvclwiKVxuICAgICAgOiBhcmlhRXJyb3JNZXNzYWdlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8SHZGb3JtRWxlbWVudFxuICAgICAgaWQ9e2lkfVxuICAgICAgbmFtZT17bmFtZX1cbiAgICAgIHZhbHVlPXtkYXRlVmFsdWV9XG4gICAgICBzdGF0dXM9e3ZhbGlkYXRpb25TdGF0ZX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3NOYW1lLCBjbGFzc2VzLnJvb3QpfVxuICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgey4uLm90aGVyc31cbiAgICA+XG4gICAgICB7KGhhc0xhYmVsIHx8IGhhc0Rlc2NyaXB0aW9uKSAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmxhYmVsQ29udGFpbmVyfT5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPEh2TGFiZWxcbiAgICAgICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJsYWJlbFwiKX1cbiAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubGFiZWx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzRGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgICAgPEh2SW5mb01lc3NhZ2VcbiAgICAgICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJkZXNjcmlwdGlvblwiKX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgICA8L0h2SW5mb01lc3NhZ2U+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgPEh2QmFzZURyb3Bkb3duXG4gICAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICByb290OiBjbGFzc2VzLmRyb3Bkb3duLFxuICAgICAgICAgIHBhbmVsOiBjbGFzc2VzLnBhbmVsLFxuICAgICAgICAgIGhlYWRlcjogY3goeyBbY2xhc3Nlcy5kcm9wZG93bkhlYWRlckludmFsaWRdOiBpc1N0YXRlSW52YWxpZCB9KSxcbiAgICAgICAgICBoZWFkZXJPcGVuOiBjbGFzc2VzLmRyb3Bkb3duSGVhZGVyT3BlbixcbiAgICAgICAgfX1cbiAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGRpc2FibGVQb3J0YWw9e2Rpc2FibGVQb3J0YWx9XG4gICAgICAgIHZhcmlhYmxlV2lkdGhcbiAgICAgICAgcGxhY2VtZW50PXtob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICBleHBhbmRlZD17Y2FsZW5kYXJPcGVufVxuICAgICAgICBvblRvZ2dsZT17aGFuZGxlVG9nZ2xlfVxuICAgICAgICBvbkNsaWNrT3V0c2lkZT17aGFuZGxlQ2FsZW5kYXJDbG9zZX1cbiAgICAgICAgb25Db250YWluZXJDcmVhdGlvbj17Zm9jdXNPbkNvbnRhaW5lcn1cbiAgICAgICAgcGxhY2Vob2xkZXI9e3JlbmRlcklucHV0KGdldERhdGVMYWJlbChkYXRlVmFsdWUsIHJhbmdlTW9kZSwgbG9jYWxlKSl9XG4gICAgICAgIGFkb3JubWVudD17XG4gICAgICAgICAgPENhbGVuZGFyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuaWNvbn1cbiAgICAgICAgICAgIGNvbG9yPXtkaXNhYmxlZCA/IFwic2Vjb25kYXJ5XzgwXCIgOiB1bmRlZmluZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBwb3BwZXJQcm9wcz17e1xuICAgICAgICAgIG1vZGlmaWVyczogW1xuICAgICAgICAgICAgeyBuYW1lOiBcInByZXZlbnRPdmVyZmxvd1wiLCBlbmFibGVkOiBlc2NhcGVXaXRoUmVmZXJlbmNlIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfX1cbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtcbiAgICAgICAgICBbbGFiZWwgJiYgc2V0SWQoZWxlbWVudElkLCBcImxhYmVsXCIpLCBhcmlhTGFiZWxsZWRCeV1cbiAgICAgICAgICAgIC5qb2luKFwiIFwiKVxuICAgICAgICAgICAgLnRyaW0oKSB8fCB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgICBhcmlhLWludmFsaWQ9e2lzU3RhdGVJbnZhbGlkID8gdHJ1ZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e2Vycm9yTWVzc2FnZUlkfVxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICBbZGVzY3JpcHRpb24gJiYgc2V0SWQoZWxlbWVudElkLCBcImRlc2NyaXB0aW9uXCIpLCBhcmlhRGVzY3JpYmVkQnldXG4gICAgICAgICAgICAuam9pbihcIiBcIilcbiAgICAgICAgICAgIC50cmltKCkgfHwgdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgICAgey4uLmRyb3Bkb3duUHJvcHN9XG4gICAgICA+XG4gICAgICAgIDxkaXYgcmVmPXtmb2N1c1RhcmdldH0gdGFiSW5kZXg9ey0xfSAvPlxuICAgICAgICA8SHZDYWxlbmRhclxuICAgICAgICAgIGlkPXtzZXRJZChpZCwgXCJjYWxlbmRhclwiKX1cbiAgICAgICAgICBzdGFydEFkb3JubWVudD17c3RhcnRBZG9ybm1lbnR9XG4gICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZURhdGVDaGFuZ2V9XG4gICAgICAgICAgb25JbnB1dENoYW5nZT17aGFuZGxlSW5wdXREYXRlQ2hhbmdlfVxuICAgICAgICAgIG9uVmlzaWJsZURhdGVDaGFuZ2U9eyhfZXZlbnQsIHR5cGUsIG1vbnRoLCB0YXJnZXQpID0+IHtcbiAgICAgICAgICAgIGRpc3BhdGNoQWN0aW9uKHsgdHlwZSwgdGFyZ2V0LCBtb250aCB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgIHsuLi52aXNpYmxlRGF0ZX1cbiAgICAgICAgICB7Li4uY2FsZW5kYXJQcm9wc31cbiAgICAgICAgICBpbnZhbGlkRGF0ZUxhYmVsPXtsYWJlbHM/LmludmFsaWREYXRlTGFiZWx9XG4gICAgICAgIC8+XG4gICAgICAgIHsocmFuZ2VNb2RlIHx8IHNob3dBY3Rpb25zKSAmJiByZW5kZXJBY3Rpb25zKCl9XG4gICAgICA8L0h2QmFzZURyb3Bkb3duPlxuICAgICAge2NhblNob3dFcnJvciAmJiAoXG4gICAgICAgIDxIdldhcm5pbmdUZXh0XG4gICAgICAgICAgaWQ9e3NldElkKGVsZW1lbnRJZCwgXCJlcnJvclwiKX1cbiAgICAgICAgICBkaXNhYmxlQm9yZGVyXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmVycm9yKX1cbiAgICAgICAgPlxuICAgICAgICAgIHt2YWxpZGF0aW9uTWVzc2FnZX1cbiAgICAgICAgPC9Idldhcm5pbmdUZXh0PlxuICAgICAgKX1cbiAgICA8L0h2Rm9ybUVsZW1lbnQ+XG4gICk7XG59O1xuIl19 */");
|
|
240
240
|
return /* @__PURE__ */ jsxRuntime.jsx(StyledTypography, {
|
|
241
241
|
variant,
|
|
242
242
|
children: text
|