intelicoreact 1.8.5 → 1.8.7
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/Atomic/FormElements/Dropdown/components/DropdownLoader.jsx +1 -18
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.jsx +1 -121
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.jsx +1 -507
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.jsx +1 -46
- package/dist/Atomic/FormElements/NumericInput/NumericInput.jsx +1 -337
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.jsx +1 -66
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.jsx +1 -78
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.jsx +1 -54
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.jsx +1 -183
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.jsx +1 -0
- package/dist/Atomic/FormElements/RangeList/RangeList.jsx +1 -181
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.jsx +1 -41
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.jsx +1 -449
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.jsx +1 -865
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.jsx +1 -37
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.jsx +1 -48
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.jsx +1 -62
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.jsx +1 -175
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.jsx +1 -65
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.jsx +1 -118
- package/dist/Atomic/FormElements/Text/Text.jsx +1 -126
- package/dist/Atomic/FormElements/Textarea/Textarea.jsx +1 -61
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.jsx +1 -181
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.jsx +1 -60
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.jsx +1 -83
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.jsx +1 -80
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.jsx +1 -103
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.jsx +1 -115
- package/dist/Atomic/Layout/Header/Header.jsx +1 -86
- package/dist/Atomic/Layout/MainMenu/MainMenu.jsx +1 -164
- package/dist/Atomic/UI/AccordionTable/AccordionTable.jsx +1 -250
- package/dist/Atomic/UI/AccordionText/AccordionText.jsx +1 -68
- package/dist/Atomic/UI/Arrow/Arrow.jsx +1 -134
- package/dist/Atomic/UI/Box/Box.jsx +1 -53
- package/dist/Atomic/UI/Chart/Chart.jsx +1 -178
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.jsx +1 -78
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.jsx +1 -334
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.jsx +1 -111
- package/dist/Atomic/UI/DateTime/DateTime.jsx +1 -57
- package/dist/Atomic/UI/DebugContainer/DebugContainer.jsx +1 -44
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.jsx +1 -15
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.jsx +1 -223
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.jsx +1 -75
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.jsx +1 -86
- package/dist/Atomic/UI/PieChart/PieChart.jsx +1 -41
- package/dist/Atomic/UI/Table/Partials/TdCell.jsx +1 -87
- package/dist/Atomic/UI/Table/Partials/TdHeader.jsx +1 -36
- package/dist/Atomic/UI/Table/Partials/TdRow.jsx +1 -103
- package/dist/Atomic/UI/Table/Partials/TdTitle.jsx +1 -55
- package/dist/Atomic/UI/Table/Table.jsx +1 -63
- package/dist/Atomic/UI/Table/TdTypes/TdActions.jsx +1 -80
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.jsx +1 -26
- package/dist/Atomic/UI/Table/TdTypes/TdRange.jsx +1 -13
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.jsx +1 -56
- package/dist/Atomic/UI/TagList/TagList.jsx +1 -256
- package/dist/Atomic/UI/WizardStepper/constructor.jsx +1 -86
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.jsx +1 -254
- package/dist/Functions/customEventListener.jsx +1 -96
- package/dist/Functions/operations.jsx +1 -138
- package/dist/Functions/useFormTools/functions/RenderFields.jsx +1 -108
- package/dist/Functions/useFormTools/index.jsx +1 -777
- package/dist/Functions/usePasswordChecker.jsx +1 -128
- package/dist/Functions/utils.jsx +1 -492
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.jsx +1 -22
- package/dist/Molecular/CustomIcons/components/AlertCircle.jsx +1 -24
- package/dist/Molecular/CustomIcons/components/AppStore.jsx +1 -30
- package/dist/Molecular/CustomIcons/components/Arrow.jsx +1 -33
- package/dist/Molecular/CustomIcons/components/ArrowDown.jsx +1 -18
- package/dist/Molecular/CustomIcons/components/ArrowLeft.jsx +1 -23
- package/dist/Molecular/CustomIcons/components/ArrowRight.jsx +1 -23
- package/dist/Molecular/CustomIcons/components/ArrowUp.jsx +1 -18
- package/dist/Molecular/CustomIcons/components/Bell.jsx +1 -16
- package/dist/Molecular/CustomIcons/components/Button.jsx +1 -13
- package/dist/Molecular/CustomIcons/components/Campaigns.jsx +1 -17
- package/dist/Molecular/CustomIcons/components/Check.jsx +1 -15
- package/dist/Molecular/CustomIcons/components/Check2.jsx +1 -13
- package/dist/Molecular/CustomIcons/components/ChevronDown.jsx +1 -13
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.jsx +1 -12
- package/dist/Molecular/CustomIcons/components/ChevronLeft.jsx +1 -12
- package/dist/Molecular/CustomIcons/components/ChevronRight.jsx +1 -12
- package/dist/Molecular/CustomIcons/components/ChevronUp.jsx +1 -12
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.jsx +1 -28
- package/dist/Molecular/CustomIcons/components/Close.jsx +1 -15
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.jsx +1 -18
- package/dist/Molecular/CustomIcons/components/Delete.jsx +1 -17
- package/dist/Molecular/CustomIcons/components/Edit.jsx +1 -16
- package/dist/Molecular/CustomIcons/components/Email.jsx +1 -32
- package/dist/Molecular/CustomIcons/components/FinturfLogo.jsx +1 -19
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.jsx +1 -36
- package/dist/Molecular/CustomIcons/components/Flows.jsx +1 -16
- package/dist/Molecular/CustomIcons/components/Gift.jsx +1 -26
- package/dist/Molecular/CustomIcons/components/GoogleAuth.jsx +1 -30
- package/dist/Molecular/CustomIcons/components/GooglePlay.jsx +1 -30
- package/dist/Molecular/CustomIcons/components/HelpCircle.jsx +1 -20
- package/dist/Molecular/CustomIcons/components/HelpCircle2.jsx +1 -21
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.jsx +1 -20
- package/dist/Molecular/CustomIcons/components/Home.jsx +1 -17
- package/dist/Molecular/CustomIcons/components/Home2.jsx +1 -23
- package/dist/Molecular/CustomIcons/components/Key.jsx +1 -24
- package/dist/Molecular/CustomIcons/components/Landers.jsx +1 -21
- package/dist/Molecular/CustomIcons/components/Lock.jsx +1 -16
- package/dist/Molecular/CustomIcons/components/Mail.jsx +1 -27
- package/dist/Molecular/CustomIcons/components/Mastercard.jsx +1 -74
- package/dist/Molecular/CustomIcons/components/Minus.jsx +1 -26
- package/dist/Molecular/CustomIcons/components/Offers.jsx +1 -17
- package/dist/Molecular/CustomIcons/components/Pause.jsx +1 -29
- package/dist/Molecular/CustomIcons/components/PayPal.jsx +1 -42
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.jsx +1 -29
- package/dist/Molecular/CustomIcons/components/Phone.jsx +1 -31
- package/dist/Molecular/CustomIcons/components/Play.jsx +1 -26
- package/dist/Molecular/CustomIcons/components/Plus.jsx +1 -26
- package/dist/Molecular/CustomIcons/components/Profile.jsx +1 -17
- package/dist/Molecular/CustomIcons/components/QRCode.jsx +1 -30
- package/dist/Molecular/CustomIcons/components/Rectangle.jsx +1 -13
- package/dist/Molecular/CustomIcons/components/Revert.jsx +1 -14
- package/dist/Molecular/CustomIcons/components/Star.jsx +1 -15
- package/dist/Molecular/CustomIcons/components/Star2.jsx +1 -17
- package/dist/Molecular/CustomIcons/components/TrafficSources.jsx +1 -15
- package/dist/Molecular/CustomIcons/components/Trash.jsx +1 -16
- package/dist/Molecular/CustomIcons/components/TrashRed.jsx +1 -16
- package/dist/Molecular/CustomIcons/components/Triggers.jsx +1 -16
- package/dist/Molecular/CustomIcons/components/User.jsx +1 -26
- package/dist/Molecular/CustomIcons/components/Visa.jsx +1 -32
- package/dist/Molecular/CustomIcons/components/X.jsx +1 -13
- package/dist/Molecular/FormElement/FormElement.jsx +1 -52
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.jsx +1 -161
- package/dist/Molecular/InputAddress/InputAddress.jsx +1 -641
- package/dist/Molecular/InputPassword/InputPassword.jsx +1 -50
- package/package.json +1 -1
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +0 -1
- /package/dist/Atomic/FormElements/ActionAlert/{ActionAlert.js → ActionAlert.jsx} +0 -0
- /package/dist/Atomic/FormElements/AdvancedStatus/{AdvancedStatus.js → AdvancedStatus.jsx} +0 -0
- /package/dist/Atomic/FormElements/Calendar/{Calendar.js → Calendar.jsx} +0 -0
- /package/dist/Atomic/FormElements/Calendar/{Calendar.props.js → Calendar.props.jsx} +0 -0
- /package/dist/Atomic/FormElements/CheckboxInput/{CheckboxInput.js → CheckboxInput.jsx} +0 -0
- /package/dist/Atomic/FormElements/CheckboxesLine/{CheckboxesLine.js → CheckboxesLine.jsx} +0 -0
- /package/dist/Atomic/FormElements/Datepicker/{Datepicker.js → Datepicker.jsx} +0 -0
- /package/dist/Atomic/FormElements/Datepicker/{Datepicker.props.js → Datepicker.props.jsx} +0 -0
- /package/dist/Atomic/FormElements/Datepicker/components/{DatepickerCalendar.js → DatepickerCalendar.jsx} +0 -0
- /package/dist/Atomic/FormElements/Datepicker/components/{DatepickerCalendar.props.js → DatepickerCalendar.props.jsx} +0 -0
- /package/dist/Atomic/FormElements/Dropdown/{Dropdown.js → Dropdown.jsx} +0 -0
- /package/dist/Atomic/FormElements/DropdownLiveSearch/{DropdownLiveSearch.js → DropdownLiveSearch.jsx} +0 -0
- /package/dist/Atomic/FormElements/FileLoader/{FileLoader.js → FileLoader.jsx} +0 -0
- /package/dist/Atomic/FormElements/FileLoader/partial/{LoadZone.js → LoadZone.jsx} +0 -0
- /package/dist/Atomic/FormElements/FileLoader/partial/{LoadedContent.js → LoadedContent.jsx} +0 -0
- /package/dist/Atomic/FormElements/FileLoaderDescription/{FileLoaderDescription.js → FileLoaderDescription.jsx} +0 -0
- /package/dist/Atomic/FormElements/FileLoaderLocal/{FileLoaderLocal.js → FileLoaderLocal.jsx} +0 -0
- /package/dist/Atomic/FormElements/FileLoaderLocalGroup/{FileLoaderLocalGroup.js → FileLoaderLocalGroup.jsx} +0 -0
- /package/dist/Atomic/FormElements/FormattedRawSSN/{FormattedRawSSN.js → FormattedRawSSN.jsx} +0 -0
- /package/dist/Atomic/FormElements/Input/{Input.js → Input.jsx} +0 -0
- /package/dist/Atomic/FormElements/Input/hooks/{useErrorBlink.js → useErrorBlink.jsx} +0 -0
- /package/dist/Atomic/FormElements/Input/hooks/{useInputFocus.js → useInputFocus.jsx} +0 -0
- /package/dist/Atomic/FormElements/Input/hooks/{useInputHover.js → useInputHover.jsx} +0 -0
- /package/dist/Atomic/FormElements/Input/hooks/{useInputValueProcessing.js → useInputValueProcessing.jsx} +0 -0
- /package/dist/Atomic/FormElements/Input/hooks/{useKeyboardHandling.js → useKeyboardHandling.jsx} +0 -0
- /package/dist/Atomic/FormElements/Input/lib/{autocomplete.js → autocomplete.jsx} +0 -0
- /package/dist/Atomic/FormElements/Input/{types.js → types.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputCalendar/{InputCalendar.js → InputCalendar.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputColor/{InputColor.js → InputColor.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputCurrency/{InputCurrency.js → InputCurrency.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputDateRange/{InputDateRange.js → InputDateRange.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputDateRange/components/{DateInput.js → DateInput.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputDateRange/components/{Datepicker.js → Datepicker.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputDateRange/components/{OpenedPart.js → OpenedPart.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputDateRange/components/{SelectItem.js → SelectItem.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputDateRange/{dependencies.js → dependencies.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputLink/{InputLink.js → InputLink.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputMask/{InputMask.js → InputMask.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputMask3/{InputMask3.js → InputMask3.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputMask3/{config.js → config.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputMask3/{functions.js → functions.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputWithAction/{InputWithAction.js → InputWithAction.jsx} +0 -0
- /package/dist/Atomic/FormElements/InputsRow/{InputsRow.js → InputsRow.jsx} +0 -0
- /package/dist/Atomic/FormElements/Label/{Label.js → Label.jsx} +0 -0
- /package/dist/Atomic/FormElements/RadioInput/{RadioInput.js → RadioInput.jsx} +0 -0
- /package/dist/Atomic/FormElements/Switcher/{Switcher.js → Switcher.jsx} +0 -0
- /package/dist/Atomic/FormElements/SwitcherHide/{SwitcherHide.js → SwitcherHide.jsx} +0 -0
- /package/dist/Atomic/FormElements/SwitcherRadio/{SwitcherRadio.js → SwitcherRadio.jsx} +0 -0
- /package/dist/Atomic/FormElements/SwitcherRange/{SwitcherRange.js → SwitcherRange.jsx} +0 -0
- /package/dist/Atomic/FormElements/TagsDropdown/{TagsDropdown.js → TagsDropdown.jsx} +0 -0
- /package/dist/Atomic/FormElements/TextSwitcher/{TextSwitcher.js → TextSwitcher.jsx} +0 -0
- /package/dist/Atomic/FormElements/TimeRange/{TimeRange.js → TimeRange.jsx} +0 -0
- /package/dist/Atomic/FormElements/UserContacts/{UserContacts.js → UserContacts.jsx} +0 -0
- /package/dist/Atomic/Layout/Spinner/{Spinner.js → Spinner.jsx} +0 -0
- /package/dist/Atomic/UI/Accordion/{Accordion.js → Accordion.jsx} +0 -0
- /package/dist/Atomic/UI/Accordion/{AccordionItem.js → AccordionItem.jsx} +0 -0
- /package/dist/Atomic/UI/AdvancedTag/{AdvTag.js → AdvTag.jsx} +0 -0
- /package/dist/Atomic/UI/AdvancedTag/{AdvancedTags.js → AdvancedTags.jsx} +0 -0
- /package/dist/Atomic/UI/Alert/{Alert.js → Alert.jsx} +0 -0
- /package/dist/Atomic/UI/Button/{Button.js → Button.jsx} +0 -0
- /package/dist/Atomic/UI/ButtonsBar/{ButtonsBar.js → ButtonsBar.jsx} +0 -0
- /package/dist/Atomic/UI/DoubleString/{DoubleString.js → DoubleString.jsx} +0 -0
- /package/dist/Atomic/UI/DynamicIcon/{DynamicIcon.js → DynamicIcon.jsx} +0 -0
- /package/dist/Atomic/UI/Hint/{Hint.js → Hint.jsx} +0 -0
- /package/dist/Atomic/UI/Hint/partials/{_constants.js → _constants.jsx} +0 -0
- /package/dist/Atomic/UI/Hint/partials/{_utils.js → _utils.jsx} +0 -0
- /package/dist/Atomic/UI/Modal/{Modal.js → Modal.jsx} +0 -0
- /package/dist/Atomic/UI/Modal/{ModalHOC.js → ModalHOC.jsx} +0 -0
- /package/dist/Atomic/UI/Modal/partials/{ModalFooter.js → ModalFooter.jsx} +0 -0
- /package/dist/Atomic/UI/Modal/partials/{ModalTitle.js → ModalTitle.jsx} +0 -0
- /package/dist/Atomic/UI/Modal/partials/{_constants.js → _constants.jsx} +0 -0
- /package/dist/Atomic/UI/Modal/partials/{_utils.js → _utils.jsx} +0 -0
- /package/dist/Atomic/UI/Modal/partials/{useMobileModal.js → useMobileModal.jsx} +0 -0
- /package/dist/Atomic/UI/NavLine/{NavLine.js → NavLine.jsx} +0 -0
- /package/dist/Atomic/UI/PageTitle/{PageTitle.js → PageTitle.jsx} +0 -0
- /package/dist/Atomic/UI/Price/{Price.js → Price.jsx} +0 -0
- /package/dist/Atomic/UI/PriceRange/{PriceRange.js → PriceRange.jsx} +0 -0
- /package/dist/Atomic/UI/ProgressLine/{ProgressLine.js → ProgressLine.jsx} +0 -0
- /package/dist/Atomic/UI/Status/{Status.js → Status.jsx} +0 -0
- /package/dist/Atomic/UI/Tag/{Tag.js → Tag.jsx} +0 -0
- /package/dist/Atomic/UI/UserBox/{UserBox.js → UserBox.jsx} +0 -0
- /package/dist/Atomic/UI/WizardStepper/ui/StateIcon/{StateIcon.js → StateIcon.jsx} +0 -0
- /package/dist/Atomic/UI/WizardStepper/ui/StepRow/{StepRow.js → StepRow.jsx} +0 -0
- /package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/{StepWrapper.js → StepWrapper.jsx} +0 -0
- /package/dist/Atomic/UI/WizardStepper/ui/{icons.js → icons.jsx} +0 -0
- /package/dist/Functions/guards/{assertions.js → assertions.jsx} +0 -0
- /package/dist/Functions/guards/{safeValue.js → safeValue.jsx} +0 -0
- /package/dist/Functions/guards/{typeGuards.js → typeGuards.jsx} +0 -0
- /package/dist/Functions/useIsMobile/{useIsMobile.js → useIsMobile.jsx} +0 -0
- /package/dist/Functions/useKeyPress/{useHandleKeyPress.js → useHandleKeyPress.jsx} +0 -0
- /package/dist/Functions/useKeyPress/{useKeyPress.js → useKeyPress.jsx} +0 -0
- /package/dist/Functions/utils/{disableDefaultBehavior.js → disableDefaultBehavior.jsx} +0 -0
- /package/dist/Functions/utils/{getLimitedMask.js → getLimitedMask.jsx} +0 -0
- /package/dist/types/declaration/TWithEventManagementAsObj/innerTypes/{Modal.js → Modal.jsx} +0 -0
|
@@ -1,115 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import './WidgetWithSwitchableRows.scss';
|
|
4
|
-
|
|
5
|
-
const RC = 'widget-with-switchable-rows';
|
|
6
|
-
|
|
7
|
-
function WidgetWithSwitchableRows(props) {
|
|
8
|
-
const {
|
|
9
|
-
className,
|
|
10
|
-
title,
|
|
11
|
-
rightHeaderContent,
|
|
12
|
-
nullContentData,
|
|
13
|
-
|
|
14
|
-
columns = [],
|
|
15
|
-
rows,
|
|
16
|
-
CellComponent,
|
|
17
|
-
CellComponentProps,
|
|
18
|
-
onChange,
|
|
19
|
-
isNoHeader = false,
|
|
20
|
-
} = props || {};
|
|
21
|
-
|
|
22
|
-
const preperedColumns = [
|
|
23
|
-
{ ...columns[0], key: 'isActive', type: 'switcher' },
|
|
24
|
-
...columns.slice(1),
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<div className={cn(RC, className)}>
|
|
29
|
-
{!isNoHeader && (
|
|
30
|
-
<div className={cn(`${RC}__header`)}>
|
|
31
|
-
<div className={cn(`${RC}__title-block`)}>{title}</div>
|
|
32
|
-
<div className={cn(`${RC}__right-header-content-block`)}>
|
|
33
|
-
{rightHeaderContent}
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
)}
|
|
37
|
-
<div
|
|
38
|
-
className={cn(`${RC}__body`, {
|
|
39
|
-
[`${RC}__body_no-content`]: !rows?.length,
|
|
40
|
-
})}
|
|
41
|
-
>
|
|
42
|
-
{Boolean(rows?.length) && (
|
|
43
|
-
<div className={cn(`${RC}__thead`)}>
|
|
44
|
-
{preperedColumns.map(field => (
|
|
45
|
-
<div
|
|
46
|
-
key={`thead-${field.key}`}
|
|
47
|
-
className={cn(
|
|
48
|
-
`${RC}__thead-cell`,
|
|
49
|
-
field.theadCellClassName,
|
|
50
|
-
field.columnClassName,
|
|
51
|
-
{
|
|
52
|
-
[`${RC}__thead-cell_reqiured`]: field.isRequired,
|
|
53
|
-
},
|
|
54
|
-
)}
|
|
55
|
-
data-key={field.key}
|
|
56
|
-
>
|
|
57
|
-
{field.label}
|
|
58
|
-
</div>
|
|
59
|
-
))}
|
|
60
|
-
</div>
|
|
61
|
-
)}
|
|
62
|
-
|
|
63
|
-
<div className={cn(`${RC}__table`)}>
|
|
64
|
-
{rows?.length
|
|
65
|
-
? (
|
|
66
|
-
rows.map(row => (
|
|
67
|
-
<div
|
|
68
|
-
key={`row-${row.id}`}
|
|
69
|
-
className={cn(`${RC}__row`)}
|
|
70
|
-
data-id={row.id}
|
|
71
|
-
>
|
|
72
|
-
{preperedColumns.map(cell => (
|
|
73
|
-
<div
|
|
74
|
-
key={`row-${row.id}-cell-${cell.key}`}
|
|
75
|
-
className={cn(
|
|
76
|
-
`${RC}__cell`,
|
|
77
|
-
cell.cellClassName,
|
|
78
|
-
cell.columnClassName,
|
|
79
|
-
)}
|
|
80
|
-
>
|
|
81
|
-
<CellComponent
|
|
82
|
-
{...CellComponentProps}
|
|
83
|
-
field={{
|
|
84
|
-
...cell,
|
|
85
|
-
value: row[cell.key],
|
|
86
|
-
rowData: row,
|
|
87
|
-
...(cell.key === 'isActive'
|
|
88
|
-
? {
|
|
89
|
-
disabled: cell.disabled,
|
|
90
|
-
label: row.label,
|
|
91
|
-
isActive: row.isActive,
|
|
92
|
-
}
|
|
93
|
-
: { disabled: !row.isActive, label: cell.label }),
|
|
94
|
-
}}
|
|
95
|
-
onChange={(key, value, propName, innerFieldKey, additional) => onChange({ value, additional, propName, innerFieldKey, key: cell.key || key, rowId: row.id })}
|
|
96
|
-
/>
|
|
97
|
-
</div>
|
|
98
|
-
))}
|
|
99
|
-
</div>
|
|
100
|
-
))
|
|
101
|
-
)
|
|
102
|
-
: (
|
|
103
|
-
<div className={cn(`${RC}__row`)} data-id="empty-row">
|
|
104
|
-
<span className={cn(`${RC}__no-data-content`)}>
|
|
105
|
-
{nullContentData ?? 'No data'}
|
|
106
|
-
</span>
|
|
107
|
-
</div>
|
|
108
|
-
)}
|
|
109
|
-
</div>
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export default WidgetWithSwitchableRows;
|
|
1
|
+
function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{},a=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),a.forEach(function(n){t(e,n,r[n])})}return e}function r(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}import{jsx as a,jsxs as c}from"react/jsx-runtime";import o from"classnames";import"./WidgetWithSwitchableRows.scss";var i="widget-with-switchable-rows";export default function(l){var s,d=l||{},u=d.className,m=d.title,b=d.rightHeaderContent,y=d.nullContentData,f=d.columns,p=void 0===f?[]:f,h=d.rows,v=d.CellComponent,_=d.CellComponentProps,w=d.onChange,g=d.isNoHeader,O=[r(n({},p[0]),{key:"isActive",type:"switcher"})].concat(function(t){if(Array.isArray(t))return e(t)}(s=p.slice(1))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(s)||function(t,n){if(t){if("string"==typeof t)return e(t,void 0);var r=Object.prototype.toString.call(t).slice(8,-1);if("Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}}(s)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());return c("div",{className:o(i,u),children:[!(void 0!==g&&g)&&c("div",{className:o("".concat(i,"__header")),children:[a("div",{className:o("".concat(i,"__title-block")),children:m}),a("div",{className:o("".concat(i,"__right-header-content-block")),children:b})]}),c("div",{className:o("".concat(i,"__body"),t({},"".concat(i,"__body_no-content"),!(null==h?void 0:h.length))),children:[!!(null==h?void 0:h.length)&&a("div",{className:o("".concat(i,"__thead")),children:O.map(function(e){return a("div",{className:o("".concat(i,"__thead-cell"),e.theadCellClassName,e.columnClassName,t({},"".concat(i,"__thead-cell_reqiured"),e.isRequired)),"data-key":e.key,children:e.label},"thead-".concat(e.key))})}),a("div",{className:o("".concat(i,"__table")),children:(null==h?void 0:h.length)?h.map(function(e){return a("div",{className:o("".concat(i,"__row")),"data-id":e.id,children:O.map(function(t){return a("div",{className:o("".concat(i,"__cell"),t.cellClassName,t.columnClassName),children:a(v,r(n({},_),{field:n(r(n({},t),{value:e[t.key],rowData:e}),"isActive"===t.key?{disabled:t.disabled,label:e.label,isActive:e.isActive}:{disabled:!e.isActive,label:t.label}),onChange:function(n,r,a,c,o){return w({value:r,additional:o,propName:a,innerFieldKey:c,key:t.key||n,rowId:e.id})}}))},"row-".concat(e.id,"-cell-").concat(t.key))})},"row-".concat(e.id))}):a("div",{className:o("".concat(i,"__row")),"data-id":"empty-row",children:a("span",{className:o("".concat(i,"__no-data-content")),children:null!=y?y:"No data"})})})]})]})}
|
|
@@ -1,86 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { useRef, useState } from 'react';
|
|
4
|
-
import { Bell, ChevronRight, Power } from 'react-feather';
|
|
5
|
-
|
|
6
|
-
import Hint from '../../UI/Hint/Hint';
|
|
7
|
-
|
|
8
|
-
import './Header.scss';
|
|
9
|
-
|
|
10
|
-
function Header({
|
|
11
|
-
className,
|
|
12
|
-
name = 'John',
|
|
13
|
-
surname = 'Silver',
|
|
14
|
-
status = 'admin',
|
|
15
|
-
img = '',
|
|
16
|
-
hintLabel = 'Help',
|
|
17
|
-
hintText = 'Hint text',
|
|
18
|
-
}) {
|
|
19
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
20
|
-
|
|
21
|
-
const userMenu = useRef(null);
|
|
22
|
-
|
|
23
|
-
const handle = {
|
|
24
|
-
toggleMenu: () => {
|
|
25
|
-
if (!isOpen) setIsOpen(!isOpen);
|
|
26
|
-
},
|
|
27
|
-
closeMenu: () => {
|
|
28
|
-
setTimeout(() => setIsOpen(false), 50);
|
|
29
|
-
},
|
|
30
|
-
logout: () => {
|
|
31
|
-
handle.toggleMenu();
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
return (
|
|
36
|
-
<header className={cn('header', className)}>
|
|
37
|
-
<div className="df">
|
|
38
|
-
<Hint
|
|
39
|
-
side="bottom"
|
|
40
|
-
hint={hintText}
|
|
41
|
-
className="header__hint"
|
|
42
|
-
label={hintLabel}
|
|
43
|
-
iconOutline
|
|
44
|
-
/>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<div className="j6 user-menu">
|
|
48
|
-
<div onClick={() => {}} className="header--bell">
|
|
49
|
-
<Bell className="header--bell-icon" />
|
|
50
|
-
<div className="header--bell-notification-icon" />
|
|
51
|
-
</div>
|
|
52
|
-
|
|
53
|
-
<div className="header--user-ava">
|
|
54
|
-
<img src={img} alt="" />
|
|
55
|
-
</div>
|
|
56
|
-
|
|
57
|
-
<div className="dfc mr10">
|
|
58
|
-
<span className="header--user-name">
|
|
59
|
-
{name}
|
|
60
|
-
{' '}
|
|
61
|
-
{surname}
|
|
62
|
-
</span>
|
|
63
|
-
<span className="header--user-status">{status}</span>
|
|
64
|
-
</div>
|
|
65
|
-
|
|
66
|
-
<ChevronRight
|
|
67
|
-
onClick={handle.toggleMenu}
|
|
68
|
-
className={cn('accordion--title-chevron', {
|
|
69
|
-
'accordion--title-chevron-open': isOpen,
|
|
70
|
-
})}
|
|
71
|
-
/>
|
|
72
|
-
{isOpen && (
|
|
73
|
-
<div className="user-menu__dropdown" ref={userMenu}>
|
|
74
|
-
<div className="user-menu__item" onClick={handle.logout}>
|
|
75
|
-
<Power className="mr10" />
|
|
76
|
-
{' '}
|
|
77
|
-
Logout
|
|
78
|
-
</div>
|
|
79
|
-
</div>
|
|
80
|
-
)}
|
|
81
|
-
</div>
|
|
82
|
-
</header>
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export default Header;
|
|
1
|
+
function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}import{jsx as r,jsxs as t}from"react/jsx-runtime";import n from"classnames";import{useRef as a,useState as i}from"react";import{Bell as o,ChevronRight as l,Power as s}from"react-feather";import c from"../../UI/Hint/Hint";import"./Header.scss";export default function(u){var m,d=u.className,f=u.name,h=u.surname,v=u.status,p=u.img,g=u.hintLabel,y=u.hintText,N=(m=i(!1),function(e){if(Array.isArray(e))return e}(m)||function(e,r){var t,n,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i=[],o=!0,l=!1;try{for(a=a.call(e);!(o=(t=a.next()).done)&&(i.push(t.value),i.length!==r);o=!0);}catch(e){l=!0,n=e}finally{try{o||null==a.return||a.return()}finally{if(l)throw n}}return i}}(m,2)||function(r,t){if(r){if("string"==typeof r)return e(r,2);var n=Object.prototype.toString.call(r).slice(8,-1);if("Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(r,t)}}(m,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),b=N[0],j=N[1],x=a(null),A={toggleMenu:function(){b||j(!b)},closeMenu:function(){setTimeout(function(){return j(!1)},50)},logout:function(){A.toggleMenu()}};return t("header",{className:n("header",d),children:[r("div",{className:"df",children:r(c,{side:"bottom",hint:void 0===y?"Hint text":y,className:"header__hint",label:void 0===g?"Help":g,iconOutline:!0})}),t("div",{className:"j6 user-menu",children:[t("div",{onClick:function(){},className:"header--bell",children:[r(o,{className:"header--bell-icon"}),r("div",{className:"header--bell-notification-icon"})]}),r("div",{className:"header--user-ava",children:r("img",{src:void 0===p?"":p,alt:""})}),t("div",{className:"dfc mr10",children:[t("span",{className:"header--user-name",children:[void 0===f?"John":f," ",void 0===h?"Silver":h]}),r("span",{className:"header--user-status",children:void 0===v?"admin":v})]}),r(l,{onClick:A.toggleMenu,className:n("accordion--title-chevron",{"accordion--title-chevron-open":b})}),b&&r("div",{className:"user-menu__dropdown",ref:x,children:t("div",{className:"user-menu__item",onClick:A.logout,children:[r(s,{className:"mr10"})," ","Logout"]})})]})]})}
|
|
@@ -1,164 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { useState } from 'react';
|
|
4
|
-
import * as Icons from 'react-feather';
|
|
5
|
-
import { NavLink } from 'react-router-dom';
|
|
6
|
-
|
|
7
|
-
import Langs from '../../../Langs';
|
|
8
|
-
import Accordion from '../../UI/Accordion/Accordion';
|
|
9
|
-
|
|
10
|
-
import './MainMenu.scss';
|
|
11
|
-
|
|
12
|
-
function MainMenu(props) {
|
|
13
|
-
const { items, className } = props;
|
|
14
|
-
const txt = Langs[globalThis.lng];
|
|
15
|
-
const [isOpen, setIsOpen] = useState(true);
|
|
16
|
-
const [isMenuHovered, setIsMenuHovered] = useState(false);
|
|
17
|
-
const [isMenuIconHovered, setIsMenuIconHovered] = useState(false);
|
|
18
|
-
|
|
19
|
-
const chapterClass = cn('main-menu--items-box-chapter', {
|
|
20
|
-
'main-menu--items-box-chapter-hidden': !isOpen && !isMenuHovered,
|
|
21
|
-
});
|
|
22
|
-
const accordionClass = cn('main-menu--accordion', {
|
|
23
|
-
'main-menu--accordion-hidden': !isOpen && !isMenuHovered,
|
|
24
|
-
});
|
|
25
|
-
const itemsBoxClass = cn('main-menu--items-box', {
|
|
26
|
-
'main-menu--items-box-closed': !isOpen && !isMenuHovered,
|
|
27
|
-
});
|
|
28
|
-
const mainMenuClass = cn('main-menu', className, {
|
|
29
|
-
'main-menu--closed': !isOpen && !isMenuHovered,
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
const onMenuHover = () => {
|
|
33
|
-
if (!isOpen) {
|
|
34
|
-
setIsMenuHovered(!isMenuHovered);
|
|
35
|
-
items.mainMenu.forEach((item) => {
|
|
36
|
-
item.isOpen = false;
|
|
37
|
-
});
|
|
38
|
-
items.partners.forEach((item) => {
|
|
39
|
-
item.isOpen = false;
|
|
40
|
-
});
|
|
41
|
-
items.other.forEach((item) => {
|
|
42
|
-
item.isOpen = false;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const onCloseMenu = () => {
|
|
48
|
-
setIsOpen(!isOpen);
|
|
49
|
-
items.mainMenu.forEach((item) => {
|
|
50
|
-
item.isOpen = false;
|
|
51
|
-
});
|
|
52
|
-
items.partners.forEach((item) => {
|
|
53
|
-
item.isOpen = false;
|
|
54
|
-
});
|
|
55
|
-
items.other.forEach((item) => {
|
|
56
|
-
item.isOpen = false;
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const changeMenuIcon = () => {
|
|
61
|
-
if (isOpen && !isMenuIconHovered) return <Icons.Menu />;
|
|
62
|
-
if (isOpen && isMenuIconHovered) return <Icons.ChevronLeft />;
|
|
63
|
-
if (!isOpen && isMenuHovered) return <Icons.ChevronRight />;
|
|
64
|
-
if (!isOpen) return <div className="main-menu--logo-close" />;
|
|
65
|
-
return null;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
return (
|
|
69
|
-
<div
|
|
70
|
-
className={mainMenuClass}
|
|
71
|
-
onMouseEnter={() => onMenuHover()}
|
|
72
|
-
onMouseLeave={() => setIsMenuHovered(false)}
|
|
73
|
-
>
|
|
74
|
-
<div
|
|
75
|
-
className={cn('main-menu--header', {
|
|
76
|
-
'main-menu--header-closed': !isOpen && !isMenuHovered,
|
|
77
|
-
})}
|
|
78
|
-
>
|
|
79
|
-
<div
|
|
80
|
-
className={cn('main-menu--logo', {
|
|
81
|
-
'main-menu--logo-none': !isOpen && !isMenuHovered,
|
|
82
|
-
})}
|
|
83
|
-
/>
|
|
84
|
-
<div className="main-menu--header-btn" onClick={() => onCloseMenu()}>
|
|
85
|
-
<div
|
|
86
|
-
className="j5"
|
|
87
|
-
onMouseEnter={() => setIsMenuIconHovered(true)}
|
|
88
|
-
onMouseLeave={() => setIsMenuIconHovered(false)}
|
|
89
|
-
>
|
|
90
|
-
{changeMenuIcon()}
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
</div>
|
|
94
|
-
|
|
95
|
-
<div className={itemsBoxClass}>
|
|
96
|
-
<div className={cn('main-menu--items-box-main')}>
|
|
97
|
-
{items.main.map((item, index) => {
|
|
98
|
-
const Icon = Icons[item.icon];
|
|
99
|
-
return item.link
|
|
100
|
-
? (
|
|
101
|
-
<NavLink
|
|
102
|
-
to={item.link}
|
|
103
|
-
key={index}
|
|
104
|
-
className={cn('main-menu--items-box-title')}
|
|
105
|
-
>
|
|
106
|
-
<div className="main-menu--item">
|
|
107
|
-
<div className="df">
|
|
108
|
-
<Icon className={cn('mr5', item.className)} />
|
|
109
|
-
</div>
|
|
110
|
-
<span className={cn({ hidden: !isOpen && !isMenuHovered })}>
|
|
111
|
-
{item?.title || 'Link'}
|
|
112
|
-
</span>
|
|
113
|
-
</div>
|
|
114
|
-
</NavLink>
|
|
115
|
-
)
|
|
116
|
-
: (
|
|
117
|
-
<span
|
|
118
|
-
key={index}
|
|
119
|
-
className={cn('main-menu--items-box-title', {
|
|
120
|
-
hidden: !isOpen && !isMenuHovered,
|
|
121
|
-
})}
|
|
122
|
-
>
|
|
123
|
-
{txt?.titles[item?.title]}
|
|
124
|
-
</span>
|
|
125
|
-
);
|
|
126
|
-
})}
|
|
127
|
-
</div>
|
|
128
|
-
|
|
129
|
-
<div className={chapterClass}>
|
|
130
|
-
<span>Main menu</span>
|
|
131
|
-
</div>
|
|
132
|
-
<Accordion
|
|
133
|
-
className={accordionClass}
|
|
134
|
-
items={items.mainMenu}
|
|
135
|
-
onClick={() => {}}
|
|
136
|
-
/>
|
|
137
|
-
|
|
138
|
-
<div className={chapterClass}>
|
|
139
|
-
<span>Partners</span>
|
|
140
|
-
</div>
|
|
141
|
-
<Accordion
|
|
142
|
-
isOpen={isOpen}
|
|
143
|
-
isMenuHovered={isMenuHovered}
|
|
144
|
-
className={accordionClass}
|
|
145
|
-
items={items.partners}
|
|
146
|
-
onClick={() => {}}
|
|
147
|
-
/>
|
|
148
|
-
|
|
149
|
-
<div className={chapterClass}>
|
|
150
|
-
<span>Other</span>
|
|
151
|
-
</div>
|
|
152
|
-
<Accordion
|
|
153
|
-
className={accordionClass}
|
|
154
|
-
isOpen={isOpen}
|
|
155
|
-
isMenuHovered={isMenuHovered}
|
|
156
|
-
items={items.other}
|
|
157
|
-
onClick={() => {}}
|
|
158
|
-
/>
|
|
159
|
-
</div>
|
|
160
|
-
</div>
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
export default MainMenu;
|
|
1
|
+
function n(n,e){(null==e||e>n.length)&&(e=n.length);for(var i=0,r=Array(e);i<e;i++)r[i]=n[i];return r}function e(e,i){return function(n){if(Array.isArray(n))return n}(e)||function(n,e){var i,r,t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var a=[],o=!0,s=!1;try{for(t=t.call(n);!(o=(i=t.next()).done)&&(a.push(i.value),!e||a.length!==e);o=!0);}catch(n){s=!0,r=n}finally{try{o||null==t.return||t.return()}finally{if(s)throw r}}return a}}(e,i)||function(e,i){if(e){if("string"==typeof e)return n(e,i);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,i)}}(e,i)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}import{jsx as i,jsxs as r}from"react/jsx-runtime";import t from"classnames";import{useState as a}from"react";import*as o from"react-feather";import{NavLink as s}from"react-router-dom";import c from"../../../Langs";import m from"../../UI/Accordion/Accordion";import"./MainMenu.scss";export default function(n){var l=n.items,u=n.className,d=c[globalThis.lng],f=e(a(!0),2),h=f[0],p=f[1],v=e(a(!1),2),N=v[0],b=v[1],y=e(a(!1),2),M=y[0],g=y[1],x=t("main-menu--items-box-chapter",{"main-menu--items-box-chapter-hidden":!h&&!N}),O=t("main-menu--accordion",{"main-menu--accordion-hidden":!h&&!N}),E=t("main-menu--items-box",{"main-menu--items-box-closed":!h&&!N}),A=t("main-menu",u,{"main-menu--closed":!h&&!N}),j=function(){h||(b(!N),l.mainMenu.forEach(function(n){n.isOpen=!1}),l.partners.forEach(function(n){n.isOpen=!1}),l.other.forEach(function(n){n.isOpen=!1}))},k=function(){p(!h),l.mainMenu.forEach(function(n){n.isOpen=!1}),l.partners.forEach(function(n){n.isOpen=!1}),l.other.forEach(function(n){n.isOpen=!1})};return r("div",{className:A,onMouseEnter:function(){return j()},onMouseLeave:function(){return b(!1)},children:[r("div",{className:t("main-menu--header",{"main-menu--header-closed":!h&&!N}),children:[i("div",{className:t("main-menu--logo",{"main-menu--logo-none":!h&&!N})}),i("div",{className:"main-menu--header-btn",onClick:function(){return k()},children:i("div",{className:"j5",onMouseEnter:function(){return g(!0)},onMouseLeave:function(){return g(!1)},children:h&&!M?i(o.Menu,{}):h&&M?i(o.ChevronLeft,{}):!h&&N?i(o.ChevronRight,{}):h?null:i("div",{className:"main-menu--logo-close"})})})]}),r("div",{className:E,children:[i("div",{className:t("main-menu--items-box-main"),children:l.main.map(function(n,e){var a=o[n.icon];return n.link?i(s,{to:n.link,className:t("main-menu--items-box-title"),children:r("div",{className:"main-menu--item",children:[i("div",{className:"df",children:i(a,{className:t("mr5",n.className)})}),i("span",{className:t({hidden:!h&&!N}),children:(null==n?void 0:n.title)||"Link"})]})},e):i("span",{className:t("main-menu--items-box-title",{hidden:!h&&!N}),children:null==d?void 0:d.titles[null==n?void 0:n.title]},e)})}),i("div",{className:x,children:i("span",{children:"Main menu"})}),i(m,{className:O,items:l.mainMenu,onClick:function(){}}),i("div",{className:x,children:i("span",{children:"Partners"})}),i(m,{isOpen:h,isMenuHovered:N,className:O,items:l.partners,onClick:function(){}}),i("div",{className:x,children:i("span",{children:"Other"})}),i(m,{className:O,isOpen:h,isMenuHovered:N,items:l.other,onClick:function(){}})]})]})}
|
|
@@ -1,250 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { useEffect, useState } from 'react';
|
|
4
|
-
import { ArrowDown, ArrowUp, ChevronDown, Tag } from 'react-feather';
|
|
5
|
-
|
|
6
|
-
import MonoAccordion from '../MonoAccordion/MonoAccordion';
|
|
7
|
-
|
|
8
|
-
import './AccordionTable.scss';
|
|
9
|
-
|
|
10
|
-
function AccordionTable({
|
|
11
|
-
className,
|
|
12
|
-
header,
|
|
13
|
-
items,
|
|
14
|
-
onChange,
|
|
15
|
-
testId,
|
|
16
|
-
onSort = () => {},
|
|
17
|
-
sortParams,
|
|
18
|
-
}) {
|
|
19
|
-
const [accordions, setAccordions] = useState(items);
|
|
20
|
-
|
|
21
|
-
const sortedColClassName = item =>
|
|
22
|
-
cn(
|
|
23
|
-
'accordion-table__header-item',
|
|
24
|
-
item.className,
|
|
25
|
-
{
|
|
26
|
-
'accordion-table--sorted-col':
|
|
27
|
-
sortParams && sortParams.key === item.key,
|
|
28
|
-
},
|
|
29
|
-
{ 'accordion-table__header-item-sortable': !item.noSort },
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
const handle = {
|
|
33
|
-
accordionChange: (key, e) => {
|
|
34
|
-
const newArr = accordions?.map((item) => {
|
|
35
|
-
if (item.key === key) {
|
|
36
|
-
return {
|
|
37
|
-
...item,
|
|
38
|
-
isOpen: !item.isOpen,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
return item;
|
|
42
|
-
});
|
|
43
|
-
const isArrowSvg = e?.target?.tagName === 'svg';
|
|
44
|
-
const isAccordionElement
|
|
45
|
-
= e.target.className?.includes?.('accordion-table');
|
|
46
|
-
if (isAccordionElement || isArrowSvg) {
|
|
47
|
-
onChange(newArr);
|
|
48
|
-
setAccordions(newArr);
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
setSort: (key) => {
|
|
53
|
-
let newSorting;
|
|
54
|
-
if (key !== sortParams.key) {
|
|
55
|
-
newSorting = { key, direction: 'DESC' };
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
newSorting = {
|
|
59
|
-
key,
|
|
60
|
-
direction: sortParams.direction === 'ASC' ? 'DESC' : 'ASC',
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
onSort(newSorting);
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const getHeaderItem = (key) => {
|
|
68
|
-
return header?.find(item => item.key === key);
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
const renderTd = (tr) => {
|
|
72
|
-
return Object.entries(tr)?.map(([key, value]) => {
|
|
73
|
-
return key === 'promoDetails' || key === 'disclosure'
|
|
74
|
-
? null
|
|
75
|
-
: (
|
|
76
|
-
<div
|
|
77
|
-
key={key}
|
|
78
|
-
style={{ flexBasis: `${getHeaderItem(key)?.width}%` }}
|
|
79
|
-
className={cn(
|
|
80
|
-
'accordion-table__td',
|
|
81
|
-
`accordion-table__td--${key}`,
|
|
82
|
-
getHeaderItem(key)?.className,
|
|
83
|
-
)}
|
|
84
|
-
>
|
|
85
|
-
<p
|
|
86
|
-
className="accordion-table__statistics-td-value"
|
|
87
|
-
title={typeof value !== 'object' ? value : value.value}
|
|
88
|
-
>
|
|
89
|
-
{typeof value !== 'object' ? value : value.value}
|
|
90
|
-
</p>
|
|
91
|
-
</div>
|
|
92
|
-
);
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
const renderTr = (rows) => {
|
|
97
|
-
return rows?.map((row, index) => {
|
|
98
|
-
return (
|
|
99
|
-
<div
|
|
100
|
-
key={index}
|
|
101
|
-
className={cn(
|
|
102
|
-
'accordion-table__tr',
|
|
103
|
-
{
|
|
104
|
-
'accordion-table__tr-with-promo':
|
|
105
|
-
row.promoDetails || row.cols?.promoDetails,
|
|
106
|
-
},
|
|
107
|
-
row.className,
|
|
108
|
-
)}
|
|
109
|
-
>
|
|
110
|
-
<div className="df w100">{renderTd(row.cols || row)}</div>
|
|
111
|
-
{row.promoDetails || row.cols?.promoDetails
|
|
112
|
-
? (
|
|
113
|
-
<div className="accordion-table__tr-promo-wrapper">
|
|
114
|
-
<div className="accordion-table__tr-promo">
|
|
115
|
-
<Tag className="tr-promo-icon" width={16} height={16} />
|
|
116
|
-
<span className="tr-promo-label">PROMOTION</span>
|
|
117
|
-
{row.promoDetails || row.cols?.promoDetails}
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
)
|
|
121
|
-
: null}
|
|
122
|
-
|
|
123
|
-
{row.disclosure || row.cols?.disclosure
|
|
124
|
-
? (
|
|
125
|
-
<div className="accordion-table__tr-promo-wrapper">
|
|
126
|
-
<div className="accordion-table__tr-promo accordion-table__tr-promo-disclosure">
|
|
127
|
-
{row.disclosure || row.cols?.disclosure}
|
|
128
|
-
</div>
|
|
129
|
-
</div>
|
|
130
|
-
)
|
|
131
|
-
: null}
|
|
132
|
-
</div>
|
|
133
|
-
);
|
|
134
|
-
});
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
const defineAccordionTitle = (row) => {
|
|
138
|
-
return (
|
|
139
|
-
<div
|
|
140
|
-
onClick={e => handle.accordionChange(row.key, e)}
|
|
141
|
-
className="accordion-table__accordion-label-box"
|
|
142
|
-
>
|
|
143
|
-
<div className="accordion-table__accordion-label-wrapper j4">
|
|
144
|
-
<ChevronDown
|
|
145
|
-
width={8}
|
|
146
|
-
height={4}
|
|
147
|
-
className={cn('accordion-label-box__icon', {
|
|
148
|
-
'accordion-label-box__icon--open': row.isOpen,
|
|
149
|
-
})}
|
|
150
|
-
/>
|
|
151
|
-
<span className="accordion-label-box__label">{row.label}</span>
|
|
152
|
-
{row.statistics && (
|
|
153
|
-
<div className={cn('accordion-table__tr', row.className)}>
|
|
154
|
-
{Object.entries(row.statistics).map(([key, value]) => {
|
|
155
|
-
return (
|
|
156
|
-
<div
|
|
157
|
-
key={key}
|
|
158
|
-
style={{ width: `${getHeaderItem(key)?.width}%` }}
|
|
159
|
-
className={cn(
|
|
160
|
-
'accordion-table__statistics-td',
|
|
161
|
-
getHeaderItem(key)?.className,
|
|
162
|
-
)}
|
|
163
|
-
>
|
|
164
|
-
<div className="accordion-table__statistics-td-value-wrapper">
|
|
165
|
-
{key === 'status'
|
|
166
|
-
? (
|
|
167
|
-
<div className="accordion-table__statistics-td-value">
|
|
168
|
-
{value}
|
|
169
|
-
</div>
|
|
170
|
-
)
|
|
171
|
-
: (
|
|
172
|
-
<p
|
|
173
|
-
className="accordion-table__statistics-td-value"
|
|
174
|
-
title={value}
|
|
175
|
-
>
|
|
176
|
-
{value}
|
|
177
|
-
</p>
|
|
178
|
-
)}
|
|
179
|
-
</div>
|
|
180
|
-
</div>
|
|
181
|
-
);
|
|
182
|
-
})}
|
|
183
|
-
</div>
|
|
184
|
-
)}
|
|
185
|
-
</div>
|
|
186
|
-
|
|
187
|
-
{row.titleContent}
|
|
188
|
-
</div>
|
|
189
|
-
);
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
useEffect(() => {
|
|
193
|
-
setAccordions(items);
|
|
194
|
-
}, [items]);
|
|
195
|
-
|
|
196
|
-
return (
|
|
197
|
-
<div className={cn('accordion-table', className)}>
|
|
198
|
-
<div className="accordion-table__header">
|
|
199
|
-
{header?.map((item) => {
|
|
200
|
-
return (
|
|
201
|
-
<div
|
|
202
|
-
style={{ flexBasis: `${item.width}%` }}
|
|
203
|
-
key={item.key}
|
|
204
|
-
className={sortedColClassName(item)}
|
|
205
|
-
onClick={() => !item.noSort && handle.setSort(item.key)}
|
|
206
|
-
>
|
|
207
|
-
{sortParams
|
|
208
|
-
&& item.key === sortParams.key
|
|
209
|
-
&& sortParams.key !== 'actions'
|
|
210
|
-
&& (sortParams.direction === 'DESC'
|
|
211
|
-
? (
|
|
212
|
-
<ArrowDown size={16} />
|
|
213
|
-
)
|
|
214
|
-
: (
|
|
215
|
-
<ArrowUp size={16} />
|
|
216
|
-
))}
|
|
217
|
-
|
|
218
|
-
{item.label}
|
|
219
|
-
</div>
|
|
220
|
-
);
|
|
221
|
-
})}
|
|
222
|
-
</div>
|
|
223
|
-
|
|
224
|
-
<div className="accordion-table__body">
|
|
225
|
-
{accordions?.map((accordion) => {
|
|
226
|
-
return (
|
|
227
|
-
<MonoAccordion
|
|
228
|
-
testId={testId}
|
|
229
|
-
key={accordion.key}
|
|
230
|
-
onClick={e => handle.accordionChange(accordion.key, e)}
|
|
231
|
-
isOpen={accordion.isOpen}
|
|
232
|
-
className={cn(
|
|
233
|
-
'accordion-table__body-accordion',
|
|
234
|
-
{
|
|
235
|
-
'accordion-table__body-accordion--closed': !accordion.isOpen,
|
|
236
|
-
},
|
|
237
|
-
accordion.className,
|
|
238
|
-
)}
|
|
239
|
-
titleJSX={defineAccordionTitle(accordion)}
|
|
240
|
-
>
|
|
241
|
-
{accordion.children ?? renderTr(accordion.rows)}
|
|
242
|
-
</MonoAccordion>
|
|
243
|
-
);
|
|
244
|
-
})}
|
|
245
|
-
</div>
|
|
246
|
-
</div>
|
|
247
|
-
);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
export default AccordionTable;
|
|
1
|
+
function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=Array(r);t<r;t++)o[t]=e[t];return o}function r(r,t){return function(e){if(Array.isArray(e))return e}(r)||function(e,r){var t,o,n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a=[],c=!0,i=!1;try{for(n=n.call(e);!(c=(t=n.next()).done)&&(a.push(t.value),!r||a.length!==r);c=!0);}catch(e){i=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(i)throw o}}return a}}(r,t)||function(r,t){if(r){if("string"==typeof r)return e(r,t);var o=Object.prototype.toString.call(r).slice(8,-1);if("Object"===o&&r.constructor&&(o=r.constructor.name),"Map"===o||"Set"===o)return Array.from(o);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return e(r,t)}}(r,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}import{jsx as o,jsxs as n}from"react/jsx-runtime";import a from"classnames";import{useEffect as c,useState as i}from"react";import{ArrowDown as l,ArrowUp as s,ChevronDown as d,Tag as u}from"react-feather";import m from"../MonoAccordion/MonoAccordion";import"./AccordionTable.scss";export default function(e){var b=e.className,p=e.header,f=e.items,v=e.onChange,y=e.testId,h=e.onSort,_=void 0===h?function(){}:h,O=e.sortParams,N=r(i(f),2),g=N[0],j=N[1],w={accordionChange:function(e,r){var t,o,n,a=null==g?void 0:g.map(function(r){if(r.key===e){var t,o;return t=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.forEach(function(r){var o;o=t[r],r in e?Object.defineProperty(e,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[r]=o})}return e}({},r),o=o={isOpen:!r.isOpen},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):(function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t})(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}return r}),c=(null==r||null==(t=r.target)?void 0:t.tagName)==="svg";((null==(n=r.target.className)||null==(o=n.includes)?void 0:o.call(n,"accordion-table"))||c)&&(v(a),j(a))},setSort:function(e){var r;_(e!==O.key?{key:e,direction:"DESC"}:{key:e,direction:"ASC"===O.direction?"DESC":"ASC"})}},S=function(e){return null==p?void 0:p.find(function(r){return r.key===e})},k=function(e){var n;return null==(n=Object.entries(e))?void 0:n.map(function(e){var n,c,i=r(e,2),l=i[0],s=i[1];return"promoDetails"===l||"disclosure"===l?null:o("div",{style:{flexBasis:"".concat(null==(n=S(l))?void 0:n.width,"%")},className:a("accordion-table__td","accordion-table__td--".concat(l),null==(c=S(l))?void 0:c.className),children:o("p",{className:"accordion-table__statistics-td-value",title:(void 0===s?"undefined":t(s))!=="object"?s:s.value,children:(void 0===s?"undefined":t(s))!=="object"?s:s.value})},l)})};return c(function(){j(f)},[f]),n("div",{className:a("accordion-table",b),children:[o("div",{className:"accordion-table__header",children:null==p?void 0:p.map(function(e){return n("div",{style:{flexBasis:"".concat(e.width,"%")},className:a("accordion-table__header-item",e.className,{"accordion-table--sorted-col":O&&O.key===e.key},{"accordion-table__header-item-sortable":!e.noSort}),onClick:function(){return!e.noSort&&w.setSort(e.key)},children:[O&&e.key===O.key&&"actions"!==O.key&&("DESC"===O.direction?o(l,{size:16}):o(s,{size:16})),e.label]},e.key)})}),o("div",{className:"accordion-table__body",children:null==g?void 0:g.map(function(e){var t,c,i;return o(m,{testId:y,onClick:function(r){return w.accordionChange(e.key,r)},isOpen:e.isOpen,className:a("accordion-table__body-accordion",{"accordion-table__body-accordion--closed":!e.isOpen},e.className),titleJSX:n("div",{onClick:function(e){return w.accordionChange(c.key,e)},className:"accordion-table__accordion-label-box",children:[n("div",{className:"accordion-table__accordion-label-wrapper j4",children:[o(d,{width:8,height:4,className:a("accordion-label-box__icon",{"accordion-label-box__icon--open":(c=e).isOpen})}),o("span",{className:"accordion-label-box__label",children:c.label}),c.statistics&&o("div",{className:a("accordion-table__tr",c.className),children:Object.entries(c.statistics).map(function(e){var t,n,c=r(e,2),i=c[0],l=c[1];return o("div",{style:{width:"".concat(null==(t=S(i))?void 0:t.width,"%")},className:a("accordion-table__statistics-td",null==(n=S(i))?void 0:n.className),children:o("div",{className:"accordion-table__statistics-td-value-wrapper",children:"status"===i?o("div",{className:"accordion-table__statistics-td-value",children:l}):o("p",{className:"accordion-table__statistics-td-value",title:l,children:l})})},i)})})]}),c.titleContent]}),children:null!=(t=e.children)?t:null==(i=e.rows)?void 0:i.map(function(e,r){var t,c,i,l,s;return n("div",{className:a("accordion-table__tr",{"accordion-table__tr-with-promo":e.promoDetails||(null==(t=e.cols)?void 0:t.promoDetails)},e.className),children:[o("div",{className:"df w100",children:k(e.cols||e)}),e.promoDetails||(null==(c=e.cols)?void 0:c.promoDetails)?o("div",{className:"accordion-table__tr-promo-wrapper",children:n("div",{className:"accordion-table__tr-promo",children:[o(u,{className:"tr-promo-icon",width:16,height:16}),o("span",{className:"tr-promo-label",children:"PROMOTION"}),e.promoDetails||(null==(i=e.cols)?void 0:i.promoDetails)]})}):null,e.disclosure||(null==(l=e.cols)?void 0:l.disclosure)?o("div",{className:"accordion-table__tr-promo-wrapper",children:o("div",{className:"accordion-table__tr-promo accordion-table__tr-promo-disclosure",children:e.disclosure||(null==(s=e.cols)?void 0:s.disclosure)})}):null]},r)})},e.key)})})]})}
|