@zydon/common 2.2.43 → 2.2.44
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/components/ActionButton/index.js +32 -4
- package/dist/components/ActionButton/index.js.map +1 -0
- package/dist/components/Autocomplete/index.js +137 -7
- package/dist/components/Autocomplete/index.js.map +1 -0
- package/dist/components/AutocompleteDetailed/index.js +134 -8
- package/dist/components/AutocompleteDetailed/index.js.map +1 -0
- package/dist/components/BuilderLayout/index.js +23 -4
- package/dist/components/BuilderLayout/index.js.map +1 -0
- package/dist/components/BuilderSidebar/index.js +17 -4
- package/dist/components/BuilderSidebar/index.js.map +1 -0
- package/dist/components/ColorPickerInput/index.js +98 -8
- package/dist/components/ColorPickerInput/index.js.map +1 -0
- package/dist/components/ColoredLabel/index.js +40 -3
- package/dist/components/ColoredLabel/index.js.map +1 -0
- package/dist/components/Common/index.js +27 -4
- package/dist/components/Common/index.js.map +1 -0
- package/dist/components/Confirm/index.js +49 -8
- package/dist/components/Confirm/index.js.map +1 -0
- package/dist/components/CustomAvatar/index.js +58 -4
- package/dist/components/CustomAvatar/index.js.map +1 -0
- package/dist/components/CustomAvatarGroup/index.js +73 -3
- package/dist/components/CustomAvatarGroup/index.js.map +1 -0
- package/dist/components/DashedDivider/index.js +7 -2
- package/dist/components/DashedDivider/index.js.map +1 -0
- package/dist/components/DataCards/index.js +54 -8
- package/dist/components/DataCards/index.js.map +1 -0
- package/dist/components/DataGrid/index.js +74 -6
- package/dist/components/DataGrid/index.js.map +1 -0
- package/dist/components/DatePicker/index.js +40 -4
- package/dist/components/DatePicker/index.js.map +1 -0
- package/dist/components/DateRangePicker/index.js +48 -4
- package/dist/components/DateRangePicker/index.js.map +1 -0
- package/dist/components/DateTimePicker/index.js +38 -4
- package/dist/components/DateTimePicker/index.js.map +1 -0
- package/dist/components/Delayed/index.js +15 -2
- package/dist/components/Delayed/index.js.map +1 -0
- package/dist/components/Drawer/index.js +36 -7
- package/dist/components/Drawer/index.js.map +1 -0
- package/dist/components/EmptyContent/index.js +77 -6
- package/dist/components/EmptyContent/index.js.map +1 -0
- package/dist/components/EmptyView/index.js +32 -5
- package/dist/components/EmptyView/index.js.map +1 -0
- package/dist/components/Error/index.js +44 -7
- package/dist/components/Error/index.js.map +1 -0
- package/dist/components/ExpandableGroup/index.js +30 -7
- package/dist/components/ExpandableGroup/index.js.map +1 -0
- package/dist/components/FixedProgressBar/index.js +20 -3
- package/dist/components/FixedProgressBar/index.js.map +1 -0
- package/dist/components/FrameSkeleton/index.js +95 -9
- package/dist/components/FrameSkeleton/index.js.map +1 -0
- package/dist/components/HelpButton/index.js +20 -4
- package/dist/components/HelpButton/index.js.map +1 -0
- package/dist/components/Icon/index.js +399 -53
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/ImageCrop/index.js +48 -3
- package/dist/components/ImageCrop/index.js.map +1 -0
- package/dist/components/ImageCropModal/index.js +127 -10
- package/dist/components/ImageCropModal/index.js.map +1 -0
- package/dist/components/Incrementer/index.js +153 -6
- package/dist/components/Incrementer/index.js.map +1 -0
- package/dist/components/Label/index.js +68 -3
- package/dist/components/Label/index.js.map +1 -0
- package/dist/components/LoadingScreen/index.js +8 -3
- package/dist/components/LoadingScreen/index.js.map +1 -0
- package/dist/components/MaskedInput/index.js +51 -3
- package/dist/components/MaskedInput/index.js.map +1 -0
- package/dist/components/MenuItem/index.js +21 -6
- package/dist/components/MenuItem/index.js.map +1 -0
- package/dist/components/MenuPopover/index.js +45 -4
- package/dist/components/MenuPopover/index.js.map +1 -0
- package/dist/components/Modal/index.js +30 -7
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/ModalActions/index.js +9 -3
- package/dist/components/ModalActions/index.js.map +1 -0
- package/dist/components/MoreMenu/index.js +16 -7
- package/dist/components/MoreMenu/index.js.map +1 -0
- package/dist/components/NumberInput/index.js +103 -3
- package/dist/components/NumberInput/index.js.map +1 -0
- package/dist/components/PasswordRules/index.js +74 -4
- package/dist/components/PasswordRules/index.js.map +1 -0
- package/dist/components/PopoverSelect/index.js +43 -5
- package/dist/components/PopoverSelect/index.js.map +1 -0
- package/dist/components/Portal/index.js +25 -2
- package/dist/components/Portal/index.js.map +1 -0
- package/dist/components/Result/index.js +26 -2
- package/dist/components/Result/index.js.map +1 -0
- package/dist/components/SavedChanges/index.js +39 -3
- package/dist/components/SavedChanges/index.js.map +1 -0
- package/dist/components/Scrollbar/index.js +41 -4
- package/dist/components/Scrollbar/index.js.map +1 -0
- package/dist/components/SearchInput/index.js +70 -6
- package/dist/components/SearchInput/index.js.map +1 -0
- package/dist/components/SelectableCards/index.js +140 -12
- package/dist/components/SelectableCards/index.js.map +1 -0
- package/dist/components/SeoPreview/index.js +157 -7
- package/dist/components/SeoPreview/index.js.map +1 -0
- package/dist/components/SplashScreen/index.js +103 -3
- package/dist/components/SplashScreen/index.js.map +1 -0
- package/dist/components/Steps/index.js +68 -8
- package/dist/components/Steps/index.js.map +1 -0
- package/dist/components/StyledTab/index.js +87 -5
- package/dist/components/StyledTab/index.js.map +1 -0
- package/dist/components/StyledTabs/index.js +24 -3
- package/dist/components/StyledTabs/index.js.map +1 -0
- package/dist/components/Summary/index.js +12 -2
- package/dist/components/Summary/index.js.map +1 -0
- package/dist/components/SwapList/index.js +244 -12
- package/dist/components/SwapList/index.js.map +1 -0
- package/dist/components/TabPanel/index.js +32 -3
- package/dist/components/TabPanel/index.js.map +1 -0
- package/dist/components/TextMaxLine/index.js +46 -5
- package/dist/components/TextMaxLine/index.js.map +1 -0
- package/dist/components/TimePicker/index.js +40 -4
- package/dist/components/TimePicker/index.js.map +1 -0
- package/dist/components/ToggleButtonGroup/index.js +7 -2
- package/dist/components/ToggleButtonGroup/index.js.map +1 -0
- package/dist/components/Tooltip/index.js +6 -3
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/components/WhiteBox/index.js +5 -2
- package/dist/components/WhiteBox/index.js.map +1 -0
- package/dist/components/animate/index.js +2 -0
- package/dist/components/animate/index.js.map +1 -0
- package/dist/components/carousel/index.js +2 -0
- package/dist/components/carousel/index.js.map +1 -0
- package/dist/components/form/Address/index.js +197 -8
- package/dist/components/form/Address/index.js.map +1 -0
- package/dist/components/form/Autocomplete/index.js +39 -3
- package/dist/components/form/Autocomplete/index.js.map +1 -0
- package/dist/components/form/AutocompleteDetailed/index.js +39 -3
- package/dist/components/form/AutocompleteDetailed/index.js.map +1 -0
- package/dist/components/form/Checkbox/index.js +48 -5
- package/dist/components/form/Checkbox/index.js.map +1 -0
- package/dist/components/form/Codes/index.js +83 -6
- package/dist/components/form/Codes/index.js.map +1 -0
- package/dist/components/form/ColorPicker/index.js +49 -3
- package/dist/components/form/ColorPicker/index.js.map +1 -0
- package/dist/components/form/DatePicker/index.js +60 -4
- package/dist/components/form/DatePicker/index.js.map +1 -0
- package/dist/components/form/DateRangePicker/index.js +74 -6
- package/dist/components/form/DateRangePicker/index.js.map +1 -0
- package/dist/components/form/DateTimePicker/index.js +58 -4
- package/dist/components/form/DateTimePicker/index.js.map +1 -0
- package/dist/components/form/Field/index.js +46 -3
- package/dist/components/form/Field/index.js.map +1 -0
- package/dist/components/form/Form/index.js +26 -3
- package/dist/components/form/Form/index.js.map +1 -0
- package/dist/components/form/Incrementer/index.js +35 -3
- package/dist/components/form/Incrementer/index.js.map +1 -0
- package/dist/components/form/InputTags/index.js +66 -5
- package/dist/components/form/InputTags/index.js.map +1 -0
- package/dist/components/form/MaskedInput/index.js +42 -3
- package/dist/components/form/MaskedInput/index.js.map +1 -0
- package/dist/components/form/MultiCheckbox/index.js +90 -8
- package/dist/components/form/MultiCheckbox/index.js.map +1 -0
- package/dist/components/form/MultiChipField/index.js +46 -4
- package/dist/components/form/MultiChipField/index.js.map +1 -0
- package/dist/components/form/NumberInput/index.js +40 -3
- package/dist/components/form/NumberInput/index.js.map +1 -0
- package/dist/components/form/Password/index.js +86 -6
- package/dist/components/form/Password/index.js.map +1 -0
- package/dist/components/form/RadioGroup/index.js +123 -8
- package/dist/components/form/RadioGroup/index.js.map +1 -0
- package/dist/components/form/SelectableCards/index.js +19 -3
- package/dist/components/form/SelectableCards/index.js.map +1 -0
- package/dist/components/form/Switch/index.js +65 -5
- package/dist/components/form/Switch/index.js.map +1 -0
- package/dist/components/form/TimePicker/index.js +61 -4
- package/dist/components/form/TimePicker/index.js.map +1 -0
- package/dist/components/form/UploadAvatarWithCrop/index.js +56 -5
- package/dist/components/form/UploadAvatarWithCrop/index.js.map +1 -0
- package/dist/components/form/UploadWithCrop/index.js +56 -5
- package/dist/components/form/UploadWithCrop/index.js.map +1 -0
- package/dist/components/form/Webhook/index.js +141 -12
- package/dist/components/form/Webhook/index.js.map +1 -0
- package/dist/components/lightbox/index.js +2 -0
- package/dist/components/lightbox/index.js.map +1 -0
- package/dist/components/table/index.js +2 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/upload/index.js +2 -0
- package/dist/components/upload/index.js.map +1 -0
- package/dist/hooks/useActiveElement.js +25 -2
- package/dist/hooks/useActiveElement.js.map +1 -0
- package/dist/hooks/useApiMessage.js +31 -2
- package/dist/hooks/useApiMessage.js.map +1 -0
- package/dist/hooks/useAutocomplete.js +58 -2
- package/dist/hooks/useAutocomplete.js.map +1 -0
- package/dist/hooks/useCopyToClipboard.js +20 -2
- package/dist/hooks/useCopyToClipboard.js.map +1 -0
- package/dist/hooks/useDatagrid.js +41 -2
- package/dist/hooks/useDatagrid.js.map +1 -0
- package/dist/hooks/useDebounceValue.js +16 -2
- package/dist/hooks/useDebounceValue.js.map +1 -0
- package/dist/hooks/useDeepCompareEffect.js +13 -2
- package/dist/hooks/useDeepCompareEffect.js.map +1 -0
- package/dist/hooks/useEventCallback.js +14 -3
- package/dist/hooks/useEventCallback.js.map +1 -0
- package/dist/hooks/useEventListener.js +22 -2
- package/dist/hooks/useEventListener.js.map +1 -0
- package/dist/hooks/useIsMounting.js +11 -2
- package/dist/hooks/useIsMounting.js.map +1 -0
- package/dist/hooks/useIsomorphicLayoutEffect.js +4 -2
- package/dist/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/hooks/useLocalStorage.js +85 -3
- package/dist/hooks/useLocalStorage.js.map +1 -0
- package/dist/hooks/useMount.js +7 -2
- package/dist/hooks/useMount.js.map +1 -0
- package/dist/hooks/useOnClickOutside.js +14 -3
- package/dist/hooks/useOnClickOutside.js.map +1 -0
- package/dist/hooks/usePagination.js +38 -2
- package/dist/hooks/usePagination.js.map +1 -0
- package/dist/hooks/usePopover.js +19 -2
- package/dist/hooks/usePopover.js.map +1 -0
- package/dist/hooks/useResponsive.js +32 -3
- package/dist/hooks/useResponsive.js.map +1 -0
- package/dist/hooks/useScrollOffSetTop.js +29 -2
- package/dist/hooks/useScrollOffSetTop.js.map +1 -0
- package/dist/hooks/useSnackbar.js +11 -2
- package/dist/hooks/useSnackbar.js.map +1 -0
- package/dist/hooks/useTabs.js +14 -2
- package/dist/hooks/useTabs.js.map +1 -0
- package/dist/hooks/useToggle.js +9 -2
- package/dist/hooks/useToggle.js.map +1 -0
- package/dist/hooks/useUpload.js +54 -2
- package/dist/hooks/useUpload.js.map +1 -0
- package/dist/hooks/useUploadImage.js +77 -4
- package/dist/hooks/useUploadImage.js.map +1 -0
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -0
- package/dist/locales/all-langs.js +29 -2
- package/dist/locales/all-langs.js.map +1 -0
- package/dist/theme/core/index.js +2 -0
- package/dist/theme/core/index.js.map +1 -0
- package/dist/theme/styles/index.js +2 -0
- package/dist/theme/styles/index.js.map +1 -0
- package/dist/theme/theme-provider.js +39 -3
- package/dist/theme/theme-provider.js.map +1 -0
- package/dist/theme/with-settings/index.js +2 -0
- package/dist/theme/with-settings/index.js.map +1 -0
- package/dist/types/addressProps.js +2 -0
- package/dist/types/addressProps.js.map +1 -0
- package/dist/types/api.js +2 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/autoComplete.js +2 -0
- package/dist/types/autoComplete.js.map +1 -0
- package/dist/types/autoCompleteProps.js +2 -0
- package/dist/types/autoCompleteProps.js.map +1 -0
- package/dist/types/baseField.js +2 -0
- package/dist/types/baseField.js.map +1 -0
- package/dist/types/dataGridProps.js +2 -0
- package/dist/types/dataGridProps.js.map +1 -0
- package/dist/types/datagrid.js +2 -0
- package/dist/types/datagrid.js.map +1 -0
- package/dist/types/datePickerProps.js +2 -0
- package/dist/types/datePickerProps.js.map +1 -0
- package/dist/types/dateRangePickerProps.js +2 -0
- package/dist/types/dateRangePickerProps.js.map +1 -0
- package/dist/types/dateTimePickerProps.js +2 -0
- package/dist/types/dateTimePickerProps.js.map +1 -0
- package/dist/types/fieldProps.js +2 -0
- package/dist/types/fieldProps.js.map +1 -0
- package/dist/types/icon.js +330 -2
- package/dist/types/icon.js.map +1 -0
- package/dist/types/iconProps.js +2 -0
- package/dist/types/iconProps.js.map +1 -0
- package/dist/types/incrementerProps.js +2 -0
- package/dist/types/incrementerProps.js.map +1 -0
- package/dist/types/item.js +2 -0
- package/dist/types/item.js.map +1 -0
- package/dist/types/multiCheckboxProps.js +2 -0
- package/dist/types/multiCheckboxProps.js.map +1 -0
- package/dist/types/numberInputProps.js +2 -0
- package/dist/types/numberInputProps.js.map +1 -0
- package/dist/types/option.js +2 -0
- package/dist/types/option.js.map +1 -0
- package/dist/types/radioGroupProps.js +2 -0
- package/dist/types/radioGroupProps.js.map +1 -0
- package/dist/types/searchInputProps.js +2 -0
- package/dist/types/searchInputProps.js.map +1 -0
- package/dist/types/sectionProps.js +2 -0
- package/dist/types/sectionProps.js.map +1 -0
- package/dist/types/switchProps.js +2 -0
- package/dist/types/switchProps.js.map +1 -0
- package/dist/types/timePickerProps.js +2 -0
- package/dist/types/timePickerProps.js.map +1 -0
- package/dist/types/upload.js +2 -0
- package/dist/types/upload.js.map +1 -0
- package/dist/types/webhook.js +35 -2
- package/dist/types/webhook.js.map +1 -0
- package/dist/utils/color.js +5 -3
- package/dist/utils/color.js.map +1 -0
- package/dist/utils/compare.js +5 -3
- package/dist/utils/compare.js.map +1 -0
- package/dist/utils/date.js +20 -4
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/formatNumber.js +86 -2
- package/dist/utils/formatNumber.js.map +1 -0
- package/dist/utils/formatTime.js +155 -5
- package/dist/utils/formatTime.js.map +1 -0
- package/dist/utils/loadable.js +11 -3
- package/dist/utils/loadable.js.map +1 -0
- package/dist/utils/mask.js +38 -2
- package/dist/utils/mask.js.map +1 -0
- package/dist/utils/number.js +12 -2
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/sort.js +22 -2
- package/dist/utils/sort.js.map +1 -0
- package/dist/utils/uuidv4.js +9 -2
- package/dist/utils/uuidv4.js.map +1 -0
- package/dist/utils/validators.js +82 -2
- package/dist/utils/validators.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,9 +1,69 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
4
|
+
import FormHelperText from '@mui/material/FormHelperText';
|
|
5
|
+
import MuiSwitch from '@mui/material/Switch';
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const Switch = ({
|
|
8
|
+
name,
|
|
9
|
+
helperText,
|
|
10
|
+
onChange,
|
|
11
|
+
tabIndex,
|
|
12
|
+
size,
|
|
13
|
+
label,
|
|
14
|
+
sx,
|
|
15
|
+
...other
|
|
16
|
+
}) => {
|
|
17
|
+
const { control } = useFormContext();
|
|
18
|
+
const renderSwitch = (field) => {
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
MuiSwitch,
|
|
21
|
+
{
|
|
22
|
+
...field,
|
|
23
|
+
checked: field.value,
|
|
24
|
+
onChange: (e, v) => {
|
|
25
|
+
field.onChange(e);
|
|
26
|
+
if (onChange)
|
|
27
|
+
onChange(e, v);
|
|
28
|
+
},
|
|
29
|
+
inputProps: { tabIndex },
|
|
30
|
+
size,
|
|
31
|
+
sx
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
};
|
|
35
|
+
return /* @__PURE__ */ jsx(
|
|
36
|
+
Controller,
|
|
37
|
+
{
|
|
38
|
+
name,
|
|
39
|
+
control,
|
|
40
|
+
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsxs("div", { children: [
|
|
41
|
+
label ? /* @__PURE__ */ jsx(
|
|
42
|
+
FormControlLabel,
|
|
43
|
+
{
|
|
44
|
+
label,
|
|
45
|
+
control: renderSwitch(field),
|
|
46
|
+
"data-intercom-target": name,
|
|
47
|
+
...other
|
|
48
|
+
}
|
|
49
|
+
) : renderSwitch(field),
|
|
50
|
+
(!!error || helperText) && /* @__PURE__ */ jsx(
|
|
51
|
+
FormHelperText,
|
|
52
|
+
{
|
|
53
|
+
error: !!error,
|
|
54
|
+
sx: (theme) => ({
|
|
55
|
+
mx: "14px",
|
|
56
|
+
color: other.disabled ? theme.palette.grey[500] : void 0
|
|
57
|
+
}),
|
|
58
|
+
children: error ? error?.message : helperText
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
] })
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
};
|
|
65
|
+
var Switch_default = Switch;
|
|
8
66
|
|
|
9
|
-
export {
|
|
67
|
+
export { Switch_default as default };
|
|
68
|
+
//# sourceMappingURL=out.js.map
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/Switch/index.tsx"],"names":[],"mappings":"AA0BM,cAoBE,YApBF;AA1BN;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,OAAO,sBAAsB;AAC7B,OAAO,oBAAoB;AAC3B,OAAO,eAAe;AAItB,MAAM,SAAS,CAAC;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAmB;AACjB,QAAM,EAAE,QAAQ,IAAI,eAAe;AAEnC,QAAM,eAAe,CAAC,UAAsD;AAC1E,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,SAAS,MAAM;AAAA,QACf,UAAU,CAAC,GAAG,MAAM;AAClB,gBAAM,SAAS,CAAC;AAEhB,cAAI;AAAU,qBAAS,GAAG,CAAC;AAAA,QAC7B;AAAA,QACA,YAAY,EAAE,SAAS;AAAA,QACvB;AAAA,QACA;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,MAAM,EAAE,MACtC,qBAAC,SACE;AAAA,gBACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,SAAS,aAAa,KAAK;AAAA,YAC3B,wBAAsB;AAAA,YACrB,GAAG;AAAA;AAAA,QACN,IAEA,aAAa,KAAK;AAAA,SAGlB,CAAC,CAAC,SAAS,eACX;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,CAAC,CAAC;AAAA,YACT,IAAI,YAAU;AAAA,cACZ,IAAI;AAAA,cACJ,OAAO,MAAM,WAAW,MAAM,QAAQ,KAAK,GAAG,IAAI;AAAA,YACpD;AAAA,YAEC,kBAAQ,OAAO,UAAU;AAAA;AAAA,QAC5B;AAAA,SAEJ;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,iBAAQ","sourcesContent":["import {\n Controller,\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport MuiSwitch from '@mui/material/Switch';\n\nimport { SwitchProps } from 'types/switchProps';\n\nconst Switch = ({\n name,\n helperText,\n onChange,\n tabIndex,\n size,\n label,\n sx,\n ...other\n}: SwitchProps) => {\n const { control } = useFormContext();\n\n const renderSwitch = (field: ControllerRenderProps<FieldValues, string>) => {\n return (\n <MuiSwitch\n {...field}\n checked={field.value}\n onChange={(e, v) => {\n field.onChange(e);\n\n if (onChange) onChange(e, v);\n }}\n inputProps={{ tabIndex }}\n size={size}\n sx={sx}\n />\n );\n };\n\n return (\n <Controller\n name={name}\n control={control}\n render={({ field, fieldState: { error } }) => (\n <div>\n {label ? (\n <FormControlLabel\n label={label}\n control={renderSwitch(field)}\n data-intercom-target={name}\n {...other}\n />\n ) : (\n renderSwitch(field)\n )}\n\n {(!!error || helperText) && (\n <FormHelperText\n error={!!error}\n sx={theme => ({\n mx: '14px',\n color: other.disabled ? theme.palette.grey[500] : undefined,\n })}\n >\n {error ? error?.message : helperText}\n </FormHelperText>\n )}\n </div>\n )}\n />\n );\n};\n\nexport default Switch;\n"]}
|
|
@@ -1,8 +1,65 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
3
|
-
import { TimePicker } from '@mui/x-date-pickers-pro';
|
|
4
|
-
import
|
|
3
|
+
import { TimePicker as TimePicker$1 } from '@mui/x-date-pickers-pro';
|
|
4
|
+
import dayjs from 'dayjs';
|
|
5
5
|
|
|
6
|
-
const
|
|
6
|
+
const TimePicker = ({
|
|
7
|
+
name,
|
|
8
|
+
rules,
|
|
9
|
+
tabIndex,
|
|
10
|
+
helperText,
|
|
11
|
+
required,
|
|
12
|
+
...other
|
|
13
|
+
}) => {
|
|
14
|
+
const { control } = useFormContext();
|
|
15
|
+
return /* @__PURE__ */ jsx(
|
|
16
|
+
Controller,
|
|
17
|
+
{
|
|
18
|
+
name,
|
|
19
|
+
control,
|
|
20
|
+
rules,
|
|
21
|
+
render: ({
|
|
22
|
+
field: { ref, onChange, ...field },
|
|
23
|
+
fieldState: { error }
|
|
24
|
+
}) => /* @__PURE__ */ jsx(
|
|
25
|
+
TimePicker$1,
|
|
26
|
+
{
|
|
27
|
+
ampm: false,
|
|
28
|
+
format: "HH:mm",
|
|
29
|
+
inputRef: ref,
|
|
30
|
+
...field,
|
|
31
|
+
"data-intercom-target": name,
|
|
32
|
+
...other,
|
|
33
|
+
value: field.value ? dayjs(field.value) : null,
|
|
34
|
+
onChange: (v) => {
|
|
35
|
+
const newValue = v ? v.toDate() : null;
|
|
36
|
+
onChange(newValue);
|
|
37
|
+
other.onChange && other.onChange(newValue);
|
|
38
|
+
},
|
|
39
|
+
slotProps: {
|
|
40
|
+
textField: {
|
|
41
|
+
...other.slotProps?.textField,
|
|
42
|
+
error: !!error,
|
|
43
|
+
required,
|
|
44
|
+
helperText: error?.message || helperText,
|
|
45
|
+
autoComplete: "off",
|
|
46
|
+
spellCheck: "false",
|
|
47
|
+
fullWidth: true,
|
|
48
|
+
inputProps: {
|
|
49
|
+
tabIndex
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
openPickerButton: {
|
|
53
|
+
tabIndex
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
var TimePicker_default = TimePicker;
|
|
7
62
|
|
|
8
|
-
export {
|
|
63
|
+
export { TimePicker_default as default };
|
|
64
|
+
//# sourceMappingURL=out.js.map
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/TimePicker/index.tsx"],"names":[],"mappings":"AAyBQ;AAzBR,SAAS,YAAY,sBAAsB;AAC3C,SAAS,cAAc,qBAAqB;AAC5C,OAAO,WAAW;AAIlB,MAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAuB;AACrB,QAAM,EAAE,QAAQ,IAAI,eAAe;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC;AAAA,QACP,OAAO,EAAE,KAAK,UAAU,GAAG,MAAM;AAAA,QACjC,YAAY,EAAE,MAAM;AAAA,MACtB,MACE;AAAA,QAAC;AAAA;AAAA,UACC,MAAM;AAAA,UACN,QAAO;AAAA,UACP,UAAU;AAAA,UACT,GAAG;AAAA,UACJ,wBAAsB;AAAA,UACrB,GAAG;AAAA,UACJ,OAAO,MAAM,QAAQ,MAAM,MAAM,KAAK,IAAI;AAAA,UAC1C,UAAU,OAAK;AACb,kBAAM,WAAW,IAAI,EAAE,OAAO,IAAI;AAClC,qBAAS,QAAQ;AACjB,kBAAM,YAAY,MAAM,SAAS,QAAQ;AAAA,UAC3C;AAAA,UACA,WAAW;AAAA,YACT,WAAW;AAAA,cACT,GAAG,MAAM,WAAW;AAAA,cACpB,OAAO,CAAC,CAAC;AAAA,cACT;AAAA,cACA,YAAY,OAAO,WAAW;AAAA,cAC9B,cAAc;AAAA,cACd,YAAY;AAAA,cACZ,WAAW;AAAA,cACX,YAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA,kBAAkB;AAAA,cAChB;AAAA,YACF;AAAA,UACF;AAAA;AAAA,MACF;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,qBAAQ","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\nimport { TimePicker as MuiTimePicker } from '@mui/x-date-pickers-pro';\nimport dayjs from 'dayjs';\n\nimport { TimePickerProps } from 'types/timePickerProps';\n\nconst TimePicker = ({\n name,\n rules,\n tabIndex,\n helperText,\n required,\n ...other\n}: TimePickerProps) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({\n field: { ref, onChange, ...field },\n fieldState: { error },\n }) => (\n <MuiTimePicker\n ampm={false}\n format=\"HH:mm\"\n inputRef={ref}\n {...field}\n data-intercom-target={name}\n {...other}\n value={field.value ? dayjs(field.value) : null}\n onChange={v => {\n const newValue = v ? v.toDate() : null;\n onChange(newValue);\n other.onChange && other.onChange(newValue);\n }}\n slotProps={{\n textField: {\n ...other.slotProps?.textField,\n error: !!error,\n required,\n helperText: error?.message || helperText,\n autoComplete: 'off',\n spellCheck: 'false',\n fullWidth: true,\n inputProps: {\n tabIndex,\n },\n },\n openPickerButton: {\n tabIndex,\n },\n }}\n />\n )}\n />\n );\n};\n\nexport default TimePicker;\n"]}
|
|
@@ -1,9 +1,60 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import FormHelperText from '@mui/material/FormHelperText';
|
|
4
|
+
import UploadAvatarWithCropComponent from 'components/upload/upload-avatar-with-crop';
|
|
5
|
+
import useUpload from 'hooks/useUpload';
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const UploadAvatarWithCrop = ({
|
|
8
|
+
name,
|
|
9
|
+
rules,
|
|
10
|
+
helperText,
|
|
11
|
+
aspect,
|
|
12
|
+
label,
|
|
13
|
+
image,
|
|
14
|
+
onFileCropped,
|
|
15
|
+
onImageUploaded,
|
|
16
|
+
onCancel,
|
|
17
|
+
...other
|
|
18
|
+
}) => {
|
|
19
|
+
const { control } = useFormContext();
|
|
20
|
+
const { uploadFile, file, setFileValue } = useUpload(name);
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
Controller,
|
|
23
|
+
{
|
|
24
|
+
name,
|
|
25
|
+
control,
|
|
26
|
+
rules,
|
|
27
|
+
render: ({ field: { value }, fieldState: { error } }) => /* @__PURE__ */ jsx(
|
|
28
|
+
UploadAvatarWithCropComponent,
|
|
29
|
+
{
|
|
30
|
+
accept: { "image/*": [] },
|
|
31
|
+
file: value ? file : void 0,
|
|
32
|
+
onFileCropped: (v) => {
|
|
33
|
+
uploadFile(v);
|
|
34
|
+
if (onFileCropped)
|
|
35
|
+
onFileCropped(v);
|
|
36
|
+
},
|
|
37
|
+
onImageUploaded,
|
|
38
|
+
onCancel: () => {
|
|
39
|
+
setFileValue(void 0);
|
|
40
|
+
if (onCancel)
|
|
41
|
+
onCancel();
|
|
42
|
+
},
|
|
43
|
+
error: !!error,
|
|
44
|
+
disableMultiple: true,
|
|
45
|
+
helperText: (!!error || helperText) && /* @__PURE__ */ jsx(FormHelperText, { error: !!error, sx: { px: 2 }, children: error ? error?.message : helperText }),
|
|
46
|
+
aspect,
|
|
47
|
+
label,
|
|
48
|
+
image,
|
|
49
|
+
"data-intercom-target": name,
|
|
50
|
+
...other
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
var UploadAvatarWithCrop_default = UploadAvatarWithCrop;
|
|
8
57
|
|
|
9
|
-
export {
|
|
58
|
+
export { UploadAvatarWithCrop_default as default };
|
|
59
|
+
//# sourceMappingURL=out.js.map
|
|
60
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/UploadAvatarWithCrop/index.tsx"],"names":[],"mappings":"AA8Cc;AA9Cd,SAAS,YAAY,sBAAsB;AAC3C,OAAO,oBAAoB;AAE3B,OAAO,mCAAmC;AAC1C,OAAO,eAAe;AAItB,MAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiC;AAC/B,QAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,QAAM,EAAE,YAAY,MAAM,aAAa,IAAI,UAAU,IAAI;AAEzD,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MACjD;AAAA,QAAC;AAAA;AAAA,UACC,QAAQ,EAAE,WAAW,CAAC,EAAE;AAAA,UACxB,MAAM,QAAQ,OAAO;AAAA,UACrB,eAAe,OAAK;AAClB,uBAAW,CAAC;AACZ,gBAAI;AAAe,4BAAc,CAAC;AAAA,UACpC;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AACd,yBAAa,MAAS;AAEtB,gBAAI;AAAU,uBAAS;AAAA,UACzB;AAAA,UACA,OAAO,CAAC,CAAC;AAAA,UACT,iBAAe;AAAA,UACf,aACG,CAAC,CAAC,SAAS,eACV,oBAAC,kBAAe,OAAO,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,GACzC,kBAAQ,OAAO,UAAU,YAC5B;AAAA,UAGJ;AAAA,UACA;AAAA,UACA;AAAA,UACA,wBAAsB;AAAA,UACrB,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,+BAAQ","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\nimport FormHelperText from '@mui/material/FormHelperText';\n\nimport UploadAvatarWithCropComponent from 'components/upload/upload-avatar-with-crop';\nimport useUpload from 'hooks/useUpload';\n\nimport { UploadAvatarWithCropProps } from './props';\n\nconst UploadAvatarWithCrop = ({\n name,\n rules,\n helperText,\n aspect,\n label,\n image,\n onFileCropped,\n onImageUploaded,\n onCancel,\n ...other\n}: UploadAvatarWithCropProps) => {\n const { control } = useFormContext();\n const { uploadFile, file, setFileValue } = useUpload(name);\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ field: { value }, fieldState: { error } }) => (\n <UploadAvatarWithCropComponent\n accept={{ 'image/*': [] }}\n file={value ? file : undefined}\n onFileCropped={v => {\n uploadFile(v);\n if (onFileCropped) onFileCropped(v);\n }}\n onImageUploaded={onImageUploaded}\n onCancel={() => {\n setFileValue(undefined);\n\n if (onCancel) onCancel();\n }}\n error={!!error}\n disableMultiple\n helperText={\n (!!error || helperText) && (\n <FormHelperText error={!!error} sx={{ px: 2 }}>\n {error ? error?.message : helperText}\n </FormHelperText>\n )\n }\n aspect={aspect}\n label={label}\n image={image}\n data-intercom-target={name}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default UploadAvatarWithCrop;\n"]}
|
|
@@ -1,9 +1,60 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import FormHelperText from '@mui/material/FormHelperText';
|
|
4
|
+
import UploadWithCropComponent from 'components/upload/upload-with-crop';
|
|
5
|
+
import useUpload from 'hooks/useUpload';
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const UploadWithCrop = ({
|
|
8
|
+
name,
|
|
9
|
+
rules,
|
|
10
|
+
helperText,
|
|
11
|
+
aspect,
|
|
12
|
+
label,
|
|
13
|
+
image,
|
|
14
|
+
onFileCropped,
|
|
15
|
+
onImageUploaded,
|
|
16
|
+
onCancel,
|
|
17
|
+
...other
|
|
18
|
+
}) => {
|
|
19
|
+
const { control } = useFormContext();
|
|
20
|
+
const { uploadFile, file, setFileValue } = useUpload(name);
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
Controller,
|
|
23
|
+
{
|
|
24
|
+
name,
|
|
25
|
+
control,
|
|
26
|
+
rules,
|
|
27
|
+
render: ({ field: { value }, fieldState: { error } }) => /* @__PURE__ */ jsx(
|
|
28
|
+
UploadWithCropComponent,
|
|
29
|
+
{
|
|
30
|
+
accept: { "image/*": [] },
|
|
31
|
+
file: value ? file : void 0,
|
|
32
|
+
onFileCropped: (v) => {
|
|
33
|
+
uploadFile(v);
|
|
34
|
+
if (onFileCropped)
|
|
35
|
+
onFileCropped(v);
|
|
36
|
+
},
|
|
37
|
+
onImageUploaded,
|
|
38
|
+
onCancel: () => {
|
|
39
|
+
setFileValue(void 0);
|
|
40
|
+
if (onCancel)
|
|
41
|
+
onCancel();
|
|
42
|
+
},
|
|
43
|
+
error: !!error,
|
|
44
|
+
disableMultiple: true,
|
|
45
|
+
helperText: (!!error || helperText) && /* @__PURE__ */ jsx(FormHelperText, { error: !!error, sx: { px: 2 }, children: error ? error?.message : helperText }),
|
|
46
|
+
aspect,
|
|
47
|
+
label,
|
|
48
|
+
image,
|
|
49
|
+
"data-intercom-target": name,
|
|
50
|
+
...other
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
var UploadWithCrop_default = UploadWithCrop;
|
|
8
57
|
|
|
9
|
-
export {
|
|
58
|
+
export { UploadWithCrop_default as default };
|
|
59
|
+
//# sourceMappingURL=out.js.map
|
|
60
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/UploadWithCrop/index.tsx"],"names":[],"mappings":"AA8Cc;AA9Cd,SAAS,YAAY,sBAAsB;AAC3C,OAAO,oBAAoB;AAE3B,OAAO,6BAA6B;AACpC,OAAO,eAAe;AAItB,MAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2B;AACzB,QAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,QAAM,EAAE,YAAY,MAAM,aAAa,IAAI,UAAU,IAAI;AAEzD,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MACjD;AAAA,QAAC;AAAA;AAAA,UACC,QAAQ,EAAE,WAAW,CAAC,EAAE;AAAA,UACxB,MAAM,QAAQ,OAAO;AAAA,UACrB,eAAe,OAAK;AAClB,uBAAW,CAAC;AACZ,gBAAI;AAAe,4BAAc,CAAC;AAAA,UACpC;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AACd,yBAAa,MAAS;AAEtB,gBAAI;AAAU,uBAAS;AAAA,UACzB;AAAA,UACA,OAAO,CAAC,CAAC;AAAA,UACT,iBAAe;AAAA,UACf,aACG,CAAC,CAAC,SAAS,eACV,oBAAC,kBAAe,OAAO,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,GACzC,kBAAQ,OAAO,UAAU,YAC5B;AAAA,UAGJ;AAAA,UACA;AAAA,UACA;AAAA,UACA,wBAAsB;AAAA,UACrB,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,yBAAQ","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\nimport FormHelperText from '@mui/material/FormHelperText';\n\nimport UploadWithCropComponent from 'components/upload/upload-with-crop';\nimport useUpload from 'hooks/useUpload';\n\nimport { UploadWithCropProps } from './props';\n\nconst UploadWithCrop = ({\n name,\n rules,\n helperText,\n aspect,\n label,\n image,\n onFileCropped,\n onImageUploaded,\n onCancel,\n ...other\n}: UploadWithCropProps) => {\n const { control } = useFormContext();\n const { uploadFile, file, setFileValue } = useUpload(name);\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ field: { value }, fieldState: { error } }) => (\n <UploadWithCropComponent\n accept={{ 'image/*': [] }}\n file={value ? file : undefined}\n onFileCropped={v => {\n uploadFile(v);\n if (onFileCropped) onFileCropped(v);\n }}\n onImageUploaded={onImageUploaded}\n onCancel={() => {\n setFileValue(undefined);\n\n if (onCancel) onCancel();\n }}\n error={!!error}\n disableMultiple\n helperText={\n (!!error || helperText) && (\n <FormHelperText error={!!error} sx={{ px: 2 }}>\n {error ? error?.message : helperText}\n </FormHelperText>\n )\n }\n aspect={aspect}\n label={label}\n image={image}\n data-intercom-target={name}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default UploadWithCrop;\n"]}
|
|
@@ -1,18 +1,147 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useFormContext, useFieldArray } from 'react-hook-form';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
3
|
+
import Divider from '@mui/material/Divider';
|
|
4
|
+
import IconButton from '@mui/material/IconButton';
|
|
5
|
+
import InputAdornment from '@mui/material/InputAdornment';
|
|
6
|
+
import Stack from '@mui/material/Stack';
|
|
7
|
+
import Typography from '@mui/material/Typography';
|
|
8
|
+
import ActionButton from 'components/ActionButton';
|
|
9
|
+
import Icon from 'components/Icon';
|
|
10
|
+
import Autocomplete from '../Autocomplete';
|
|
11
|
+
import Field from '../Field';
|
|
12
12
|
import { ContentTypeOptions, HttpMethodOptions } from './props';
|
|
13
13
|
import { SyledIconButton } from './styles';
|
|
14
|
-
import
|
|
14
|
+
import WebhookAlert from './WebhookAlert';
|
|
15
15
|
|
|
16
|
-
const
|
|
16
|
+
const Webhook = ({
|
|
17
|
+
webhookData,
|
|
18
|
+
isEditing = false,
|
|
19
|
+
haveTip = false
|
|
20
|
+
}) => {
|
|
21
|
+
const { control } = useFormContext();
|
|
22
|
+
const {
|
|
23
|
+
fields: headers,
|
|
24
|
+
append,
|
|
25
|
+
remove
|
|
26
|
+
} = useFieldArray({
|
|
27
|
+
name: "headers",
|
|
28
|
+
control
|
|
29
|
+
});
|
|
30
|
+
const handleCreateField = () => {
|
|
31
|
+
append({
|
|
32
|
+
value: "",
|
|
33
|
+
name: ""
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
37
|
+
haveTip && /* @__PURE__ */ jsx(WebhookAlert, {}),
|
|
38
|
+
isEditing && /* @__PURE__ */ jsx(Field, { name: "name", label: "Nome do webhook" }),
|
|
39
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", gap: 2, children: [
|
|
40
|
+
/* @__PURE__ */ jsx(
|
|
41
|
+
Field,
|
|
42
|
+
{
|
|
43
|
+
name: "url",
|
|
44
|
+
label: "URL de endpoint",
|
|
45
|
+
rules: { required: { value: true, message: "Url \xE9 obrigat\xF3rio" } }
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
/* @__PURE__ */ jsx(Field, { name: "filter", label: "Filtro" })
|
|
49
|
+
] }),
|
|
50
|
+
isEditing && webhookData && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
51
|
+
/* @__PURE__ */ jsx(Field, { variant: "filled", name: "solution", label: "Solu\xE7\xE3o", disabled: true }),
|
|
52
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", gap: 2, children: [
|
|
53
|
+
/* @__PURE__ */ jsx(Field, { variant: "filled", name: "resource", label: "Origem", disabled: true }),
|
|
54
|
+
/* @__PURE__ */ jsx(
|
|
55
|
+
Field,
|
|
56
|
+
{
|
|
57
|
+
variant: "filled",
|
|
58
|
+
name: "resource_id",
|
|
59
|
+
label: "ID origem",
|
|
60
|
+
disabled: true,
|
|
61
|
+
InputProps: {
|
|
62
|
+
endAdornment: /* @__PURE__ */ jsx(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx(
|
|
63
|
+
SyledIconButton,
|
|
64
|
+
{
|
|
65
|
+
onClick: () => navigator.clipboard.writeText(webhookData.resource_id),
|
|
66
|
+
children: /* @__PURE__ */ jsx(Icon, { className: "copyIcon", icon: "COPY_CONTENT" })
|
|
67
|
+
}
|
|
68
|
+
) })
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
/* @__PURE__ */ jsx(Field, { variant: "filled", name: "event", label: "Evento", disabled: true })
|
|
73
|
+
] })
|
|
74
|
+
] }),
|
|
75
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", gap: 2, alignItems: "center", children: [
|
|
76
|
+
/* @__PURE__ */ jsx(
|
|
77
|
+
Autocomplete,
|
|
78
|
+
{
|
|
79
|
+
fullWidth: true,
|
|
80
|
+
options: ContentTypeOptions,
|
|
81
|
+
name: "content_type",
|
|
82
|
+
label: "Tipo de conte\xFAdo",
|
|
83
|
+
required: true,
|
|
84
|
+
rules: {
|
|
85
|
+
required: {
|
|
86
|
+
value: true,
|
|
87
|
+
message: "Campo Tipo de conte\xFAdo \xE9 obrigat\xF3rio"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
),
|
|
92
|
+
/* @__PURE__ */ jsx(
|
|
93
|
+
Autocomplete,
|
|
94
|
+
{
|
|
95
|
+
fullWidth: true,
|
|
96
|
+
options: HttpMethodOptions,
|
|
97
|
+
name: "http_method",
|
|
98
|
+
label: "M\xE9todo HTTP",
|
|
99
|
+
required: true,
|
|
100
|
+
rules: {
|
|
101
|
+
required: {
|
|
102
|
+
value: true,
|
|
103
|
+
message: "Campo M\xE9todo HTTP \xE9 obrigat\xF3rio"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
] }),
|
|
109
|
+
/* @__PURE__ */ jsx(Typography, { variant: "overline", color: "grey", children: "Cabe\xE7alho" }),
|
|
110
|
+
headers?.map((item, index) => /* @__PURE__ */ jsxs(Stack, { direction: "row", gap: 2, alignItems: "center", children: [
|
|
111
|
+
/* @__PURE__ */ jsx(
|
|
112
|
+
Field,
|
|
113
|
+
{
|
|
114
|
+
name: `headers.${index}.name`,
|
|
115
|
+
label: "Chave",
|
|
116
|
+
required: true,
|
|
117
|
+
rules: {
|
|
118
|
+
required: {
|
|
119
|
+
value: true,
|
|
120
|
+
message: ""
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
),
|
|
125
|
+
/* @__PURE__ */ jsx(Field, { name: `headers.${index}.value`, label: "Valor" }),
|
|
126
|
+
/* @__PURE__ */ jsx(IconButton, { color: "error", onClick: () => remove(index), children: /* @__PURE__ */ jsx(Icon, { icon: "DELETE_MARK_BUTTON_02" }) })
|
|
127
|
+
] }, item.id)),
|
|
128
|
+
/* @__PURE__ */ jsx(
|
|
129
|
+
ActionButton,
|
|
130
|
+
{
|
|
131
|
+
actionType: "NEW",
|
|
132
|
+
size: "large",
|
|
133
|
+
variant: "outlined",
|
|
134
|
+
color: "inherit",
|
|
135
|
+
fullWidth: true,
|
|
136
|
+
onClick: () => handleCreateField(),
|
|
137
|
+
children: "Adicionar novo cabe\xE7alho"
|
|
138
|
+
}
|
|
139
|
+
),
|
|
140
|
+
/* @__PURE__ */ jsx(Divider, {})
|
|
141
|
+
] });
|
|
142
|
+
};
|
|
143
|
+
var Webhook_default = Webhook;
|
|
17
144
|
|
|
18
|
-
export {
|
|
145
|
+
export { Webhook_default as default };
|
|
146
|
+
//# sourceMappingURL=out.js.map
|
|
147
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/Webhook/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useFieldArray, useFormContext } from 'react-hook-form';\nimport Divider from '@mui/material/Divider';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport ActionButton from 'components/ActionButton';\nimport Icon from 'components/Icon';\n\nimport Autocomplete from '../Autocomplete';\nimport Field from '../Field';\n\nimport { ContentTypeOptions, HttpMethodOptions, WebhookProps } from './props';\nimport { SyledIconButton } from './styles';\nimport WebhookAlert from './WebhookAlert';\n\nconst Webhook = ({\n webhookData,\n isEditing = false,\n haveTip = false,\n}: WebhookProps) => {\n const { control } = useFormContext();\n\n const {\n fields: headers,\n append,\n remove,\n } = useFieldArray({\n name: 'headers',\n control,\n });\n\n const handleCreateField = () => {\n append({\n value: '',\n name: '',\n });\n };\n\n return (\n <>\n {haveTip && <WebhookAlert />}\n {isEditing && <Field name=\"name\" label=\"Nome do webhook\" />}\n <Stack direction=\"row\" gap={2}>\n <Field\n name=\"url\"\n label=\"URL de endpoint\"\n rules={{ required: { value: true, message: 'Url é obrigatório' } }}\n />\n <Field name=\"filter\" label=\"Filtro\" />\n </Stack>\n {isEditing && webhookData && (\n <>\n <Field variant=\"filled\" name=\"solution\" label=\"Solução\" disabled />\n <Stack direction=\"row\" gap={2}>\n <Field variant=\"filled\" name=\"resource\" label=\"Origem\" disabled />\n <Field\n variant=\"filled\"\n name=\"resource_id\"\n label=\"ID origem\"\n disabled\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <SyledIconButton\n onClick={() =>\n navigator.clipboard.writeText(webhookData.resource_id)\n }\n >\n <Icon className=\"copyIcon\" icon=\"COPY_CONTENT\" />\n </SyledIconButton>\n </InputAdornment>\n ),\n }}\n />\n <Field variant=\"filled\" name=\"event\" label=\"Evento\" disabled />\n </Stack>\n </>\n )}\n <Stack direction=\"row\" gap={2} alignItems=\"center\">\n <Autocomplete\n fullWidth\n options={ContentTypeOptions}\n name=\"content_type\"\n label=\"Tipo de conteúdo\"\n required\n rules={{\n required: {\n value: true,\n message: 'Campo Tipo de conteúdo é obrigatório',\n },\n }}\n />\n <Autocomplete\n fullWidth\n options={HttpMethodOptions}\n name=\"http_method\"\n label=\"Método HTTP\"\n required\n rules={{\n required: {\n value: true,\n message: 'Campo Método HTTP é obrigatório',\n },\n }}\n />\n </Stack>\n <Typography variant=\"overline\" color=\"grey\">\n Cabeçalho\n </Typography>\n {headers?.map((item, index) => (\n <Stack key={item.id} direction=\"row\" gap={2} alignItems=\"center\">\n <Field\n name={`headers.${index}.name`}\n label=\"Chave\"\n required\n rules={{\n required: {\n value: true,\n message: '',\n },\n }}\n />\n <Field name={`headers.${index}.value`} label=\"Valor\" />\n <IconButton color=\"error\" onClick={() => remove(index)}>\n <Icon icon=\"DELETE_MARK_BUTTON_02\" />\n </IconButton>\n </Stack>\n ))}\n <ActionButton\n actionType=\"NEW\"\n size=\"large\"\n variant=\"outlined\"\n color=\"inherit\"\n fullWidth\n onClick={() => handleCreateField()}\n >\n Adicionar novo cabeçalho\n </ActionButton>\n <Divider />\n </>\n );\n};\n\nexport default Webhook;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/lightbox/index.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,cAAc","sourcesContent":["export * from './lightbox';\nexport type * from './types';\nexport * from './use-light-box';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/table/index.ts"],"names":["default"],"mappings":"AAAA,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAAkC;AAC3C,SAAoB,WAAXA,gBAA8B;AACvC,SAAoB,WAAXA,gBAAwC;AACjD,SAAoB,WAAXA,gBAAsC;AAC/C,SAAoB,WAAXA,gBAAgC;AACzC,cAAc;AACd,SAAoB,WAAXA,gBAA2B;AACpC,cAAc","sourcesContent":["export { default as TableEmptyRows } from './TableEmptyRows';\nexport { default as TableHeadCustom } from './TableHeadCustom';\nexport { default as TableNoData } from './TableNoData';\nexport { default as TablePaginationCustom } from './TablePaginationCustom';\nexport { default as TableSelectedAction } from './TableSelectedAction';\nexport { default as TableSkeleton } from './TableSkeleton';\nexport * from './types';\nexport { default as useTable } from './useTable';\nexport * from './utils';\n"]}
|
|
@@ -6,3 +6,5 @@ export * from './upload-avatar';
|
|
|
6
6
|
export { default as UploadAvatarWithCrop } from './upload-avatar-with-crop';
|
|
7
7
|
export * from './upload-box';
|
|
8
8
|
export { default as UploadWithCrop } from './upload-with-crop';
|
|
9
|
+
//# sourceMappingURL=out.js.map
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/upload/index.ts"],"names":["default"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAAoB,WAAXA,gBAAyB;AAClC,cAAc;AACd,SAAoB,WAAXA,gBAAuC;AAChD,cAAc;AACd,SAAoB,WAAXA,gBAAiC","sourcesContent":["export * from './components/preview-multi-file';\nexport * from './components/preview-single-file';\nexport * from './components/rejection-files';\nexport type * from './types';\nexport { default as Upload } from './Upload';\nexport * from './upload-avatar';\nexport { default as UploadAvatarWithCrop } from './upload-avatar-with-crop';\nexport * from './upload-box';\nexport { default as UploadWithCrop } from './upload-with-crop';\n"]}
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const useActiveElement = () => {
|
|
4
|
+
const [listenersReady, setListenersReady] = useState(false);
|
|
5
|
+
const [activeElement, setActiveElement] = useState(
|
|
6
|
+
document.activeElement
|
|
7
|
+
);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const onFocus = (event) => setActiveElement(event.target);
|
|
10
|
+
const onBlur = () => setActiveElement(null);
|
|
11
|
+
window.addEventListener("focus", onFocus, true);
|
|
12
|
+
window.addEventListener("blur", onBlur, true);
|
|
13
|
+
setListenersReady(true);
|
|
14
|
+
return () => {
|
|
15
|
+
window.removeEventListener("focus", onFocus);
|
|
16
|
+
window.removeEventListener("blur", onBlur);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
return {
|
|
20
|
+
activeElement,
|
|
21
|
+
listenersReady
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
var useActiveElement_default = useActiveElement;
|
|
4
25
|
|
|
5
|
-
export {
|
|
26
|
+
export { useActiveElement_default as default };
|
|
27
|
+
//# sourceMappingURL=out.js.map
|
|
28
|
+
//# sourceMappingURL=useActiveElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useActiveElement.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW,gBAAgB;AAEpC,MAAM,mBAAmB,MAAM;AAC7B,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAkB,KAAK;AACnE,QAAM,CAAC,eAAe,gBAAgB,IAAI;AAAA,IACxC,SAAS;AAAA,EACX;AAEA,YAAU,MAAM;AACd,UAAM,UAAU,CAAC,UACf,iBAAiB,MAAM,MAAiB;AAC1C,UAAM,SAAS,MAAM,iBAAiB,IAAI;AAE1C,WAAO,iBAAiB,SAAS,SAAS,IAAI;AAC9C,WAAO,iBAAiB,QAAQ,QAAQ,IAAI;AAE5C,sBAAkB,IAAI;AAEtB,WAAO,MAAM;AACX,aAAO,oBAAoB,SAAS,OAAO;AAC3C,aAAO,oBAAoB,QAAQ,MAAM;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEA,IAAO,2BAAQ","sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useActiveElement = () => {\n const [listenersReady, setListenersReady] = useState<boolean>(false);\n const [activeElement, setActiveElement] = useState<Element | null>(\n document.activeElement,\n );\n\n useEffect(() => {\n const onFocus = (event: FocusEvent) =>\n setActiveElement(event.target as Element);\n const onBlur = () => setActiveElement(null);\n\n window.addEventListener('focus', onFocus, true);\n window.addEventListener('blur', onBlur, true);\n\n setListenersReady(true);\n\n return () => {\n window.removeEventListener('focus', onFocus);\n window.removeEventListener('blur', onBlur);\n };\n }, []);\n\n return {\n activeElement,\n listenersReady,\n };\n};\n\nexport default useActiveElement;\n"]}
|
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
import { toast } from 'sonner';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const useApiMessage = () => {
|
|
4
|
+
const showSuccessMessage = (message) => {
|
|
5
|
+
toast.success(message);
|
|
6
|
+
};
|
|
7
|
+
const showErrorMessage = (error, message) => {
|
|
8
|
+
toast.error(apiErrorMessage(error, message));
|
|
9
|
+
};
|
|
10
|
+
return {
|
|
11
|
+
showSuccessMessage,
|
|
12
|
+
showErrorMessage
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
var useApiMessage_default = useApiMessage;
|
|
16
|
+
const apiErrorMessage = (error, defaultMessage) => {
|
|
17
|
+
try {
|
|
18
|
+
if ("message" in error)
|
|
19
|
+
return error.message || defaultMessage;
|
|
20
|
+
if ("data" in error) {
|
|
21
|
+
if (error.data && typeof error.data === "object" && "message" in error.data && typeof error.data.message === "string") {
|
|
22
|
+
return error.data.message;
|
|
23
|
+
}
|
|
24
|
+
return defaultMessage;
|
|
25
|
+
}
|
|
26
|
+
return defaultMessage;
|
|
27
|
+
} catch {
|
|
28
|
+
return defaultMessage;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
4
31
|
|
|
5
|
-
export {
|
|
32
|
+
export { useApiMessage_default as default };
|
|
33
|
+
//# sourceMappingURL=out.js.map
|
|
34
|
+
//# sourceMappingURL=useApiMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useApiMessage.ts"],"names":[],"mappings":"AACA,SAAS,aAAa;AAEtB,MAAM,gBAAgB,MAAM;AAC1B,QAAM,qBAAqB,CAAC,YAAoB;AAC9C,UAAM,QAAQ,OAAO;AAAA,EACvB;AAEA,QAAM,mBAAmB,CAAC,OAAY,YAAoB;AACxD,UAAM,MAAM,gBAAgB,OAAO,OAAO,CAAC;AAAA,EAC7C;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEA,IAAO,wBAAQ;AAEf,MAAM,kBAAkB,CAAC,OAAY,mBAA2B;AAC9D,MAAI;AACF,QAAI,aAAa;AAAO,aAAO,MAAM,WAAW;AAEhD,QAAI,UAAU,OAAO;AACnB,UACE,MAAM,QACN,OAAO,MAAM,SAAS,YACtB,aAAa,MAAM,QACnB,OAAO,MAAM,KAAK,YAAY,UAC9B;AACA,eAAO,MAAM,KAAK;AAAA,MACpB;AAEA,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT,QAAE;AACA,WAAO;AAAA,EACT;AACF","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { toast } from 'sonner';\n\nconst useApiMessage = () => {\n const showSuccessMessage = (message: string) => {\n toast.success(message);\n };\n\n const showErrorMessage = (error: any, message: string) => {\n toast.error(apiErrorMessage(error, message));\n };\n\n return {\n showSuccessMessage,\n showErrorMessage,\n };\n};\n\nexport default useApiMessage;\n\nconst apiErrorMessage = (error: any, defaultMessage: string) => {\n try {\n if ('message' in error) return error.message || defaultMessage;\n\n if ('data' in error) {\n if (\n error.data &&\n typeof error.data === 'object' &&\n 'message' in error.data &&\n typeof error.data.message === 'string'\n ) {\n return error.data.message;\n }\n\n return defaultMessage;\n }\n\n return defaultMessage;\n } catch {\n return defaultMessage;\n }\n};\n"]}
|