linear-react-components-ui 1.1.26-beta.15 → 1.1.26-beta.17
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/lib/@types/ColorStyles.d.ts +1 -0
- package/lib/@types/Position.d.ts +1 -0
- package/lib/_virtual/compiler-runtime.js +6 -0
- package/lib/_virtual/compiler-runtime.js.map +1 -0
- package/lib/_virtual/compiler-runtime2.js +5 -0
- package/lib/_virtual/compiler-runtime2.js.map +1 -0
- package/lib/_virtual/memoize.js +8 -0
- package/lib/_virtual/memoize.js.map +1 -0
- package/lib/_virtual/react-compiler-runtime.development.js +5 -0
- package/lib/_virtual/react-compiler-runtime.development.js.map +1 -0
- package/lib/_virtual/react-compiler-runtime.production.js +5 -0
- package/lib/_virtual/react-compiler-runtime.production.js.map +1 -0
- package/lib/alerts/AlertProvider.js.map +1 -1
- package/lib/alerts/BaseAlert.js +1 -1
- package/lib/alerts/Message.js +29 -29
- package/lib/alerts/Message.js.map +1 -1
- package/lib/alerts/index.d.ts +3 -3
- package/lib/alerts/index.js +2 -1
- package/lib/alerts/withAlert.d.ts +2 -2
- package/lib/alerts/withAlert.js +9 -9
- package/lib/alerts/withAlert.js.map +1 -1
- package/lib/{styles/assets → assets}/styles/button.css +1 -1
- package/lib/assets/styles/calendar.css +1 -0
- package/lib/{styles/assets → assets}/styles/checkbox.css +1 -1
- package/lib/assets/styles/checkbox2.css +1 -0
- package/lib/assets/styles/colorpicker.css +1 -0
- package/lib/assets/styles/datepicker2.css +1 -0
- package/lib/{styles/assets → assets}/styles/drawers.css +1 -1
- package/lib/{styles/assets → assets}/styles/fieldset.css +1 -1
- package/lib/assets/styles/file.css +1 -0
- package/lib/{styles/assets/styles/file.css → assets/styles/filefield.css} +1 -1
- package/lib/{styles/assets → assets}/styles/floatMenu.css +1 -1
- package/lib/assets/styles/gridlayout.css +1 -0
- package/lib/{styles/assets → assets}/styles/label.css +1 -1
- package/lib/{styles/assets → assets}/styles/multiSelect.css +1 -1
- package/lib/assets/styles/numberfield.css +1 -0
- package/lib/assets/styles/radiofield.css +1 -0
- package/lib/assets/styles/select.css +1 -0
- package/lib/assets/styles/selectfield.css +1 -0
- package/lib/{styles/assets → assets}/styles/sidenav.css +1 -1
- package/lib/assets/styles/slot.css +1 -0
- package/lib/{styles/assets → assets}/styles/table.css +1 -1
- package/lib/assets/styles/tabs.css +1 -0
- package/lib/assets/styles/textfield.css +1 -0
- package/lib/avatar/index.js +9 -9
- package/lib/avatar/index.js.map +1 -1
- package/lib/badge/index.js +4 -4
- package/lib/badge/index.js.map +1 -1
- package/lib/buttons/ActivateButton.js +6 -6
- package/lib/buttons/ActivateButton.js.map +1 -1
- package/lib/buttons/AddButton.js +6 -6
- package/lib/buttons/AddButton.js.map +1 -1
- package/lib/buttons/Button.js +8 -8
- package/lib/buttons/Button.js.map +1 -1
- package/lib/buttons/CancelButton.js +6 -6
- package/lib/buttons/CancelButton.js.map +1 -1
- package/lib/buttons/DangerButton.js +8 -8
- package/lib/buttons/DangerButton.js.map +1 -1
- package/lib/buttons/DefaultButton.js +85 -77
- package/lib/buttons/DefaultButton.js.map +1 -1
- package/lib/buttons/DestroyButton.d.ts +1 -1
- package/lib/buttons/DestroyButton.js +11 -16
- package/lib/buttons/DestroyButton.js.map +1 -1
- package/lib/buttons/EditButton.js +4 -4
- package/lib/buttons/EditButton.js.map +1 -1
- package/lib/buttons/InactivateButton.js +6 -6
- package/lib/buttons/InactivateButton.js.map +1 -1
- package/lib/buttons/InfoButton.js +7 -7
- package/lib/buttons/InfoButton.js.map +1 -1
- package/lib/buttons/PrimaryButton.js +5 -5
- package/lib/buttons/PrimaryButton.js.map +1 -1
- package/lib/buttons/RestoreButton.js +4 -4
- package/lib/buttons/RestoreButton.js.map +1 -1
- package/lib/buttons/SaveButton.js +6 -6
- package/lib/buttons/SaveButton.js.map +1 -1
- package/lib/buttons/SuccessButton.js +6 -6
- package/lib/buttons/SuccessButton.js.map +1 -1
- package/lib/buttons/WarningButton.js +7 -7
- package/lib/buttons/WarningButton.js.map +1 -1
- package/lib/buttons/button_container/index.js +9 -9
- package/lib/buttons/button_container/index.js.map +1 -1
- package/lib/buttons/index.d.ts +1 -1
- package/lib/buttons/index.js +2 -1
- package/lib/buttons/split_button/index.d.ts +2 -2
- package/lib/buttons/split_button/index.js +42 -41
- package/lib/buttons/split_button/index.js.map +1 -1
- package/lib/buttons/types.d.ts +6 -6
- package/lib/calendar/DangerCalendar.d.ts +1 -1
- package/lib/calendar/DangerCalendar.js +10 -15
- package/lib/calendar/DangerCalendar.js.map +1 -1
- package/lib/calendar/InfoCalendar.d.ts +1 -1
- package/lib/calendar/InfoCalendar.js +12 -17
- package/lib/calendar/InfoCalendar.js.map +1 -1
- package/lib/calendar/PrimaryCalendar.d.ts +1 -1
- package/lib/calendar/PrimaryCalendar.js +11 -16
- package/lib/calendar/PrimaryCalendar.js.map +1 -1
- package/lib/calendar/SuccessCalendar.d.ts +1 -1
- package/lib/calendar/SuccessCalendar.js +11 -16
- package/lib/calendar/SuccessCalendar.js.map +1 -1
- package/lib/calendar/WarningCalendar.d.ts +1 -1
- package/lib/calendar/WarningCalendar.js +10 -15
- package/lib/calendar/WarningCalendar.js.map +1 -1
- package/lib/calendar/base/helpers.d.ts +1 -2
- package/lib/calendar/base/helpers.js +28 -85
- package/lib/calendar/base/helpers.js.map +1 -1
- package/lib/calendar/base/index.js +157 -126
- package/lib/calendar/base/index.js.map +1 -1
- package/lib/checkbox/index.d.ts +1 -2
- package/lib/checkbox/index.js +44 -52
- package/lib/checkbox/index.js.map +1 -1
- package/lib/checkbox/types.d.ts +1 -0
- package/lib/dialog/Alert.js +11 -12
- package/lib/dialog/Alert.js.map +1 -1
- package/lib/dialog/Custom.js +18 -19
- package/lib/dialog/Custom.js.map +1 -1
- package/lib/dialog/Error.js +10 -11
- package/lib/dialog/Error.js.map +1 -1
- package/lib/dialog/Information.js +9 -10
- package/lib/dialog/Information.js.map +1 -1
- package/lib/dialog/Question.js +26 -26
- package/lib/dialog/Question.js.map +1 -1
- package/lib/dialog/Warning.js +11 -12
- package/lib/dialog/Warning.js.map +1 -1
- package/lib/dialog/base/Content.js +8 -9
- package/lib/dialog/base/Content.js.map +1 -1
- package/lib/dialog/base/Footer.js +2 -2
- package/lib/dialog/base/Footer.js.map +1 -1
- package/lib/dialog/base/Header.js +7 -7
- package/lib/dialog/base/Header.js.map +1 -1
- package/lib/dialog/base/index.d.ts +5 -2
- package/lib/dialog/base/index.js +151 -128
- package/lib/dialog/base/index.js.map +1 -1
- package/lib/dialog/form/index.d.ts +1 -2
- package/lib/dialog/form/index.js +102 -63
- package/lib/dialog/form/index.js.map +1 -1
- package/lib/dialog/types.d.ts +10 -5
- package/lib/dialog/wizard/index.d.ts +1 -2
- package/lib/dialog/wizard/index.js +39 -39
- package/lib/dialog/wizard/index.js.map +1 -1
- package/lib/dialog/wizard/progressbar.js +7 -7
- package/lib/dialog/wizard/progressbar.js.map +1 -1
- package/lib/dialog/wizard/step.js +4 -4
- package/lib/dialog/wizard/step.js.map +1 -1
- package/lib/dialog/wizard/useWizard.js +29 -29
- package/lib/dialog/wizard/useWizard.js.map +1 -1
- package/lib/drawer/Content.js +10 -10
- package/lib/drawer/Content.js.map +1 -1
- package/lib/drawer/Drawer.d.ts +1 -2
- package/lib/drawer/Drawer.js +46 -46
- package/lib/drawer/Drawer.js.map +1 -1
- package/lib/drawer/Header.js +22 -22
- package/lib/drawer/Header.js.map +1 -1
- package/lib/drawer/helpers.d.ts +1 -2
- package/lib/drawer/helpers.js +2 -2
- package/lib/drawer/helpers.js.map +1 -1
- package/lib/drawer/index.js +1 -1
- package/lib/drawer/types.d.ts +4 -3
- package/lib/dropdown/Popup.js +4 -4
- package/lib/dropdown/Popup.js.map +1 -1
- package/lib/dropdown/index.d.ts +3 -0
- package/lib/dropdown/index.js +6 -0
- package/lib/dropdown/index.js.map +1 -0
- package/lib/dropdown/withDropdown.d.ts +3 -3
- package/lib/dropdown/withDropdown.js +23 -23
- package/lib/dropdown/withDropdown.js.map +1 -1
- package/lib/fieldset/index.js +22 -23
- package/lib/fieldset/index.js.map +1 -1
- package/lib/form/Field.js +94 -76
- package/lib/form/Field.js.map +1 -1
- package/lib/form/FieldArray.js +39 -43
- package/lib/form/FieldArray.js.map +1 -1
- package/lib/form/FieldNumber.js +46 -36
- package/lib/form/FieldNumber.js.map +1 -1
- package/lib/form/FieldPeriod.js +72 -75
- package/lib/form/FieldPeriod.js.map +1 -1
- package/lib/form/helpers.d.ts +2 -3
- package/lib/form/helpers.js +20 -21
- package/lib/form/helpers.js.map +1 -1
- package/lib/form/index.d.ts +1 -1
- package/lib/form/index.js +119 -104
- package/lib/form/index.js.map +1 -1
- package/lib/form/types.d.ts +14 -2
- package/lib/form/withFieldHOC.d.ts +2 -2
- package/lib/form/withFieldHOC.js +26 -25
- package/lib/form/withFieldHOC.js.map +1 -1
- package/lib/form/withFormSecurity.d.ts +3 -3
- package/lib/form/withFormSecurity.js +2 -2
- package/lib/form/withFormSecurity.js.map +1 -1
- package/lib/form2/helpers.d.ts +5 -0
- package/lib/form2/helpers.js +24 -0
- package/lib/form2/helpers.js.map +1 -0
- package/lib/form2/index.d.ts +7 -0
- package/lib/form2/index.js +23 -0
- package/lib/form2/index.js.map +1 -0
- package/lib/form2/types.d.ts +128 -0
- package/lib/form2/useForm/index.d.ts +3 -0
- package/lib/form2/useForm/index.js +117 -0
- package/lib/form2/useForm/index.js.map +1 -0
- package/lib/gridlayout/GridCol.js +10 -10
- package/lib/gridlayout/GridCol.js.map +1 -1
- package/lib/gridlayout/GridRow.js +7 -7
- package/lib/gridlayout/GridRow.js.map +1 -1
- package/lib/hint/helpers.js.map +1 -1
- package/lib/hint/index.js +9 -9
- package/lib/hint/index.js.map +1 -1
- package/lib/icons/helper.d.ts +20 -0
- package/lib/icons/helper.js +20 -0
- package/lib/icons/helper.js.map +1 -1
- package/lib/icons/index.d.ts +2 -5
- package/lib/icons/index.js +58 -50
- package/lib/icons/index.js.map +1 -1
- package/lib/icons/types.d.ts +2 -6
- package/lib/index.js +10 -10
- package/lib/inputs/base/InputTextBase.js +101 -97
- package/lib/inputs/base/InputTextBase.js.map +1 -1
- package/lib/inputs/base/helpers.js +5 -5
- package/lib/inputs/base/helpers.js.map +1 -1
- package/lib/inputs/base/types.d.ts +6 -16
- package/lib/inputs/color/index.js +37 -38
- package/lib/inputs/color/index.js.map +1 -1
- package/lib/inputs/color/types.d.ts +1 -1
- package/lib/inputs/date/Dialog.js +9 -9
- package/lib/inputs/date/Dialog.js.map +1 -1
- package/lib/inputs/date/helpers.d.ts +30 -1
- package/lib/inputs/date/helpers.js +48 -7
- package/lib/inputs/date/helpers.js.map +1 -1
- package/lib/inputs/date/index.js +86 -86
- package/lib/inputs/date/index.js.map +1 -1
- package/lib/inputs/date/types.d.ts +3 -2
- package/lib/inputs/errorMessage/index.d.ts +1 -2
- package/lib/inputs/errorMessage/index.js +9 -9
- package/lib/inputs/errorMessage/index.js.map +1 -1
- package/lib/inputs/file/DefaultFile.js +48 -49
- package/lib/inputs/file/DefaultFile.js.map +1 -1
- package/lib/inputs/file/DragDropFile.js +2 -2
- package/lib/inputs/file/DragDropFile.js.map +1 -1
- package/lib/inputs/file/File.js +16 -17
- package/lib/inputs/file/File.js.map +1 -1
- package/lib/inputs/file/FileButtonSettings.js +8 -8
- package/lib/inputs/file/FileButtonSettings.js.map +1 -1
- package/lib/inputs/file/index.js +4 -5
- package/lib/inputs/file/index.js.map +1 -1
- package/lib/inputs/index.d.ts +14 -0
- package/lib/inputs/index.js +40 -0
- package/lib/inputs/index.js.map +1 -0
- package/lib/inputs/inputHOC.d.ts +2 -2
- package/lib/inputs/inputHOC.js +19 -20
- package/lib/inputs/inputHOC.js.map +1 -1
- package/lib/inputs/mask/BaseMask.d.ts +1 -1
- package/lib/inputs/mask/BaseMask.js +81 -71
- package/lib/inputs/mask/BaseMask.js.map +1 -1
- package/lib/inputs/mask/Cnpj.js +27 -27
- package/lib/inputs/mask/Cnpj.js.map +1 -1
- package/lib/inputs/mask/Cpf.js +19 -19
- package/lib/inputs/mask/Cpf.js.map +1 -1
- package/lib/inputs/mask/Phone.js +6 -6
- package/lib/inputs/mask/Phone.js.map +1 -1
- package/lib/inputs/mask/ZipCode.js +4 -4
- package/lib/inputs/mask/ZipCode.js.map +1 -1
- package/lib/inputs/mask/helpers.d.ts +2 -49
- package/lib/inputs/mask/helpers.js +57 -52
- package/lib/inputs/mask/helpers.js.map +1 -1
- package/lib/inputs/mask/types.d.ts +2 -1
- package/lib/inputs/multiSelect/ActionButtons.js +3 -4
- package/lib/inputs/multiSelect/ActionButtons.js.map +1 -1
- package/lib/inputs/multiSelect/Dropdown.js +59 -58
- package/lib/inputs/multiSelect/Dropdown.js.map +1 -1
- package/lib/inputs/multiSelect/index.js +163 -149
- package/lib/inputs/multiSelect/index.js.map +1 -1
- package/lib/inputs/multiSelect/types.d.ts +3 -1
- package/lib/inputs/number/BaseNumber.js +28 -28
- package/lib/inputs/number/BaseNumber.js.map +1 -1
- package/lib/inputs/number/Currency.js +14 -14
- package/lib/inputs/number/Currency.js.map +1 -1
- package/lib/inputs/number/Decimal.js +4 -4
- package/lib/inputs/number/Decimal.js.map +1 -1
- package/lib/inputs/number/format_number.d.ts +1 -1
- package/lib/inputs/number/format_number.js +4 -5
- package/lib/inputs/number/format_number.js.map +1 -1
- package/lib/inputs/number/index.js +14 -14
- package/lib/inputs/number/index.js.map +1 -1
- package/lib/inputs/number/types.d.ts +3 -3
- package/lib/inputs/period/Dialog.js +10 -10
- package/lib/inputs/period/Dialog.js.map +1 -1
- package/lib/inputs/period/PeriodList.js +16 -16
- package/lib/inputs/period/PeriodList.js.map +1 -1
- package/lib/inputs/period/helper.js +19 -27
- package/lib/inputs/period/helper.js.map +1 -1
- package/lib/inputs/period/index.js +145 -160
- package/lib/inputs/period/index.js.map +1 -1
- package/lib/inputs/period/types.d.ts +4 -1
- package/lib/inputs/search/index.js +67 -62
- package/lib/inputs/search/index.js.map +1 -1
- package/lib/inputs/select/ActionButtons.js +11 -11
- package/lib/inputs/select/ActionButtons.js.map +1 -1
- package/lib/inputs/select/Dropdown.js +33 -33
- package/lib/inputs/select/Dropdown.js.map +1 -1
- package/lib/inputs/select/helper.js +22 -23
- package/lib/inputs/select/helper.js.map +1 -1
- package/lib/inputs/select/index.js +5 -6
- package/lib/inputs/select/index.js.map +1 -1
- package/lib/inputs/select/multiple/Selecteds.d.ts +1 -1
- package/lib/inputs/select/multiple/Selecteds.js +18 -17
- package/lib/inputs/select/multiple/Selecteds.js.map +1 -1
- package/lib/inputs/select/multiple/index.js +76 -74
- package/lib/inputs/select/multiple/index.js.map +1 -1
- package/lib/inputs/select/simple/index.js +85 -83
- package/lib/inputs/select/simple/index.js.map +1 -1
- package/lib/inputs/select/types.d.ts +2 -0
- package/lib/inputs/text/index.js +6 -6
- package/lib/inputs/text/index.js.map +1 -1
- package/lib/inputs/text/types.d.ts +1 -4
- package/lib/inputs/textarea/index.js +9 -9
- package/lib/inputs/textarea/index.js.map +1 -1
- package/lib/inputs/types.d.ts +3 -2
- package/lib/inputs2/checkboxfield/index.d.ts +32 -0
- package/lib/inputs2/checkboxfield/index.js +114 -0
- package/lib/inputs2/checkboxfield/index.js.map +1 -0
- package/lib/inputs2/colorfield/index.d.ts +8 -0
- package/lib/inputs2/colorfield/index.js +89 -0
- package/lib/inputs2/colorfield/index.js.map +1 -0
- package/lib/inputs2/date/base/constants.d.ts +4 -0
- package/lib/inputs2/date/base/constants.js +39 -0
- package/lib/inputs2/date/base/constants.js.map +1 -0
- package/lib/inputs2/date/base/index.d.ts +6 -0
- package/lib/inputs2/date/base/index.js +134 -0
- package/lib/inputs2/date/base/index.js.map +1 -0
- package/lib/inputs2/date/datefield/calendarbox.d.ts +6 -0
- package/lib/inputs2/date/datefield/calendarbox.js +74 -0
- package/lib/inputs2/date/datefield/calendarbox.js.map +1 -0
- package/lib/inputs2/date/datefield/context.d.ts +4 -0
- package/lib/inputs2/date/datefield/context.js +12 -0
- package/lib/inputs2/date/datefield/context.js.map +1 -0
- package/lib/inputs2/date/datefield/index.d.ts +4 -0
- package/lib/inputs2/date/datefield/index.js +317 -0
- package/lib/inputs2/date/datefield/index.js.map +1 -0
- package/lib/inputs2/date/datefield/triggers.d.ts +8 -0
- package/lib/inputs2/date/datefield/triggers.js +30 -0
- package/lib/inputs2/date/datefield/triggers.js.map +1 -0
- package/lib/inputs2/date/datefield/types.d.ts +61 -0
- package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +6 -0
- package/lib/inputs2/date/dateperiodfield/calendarbox.js +94 -0
- package/lib/inputs2/date/dateperiodfield/calendarbox.js.map +1 -0
- package/lib/inputs2/date/dateperiodfield/context.d.ts +4 -0
- package/lib/inputs2/date/dateperiodfield/context.js +12 -0
- package/lib/inputs2/date/dateperiodfield/context.js.map +1 -0
- package/lib/inputs2/date/dateperiodfield/index.d.ts +4 -0
- package/lib/inputs2/date/dateperiodfield/index.js +522 -0
- package/lib/inputs2/date/dateperiodfield/index.js.map +1 -0
- package/lib/inputs2/date/dateperiodfield/triggers.d.ts +5 -0
- package/lib/inputs2/date/dateperiodfield/triggers.js +61 -0
- package/lib/inputs2/date/dateperiodfield/triggers.js.map +1 -0
- package/lib/inputs2/date/dateperiodfield/types.d.ts +99 -0
- package/lib/inputs2/date/helpers.d.ts +10 -0
- package/lib/inputs2/date/helpers.js +42 -0
- package/lib/inputs2/date/helpers.js.map +1 -0
- package/lib/inputs2/date/types.d.ts +59 -0
- package/lib/inputs2/date/types.js +5 -0
- package/lib/inputs2/date/types.js.map +1 -0
- package/lib/inputs2/filefield/index.d.ts +11 -0
- package/lib/inputs2/filefield/index.js +120 -0
- package/lib/inputs2/filefield/index.js.map +1 -0
- package/lib/inputs2/index.d.ts +16 -0
- package/lib/inputs2/index.js +33 -0
- package/lib/inputs2/index.js.map +1 -0
- package/lib/inputs2/mask/BaseMask.d.ts +13 -0
- package/lib/inputs2/mask/BaseMask.js +79 -0
- package/lib/inputs2/mask/BaseMask.js.map +1 -0
- package/lib/inputs2/mask/Cnpj.d.ts +6 -0
- package/lib/inputs2/mask/Cnpj.js +48 -0
- package/lib/inputs2/mask/Cnpj.js.map +1 -0
- package/lib/inputs2/mask/Cpf.d.ts +6 -0
- package/lib/inputs2/mask/Cpf.js +44 -0
- package/lib/inputs2/mask/Cpf.js.map +1 -0
- package/lib/inputs2/mask/Phone.d.ts +6 -0
- package/lib/inputs2/mask/Phone.js +22 -0
- package/lib/inputs2/mask/Phone.js.map +1 -0
- package/lib/inputs2/mask/ZipCode.d.ts +3 -0
- package/lib/inputs2/mask/ZipCode.js +20 -0
- package/lib/inputs2/mask/ZipCode.js.map +1 -0
- package/lib/inputs2/mask/helpers.d.ts +2 -0
- package/lib/inputs2/mask/helpers.js +34 -0
- package/lib/inputs2/mask/helpers.js.map +1 -0
- package/lib/inputs2/numberfield/currency.d.ts +3 -0
- package/lib/inputs2/numberfield/currency.js +111 -0
- package/lib/inputs2/numberfield/currency.js.map +1 -0
- package/lib/inputs2/numberfield/decimal.d.ts +3 -0
- package/lib/inputs2/numberfield/decimal.js +103 -0
- package/lib/inputs2/numberfield/decimal.js.map +1 -0
- package/lib/inputs2/numberfield/helpers.d.ts +28 -0
- package/lib/inputs2/numberfield/helpers.js +19 -0
- package/lib/inputs2/numberfield/helpers.js.map +1 -0
- package/lib/inputs2/numberfield/index.d.ts +7 -0
- package/lib/inputs2/numberfield/index.js +100 -0
- package/lib/inputs2/numberfield/index.js.map +1 -0
- package/lib/inputs2/numberfield/types.d.ts +26 -0
- package/lib/inputs2/radiofield/index.d.ts +4 -0
- package/lib/inputs2/radiofield/index.js +114 -0
- package/lib/inputs2/radiofield/index.js.map +1 -0
- package/lib/inputs2/radiofield/types.d.ts +31 -0
- package/lib/inputs2/selectfield/context.d.ts +38 -0
- package/lib/inputs2/selectfield/context.js +12 -0
- package/lib/inputs2/selectfield/context.js.map +1 -0
- package/lib/inputs2/selectfield/helpers.d.ts +5 -0
- package/lib/inputs2/selectfield/helpers.js +17 -0
- package/lib/inputs2/selectfield/helpers.js.map +1 -0
- package/lib/inputs2/selectfield/index.d.ts +7 -0
- package/lib/inputs2/selectfield/index.js +408 -0
- package/lib/inputs2/selectfield/index.js.map +1 -0
- package/lib/inputs2/selectfield/item.d.ts +11 -0
- package/lib/inputs2/selectfield/item.js +57 -0
- package/lib/inputs2/selectfield/item.js.map +1 -0
- package/lib/inputs2/selectfield/listbox.d.ts +6 -0
- package/lib/inputs2/selectfield/listbox.js +78 -0
- package/lib/inputs2/selectfield/listbox.js.map +1 -0
- package/lib/inputs2/selectfield/options.d.ts +8 -0
- package/lib/inputs2/selectfield/options.js +20 -0
- package/lib/inputs2/selectfield/options.js.map +1 -0
- package/lib/inputs2/selectfield/search.d.ts +6 -0
- package/lib/inputs2/selectfield/search.js +58 -0
- package/lib/inputs2/selectfield/search.js.map +1 -0
- package/lib/inputs2/selectfield/selections.d.ts +9 -0
- package/lib/inputs2/selectfield/selections.js +66 -0
- package/lib/inputs2/selectfield/selections.js.map +1 -0
- package/lib/inputs2/selectfield/triggers.d.ts +8 -0
- package/lib/inputs2/selectfield/triggers.js +82 -0
- package/lib/inputs2/selectfield/triggers.js.map +1 -0
- package/lib/inputs2/selectfield/types.d.ts +52 -0
- package/lib/inputs2/selectfield/types.js +6 -0
- package/lib/inputs2/selectfield/types.js.map +1 -0
- package/lib/inputs2/slot/index.d.ts +17 -0
- package/lib/inputs2/slot/index.js +50 -0
- package/lib/inputs2/slot/index.js.map +1 -0
- package/lib/inputs2/textareafield/index.d.ts +30 -0
- package/lib/inputs2/textareafield/index.js +136 -0
- package/lib/inputs2/textareafield/index.js.map +1 -0
- package/lib/inputs2/textfield/index.d.ts +30 -0
- package/lib/inputs2/textfield/index.js +109 -0
- package/lib/inputs2/textfield/index.js.map +1 -0
- package/lib/internals/constants.d.ts +3 -0
- package/lib/internals/constants.js +5 -3
- package/lib/internals/constants.js.map +1 -1
- package/lib/internals/types.d.ts +0 -15
- package/lib/labelMessages/index.js +20 -20
- package/lib/labelMessages/index.js.map +1 -1
- package/lib/labels/DangerLabel.d.ts +1 -1
- package/lib/labels/DangerLabel.js +11 -16
- package/lib/labels/DangerLabel.js.map +1 -1
- package/lib/labels/DefaultLabel.d.ts +2 -5
- package/lib/labels/DefaultLabel.js +49 -42
- package/lib/labels/DefaultLabel.js.map +1 -1
- package/lib/labels/InfoLabel.d.ts +1 -1
- package/lib/labels/InfoLabel.js +10 -15
- package/lib/labels/InfoLabel.js.map +1 -1
- package/lib/labels/PrimaryLabel.d.ts +1 -1
- package/lib/labels/PrimaryLabel.js +11 -16
- package/lib/labels/PrimaryLabel.js.map +1 -1
- package/lib/labels/SuccessLabel.d.ts +1 -1
- package/lib/labels/SuccessLabel.js +11 -16
- package/lib/labels/SuccessLabel.js.map +1 -1
- package/lib/labels/WarningLabel.d.ts +1 -1
- package/lib/labels/WarningLabel.js +11 -16
- package/lib/labels/WarningLabel.js.map +1 -1
- package/lib/labels/index.d.ts +1 -1
- package/lib/labels/index.js +6 -5
- package/lib/labels/label_container/index.js +7 -7
- package/lib/labels/label_container/index.js.map +1 -1
- package/lib/labels/types.d.ts +4 -7
- package/lib/list/Header.js +5 -5
- package/lib/list/Header.js.map +1 -1
- package/lib/list/Item.d.ts +2 -5
- package/lib/list/Item.js +106 -103
- package/lib/list/Item.js.map +1 -1
- package/lib/list/Separator.js +4 -4
- package/lib/list/Separator.js.map +1 -1
- package/lib/list/helpers.d.ts +1 -2
- package/lib/list/helpers.js +5 -7
- package/lib/list/helpers.js.map +1 -1
- package/lib/list/index.js +5 -5
- package/lib/list/index.js.map +1 -1
- package/lib/list/types.d.ts +5 -8
- package/lib/menus/float/MenuItem.js +7 -7
- package/lib/menus/float/MenuItem.js.map +1 -1
- package/lib/menus/float/SubMenuContainer.js +15 -15
- package/lib/menus/float/SubMenuContainer.js.map +1 -1
- package/lib/menus/float/helpers.d.ts +1 -2
- package/lib/menus/float/helpers.js +2 -2
- package/lib/menus/float/helpers.js.map +1 -1
- package/lib/menus/float/index.js +9 -9
- package/lib/menus/float/index.js.map +1 -1
- package/lib/menus/sidenav/ExpandMenu.js +4 -4
- package/lib/menus/sidenav/ExpandMenu.js.map +1 -1
- package/lib/menus/sidenav/MenuLink.d.ts +2 -5
- package/lib/menus/sidenav/MenuLink.js +24 -17
- package/lib/menus/sidenav/MenuLink.js.map +1 -1
- package/lib/menus/sidenav/NavMenuGroup.js +9 -9
- package/lib/menus/sidenav/NavMenuGroup.js.map +1 -1
- package/lib/menus/sidenav/NavMenuItem.d.ts +2 -5
- package/lib/menus/sidenav/NavMenuItem.js +115 -111
- package/lib/menus/sidenav/NavMenuItem.js.map +1 -1
- package/lib/menus/sidenav/NavSubMenuItem.js +13 -13
- package/lib/menus/sidenav/NavSubMenuItem.js.map +1 -1
- package/lib/menus/sidenav/helpers.d.ts +2 -3
- package/lib/menus/sidenav/helpers.js +6 -6
- package/lib/menus/sidenav/helpers.js.map +1 -1
- package/lib/menus/sidenav/index.js +33 -33
- package/lib/menus/sidenav/index.js.map +1 -1
- package/lib/menus/sidenav/popup_menu_search/EmptyList.js +2 -2
- package/lib/menus/sidenav/popup_menu_search/EmptyList.js.map +1 -1
- package/lib/menus/sidenav/popup_menu_search/index.d.ts +1 -2
- package/lib/menus/sidenav/popup_menu_search/index.js +3 -3
- package/lib/menus/sidenav/popup_menu_search/index.js.map +1 -1
- package/lib/menus/sidenav/types.d.ts +5 -5
- package/lib/noPermission/index.js +5 -5
- package/lib/noPermission/index.js.map +1 -1
- package/lib/node_modules/imask/esm/masked/enum.js +24 -24
- package/lib/node_modules/imask/esm/masked/enum.js.map +1 -1
- package/lib/node_modules/imask/esm/masked/factory.js +1 -1
- package/lib/node_modules/lodash/_Hash.js +23 -0
- package/lib/node_modules/lodash/_Hash.js.map +1 -0
- package/lib/node_modules/lodash/_ListCache.js +23 -0
- package/lib/node_modules/lodash/_ListCache.js.map +1 -0
- package/lib/node_modules/lodash/_Map.js +13 -0
- package/lib/node_modules/lodash/_Map.js.map +1 -0
- package/lib/node_modules/lodash/_MapCache.js +23 -0
- package/lib/node_modules/lodash/_MapCache.js.map +1 -0
- package/lib/node_modules/lodash/_Symbol.js +12 -0
- package/lib/node_modules/lodash/_Symbol.js.map +1 -0
- package/lib/node_modules/lodash/_assocIndexOf.js +18 -0
- package/lib/node_modules/lodash/_assocIndexOf.js.map +1 -0
- package/lib/node_modules/lodash/_baseGetTag.js +17 -0
- package/lib/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/lib/node_modules/lodash/_baseIsNative.js +23 -0
- package/lib/node_modules/lodash/_baseIsNative.js.map +1 -0
- package/lib/node_modules/lodash/_coreJsData.js +12 -0
- package/lib/node_modules/lodash/_coreJsData.js.map +1 -0
- package/lib/node_modules/lodash/_freeGlobal.js +12 -0
- package/lib/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/lib/node_modules/lodash/_getMapData.js +16 -0
- package/lib/node_modules/lodash/_getMapData.js.map +1 -0
- package/lib/node_modules/lodash/_getNative.js +17 -0
- package/lib/node_modules/lodash/_getNative.js.map +1 -0
- package/lib/node_modules/lodash/_getRawTag.js +22 -0
- package/lib/node_modules/lodash/_getRawTag.js.map +1 -0
- package/lib/node_modules/lodash/_getValue.js +13 -0
- package/lib/node_modules/lodash/_getValue.js.map +1 -0
- package/lib/node_modules/lodash/_hashClear.js +15 -0
- package/lib/node_modules/lodash/_hashClear.js.map +1 -0
- package/lib/node_modules/lodash/_hashDelete.js +14 -0
- package/lib/node_modules/lodash/_hashDelete.js.map +1 -0
- package/lib/node_modules/lodash/_hashGet.js +20 -0
- package/lib/node_modules/lodash/_hashGet.js.map +1 -0
- package/lib/node_modules/lodash/_hashHas.js +16 -0
- package/lib/node_modules/lodash/_hashHas.js.map +1 -0
- package/lib/node_modules/lodash/_hashSet.js +16 -0
- package/lib/node_modules/lodash/_hashSet.js.map +1 -0
- package/lib/node_modules/lodash/_isKeyable.js +14 -0
- package/lib/node_modules/lodash/_isKeyable.js.map +1 -0
- package/lib/node_modules/lodash/_isMasked.js +18 -0
- package/lib/node_modules/lodash/_isMasked.js.map +1 -0
- package/lib/node_modules/lodash/_listCacheClear.js +13 -0
- package/lib/node_modules/lodash/_listCacheClear.js.map +1 -0
- package/lib/node_modules/lodash/_listCacheDelete.js +19 -0
- package/lib/node_modules/lodash/_listCacheDelete.js.map +1 -0
- package/lib/node_modules/lodash/_listCacheGet.js +16 -0
- package/lib/node_modules/lodash/_listCacheGet.js.map +1 -0
- package/lib/node_modules/lodash/_listCacheHas.js +15 -0
- package/lib/node_modules/lodash/_listCacheHas.js.map +1 -0
- package/lib/node_modules/lodash/_listCacheSet.js +16 -0
- package/lib/node_modules/lodash/_listCacheSet.js.map +1 -0
- package/lib/node_modules/lodash/_mapCacheClear.js +21 -0
- package/lib/node_modules/lodash/_mapCacheClear.js.map +1 -0
- package/lib/node_modules/lodash/_mapCacheDelete.js +16 -0
- package/lib/node_modules/lodash/_mapCacheDelete.js.map +1 -0
- package/lib/node_modules/lodash/_mapCacheGet.js +15 -0
- package/lib/node_modules/lodash/_mapCacheGet.js.map +1 -0
- package/lib/node_modules/lodash/_mapCacheHas.js +15 -0
- package/lib/node_modules/lodash/_mapCacheHas.js.map +1 -0
- package/lib/node_modules/lodash/_mapCacheSet.js +16 -0
- package/lib/node_modules/lodash/_mapCacheSet.js.map +1 -0
- package/lib/node_modules/lodash/_nativeCreate.js +12 -0
- package/lib/node_modules/lodash/_nativeCreate.js.map +1 -0
- package/lib/node_modules/lodash/_objectToString.js +14 -0
- package/lib/node_modules/lodash/_objectToString.js.map +1 -0
- package/lib/node_modules/lodash/_root.js +12 -0
- package/lib/node_modules/lodash/_root.js.map +1 -0
- package/lib/node_modules/lodash/_toSource.js +24 -0
- package/lib/node_modules/lodash/_toSource.js.map +1 -0
- package/lib/node_modules/lodash/eq.js +13 -0
- package/lib/node_modules/lodash/eq.js.map +1 -0
- package/lib/node_modules/lodash/isFunction.js +19 -0
- package/lib/node_modules/lodash/isFunction.js.map +1 -0
- package/lib/node_modules/lodash/isObject.js +14 -0
- package/lib/node_modules/lodash/isObject.js.map +1 -0
- package/lib/node_modules/lodash/memoize.js +24 -0
- package/lib/node_modules/lodash/memoize.js.map +1 -0
- package/lib/node_modules/react/cjs/react-compiler-runtime.development.js +31 -0
- package/lib/node_modules/react/cjs/react-compiler-runtime.development.js.map +1 -0
- package/lib/node_modules/react/cjs/react-compiler-runtime.production.js +24 -0
- package/lib/node_modules/react/cjs/react-compiler-runtime.production.js.map +1 -0
- package/lib/node_modules/react/compiler-runtime.js +11 -0
- package/lib/node_modules/react/compiler-runtime.js.map +1 -0
- package/lib/panel/Content.js +32 -29
- package/lib/panel/Content.js.map +1 -1
- package/lib/panel/DangerPanel.js +4 -4
- package/lib/panel/DangerPanel.js.map +1 -1
- package/lib/panel/Default.js +23 -24
- package/lib/panel/Default.js.map +1 -1
- package/lib/panel/Header.js +31 -37
- package/lib/panel/Header.js.map +1 -1
- package/lib/panel/InfoPanel.js +5 -5
- package/lib/panel/InfoPanel.js.map +1 -1
- package/lib/panel/PrimaryPanel.js +4 -4
- package/lib/panel/PrimaryPanel.js.map +1 -1
- package/lib/panel/SuccessPanel.js +6 -6
- package/lib/panel/SuccessPanel.js.map +1 -1
- package/lib/panel/WarningPanel.js +4 -4
- package/lib/panel/WarningPanel.js.map +1 -1
- package/lib/panel/helpers.d.ts +1 -2
- package/lib/panel/helpers.js +4 -4
- package/lib/panel/helpers.js.map +1 -1
- package/lib/panel/index.js +1 -1
- package/lib/popover/PopoverText.d.ts +1 -2
- package/lib/popover/PopoverText.js +12 -11
- package/lib/popover/PopoverText.js.map +1 -1
- package/lib/popover/PopoverTitle.js +2 -2
- package/lib/popover/PopoverTitle.js.map +1 -1
- package/lib/popover/index.js +14 -14
- package/lib/popover/index.js.map +1 -1
- package/lib/popover/types.d.ts +1 -0
- package/lib/progress/Bar.js +6 -6
- package/lib/progress/Bar.js.map +1 -1
- package/lib/progress/index.js +11 -11
- package/lib/progress/index.js.map +1 -1
- package/lib/radio/index.d.ts +4 -1
- package/lib/radio/index.js +40 -39
- package/lib/radio/index.js.map +1 -1
- package/lib/shortcuts/index.js +8 -8
- package/lib/shortcuts/index.js.map +1 -1
- package/lib/skeleton/SkeletonContainer.js +4 -4
- package/lib/skeleton/SkeletonContainer.js.map +1 -1
- package/lib/skeleton/index.js +15 -16
- package/lib/skeleton/index.js.map +1 -1
- package/lib/spinner/SpinnerLoading.js +23 -23
- package/lib/spinner/SpinnerLoading.js.map +1 -1
- package/lib/spinner/index.d.ts +2 -0
- package/lib/spinner/index.js +26 -25
- package/lib/spinner/index.js.map +1 -1
- package/lib/spinner/types.d.ts +2 -2
- package/lib/split/Split.js.map +1 -1
- package/lib/split/SplitSide.js +2 -2
- package/lib/split/SplitSide.js.map +1 -1
- package/lib/split/helpers.d.ts +1 -2
- package/lib/split/helpers.js +2 -2
- package/lib/split/helpers.js.map +1 -1
- package/lib/split/index.js +1 -1
- package/lib/table/Body.js +14 -15
- package/lib/table/Body.js.map +1 -1
- package/lib/table/Header.js +11 -11
- package/lib/table/Header.js.map +1 -1
- package/lib/table/HeaderColumn.js +24 -24
- package/lib/table/HeaderColumn.js.map +1 -1
- package/lib/table/Row.js +19 -19
- package/lib/table/Row.js.map +1 -1
- package/lib/table/RowColumn.js +19 -19
- package/lib/table/RowColumn.js.map +1 -1
- package/lib/table/helpers.d.ts +2 -3
- package/lib/table/helpers.js +7 -7
- package/lib/table/helpers.js.map +1 -1
- package/lib/table/index.js +82 -84
- package/lib/table/index.js.map +1 -1
- package/lib/table/types.d.ts +1 -0
- package/lib/tabs/DropdownTabs.js +39 -48
- package/lib/tabs/DropdownTabs.js.map +1 -1
- package/lib/tabs/Menu.d.ts +1 -1
- package/lib/tabs/Menu.js +29 -28
- package/lib/tabs/Menu.js.map +1 -1
- package/lib/tabs/MenuTabs.d.ts +1 -2
- package/lib/tabs/MenuTabs.js +65 -58
- package/lib/tabs/MenuTabs.js.map +1 -1
- package/lib/tabs/Panel.js +29 -29
- package/lib/tabs/Panel.js.map +1 -1
- package/lib/tabs/context.d.ts +2 -3
- package/lib/tabs/context.js +21 -19
- package/lib/tabs/context.js.map +1 -1
- package/lib/tabs/index.d.ts +1 -1
- package/lib/tabs/index.js +73 -63
- package/lib/tabs/index.js.map +1 -1
- package/lib/tabs/tabHelpers.d.ts +20 -2
- package/lib/tabs/tabHelpers.js +21 -22
- package/lib/tabs/tabHelpers.js.map +1 -1
- package/lib/tabs/types.d.ts +10 -3
- package/lib/textContent/index.d.ts +7 -11
- package/lib/textContent/index.js +38 -29
- package/lib/textContent/index.js.map +1 -1
- package/lib/toolbar/ButtonBar.js +26 -26
- package/lib/toolbar/ButtonBar.js.map +1 -1
- package/lib/toolbar/LabelBar.js +19 -19
- package/lib/toolbar/LabelBar.js.map +1 -1
- package/lib/toolbar/Separator.js +2 -2
- package/lib/toolbar/Separator.js.map +1 -1
- package/lib/toolbar/ToolBarGroup.js +4 -4
- package/lib/toolbar/ToolBarGroup.js.map +1 -1
- package/lib/toolbar/index.js +17 -17
- package/lib/toolbar/index.js.map +1 -1
- package/lib/toolbar/types.d.ts +1 -1
- package/lib/tooltip/TooltipContent.d.ts +3 -0
- package/lib/tooltip/TooltipContent.js +40 -0
- package/lib/tooltip/TooltipContent.js.map +1 -0
- package/lib/tooltip/index.d.ts +2 -3
- package/lib/tooltip/index.js +38 -38
- package/lib/tooltip/index.js.map +1 -1
- package/lib/tooltip/types.d.ts +25 -3
- package/lib/tooltip/useTooltip.d.ts +27 -0
- package/lib/tooltip/useTooltip.js +96 -0
- package/lib/tooltip/useTooltip.js.map +1 -0
- package/lib/treetable/Body.js +23 -27
- package/lib/treetable/Body.js.map +1 -1
- package/lib/treetable/Header.js +10 -13
- package/lib/treetable/Header.js.map +1 -1
- package/lib/treetable/Row.js +56 -59
- package/lib/treetable/Row.js.map +1 -1
- package/lib/treetable/helpers.d.ts +5 -4
- package/lib/treetable/helpers.js.map +1 -1
- package/lib/treetable/index.js +10 -10
- package/lib/treetable/index.js.map +1 -1
- package/lib/treeview/Header.js +7 -7
- package/lib/treeview/Header.js.map +1 -1
- package/lib/treeview/Node.js +62 -62
- package/lib/treeview/Node.js.map +1 -1
- package/lib/treeview/constants.d.ts +1 -2
- package/lib/treeview/constants.js +2 -2
- package/lib/treeview/constants.js.map +1 -1
- package/lib/treeview/index.js +52 -52
- package/lib/treeview/index.js.map +1 -1
- package/lib/uitour/index.d.ts +1 -2
- package/lib/uitour/index.js +21 -22
- package/lib/uitour/index.js.map +1 -1
- package/package.json +293 -10
- package/lib/buttons/ButtonGroups.js +0 -13
- package/lib/buttons/ButtonGroups.js.map +0 -1
- package/lib/calendar/base/Day.d.ts +0 -3
- package/lib/calendar/base/Day.js +0 -38
- package/lib/calendar/base/Day.js.map +0 -1
- package/lib/calendar/base/Month.d.ts +0 -3
- package/lib/calendar/base/Month.js +0 -29
- package/lib/calendar/base/Month.js.map +0 -1
- package/lib/calendar/base/Week.d.ts +0 -3
- package/lib/calendar/base/Week.js +0 -25
- package/lib/calendar/base/Week.js.map +0 -1
- package/lib/dropdown/helper.js +0 -9
- package/lib/dropdown/helper.js.map +0 -1
- package/lib/inputs/base/Label.d.ts +0 -6
- package/lib/inputs/base/Label.js +0 -31
- package/lib/inputs/base/Label.js.map +0 -1
- package/lib/internals/withTooltip.d.ts +0 -8
- package/lib/internals/withTooltip.js +0 -123
- package/lib/internals/withTooltip.js.map +0 -1
- package/lib/panel/ToolBar.js +0 -20
- package/lib/panel/ToolBar.js.map +0 -1
- package/lib/styles/assets/styles/calendar.css +0 -1
- package/lib/styles/assets/styles/colorpicker.css +0 -1
- package/lib/styles/assets/styles/gridlayout.css +0 -1
- package/lib/styles/assets/styles/select.css +0 -1
- package/lib/styles/assets/styles/tabs.css +0 -1
- /package/lib/{styles/assets → assets}/styles/alerts.css +0 -0
- /package/lib/{styles/assets → assets}/styles/avatar.css +0 -0
- /package/lib/{styles/assets → assets}/styles/badge.css +0 -0
- /package/lib/{styles/assets → assets}/styles/datepicker.css +0 -0
- /package/lib/{styles/assets → assets}/styles/dialog.css +0 -0
- /package/lib/{styles/assets → assets}/styles/dropdown.css +0 -0
- /package/lib/{styles/assets → assets}/styles/error.css +0 -0
- /package/lib/{styles/assets → assets}/styles/form.css +0 -0
- /package/lib/{styles/assets → assets}/styles/hint.css +0 -0
- /package/lib/{styles/assets → assets}/styles/icon.css +0 -0
- /package/lib/{styles/assets → assets}/styles/input.css +0 -0
- /package/lib/{styles/assets → assets}/styles/labelMessages.css +0 -0
- /package/lib/{styles/assets → assets}/styles/list.css +0 -0
- /package/lib/{styles/assets → assets}/styles/noPermission.css +0 -0
- /package/lib/{styles/assets → assets}/styles/numbers.css +0 -0
- /package/lib/{styles/assets → assets}/styles/panel.css +0 -0
- /package/lib/{styles/assets → assets}/styles/periodpicker.css +0 -0
- /package/lib/{styles/assets → assets}/styles/popover.css +0 -0
- /package/lib/{styles/assets → assets}/styles/progress.css +0 -0
- /package/lib/{styles/assets → assets}/styles/radio.css +0 -0
- /package/lib/{styles/assets → assets}/styles/search.css +0 -0
- /package/lib/{styles/assets → assets}/styles/shortcuts.css +0 -0
- /package/lib/{styles/assets → assets}/styles/skeleton.css +0 -0
- /package/lib/{styles/assets → assets}/styles/spinner.css +0 -0
- /package/lib/{styles/assets → assets}/styles/split.css +0 -0
- /package/lib/{styles/assets → assets}/styles/textContent.css +0 -0
- /package/lib/{styles/assets → assets}/styles/toolbar.css +0 -0
- /package/lib/{styles/assets → assets}/styles/tooltip.css +0 -0
- /package/lib/{styles/assets → assets}/styles/treetable.css +0 -0
- /package/lib/{styles/assets → assets}/styles/treeview.css +0 -0
- /package/lib/{styles/assets → assets}/styles/uitour.css +0 -0
- /package/lib/{styles/assets → assets}/styles/wizard.css +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/lib/treeview/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport _ from 'lodash';\nimport TreeNode from './Node';\nimport TreeViewHeader from './Header';\nimport '../assets/styles/treeview.scss';\nimport { TreeviewContext } from './constants';\nimport { ITreeViewContext, ITreeviewProps, NodeItem } from './types';\n\nconst TreeView = (props: ITreeviewProps) => {\n const {\n selectedIds = [], enableDynamicData, allowCheckAllAncestry, onNodeOpen, allowCheckAllChildren,\n onSelectedIdsChange, idsInLoading, startNodesOpened = false, alwaysShowArrow,\n nodeElementsValidations, nodeRightElements, nodeMenuButtonSize = 'small', nodeToolbarElements,\n onNodeClick, selectedNodeId, customClass = '', children, styleForContainer, bordered,\n requiredIds: propsRequiredIds = [], customClassForNodes = '', customStyleForNodes,\n } = props;\n const [data, setData] = useState(props.data);\n const [currentSelectedIds, setCurrentSelectedIds] = useState(selectedIds);\n const [propSelectedIds, setPropSelectedIds] = useState(selectedIds);\n const [isHandlingSelectedIds, setIsHandlingSelectedIds] = useState(false);\n const [selectedIdsUpdatedOnMount, setSelectedIdsUpdatedOnMount] = useState(false);\n const [requiredParentsIds, setRequiredParentsIds] = useState<number[]>([]);\n const [alreadyOpenedIds, setAlreadyOpenedIds] = useState<number[]>([]);\n const [idsWithChildren] = useState<{ [key: string | number]: number[] }>({});\n\n const returnChildrenIds = (\n nodeId: number,\n returnRequiredIds = false,\n nodeChildrenIds: number[] = [],\n requiredIds: number[] = [],\n ) => {\n if (idsWithChildren[nodeId] !== undefined) {\n nodeChildrenIds.push(nodeId);\n\n if (returnRequiredIds) requiredIds.push(nodeId);\n\n idsWithChildren[nodeId].forEach((childId: number) =>\n returnChildrenIds(childId, returnRequiredIds, nodeChildrenIds, requiredIds));\n } else nodeChildrenIds.push(nodeId);\n\n return returnRequiredIds ? { nodeChildrenIds, requiredIds } : { nodeChildrenIds };\n };\n\n const returnParentId = (nodeId: number) => {\n const parentId = Object.keys(idsWithChildren)\n .find((id: string) => idsWithChildren[id].find((childId: number) => childId === nodeId));\n\n return Number(parentId);\n };\n\n const returnAllAncestryIds = (nodeId: number, ancestryIds: number[] = []): number[] => {\n const parentId = returnParentId(nodeId);\n\n if (parentId) {\n const currentAncestryIds = [...ancestryIds, Number(parentId)];\n return returnAllAncestryIds(Number(parentId), currentAncestryIds);\n }\n\n return ancestryIds;\n };\n\n const returnRequiredAncestryIds = (\n nodeId: number,\n requiredAncestryIds: number[] = [],\n previousParentId?: number,\n ): number[] => {\n let selectedSiblingsIds = [];\n const parentId = returnParentId(nodeId);\n\n if (parentId) {\n const nodeSiblingsIds: number[] = idsWithChildren && idsWithChildren[parentId]\n .filter((childId: number) => childId !== nodeId);\n const isPreviousParentSelected = previousParentId\n && currentSelectedIds.includes(previousParentId);\n\n if (nodeSiblingsIds && nodeSiblingsIds.length > 0) {\n selectedSiblingsIds = currentSelectedIds\n .filter((id: number) => nodeSiblingsIds.includes(id));\n }\n\n const requiredIds = isPreviousParentSelected || selectedSiblingsIds.length > 0\n ? [...requiredAncestryIds]\n : [...requiredAncestryIds, parentId];\n\n if (selectedSiblingsIds.length === 0 && !isPreviousParentSelected) {\n return returnRequiredAncestryIds(parentId, requiredIds, parentId);\n }\n }\n\n return requiredAncestryIds;\n };\n\n const updateAncestryAndSelectedIds = (\n nodeId: number,\n codigos: number[],\n requiredParents: number[],\n ) => {\n const ancestryIds = returnRequiredAncestryIds(nodeId);\n const remainRequiredParentsIds = requiredParents\n .filter((id: number) => !ancestryIds.includes(id));\n const newSelectedIds = currentSelectedIds.filter(selectedId => !codigos.includes(selectedId));\n setRequiredParentsIds(remainRequiredParentsIds);\n\n return newSelectedIds;\n };\n\n const checkAllAncestry = (\n nodeId: number,\n codigos: number[],\n returnRequiredParentsIds = false,\n updateState = true,\n ) => {\n const nodeAncestryIds = returnAllAncestryIds(nodeId);\n const notRequiredAncestryIds = nodeAncestryIds.filter(id => !requiredParentsIds.includes(id));\n const notSelectedAncestryIds = nodeAncestryIds.filter(id => !currentSelectedIds.includes(id));\n\n const newSelectedIds = [...currentSelectedIds, ...codigos, ...notSelectedAncestryIds];\n const newRequiredParentsIds = [...requiredParentsIds, ...notRequiredAncestryIds];\n if (updateState) {\n setRequiredParentsIds(newRequiredParentsIds);\n }\n\n return !returnRequiredParentsIds\n ? { updatedIdsWithAncestryIds: newSelectedIds }\n : { updatedIdsWithAncestryIds: newSelectedIds, requiredParentsIds: newRequiredParentsIds };\n };\n\n const checkAllChildren = (\n nodeId: number,\n returnRequiredIds = false,\n currentRequiredIds: number[] = [],\n ) => {\n let childrenIds;\n let newRequiredParentsIds = currentRequiredIds;\n\n if (returnRequiredIds) {\n const { nodeChildrenIds, requiredIds } = returnChildrenIds(nodeId, returnRequiredIds);\n const newRequiredIds = requiredIds\n ? requiredIds.filter(id => !currentRequiredIds.includes(id))\n : [];\n newRequiredParentsIds = [...currentRequiredIds, ...newRequiredIds];\n childrenIds = nodeChildrenIds;\n } else childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;\n\n const notSelectedChildrenIds = childrenIds\n .filter((id: number) => !currentSelectedIds.includes(id));\n const newSelectedIds = [...currentSelectedIds, ...notSelectedChildrenIds];\n\n setRequiredParentsIds(newRequiredParentsIds);\n setIsHandlingSelectedIds(false);\n return newSelectedIds;\n };\n\n const uncheckAllChildren = (nodeId: number, remainSelectedIds: number[] = []) => {\n let newSelectedIds = remainSelectedIds.length > 0 ? remainSelectedIds : currentSelectedIds;\n const childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;\n\n newSelectedIds = newSelectedIds.filter(selectedId => !childrenIds.includes(selectedId));\n setIsHandlingSelectedIds(false);\n\n return newSelectedIds;\n };\n\n const uncheckRequiredChildren = (\n nodeId: number,\n codigos: number[],\n requiredParents: number[],\n ) => {\n const childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;\n const remainRequiredIds = requiredParents.filter((id: number) => !childrenIds.includes(id));\n\n setRequiredParentsIds([...remainRequiredIds]);\n updateAncestryAndSelectedIds(nodeId, codigos, remainRequiredIds);\n };\n\n const handleOnNodeOpen = (node: NodeItem) => {\n const { id } = node;\n let newAlreadyOpenedIds = alreadyOpenedIds;\n\n if (!alreadyOpenedIds.includes(id) && onNodeOpen) {\n newAlreadyOpenedIds = [...newAlreadyOpenedIds, id];\n onNodeOpen(node);\n }\n\n setAlreadyOpenedIds(newAlreadyOpenedIds);\n };\n\n const handleCheck = (nodeId: number, handlingSelectedIds: boolean, isParent: boolean) => {\n const codigos = _.isArray(nodeId) ? nodeId : [nodeId];\n\n let newSelectedIds = [...currentSelectedIds, ...codigos];\n\n if (isParent && (handlingSelectedIds || isHandlingSelectedIds) && allowCheckAllChildren) {\n if (allowCheckAllAncestry) {\n const {\n updatedIdsWithAncestryIds,\n requiredParentsIds: requiredParents,\n } = checkAllAncestry(nodeId, codigos, true);\n const updatedIdsWithChildrenIds = checkAllChildren(nodeId, true, requiredParents);\n\n newSelectedIds = [...updatedIdsWithAncestryIds, ...updatedIdsWithChildrenIds];\n } else newSelectedIds = checkAllChildren(nodeId);\n } else if (allowCheckAllAncestry) {\n newSelectedIds = checkAllAncestry(nodeId, codigos).updatedIdsWithAncestryIds;\n }\n\n return newSelectedIds;\n };\n\n const handleUncheck = (\n nodeId: number,\n handlingSelectedIds: boolean,\n isParent: boolean,\n required: boolean,\n ) => {\n const codigos = _.isArray(nodeId) ? nodeId : [nodeId];\n let newSelectedIds = currentSelectedIds.filter(id => !codigos.includes(id));\n\n if (isParent && (handlingSelectedIds || isHandlingSelectedIds) && allowCheckAllChildren) {\n if (allowCheckAllAncestry) {\n const updatedSelectedIds = updateAncestryAndSelectedIds(\n nodeId, codigos, requiredParentsIds,\n );\n newSelectedIds = uncheckAllChildren(nodeId, updatedSelectedIds);\n\n if (required) uncheckRequiredChildren(nodeId, codigos, requiredParentsIds);\n } else newSelectedIds = uncheckAllChildren(nodeId);\n } else if (allowCheckAllAncestry) {\n newSelectedIds = updateAncestryAndSelectedIds(nodeId, codigos, requiredParentsIds);\n }\n\n return newSelectedIds;\n };\n\n const updateSelectedIds = (\n nodeId: number,\n checked: boolean,\n isParent: boolean,\n required = false,\n handlingSelectedIds = isHandlingSelectedIds,\n ) => {\n let newSelectedIds = [...currentSelectedIds];\n\n if (checked) {\n newSelectedIds = handleCheck(nodeId, handlingSelectedIds, isParent);\n } else {\n newSelectedIds = handleUncheck(nodeId, handlingSelectedIds, isParent, required);\n }\n\n setCurrentSelectedIds(newSelectedIds);\n if (onSelectedIdsChange) onSelectedIdsChange(newSelectedIds);\n };\n\n const toggleCheckChildren = (nodeId: number, check: boolean, required = false) => {\n setIsHandlingSelectedIds(true);\n updateSelectedIds(nodeId, check, true, required, true);\n };\n\n const buildTree = (\n node: NodeItem,\n parentId?: number,\n ids?: { [key: string | number]: number[] },\n ) => {\n let childrenIds: number[] = [];\n\n if (node.itens && node.itens.length > 0) {\n childrenIds = node.itens.map((i: NodeItem) => i.id);\n if (ids) {\n const idWithChildren: { [key: string | number]: number[] } = {};\n idWithChildren[node.id] = childrenIds;\n Object.assign(ids, idWithChildren);\n }\n }\n\n return (\n <TreeNode\n key={`node-${node.id}`}\n node={node}\n idsInLoading={idsInLoading}\n startNodesOpened={startNodesOpened}\n alwaysShowArrow={alwaysShowArrow}\n childrenIds={childrenIds}\n isParent={node.itens && node.itens.length > 0}\n parentId={parentId}\n nodeRightElements={nodeRightElements}\n nodeToolbarElements={nodeToolbarElements}\n nodeElementsValidations={nodeElementsValidations}\n nodeMenuButtonSize={nodeMenuButtonSize}\n onNodeClick={onNodeClick}\n selectedNodeId={selectedNodeId}\n handlerOnNodeOpen={handleOnNodeOpen}\n customClass={customClassForNodes}\n customStyle={customStyleForNodes}>\n {childrenIds.length > 0 && node.itens && (\n node.itens.map((nodeitem: NodeItem) => buildTree(nodeitem, node.id, idsWithChildren))\n )}\n </TreeNode>\n );\n };\n\n const handleNewSelectedIds = (selectedNodeIds: number[]) => {\n let requiredIds: number[] = [];\n let newSelectedIds: number[] = [];\n\n selectedNodeIds.forEach((id: number) => {\n const {\n requiredParentsIds: requiredParents,\n updatedIdsWithAncestryIds,\n } = checkAllAncestry(id, [], true, false);\n\n newSelectedIds = [...newSelectedIds, ...updatedIdsWithAncestryIds];\n if (requiredParents) {\n requiredIds = [...requiredIds, ...requiredParents];\n }\n });\n\n setRequiredParentsIds(_.uniq(requiredIds));\n setCurrentSelectedIds(_.uniq(newSelectedIds));\n setSelectedIdsUpdatedOnMount(prevState => prevState || true);\n };\n\n useEffect(() => {\n const isSameSelectedIds = _.isEqual(propSelectedIds.sort(), selectedIds.sort());\n if (enableDynamicData && props.data !== data) {\n setData(props.data);\n } else if (!isSameSelectedIds) {\n setCurrentSelectedIds(selectedIds);\n onSelectedIdsChange?.(selectedIds);\n setPropSelectedIds(selectedIds);\n }\n }, [selectedIds.length, props.data]);\n\n useEffect(() => {\n if (allowCheckAllAncestry && (!selectedIdsUpdatedOnMount)) {\n handleNewSelectedIds(currentSelectedIds);\n }\n }, [currentSelectedIds]);\n\n useEffect(() => {\n if (allowCheckAllAncestry) {\n handleNewSelectedIds(currentSelectedIds);\n }\n }, [propSelectedIds]);\n\n useEffect(() => {\n buildTree(data as NodeItem, undefined, idsWithChildren);\n }, []);\n\n const contextValues: ITreeViewContext = {\n ...props,\n requiredIds: propsRequiredIds,\n selectedIds: currentSelectedIds,\n isHandlingSelectedIds,\n selectedIdsUpdatedOnMount,\n requiredParentsIds,\n alreadyOpenedIds,\n handlerUpdateSelectedIds: updateSelectedIds,\n handlerToggleCheckChildren: toggleCheckChildren,\n };\n\n return (\n <TreeviewContext.Provider value={contextValues}>\n <div className={`treeview-component ${customClass}`}>\n {children}\n <ul\n style={styleForContainer}\n className={`treeviewcontainer ${bordered && '-bordered'}`}>\n {buildTree(data as NodeItem)}\n </ul>\n </div>\n </TreeviewContext.Provider>\n );\n};\n\nexport default TreeView;\nexport { TreeNode, TreeViewHeader };\n"],"names":["TreeView","props","$","_c","selectedIds","t0","enableDynamicData","allowCheckAllAncestry","onNodeOpen","allowCheckAllChildren","onSelectedIdsChange","idsInLoading","startNodesOpened","t1","alwaysShowArrow","nodeElementsValidations","nodeRightElements","nodeMenuButtonSize","t2","nodeToolbarElements","onNodeClick","selectedNodeId","customClass","t3","children","styleForContainer","bordered","requiredIds","t4","customClassForNodes","t5","customStyleForNodes","t6","undefined","t7","propsRequiredIds","data","setData","useState","currentSelectedIds","setCurrentSelectedIds","propSelectedIds","setPropSelectedIds","isHandlingSelectedIds","setIsHandlingSelectedIds","selectedIdsUpdatedOnMount","setSelectedIdsUpdatedOnMount","t8","Symbol","for","requiredParentsIds","setRequiredParentsIds","t9","alreadyOpenedIds","setAlreadyOpenedIds","t10","idsWithChildren","returnChildrenIds","t11","nodeId","t12","t13","t14","returnRequiredIds","nodeChildrenIds","push","forEach","childId","nodeId_0","parentId","Object","keys","find","id","childId_0","Number","returnParentId","returnAllAncestryIds","nodeId_1","ancestryIds","parentId_0","currentAncestryIds","returnRequiredAncestryIds","nodeId_2","previousParentId","requiredAncestryIds","selectedSiblingsIds","parentId_1","nodeSiblingsIds","filter","childId_1","isPreviousParentSelected","includes","length","id_0","requiredIds_0","nodeId_3","codigos","requiredParents","ancestryIds_0","remainRequiredParentsIds","id_1","newSelectedIds","selectedId","updateAncestryAndSelectedIds","nodeId_4","codigos_0","t15","returnRequiredParentsIds","updateState","nodeAncestryIds","notRequiredAncestryIds","id_2","notSelectedAncestryIds","id_3","newSelectedIds_0","newRequiredParentsIds","updatedIdsWithAncestryIds","checkAllAncestry","nodeId_5","t16","returnRequiredIds_0","currentRequiredIds","childrenIds","newRequiredParentsIds_0","nodeChildrenIds_0","requiredIds_1","newRequiredIds","id_4","notSelectedChildrenIds","id_5","newSelectedIds_1","checkAllChildren","nodeId_6","remainSelectedIds","newSelectedIds_2","childrenIds_0","selectedId_0","uncheckAllChildren","nodeId_7","codigos_1","requiredParents_0","childrenIds_1","remainRequiredIds","id_6","uncheckRequiredChildren","t17","node","id_7","newAlreadyOpenedIds","handleOnNodeOpen","t18","nodeId_8","handlingSelectedIds","isParent","codigos_2","_","isArray","newSelectedIds_3","requiredParents_1","updatedIdsWithChildrenIds","handleCheck","t19","nodeId_9","handlingSelectedIds_0","isParent_0","required","codigos_3","newSelectedIds_4","id_8","updatedSelectedIds","handleUncheck","t20","nodeId_10","checked","isParent_1","t21","t22","required_0","handlingSelectedIds_1","newSelectedIds_5","updateSelectedIds","nodeId_11","check","required_1","toggleCheckChildren","buildTree","node_0","parentId_2","ids","childrenIds_2","itens","map","_temp","idWithChildren","assign","jsx","TreeNode","nodeitem","selectedNodeIds","requiredIds_2","newSelectedIds_6","id_9","requiredParents_2","updatedIdsWithAncestryIds_0","uniq","_temp2","handleNewSelectedIds","t23","isSameSelectedIds","isEqual","sort","t24","useEffect","t25","t26","t27","t28","t29","t30","t31","handlerUpdateSelectedIds","handlerToggleCheckChildren","contextValues","t32","t33","t34","t35","t36","t37","jsxs","t38","TreeviewContext","i","prevState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/lib/treeview/index.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport _ from 'lodash';\nimport TreeNode from './Node';\nimport TreeViewHeader from './Header';\nimport '../assets/styles/treeview.scss';\nimport { TreeviewContext } from './constants';\nimport { ITreeViewContext, ITreeviewProps, NodeItem } from './types';\n\nconst TreeView = (props: ITreeviewProps) => {\n const {\n selectedIds = [], enableDynamicData, allowCheckAllAncestry, onNodeOpen, allowCheckAllChildren,\n onSelectedIdsChange, idsInLoading, startNodesOpened = false, alwaysShowArrow,\n nodeElementsValidations, nodeRightElements, nodeMenuButtonSize = 'small', nodeToolbarElements,\n onNodeClick, selectedNodeId, customClass = '', children, styleForContainer, bordered,\n requiredIds: propsRequiredIds = [], customClassForNodes = '', customStyleForNodes,\n } = props;\n const [data, setData] = useState(props.data);\n const [currentSelectedIds, setCurrentSelectedIds] = useState(selectedIds);\n const [propSelectedIds, setPropSelectedIds] = useState(selectedIds);\n const [isHandlingSelectedIds, setIsHandlingSelectedIds] = useState(false);\n const [selectedIdsUpdatedOnMount, setSelectedIdsUpdatedOnMount] = useState(false);\n const [requiredParentsIds, setRequiredParentsIds] = useState<number[]>([]);\n const [alreadyOpenedIds, setAlreadyOpenedIds] = useState<number[]>([]);\n const [idsWithChildren] = useState<{ [key: string | number]: number[] }>({});\n\n const returnChildrenIds = (\n nodeId: number,\n returnRequiredIds = false,\n nodeChildrenIds: number[] = [],\n requiredIds: number[] = [],\n ) => {\n if (idsWithChildren[nodeId] !== undefined) {\n nodeChildrenIds.push(nodeId);\n\n if (returnRequiredIds) requiredIds.push(nodeId);\n\n idsWithChildren[nodeId].forEach((childId: number) =>\n returnChildrenIds(childId, returnRequiredIds, nodeChildrenIds, requiredIds));\n } else nodeChildrenIds.push(nodeId);\n\n return returnRequiredIds ? { nodeChildrenIds, requiredIds } : { nodeChildrenIds };\n };\n\n const returnParentId = (nodeId: number) => {\n const parentId = Object.keys(idsWithChildren)\n .find((id: string) => idsWithChildren[id].find((childId: number) => childId === nodeId));\n\n return Number(parentId);\n };\n\n const returnAllAncestryIds = (nodeId: number, ancestryIds: number[] = []): number[] => {\n const parentId = returnParentId(nodeId);\n\n if (parentId) {\n const currentAncestryIds = [...ancestryIds, Number(parentId)];\n return returnAllAncestryIds(Number(parentId), currentAncestryIds);\n }\n\n return ancestryIds;\n };\n\n const returnRequiredAncestryIds = (\n nodeId: number,\n requiredAncestryIds: number[] = [],\n previousParentId?: number,\n ): number[] => {\n let selectedSiblingsIds = [];\n const parentId = returnParentId(nodeId);\n\n if (parentId) {\n const nodeSiblingsIds: number[] = idsWithChildren && idsWithChildren[parentId]\n .filter((childId: number) => childId !== nodeId);\n const isPreviousParentSelected = previousParentId\n && currentSelectedIds.includes(previousParentId);\n\n if (nodeSiblingsIds && nodeSiblingsIds.length > 0) {\n selectedSiblingsIds = currentSelectedIds\n .filter((id: number) => nodeSiblingsIds.includes(id));\n }\n\n const requiredIds = isPreviousParentSelected || selectedSiblingsIds.length > 0\n ? [...requiredAncestryIds]\n : [...requiredAncestryIds, parentId];\n\n if (selectedSiblingsIds.length === 0 && !isPreviousParentSelected) {\n return returnRequiredAncestryIds(parentId, requiredIds, parentId);\n }\n }\n\n return requiredAncestryIds;\n };\n\n const updateAncestryAndSelectedIds = (\n nodeId: number,\n codigos: number[],\n requiredParents: number[],\n ) => {\n const ancestryIds = returnRequiredAncestryIds(nodeId);\n const remainRequiredParentsIds = requiredParents\n .filter((id: number) => !ancestryIds.includes(id));\n const newSelectedIds = currentSelectedIds.filter(selectedId => !codigos.includes(selectedId));\n setRequiredParentsIds(remainRequiredParentsIds);\n\n return newSelectedIds;\n };\n\n const checkAllAncestry = (\n nodeId: number,\n codigos: number[],\n returnRequiredParentsIds = false,\n updateState = true,\n ) => {\n const nodeAncestryIds = returnAllAncestryIds(nodeId);\n const notRequiredAncestryIds = nodeAncestryIds.filter(id => !requiredParentsIds.includes(id));\n const notSelectedAncestryIds = nodeAncestryIds.filter(id => !currentSelectedIds.includes(id));\n\n const newSelectedIds = [...currentSelectedIds, ...codigos, ...notSelectedAncestryIds];\n const newRequiredParentsIds = [...requiredParentsIds, ...notRequiredAncestryIds];\n if (updateState) {\n setRequiredParentsIds(newRequiredParentsIds);\n }\n\n return !returnRequiredParentsIds\n ? { updatedIdsWithAncestryIds: newSelectedIds }\n : { updatedIdsWithAncestryIds: newSelectedIds, requiredParentsIds: newRequiredParentsIds };\n };\n\n const checkAllChildren = (\n nodeId: number,\n returnRequiredIds = false,\n currentRequiredIds: number[] = [],\n ) => {\n let childrenIds;\n let newRequiredParentsIds = currentRequiredIds;\n\n if (returnRequiredIds) {\n const { nodeChildrenIds, requiredIds } = returnChildrenIds(nodeId, returnRequiredIds);\n const newRequiredIds = requiredIds\n ? requiredIds.filter(id => !currentRequiredIds.includes(id))\n : [];\n newRequiredParentsIds = [...currentRequiredIds, ...newRequiredIds];\n childrenIds = nodeChildrenIds;\n } else childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;\n\n const notSelectedChildrenIds = childrenIds\n .filter((id: number) => !currentSelectedIds.includes(id));\n const newSelectedIds = [...currentSelectedIds, ...notSelectedChildrenIds];\n\n setRequiredParentsIds(newRequiredParentsIds);\n setIsHandlingSelectedIds(false);\n return newSelectedIds;\n };\n\n const uncheckAllChildren = (nodeId: number, remainSelectedIds: number[] = []) => {\n let newSelectedIds = remainSelectedIds.length > 0 ? remainSelectedIds : currentSelectedIds;\n const childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;\n\n newSelectedIds = newSelectedIds.filter(selectedId => !childrenIds.includes(selectedId));\n setIsHandlingSelectedIds(false);\n\n return newSelectedIds;\n };\n\n const uncheckRequiredChildren = (\n nodeId: number,\n codigos: number[],\n requiredParents: number[],\n ) => {\n const childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;\n const remainRequiredIds = requiredParents.filter((id: number) => !childrenIds.includes(id));\n\n setRequiredParentsIds([...remainRequiredIds]);\n updateAncestryAndSelectedIds(nodeId, codigos, remainRequiredIds);\n };\n\n const handleOnNodeOpen = (node: NodeItem) => {\n const { id } = node;\n let newAlreadyOpenedIds = alreadyOpenedIds;\n\n if (!alreadyOpenedIds.includes(id) && onNodeOpen) {\n newAlreadyOpenedIds = [...newAlreadyOpenedIds, id];\n onNodeOpen(node);\n }\n\n setAlreadyOpenedIds(newAlreadyOpenedIds);\n };\n\n const handleCheck = (nodeId: number, handlingSelectedIds: boolean, isParent: boolean) => {\n const codigos = _.isArray(nodeId) ? nodeId : [nodeId];\n\n let newSelectedIds = [...currentSelectedIds, ...codigos];\n\n if (isParent && (handlingSelectedIds || isHandlingSelectedIds) && allowCheckAllChildren) {\n if (allowCheckAllAncestry) {\n const {\n updatedIdsWithAncestryIds,\n requiredParentsIds: requiredParents,\n } = checkAllAncestry(nodeId, codigos, true);\n const updatedIdsWithChildrenIds = checkAllChildren(nodeId, true, requiredParents);\n\n newSelectedIds = [...updatedIdsWithAncestryIds, ...updatedIdsWithChildrenIds];\n } else newSelectedIds = checkAllChildren(nodeId);\n } else if (allowCheckAllAncestry) {\n newSelectedIds = checkAllAncestry(nodeId, codigos).updatedIdsWithAncestryIds;\n }\n\n return newSelectedIds;\n };\n\n const handleUncheck = (\n nodeId: number,\n handlingSelectedIds: boolean,\n isParent: boolean,\n required: boolean,\n ) => {\n const codigos = _.isArray(nodeId) ? nodeId : [nodeId];\n let newSelectedIds = currentSelectedIds.filter(id => !codigos.includes(id));\n\n if (isParent && (handlingSelectedIds || isHandlingSelectedIds) && allowCheckAllChildren) {\n if (allowCheckAllAncestry) {\n const updatedSelectedIds = updateAncestryAndSelectedIds(\n nodeId, codigos, requiredParentsIds,\n );\n newSelectedIds = uncheckAllChildren(nodeId, updatedSelectedIds);\n\n if (required) uncheckRequiredChildren(nodeId, codigos, requiredParentsIds);\n } else newSelectedIds = uncheckAllChildren(nodeId);\n } else if (allowCheckAllAncestry) {\n newSelectedIds = updateAncestryAndSelectedIds(nodeId, codigos, requiredParentsIds);\n }\n\n return newSelectedIds;\n };\n\n const updateSelectedIds = (\n nodeId: number,\n checked: boolean,\n isParent: boolean,\n required = false,\n handlingSelectedIds = isHandlingSelectedIds,\n ) => {\n let newSelectedIds = [...currentSelectedIds];\n\n if (checked) {\n newSelectedIds = handleCheck(nodeId, handlingSelectedIds, isParent);\n } else {\n newSelectedIds = handleUncheck(nodeId, handlingSelectedIds, isParent, required);\n }\n\n setCurrentSelectedIds(newSelectedIds);\n if (onSelectedIdsChange) onSelectedIdsChange(newSelectedIds);\n };\n\n const toggleCheckChildren = (nodeId: number, check: boolean, required = false) => {\n setIsHandlingSelectedIds(true);\n updateSelectedIds(nodeId, check, true, required, true);\n };\n\n const buildTree = (\n node: NodeItem,\n parentId?: number,\n ids?: { [key: string | number]: number[] },\n ) => {\n let childrenIds: number[] = [];\n\n if (node.itens && node.itens.length > 0) {\n childrenIds = node.itens.map((i: NodeItem) => i.id);\n if (ids) {\n const idWithChildren: { [key: string | number]: number[] } = {};\n idWithChildren[node.id] = childrenIds;\n Object.assign(ids, idWithChildren);\n }\n }\n\n return (\n <TreeNode\n key={`node-${node.id}`}\n node={node}\n idsInLoading={idsInLoading}\n startNodesOpened={startNodesOpened}\n alwaysShowArrow={alwaysShowArrow}\n childrenIds={childrenIds}\n isParent={node.itens && node.itens.length > 0}\n parentId={parentId}\n nodeRightElements={nodeRightElements}\n nodeToolbarElements={nodeToolbarElements}\n nodeElementsValidations={nodeElementsValidations}\n nodeMenuButtonSize={nodeMenuButtonSize}\n onNodeClick={onNodeClick}\n selectedNodeId={selectedNodeId}\n handlerOnNodeOpen={handleOnNodeOpen}\n customClass={customClassForNodes}\n customStyle={customStyleForNodes}>\n {childrenIds.length > 0 && node.itens && (\n node.itens.map((nodeitem: NodeItem) => buildTree(nodeitem, node.id, idsWithChildren))\n )}\n </TreeNode>\n );\n };\n\n const handleNewSelectedIds = (selectedNodeIds: number[]) => {\n let requiredIds: number[] = [];\n let newSelectedIds: number[] = [];\n\n selectedNodeIds.forEach((id: number) => {\n const {\n requiredParentsIds: requiredParents,\n updatedIdsWithAncestryIds,\n } = checkAllAncestry(id, [], true, false);\n\n newSelectedIds = [...newSelectedIds, ...updatedIdsWithAncestryIds];\n if (requiredParents) {\n requiredIds = [...requiredIds, ...requiredParents];\n }\n });\n\n setRequiredParentsIds(_.uniq(requiredIds));\n setCurrentSelectedIds(_.uniq(newSelectedIds));\n setSelectedIdsUpdatedOnMount(prevState => prevState || true);\n };\n\n useEffect(() => {\n const isSameSelectedIds = _.isEqual(propSelectedIds.sort(), selectedIds.sort());\n if (enableDynamicData && props.data !== data) {\n setData(props.data);\n } else if (!isSameSelectedIds) {\n setCurrentSelectedIds(selectedIds);\n onSelectedIdsChange?.(selectedIds);\n setPropSelectedIds(selectedIds);\n }\n }, [selectedIds.length, props.data]);\n\n useEffect(() => {\n if (allowCheckAllAncestry && (!selectedIdsUpdatedOnMount)) {\n handleNewSelectedIds(currentSelectedIds);\n }\n }, [currentSelectedIds]);\n\n useEffect(() => {\n if (allowCheckAllAncestry) {\n handleNewSelectedIds(currentSelectedIds);\n }\n }, [propSelectedIds]);\n\n useEffect(() => {\n buildTree(data as NodeItem, undefined, idsWithChildren);\n }, []);\n\n const contextValues: ITreeViewContext = {\n ...props,\n requiredIds: propsRequiredIds,\n selectedIds: currentSelectedIds,\n isHandlingSelectedIds,\n selectedIdsUpdatedOnMount,\n requiredParentsIds,\n alreadyOpenedIds,\n handlerUpdateSelectedIds: updateSelectedIds,\n handlerToggleCheckChildren: toggleCheckChildren,\n };\n\n return (\n <TreeviewContext.Provider value={contextValues}>\n <div className={`treeview-component ${customClass}`}>\n {children}\n <ul\n style={styleForContainer}\n className={`treeviewcontainer ${bordered && '-bordered'}`}>\n {buildTree(data as NodeItem)}\n </ul>\n </div>\n </TreeviewContext.Provider>\n );\n};\n\nexport default TreeView;\nexport { TreeNode, TreeViewHeader };\n"],"names":["TreeView","props","$","_c","selectedIds","t0","enableDynamicData","allowCheckAllAncestry","onNodeOpen","allowCheckAllChildren","onSelectedIdsChange","idsInLoading","startNodesOpened","t1","alwaysShowArrow","nodeElementsValidations","nodeRightElements","nodeMenuButtonSize","t2","nodeToolbarElements","onNodeClick","selectedNodeId","customClass","t3","children","styleForContainer","bordered","requiredIds","t4","customClassForNodes","t5","customStyleForNodes","t6","undefined","t7","propsRequiredIds","data","setData","useState","currentSelectedIds","setCurrentSelectedIds","propSelectedIds","setPropSelectedIds","isHandlingSelectedIds","setIsHandlingSelectedIds","selectedIdsUpdatedOnMount","setSelectedIdsUpdatedOnMount","t8","Symbol","for","requiredParentsIds","setRequiredParentsIds","t9","alreadyOpenedIds","setAlreadyOpenedIds","t10","idsWithChildren","returnChildrenIds","t11","nodeId","t12","t13","t14","returnRequiredIds","nodeChildrenIds","push","forEach","childId","nodeId_0","parentId","Object","keys","find","id","childId_0","Number","returnParentId","returnAllAncestryIds","nodeId_1","ancestryIds","parentId_0","currentAncestryIds","returnRequiredAncestryIds","nodeId_2","previousParentId","requiredAncestryIds","selectedSiblingsIds","parentId_1","nodeSiblingsIds","filter","childId_1","isPreviousParentSelected","includes","length","id_0","requiredIds_0","nodeId_3","codigos","requiredParents","ancestryIds_0","remainRequiredParentsIds","id_1","newSelectedIds","selectedId","updateAncestryAndSelectedIds","nodeId_4","codigos_0","t15","returnRequiredParentsIds","updateState","nodeAncestryIds","notRequiredAncestryIds","id_2","notSelectedAncestryIds","id_3","newSelectedIds_0","newRequiredParentsIds","updatedIdsWithAncestryIds","checkAllAncestry","nodeId_5","t16","returnRequiredIds_0","currentRequiredIds","childrenIds","newRequiredParentsIds_0","nodeChildrenIds_0","requiredIds_1","newRequiredIds","id_4","notSelectedChildrenIds","id_5","newSelectedIds_1","checkAllChildren","nodeId_6","remainSelectedIds","newSelectedIds_2","childrenIds_0","selectedId_0","uncheckAllChildren","nodeId_7","codigos_1","requiredParents_0","childrenIds_1","remainRequiredIds","id_6","uncheckRequiredChildren","t17","node","id_7","newAlreadyOpenedIds","handleOnNodeOpen","t18","nodeId_8","handlingSelectedIds","isParent","codigos_2","_","isArray","newSelectedIds_3","requiredParents_1","updatedIdsWithChildrenIds","handleCheck","t19","nodeId_9","handlingSelectedIds_0","isParent_0","required","codigos_3","newSelectedIds_4","id_8","updatedSelectedIds","handleUncheck","t20","nodeId_10","checked","isParent_1","t21","t22","required_0","handlingSelectedIds_1","newSelectedIds_5","updateSelectedIds","nodeId_11","check","required_1","toggleCheckChildren","buildTree","node_0","parentId_2","ids","childrenIds_2","itens","map","_temp","idWithChildren","assign","jsx","TreeNode","nodeitem","selectedNodeIds","requiredIds_2","newSelectedIds_6","id_9","requiredParents_2","updatedIdsWithAncestryIds_0","uniq","_temp2","handleNewSelectedIds","t23","isSameSelectedIds","isEqual","sort","t24","useEffect","t25","t26","t27","t28","t29","t30","t31","handlerUpdateSelectedIds","handlerToggleCheckChildren","contextValues","t32","t33","t34","t35","t36","t37","jsxs","t38","TreeviewContext","i","prevState"],"mappings":"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"}
|
package/lib/uitour/index.d.ts
CHANGED
package/lib/uitour/index.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { jsxs as j, jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { c as Ie } from "
|
|
2
|
+
import { c as Ie } from "../_virtual/compiler-runtime.js";
|
|
3
3
|
import { useState as a, useRef as se, useEffect as oe } from "react";
|
|
4
4
|
import { createPortal as Se } from "react-dom";
|
|
5
5
|
import ve from "../buttons/Button.js";
|
|
6
6
|
import ie from "../buttons/PrimaryButton.js";
|
|
7
|
-
import
|
|
8
|
-
import '../styles/assets/styles/uitour.css';import '../styles/assets/styles/button.css';/* empty css */
|
|
7
|
+
import '../assets/styles/uitour.css';import '../assets/styles/button.css';/* empty css */
|
|
9
8
|
/* empty css */
|
|
10
9
|
import { STEP_POSITIONS as M, ARROW_WIDTH as pe, ARROW_HEIGHT as he } from "./helpers.js";
|
|
11
|
-
const
|
|
12
|
-
const e = Ie(54), {
|
|
10
|
+
const Re = (be) => {
|
|
11
|
+
const e = Ie.c(54), {
|
|
13
12
|
data: o,
|
|
14
13
|
nextButtonLabel: $,
|
|
15
14
|
backButtonLabel: z,
|
|
@@ -34,8 +33,8 @@ const Te = (be) => {
|
|
|
34
33
|
}
|
|
35
34
|
}, e[1] = s?.id, e[2] = o, e[3] = f, e[4] = v) : v = e[4];
|
|
36
35
|
const Z = v;
|
|
37
|
-
let
|
|
38
|
-
e[5] !== s?.id || e[6] !== o || e[7] !== u ? (
|
|
36
|
+
let x;
|
|
37
|
+
e[5] !== s?.id || e[6] !== o || e[7] !== u ? (x = () => {
|
|
39
38
|
if (u) {
|
|
40
39
|
const t = o.findIndex((c) => c.id === s?.id), n = o[t - 1], i = o.findIndex((c) => c.id === n.id);
|
|
41
40
|
document.getElementById(n.targetId) && U({
|
|
@@ -43,15 +42,15 @@ const Te = (be) => {
|
|
|
43
42
|
number: i + 1
|
|
44
43
|
});
|
|
45
44
|
}
|
|
46
|
-
}, e[5] = s?.id, e[6] = o, e[7] = u, e[8] =
|
|
47
|
-
const ee =
|
|
48
|
-
let
|
|
49
|
-
e[9] !== b ? (
|
|
45
|
+
}, e[5] = s?.id, e[6] = o, e[7] = u, e[8] = x) : x = e[8];
|
|
46
|
+
const ee = x;
|
|
47
|
+
let B;
|
|
48
|
+
e[9] !== b ? (B = () => {
|
|
50
49
|
ae(!1), b && b(!0);
|
|
51
|
-
}, e[9] = b, e[10] =
|
|
52
|
-
const y =
|
|
53
|
-
let
|
|
54
|
-
e[11] !== s?.position ? (
|
|
50
|
+
}, e[9] = b, e[10] = B) : B = e[10];
|
|
51
|
+
const y = B;
|
|
52
|
+
let E;
|
|
53
|
+
e[11] !== s?.position ? (E = (t) => {
|
|
55
54
|
if (X.current) {
|
|
56
55
|
const n = X.current.getBoundingClientRect(), i = window.innerWidth;
|
|
57
56
|
n.right >= i || s?.position === M.right ? (fe(M.right), de({
|
|
@@ -62,13 +61,13 @@ const Te = (be) => {
|
|
|
62
61
|
left: t.left + t.width + pe
|
|
63
62
|
}));
|
|
64
63
|
}
|
|
65
|
-
}, e[11] = s?.position, e[12] =
|
|
66
|
-
const te =
|
|
67
|
-
let
|
|
68
|
-
e[13] !== l ? (
|
|
64
|
+
}, e[11] = s?.position, e[12] = E) : E = e[12];
|
|
65
|
+
const te = E;
|
|
66
|
+
let w;
|
|
67
|
+
e[13] !== l ? (w = (t) => {
|
|
69
68
|
ae(l), U(t);
|
|
70
|
-
}, e[13] = l, e[14] =
|
|
71
|
-
const k =
|
|
69
|
+
}, e[13] = l, e[14] = w) : w = e[14];
|
|
70
|
+
const k = w;
|
|
72
71
|
let _;
|
|
73
72
|
e[15] === Symbol.for("react.memo_cache_sentinel") ? (_ = () => {
|
|
74
73
|
d.current.length > 0 && d.current.forEach((n) => {
|
|
@@ -184,6 +183,6 @@ const Te = (be) => {
|
|
|
184
183
|
return e[52] !== ne ? (W = Se(ne, document.body), e[52] = ne, e[53] = W) : W = e[53], W;
|
|
185
184
|
};
|
|
186
185
|
export {
|
|
187
|
-
|
|
186
|
+
Re as default
|
|
188
187
|
};
|
|
189
188
|
//# sourceMappingURL=index.js.map
|
package/lib/uitour/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/lib/uitour/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport DefaultButton, { PrimaryButton } from '../buttons';\nimport '../assets/styles/uitour.scss';\nimport { ARROW_HEIGHT, ARROW_WIDTH, STEP_POSITIONS } from './helpers';\nimport { CurrentStep, ElementEffect, IUITourProps, StepDimensions, UITourData } from './types';\n\nconst UiTour = (props: IUITourProps) => {\n const {\n data, nextButtonLabel, backButtonLabel, finishButtonLabel, showCloseButton = true,\n showBackButton = true, visible = true, onFinish, onStepChange,\n } = props;\n const [currentStep, setCurrentStep] = useState<CurrentStep | undefined>(undefined);\n const [hasNextStep, setHasNextStep] = useState(false);\n const [hasBackStep, setHasBackStep] = useState(false);\n const [isLastStep, setIsLastStep] = useState(false);\n const [stepDimensions, setStepDimensions] = useState<StepDimensions | null>(null);\n const [showTour, setShowTour] = useState(visible);\n const [stepPosition, setStepPosition] = useState(STEP_POSITIONS.left);\n const stepRef = useRef<HTMLDivElement>(null);\n const descriptionRef = useRef<HTMLParagraphElement>(null);\n const activatedEffects = useRef<ElementEffect[]>([]);\n\n const handleNextStep = () => {\n if (hasNextStep) {\n const currentStepIndex = data.findIndex(item => item.id === currentStep?.id);\n const nextStep = data[currentStepIndex + 1];\n const nextStepIndex = data.findIndex(item => item.id === nextStep.id);\n const target = document.getElementById(nextStep.targetId);\n if (target) {\n setCurrentStep({ ...nextStep, number: nextStepIndex + 1 });\n }\n }\n };\n\n const handleBackStep = () => {\n if (hasBackStep) {\n const currentStepIndex = data.findIndex(item => item.id === currentStep?.id);\n const backStep = data[currentStepIndex - 1];\n const backStepIndex = data.findIndex(item => item.id === backStep.id);\n const target = document.getElementById(backStep.targetId);\n if (target) {\n setCurrentStep({ ...backStep, number: backStepIndex + 1 });\n }\n }\n };\n\n const onCloseTour = () => {\n setShowTour(false);\n if (onFinish) onFinish(true);\n };\n\n const getStepPosition = (target: DOMRect) => {\n if (stepRef.current) {\n const stepRect = stepRef.current.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n\n if (stepRect.right >= windowWidth || currentStep?.position === STEP_POSITIONS.right) {\n setStepPosition(STEP_POSITIONS.right);\n setStepDimensions({\n top: target.top - ARROW_HEIGHT,\n left: target.left - stepRect.width - ARROW_WIDTH,\n });\n } else {\n setStepPosition(STEP_POSITIONS.left);\n setStepDimensions({\n top: target.top - ARROW_HEIGHT,\n left: target.left + target.width + ARROW_WIDTH,\n });\n }\n }\n };\n\n const showStepTour = (step: CurrentStep) => {\n setShowTour(visible);\n setCurrentStep(step);\n };\n\n const removePreviousElementsEffects = () => {\n if (activatedEffects.current.length > 0) {\n const effects = activatedEffects.current;\n\n effects.forEach((ef) => {\n const element = document.getElementById(ef.elementId);\n if (element) {\n delete element.dataset.uitour;\n activatedEffects.current = activatedEffects.current\n .filter(r => r.elementId !== ef.elementId);\n }\n });\n }\n };\n\n const addElementEffect = useCallback((elementEffect: ElementEffect) => {\n const element = document.getElementById(elementEffect.elementId);\n if (element) {\n element.dataset.uitour = elementEffect.effect;\n if (activatedEffects.current) activatedEffects.current.push(elementEffect);\n }\n }, []);\n\n const showElementsEffects = (currentData: UITourData) => {\n if (currentData.effect) {\n const { effect, targetId } = currentData;\n addElementEffect({ effect, elementId: targetId });\n }\n\n if (currentData.elementsEffects) {\n let { elementsEffects } = currentData;\n if (!Array.isArray(elementsEffects)) elementsEffects = [elementsEffects];\n elementsEffects.forEach((ef) => {\n addElementEffect(ef);\n });\n }\n };\n\n useEffect(() => {\n if (currentStep) {\n const target = document.getElementById(currentStep.targetId);\n if (target) {\n const targetRect = target.getBoundingClientRect();\n const currentStepIndex = data.findIndex(item => item.id === currentStep.id);\n const lastDataIndex = data.length - 1;\n const initialDataIndex = 0;\n\n switch (currentStepIndex) {\n case lastDataIndex:\n setHasNextStep(false);\n setHasBackStep(true);\n setIsLastStep(true);\n break;\n case initialDataIndex:\n setHasNextStep(true);\n setIsLastStep(false);\n setHasBackStep(false);\n break;\n default:\n setHasNextStep(true);\n setHasBackStep(true);\n setIsLastStep(false);\n }\n getStepPosition(targetRect);\n removePreviousElementsEffects();\n showElementsEffects(data[currentStepIndex]);\n if (onStepChange) onStepChange(target);\n }\n\n if (descriptionRef.current) {\n descriptionRef.current.innerHTML = currentStep.description;\n }\n }\n }, [currentStep]);\n\n useEffect(() => {\n let mutationObserver: MutationObserver | null = null;\n if (data && visible) {\n const initialNumber = 1;\n const initialStep = { ...data[0], number: initialNumber };\n\n const target = document.getElementById(initialStep.targetId);\n if (target) {\n showStepTour(initialStep);\n } else {\n mutationObserver = new MutationObserver(() => {\n const targetObserved = document.getElementById(initialStep.targetId);\n if (targetObserved) {\n showStepTour(initialStep);\n mutationObserver?.disconnect();\n mutationObserver = null;\n }\n });\n mutationObserver.observe(document, { subtree: true, childList: true });\n }\n }\n\n return () => {\n mutationObserver?.disconnect();\n mutationObserver = null;\n };\n }, [visible, data]);\n\n useEffect(() => {\n if (!showTour && activatedEffects.current.length > 0) {\n removePreviousElementsEffects();\n }\n\n if (showTour) document.body.style.overflow = 'hidden';\n else document.body.style.overflow = 'auto';\n }, [showTour]);\n\n const component = useMemo(() => (\n <div className=\"uitour-component\">\n {currentStep && (\n <div\n ref={stepRef}\n className={`step -${stepPosition}`}\n key={currentStep.id}\n style={{ ...stepDimensions }}>\n {showCloseButton && (\n <div className=\"closebutton\">\n <DefaultButton\n iconName=\"cancel2\"\n iconAlign=\"center\"\n size=\"large\"\n transparent\n boxShadow={false}\n style={{ padding: 0 }}\n onClick={onCloseTour} />\n </div>\n )}\n <div className=\"content\">\n <span className=\"number\">{currentStep.number}</span>\n <div className=\"about\">\n <h3>{currentStep.title}</h3>\n <p\n className=\"description\"\n ref={descriptionRef} />\n </div>\n </div>\n <div className=\"footer\">\n <PrimaryButton\n label={backButtonLabel}\n onClick={handleBackStep}\n disabled={!hasBackStep}\n visible={showBackButton}\n customClass=\"back-button\" />\n <PrimaryButton\n label={nextButtonLabel}\n onClick={handleNextStep}\n disabled={!hasNextStep}\n visible={!isLastStep}\n customClass=\"next-button\" />\n <PrimaryButton\n label={finishButtonLabel}\n visible={isLastStep}\n onClick={onCloseTour}\n customClass=\"finish-button\" />\n </div>\n </div>\n )}\n </div>\n ), [\n currentStep, stepPosition, stepDimensions, showCloseButton, onCloseTour, backButtonLabel,\n handleBackStep, hasBackStep, showBackButton, nextButtonLabel, handleNextStep, hasNextStep,\n isLastStep, finishButtonLabel, isLastStep, onCloseTour,\n ]);\n\n if (!showTour) return null;\n return createPortal(component, document.body);\n};\n\nexport default UiTour;\n"],"names":["UiTour","props","$","_c","data","nextButtonLabel","backButtonLabel","finishButtonLabel","showCloseButton","t0","showBackButton","t1","visible","t2","onFinish","onStepChange","undefined","currentStep","setCurrentStep","useState","hasNextStep","setHasNextStep","hasBackStep","setHasBackStep","isLastStep","setIsLastStep","stepDimensions","setStepDimensions","showTour","setShowTour","stepPosition","setStepPosition","STEP_POSITIONS","left","stepRef","useRef","descriptionRef","t3","Symbol","for","activatedEffects","t4","id","currentStepIndex","findIndex","item","nextStep","nextStepIndex","item_0","document","getElementById","targetId","number","handleNextStep","t5","currentStepIndex_0","item_1","backStep","backStepIndex","item_2","handleBackStep","t6","onCloseTour","t7","position","target_1","current","stepRect","getBoundingClientRect","windowWidth","window","innerWidth","right","top","target","ARROW_HEIGHT","width","ARROW_WIDTH","getStepPosition","t8","step","showStepTour","t9","length","forEach","ef","element","elementId","dataset","uitour","filter","r","removePreviousElementsEffects","t10","elementEffect","element_0","effect","push","addElementEffect","t11","currentData","elementsEffects","Array","isArray","ef_0","showElementsEffects","t12","target_2","targetRect","currentStepIndex_1","item_3","lastDataIndex","bb85","innerHTML","description","t13","useEffect","t14","mutationObserver","initialStep","MutationObserver","disconnect","observe","subtree","childList","t15","t16","t17","body","style","overflow","t18","jsx","DefaultButton","padding","jsxs","title","PrimaryButton","t19","component","t20","createPortal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/lib/uitour/index.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport DefaultButton, { PrimaryButton } from '../buttons';\nimport '../assets/styles/uitour.scss';\nimport { ARROW_HEIGHT, ARROW_WIDTH, STEP_POSITIONS } from './helpers';\nimport { CurrentStep, ElementEffect, IUITourProps, StepDimensions, UITourData } from './types';\n\nconst UiTour = (props: IUITourProps) => {\n const {\n data, nextButtonLabel, backButtonLabel, finishButtonLabel, showCloseButton = true,\n showBackButton = true, visible = true, onFinish, onStepChange,\n } = props;\n const [currentStep, setCurrentStep] = useState<CurrentStep | undefined>(undefined);\n const [hasNextStep, setHasNextStep] = useState(false);\n const [hasBackStep, setHasBackStep] = useState(false);\n const [isLastStep, setIsLastStep] = useState(false);\n const [stepDimensions, setStepDimensions] = useState<StepDimensions | null>(null);\n const [showTour, setShowTour] = useState(visible);\n const [stepPosition, setStepPosition] = useState(STEP_POSITIONS.left);\n const stepRef = useRef<HTMLDivElement>(null);\n const descriptionRef = useRef<HTMLParagraphElement>(null);\n const activatedEffects = useRef<ElementEffect[]>([]);\n\n const handleNextStep = () => {\n if (hasNextStep) {\n const currentStepIndex = data.findIndex(item => item.id === currentStep?.id);\n const nextStep = data[currentStepIndex + 1];\n const nextStepIndex = data.findIndex(item => item.id === nextStep.id);\n const target = document.getElementById(nextStep.targetId);\n if (target) {\n setCurrentStep({ ...nextStep, number: nextStepIndex + 1 });\n }\n }\n };\n\n const handleBackStep = () => {\n if (hasBackStep) {\n const currentStepIndex = data.findIndex(item => item.id === currentStep?.id);\n const backStep = data[currentStepIndex - 1];\n const backStepIndex = data.findIndex(item => item.id === backStep.id);\n const target = document.getElementById(backStep.targetId);\n if (target) {\n setCurrentStep({ ...backStep, number: backStepIndex + 1 });\n }\n }\n };\n\n const onCloseTour = () => {\n setShowTour(false);\n if (onFinish) onFinish(true);\n };\n\n const getStepPosition = (target: DOMRect) => {\n if (stepRef.current) {\n const stepRect = stepRef.current.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n\n if (stepRect.right >= windowWidth || currentStep?.position === STEP_POSITIONS.right) {\n setStepPosition(STEP_POSITIONS.right);\n setStepDimensions({\n top: target.top - ARROW_HEIGHT,\n left: target.left - stepRect.width - ARROW_WIDTH,\n });\n } else {\n setStepPosition(STEP_POSITIONS.left);\n setStepDimensions({\n top: target.top - ARROW_HEIGHT,\n left: target.left + target.width + ARROW_WIDTH,\n });\n }\n }\n };\n\n const showStepTour = (step: CurrentStep) => {\n setShowTour(visible);\n setCurrentStep(step);\n };\n\n const removePreviousElementsEffects = () => {\n if (activatedEffects.current.length > 0) {\n const effects = activatedEffects.current;\n\n effects.forEach((ef) => {\n const element = document.getElementById(ef.elementId);\n if (element) {\n delete element.dataset.uitour;\n activatedEffects.current = activatedEffects.current\n .filter(r => r.elementId !== ef.elementId);\n }\n });\n }\n };\n\n const addElementEffect = useCallback((elementEffect: ElementEffect) => {\n const element = document.getElementById(elementEffect.elementId);\n if (element) {\n element.dataset.uitour = elementEffect.effect;\n if (activatedEffects.current) activatedEffects.current.push(elementEffect);\n }\n }, []);\n\n const showElementsEffects = (currentData: UITourData) => {\n if (currentData.effect) {\n const { effect, targetId } = currentData;\n addElementEffect({ effect, elementId: targetId });\n }\n\n if (currentData.elementsEffects) {\n let { elementsEffects } = currentData;\n if (!Array.isArray(elementsEffects)) elementsEffects = [elementsEffects];\n elementsEffects.forEach((ef) => {\n addElementEffect(ef);\n });\n }\n };\n\n useEffect(() => {\n if (currentStep) {\n const target = document.getElementById(currentStep.targetId);\n if (target) {\n const targetRect = target.getBoundingClientRect();\n const currentStepIndex = data.findIndex(item => item.id === currentStep.id);\n const lastDataIndex = data.length - 1;\n const initialDataIndex = 0;\n\n switch (currentStepIndex) {\n case lastDataIndex:\n setHasNextStep(false);\n setHasBackStep(true);\n setIsLastStep(true);\n break;\n case initialDataIndex:\n setHasNextStep(true);\n setIsLastStep(false);\n setHasBackStep(false);\n break;\n default:\n setHasNextStep(true);\n setHasBackStep(true);\n setIsLastStep(false);\n }\n getStepPosition(targetRect);\n removePreviousElementsEffects();\n showElementsEffects(data[currentStepIndex]);\n if (onStepChange) onStepChange(target);\n }\n\n if (descriptionRef.current) {\n descriptionRef.current.innerHTML = currentStep.description;\n }\n }\n }, [currentStep]);\n\n useEffect(() => {\n let mutationObserver: MutationObserver | null = null;\n if (data && visible) {\n const initialNumber = 1;\n const initialStep = { ...data[0], number: initialNumber };\n\n const target = document.getElementById(initialStep.targetId);\n if (target) {\n showStepTour(initialStep);\n } else {\n mutationObserver = new MutationObserver(() => {\n const targetObserved = document.getElementById(initialStep.targetId);\n if (targetObserved) {\n showStepTour(initialStep);\n mutationObserver?.disconnect();\n mutationObserver = null;\n }\n });\n mutationObserver.observe(document, { subtree: true, childList: true });\n }\n }\n\n return () => {\n mutationObserver?.disconnect();\n mutationObserver = null;\n };\n }, [visible, data]);\n\n useEffect(() => {\n if (!showTour && activatedEffects.current.length > 0) {\n removePreviousElementsEffects();\n }\n\n if (showTour) document.body.style.overflow = 'hidden';\n else document.body.style.overflow = 'auto';\n }, [showTour]);\n\n const component = useMemo(() => (\n <div className=\"uitour-component\">\n {currentStep && (\n <div\n ref={stepRef}\n className={`step -${stepPosition}`}\n key={currentStep.id}\n style={{ ...stepDimensions }}>\n {showCloseButton && (\n <div className=\"closebutton\">\n <DefaultButton\n iconName=\"cancel2\"\n iconAlign=\"center\"\n size=\"large\"\n transparent\n boxShadow={false}\n style={{ padding: 0 }}\n onClick={onCloseTour} />\n </div>\n )}\n <div className=\"content\">\n <span className=\"number\">{currentStep.number}</span>\n <div className=\"about\">\n <h3>{currentStep.title}</h3>\n <p\n className=\"description\"\n ref={descriptionRef} />\n </div>\n </div>\n <div className=\"footer\">\n <PrimaryButton\n label={backButtonLabel}\n onClick={handleBackStep}\n disabled={!hasBackStep}\n visible={showBackButton}\n customClass=\"back-button\" />\n <PrimaryButton\n label={nextButtonLabel}\n onClick={handleNextStep}\n disabled={!hasNextStep}\n visible={!isLastStep}\n customClass=\"next-button\" />\n <PrimaryButton\n label={finishButtonLabel}\n visible={isLastStep}\n onClick={onCloseTour}\n customClass=\"finish-button\" />\n </div>\n </div>\n )}\n </div>\n ), [\n currentStep, stepPosition, stepDimensions, showCloseButton, onCloseTour, backButtonLabel,\n handleBackStep, hasBackStep, showBackButton, nextButtonLabel, handleNextStep, hasNextStep,\n isLastStep, finishButtonLabel, isLastStep, onCloseTour,\n ]);\n\n if (!showTour) return null;\n return createPortal(component, document.body);\n};\n\nexport default UiTour;\n"],"names":["UiTour","props","$","_c","data","nextButtonLabel","backButtonLabel","finishButtonLabel","showCloseButton","t0","showBackButton","t1","visible","t2","onFinish","onStepChange","undefined","currentStep","setCurrentStep","useState","hasNextStep","setHasNextStep","hasBackStep","setHasBackStep","isLastStep","setIsLastStep","stepDimensions","setStepDimensions","showTour","setShowTour","stepPosition","setStepPosition","STEP_POSITIONS","left","stepRef","useRef","descriptionRef","t3","Symbol","for","activatedEffects","t4","id","currentStepIndex","findIndex","item","nextStep","nextStepIndex","item_0","document","getElementById","targetId","number","handleNextStep","t5","currentStepIndex_0","item_1","backStep","backStepIndex","item_2","handleBackStep","t6","onCloseTour","t7","position","target_1","current","stepRect","getBoundingClientRect","windowWidth","window","innerWidth","right","top","target","ARROW_HEIGHT","width","ARROW_WIDTH","getStepPosition","t8","step","showStepTour","t9","length","forEach","ef","element","elementId","dataset","uitour","filter","r","removePreviousElementsEffects","t10","elementEffect","element_0","effect","push","addElementEffect","t11","currentData","elementsEffects","Array","isArray","ef_0","showElementsEffects","t12","target_2","targetRect","currentStepIndex_1","item_3","lastDataIndex","bb85","innerHTML","description","t13","useEffect","t14","mutationObserver","initialStep","MutationObserver","disconnect","observe","subtree","childList","t15","t16","t17","body","style","overflow","t18","jsx","DefaultButton","padding","jsxs","title","PrimaryButton","t19","component","t20","createPortal"],"mappings":"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"}
|