@onehat/ui 0.4.56 → 0.4.58
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/package.json +1 -1
- package/src/{components → Components}/Hoc/withComponent.js +2 -2
- package/src/Components/Icons/Stop.js +11 -0
- package/src/Components/Layout/AsyncOperation.js +153 -0
- package/src/Components/Tab/Tab.js +93 -0
- package/src/{components → Components}/Tab/TabBar.js +77 -112
- package/src/Components/Tab/TabButton.js +82 -0
- package/src/{components → Components}/index.js +2 -0
- package/src/Constants/Styles.js +3 -1
- /package/src/{components → Components}/Accordion/Accordion.js +0 -0
- /package/src/{components → Components}/Blank.js +0 -0
- /package/src/{components → Components}/Buttons/BackButton.js +0 -0
- /package/src/{components → Components}/Buttons/Button.js +0 -0
- /package/src/{components → Components}/Buttons/CartButtonWithBadge.js +0 -0
- /package/src/{components → Components}/Buttons/CheckboxButton.js +0 -0
- /package/src/{components → Components}/Buttons/ExpandButton.js +0 -0
- /package/src/{components → Components}/Buttons/IconButton.js +0 -0
- /package/src/{components → Components}/Buttons/PlusMinusButton.js +0 -0
- /package/src/{components → Components}/Buttons/ReloadButton.js +0 -0
- /package/src/{components → Components}/Buttons/ReloadPageButton.js +0 -0
- /package/src/{components → Components}/Buttons/ReloadTreeButton.js +0 -0
- /package/src/{components → Components}/Buttons/SquareButton.js +0 -0
- /package/src/{components → Components}/Container/Container.js +0 -0
- /package/src/{components → Components}/Container/ScreenContainer.js +0 -0
- /package/src/{components → Components}/Container/Splitter.js +0 -0
- /package/src/{components → Components}/Editor/Editor.js +0 -0
- /package/src/{components → Components}/Editor/InlineEditor.js +0 -0
- /package/src/{components → Components}/Filter/DateRange.js +0 -0
- /package/src/{components → Components}/Filter/NumberRange.js +0 -0
- /package/src/{components → Components}/Form/Field/CKEditor/CKEditor.js +0 -0
- /package/src/{components → Components}/Form/Field/CKEditor/ckeditor.css +0 -0
- /package/src/{components → Components}/Form/Field/Checkbox/ArrayCheckboxGroup.js +0 -0
- /package/src/{components → Components}/Form/Field/Checkbox/Checkbox.js +0 -0
- /package/src/{components → Components}/Form/Field/Checkbox/CheckboxGroup.js +0 -0
- /package/src/{components → Components}/Form/Field/Color.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/ArrayCombo.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/BooleanCombo.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/Combo.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/IntervalsCombo.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/MeterTypesCombo.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/MonthsCombo.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/PageSizeCombo.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/TimezonesCombo.js +0 -0
- /package/src/{components → Components}/Form/Field/Combo/YearsCombo.js +0 -0
- /package/src/{components → Components}/Form/Field/Date.js +0 -0
- /package/src/{components → Components}/Form/Field/DisplayField.js +0 -0
- /package/src/{components → Components}/Form/Field/File.js +0 -0
- /package/src/{components → Components}/Form/Field/FormikForm.js +0 -0
- /package/src/{components → Components}/Form/Field/Input.js +0 -0
- /package/src/{components → Components}/Form/Field/Json.js +0 -0
- /package/src/{components → Components}/Form/Field/Number.js +0 -0
- /package/src/{components → Components}/Form/Field/RadioGroup/ArrayRadioGroup.js +0 -0
- /package/src/{components → Components}/Form/Field/RadioGroup/RadioGroup.js +0 -0
- /package/src/{components → Components}/Form/Field/Select/PageSizeSelect.js +0 -0
- /package/src/{components → Components}/Form/Field/Select/Select.js +0 -0
- /package/src/{components → Components}/Form/Field/Slider.js +0 -0
- /package/src/{components → Components}/Form/Field/Tag/Tag.js +0 -0
- /package/src/{components → Components}/Form/Field/Tag/ValueBox.js +0 -0
- /package/src/{components → Components}/Form/Field/Text.js +0 -0
- /package/src/{components → Components}/Form/Field/TextArea.js +0 -0
- /package/src/{components → Components}/Form/Field/Toggle.js +0 -0
- /package/src/{components → Components}/Form/FieldSet.js +0 -0
- /package/src/{components → Components}/Form/FiltersForm.js +0 -0
- /package/src/{components → Components}/Form/Form.js +0 -0
- /package/src/{components → Components}/Form/Label.js +0 -0
- /package/src/{components → Components}/Gluestack/accordion/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/actionsheet/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/alert/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/alert-dialog/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/avatar/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/badge/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/bottomsheet/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/box/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/box/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/box/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/button/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/card/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/card/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/card/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/center/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/center/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/center/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/checkbox/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/divider/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/drawer/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/fab/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/flat-list/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/form-control/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/gluestack-ui-provider/config.ts +0 -0
- /package/src/{components → Components}/Gluestack/gluestack-ui-provider/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/gluestack-ui-provider/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/gluestack-ui-provider/script.ts +0 -0
- /package/src/{components → Components}/Gluestack/grid/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/grid/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/grid/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/heading/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/heading/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/heading/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/hstack/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/hstack/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/hstack/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/icon/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/icon/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/image/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/image-background/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/index.js +0 -0
- /package/src/{components → Components}/Gluestack/input/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/input-accessory-view/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/keyboard-avoiding-view/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/link/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/menu/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/modal/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/popover/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/portal/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/pressable/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/progress/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/radio/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/refresh-control/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/safe-area-view/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/scroll-view/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/section-list/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/select/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/select/select-actionsheet.tsx +0 -0
- /package/src/{components → Components}/Gluestack/skeleton/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/skeleton/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/skeleton/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/slider/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/spinner/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/status-bar/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/switch/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/table/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/table/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/table/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/text/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/text/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/text/styles.tsx +0 -0
- /package/src/{components → Components}/Gluestack/textarea/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/toast/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/tooltip/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/utils/use-break-point-value.ts +0 -0
- /package/src/{components → Components}/Gluestack/view/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/virtualized-list/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/vstack/index.tsx +0 -0
- /package/src/{components → Components}/Gluestack/vstack/index.web.tsx +0 -0
- /package/src/{components → Components}/Gluestack/vstack/styles.tsx +0 -0
- /package/src/{components → Components}/Grid/Grid.js +0 -0
- /package/src/{components → Components}/Grid/GridHeaderRow.js +0 -0
- /package/src/{components → Components}/Grid/GridRow.js +0 -0
- /package/src/{components → Components}/Grid/HeaderColumnSelectorHandle.js +0 -0
- /package/src/{components → Components}/Grid/HeaderReorderHandle.js +0 -0
- /package/src/{components → Components}/Grid/HeaderResizeHandle.js +0 -0
- /package/src/{components → Components}/Grid/NoRecordsFound.js +0 -0
- /package/src/{components → Components}/Grid/RowDragHandle.js +0 -0
- /package/src/{components → Components}/Hoc/Secondary/withSecondaryData.js +0 -0
- /package/src/{components → Components}/Hoc/Secondary/withSecondaryEditor.js +0 -0
- /package/src/{components → Components}/Hoc/Secondary/withSecondarySelection.js +0 -0
- /package/src/{components → Components}/Hoc/Secondary/withSecondarySideEditor.js +0 -0
- /package/src/{components → Components}/Hoc/Secondary/withSecondaryValue.js +0 -0
- /package/src/{components → Components}/Hoc/Secondary/withSecondaryWindowedEditor.js +0 -0
- /package/src/{components → Components}/Hoc/withAlert.js +0 -0
- /package/src/{components → Components}/Hoc/withBlank.js +0 -0
- /package/src/{components → Components}/Hoc/withCollapsible.js +0 -0
- /package/src/{components → Components}/Hoc/withContextMenu.js +0 -0
- /package/src/{components → Components}/Hoc/withData.js +0 -0
- /package/src/{components → Components}/Hoc/withDnd.js +0 -0
- /package/src/{components → Components}/Hoc/withDraggable.js +0 -0
- /package/src/{components → Components}/Hoc/withEditor.js +0 -0
- /package/src/{components → Components}/Hoc/withEvents.js +0 -0
- /package/src/{components → Components}/Hoc/withFilters.js +0 -0
- /package/src/{components → Components}/Hoc/withInlineEditor.js +0 -0
- /package/src/{components → Components}/Hoc/withInlineSideEditor.js +0 -0
- /package/src/{components → Components}/Hoc/withModal.js +0 -0
- /package/src/{components → Components}/Hoc/withMultiSelection.js +0 -0
- /package/src/{components → Components}/Hoc/withPdfButtons.js +0 -0
- /package/src/{components → Components}/Hoc/withPermissions.js +0 -0
- /package/src/{components → Components}/Hoc/withPresetButtons.js +0 -0
- /package/src/{components → Components}/Hoc/withSelection.js +0 -0
- /package/src/{components → Components}/Hoc/withSideEditor.js +0 -0
- /package/src/{components → Components}/Hoc/withToast.js +0 -0
- /package/src/{components → Components}/Hoc/withTooltip.js +0 -0
- /package/src/{components → Components}/Hoc/withValue.js +0 -0
- /package/src/{components → Components}/Hoc/withWindowedEditor.js +0 -0
- /package/src/{components → Components}/Icons/AddressBook.js +0 -0
- /package/src/{components → Components}/Icons/Alt.js +0 -0
- /package/src/{components → Components}/Icons/AngleLeft.js +0 -0
- /package/src/{components → Components}/Icons/AngleRight.js +0 -0
- /package/src/{components → Components}/Icons/AnglesLeft.js +0 -0
- /package/src/{components → Components}/Icons/AnglesRight.js +0 -0
- /package/src/{components → Components}/Icons/Asterisk.js +0 -0
- /package/src/{components → Components}/Icons/Ban.js +0 -0
- /package/src/{components → Components}/Icons/Bars.js +0 -0
- /package/src/{components → Components}/Icons/BarsStaggered.js +0 -0
- /package/src/{components → Components}/Icons/Bell.js +0 -0
- /package/src/{components → Components}/Icons/BigCircle.js +0 -0
- /package/src/{components → Components}/Icons/Book.js +0 -0
- /package/src/{components → Components}/Icons/BookOpen.js +0 -0
- /package/src/{components → Components}/Icons/Bookmark.js +0 -0
- /package/src/{components → Components}/Icons/Bug.js +0 -0
- /package/src/{components → Components}/Icons/Building.js +0 -0
- /package/src/{components → Components}/Icons/Calendar.js +0 -0
- /package/src/{components → Components}/Icons/Calendar2.js +0 -0
- /package/src/{components → Components}/Icons/CalendarDays.js +0 -0
- /package/src/{components → Components}/Icons/Camera.js +0 -0
- /package/src/{components → Components}/Icons/CaretDown.js +0 -0
- /package/src/{components → Components}/Icons/CaretUp.js +0 -0
- /package/src/{components → Components}/Icons/CartPlus.js +0 -0
- /package/src/{components → Components}/Icons/CartShopping.js +0 -0
- /package/src/{components → Components}/Icons/CashRegister.js +0 -0
- /package/src/{components → Components}/Icons/Certificate.js +0 -0
- /package/src/{components → Components}/Icons/ChartLine.js +0 -0
- /package/src/{components → Components}/Icons/ChartPie.js +0 -0
- /package/src/{components → Components}/Icons/Check.js +0 -0
- /package/src/{components → Components}/Icons/CheckDouble.js +0 -0
- /package/src/{components → Components}/Icons/ChevronDown.js +0 -0
- /package/src/{components → Components}/Icons/ChevronLeft.js +0 -0
- /package/src/{components → Components}/Icons/ChevronRight.js +0 -0
- /package/src/{components → Components}/Icons/ChevronUp.js +0 -0
- /package/src/{components → Components}/Icons/Circle.js +0 -0
- /package/src/{components → Components}/Icons/CircleArrowRight.js +0 -0
- /package/src/{components → Components}/Icons/CircleExclamation.js +0 -0
- /package/src/{components → Components}/Icons/CircleInfo.js +0 -0
- /package/src/{components → Components}/Icons/CircleQuestion.js +0 -0
- /package/src/{components → Components}/Icons/CircleXmark.js +0 -0
- /package/src/{components → Components}/Icons/CircleXmarkRegular.js +0 -0
- /package/src/{components → Components}/Icons/Clipboard.js +0 -0
- /package/src/{components → Components}/Icons/ClipboardCheck.js +0 -0
- /package/src/{components → Components}/Icons/ClipboardList.js +0 -0
- /package/src/{components → Components}/Icons/Clock.js +0 -0
- /package/src/{components → Components}/Icons/ClockRegular.js +0 -0
- /package/src/{components → Components}/Icons/ClockRotateLeft.js +0 -0
- /package/src/{components → Components}/Icons/Clone.js +0 -0
- /package/src/{components → Components}/Icons/Collapse.js +0 -0
- /package/src/{components → Components}/Icons/Comment.js +0 -0
- /package/src/{components → Components}/Icons/CommentDots.js +0 -0
- /package/src/{components → Components}/Icons/CommentRegular.js +0 -0
- /package/src/{components → Components}/Icons/Comments.js +0 -0
- /package/src/{components → Components}/Icons/CommentsRegular.js +0 -0
- /package/src/{components → Components}/Icons/Copyright.js +0 -0
- /package/src/{components → Components}/Icons/Dot.js +0 -0
- /package/src/{components → Components}/Icons/Download.js +0 -0
- /package/src/{components → Components}/Icons/Duplicate.js +0 -0
- /package/src/{components → Components}/Icons/Edit.js +0 -0
- /package/src/{components → Components}/Icons/EllipsisHorizontal.js +0 -0
- /package/src/{components → Components}/Icons/EllipsisVertical.js +0 -0
- /package/src/{components → Components}/Icons/Envelope.js +0 -0
- /package/src/{components → Components}/Icons/EnvelopeRegular.js +0 -0
- /package/src/{components → Components}/Icons/Excel.js +0 -0
- /package/src/{components → Components}/Icons/Exclamation.js +0 -0
- /package/src/{components → Components}/Icons/Expand.js +0 -0
- /package/src/{components → Components}/Icons/Eye.js +0 -0
- /package/src/{components → Components}/Icons/EyeSlash.js +0 -0
- /package/src/{components → Components}/Icons/File.js +0 -0
- /package/src/{components → Components}/Icons/FloppyDiskRegular.js +0 -0
- /package/src/{components → Components}/Icons/Folder.js +0 -0
- /package/src/{components → Components}/Icons/FolderClosed.js +0 -0
- /package/src/{components → Components}/Icons/FolderOpen.js +0 -0
- /package/src/{components → Components}/Icons/FolderTree.js +0 -0
- /package/src/{components → Components}/Icons/FullWidth.js +0 -0
- /package/src/{components → Components}/Icons/Gauge.js +0 -0
- /package/src/{components → Components}/Icons/Gear.js +0 -0
- /package/src/{components → Components}/Icons/Gears.js +0 -0
- /package/src/{components → Components}/Icons/Gift.js +0 -0
- /package/src/{components → Components}/Icons/Grip.js +0 -0
- /package/src/{components → Components}/Icons/GripLines.js +0 -0
- /package/src/{components → Components}/Icons/GripLinesVertical.js +0 -0
- /package/src/{components → Components}/Icons/GripVertical.js +0 -0
- /package/src/{components → Components}/Icons/Hammer.js +0 -0
- /package/src/{components → Components}/Icons/Hand.js +0 -0
- /package/src/{components → Components}/Icons/HighPriority.js +0 -0
- /package/src/{components → Components}/Icons/House.js +0 -0
- /package/src/{components → Components}/Icons/Images.js +0 -0
- /package/src/{components → Components}/Icons/Info.js +0 -0
- /package/src/{components → Components}/Icons/ItunesNote.js +0 -0
- /package/src/{components → Components}/Icons/Js.js +0 -0
- /package/src/{components → Components}/Icons/Leaf.js +0 -0
- /package/src/{components → Components}/Icons/Link.js +0 -0
- /package/src/{components → Components}/Icons/List.js +0 -0
- /package/src/{components → Components}/Icons/ListCheck.js +0 -0
- /package/src/{components → Components}/Icons/LocationDot.js +0 -0
- /package/src/{components → Components}/Icons/Loop.js +0 -0
- /package/src/{components → Components}/Icons/Loop1.js +0 -0
- /package/src/{components → Components}/Icons/LoopAll.js +0 -0
- /package/src/{components → Components}/Icons/LowPriority.js +0 -0
- /package/src/{components → Components}/Icons/MagnifyingGlass.js +0 -0
- /package/src/{components → Components}/Icons/Maximize.js +0 -0
- /package/src/{components → Components}/Icons/MedPriority.js +0 -0
- /package/src/{components → Components}/Icons/Microphone.js +0 -0
- /package/src/{components → Components}/Icons/Minimize.js +0 -0
- /package/src/{components → Components}/Icons/Minus.js +0 -0
- /package/src/{components → Components}/Icons/MobileScreenButton.js +0 -0
- /package/src/{components → Components}/Icons/MoneyBill.js +0 -0
- /package/src/{components → Components}/Icons/MoneyBillWave.js +0 -0
- /package/src/{components → Components}/Icons/Mouth.js +0 -0
- /package/src/{components → Components}/Icons/Music.js +0 -0
- /package/src/{components → Components}/Icons/Na.js +0 -0
- /package/src/{components → Components}/Icons/NoLoop.js +0 -0
- /package/src/{components → Components}/Icons/NoReorderRows.js +0 -0
- /package/src/{components → Components}/Icons/ObjectGroupRegular.js +0 -0
- /package/src/{components → Components}/Icons/Pause.js +0 -0
- /package/src/{components → Components}/Icons/Pdf.js +0 -0
- /package/src/{components → Components}/Icons/Pencil.js +0 -0
- /package/src/{components → Components}/Icons/Phone.js +0 -0
- /package/src/{components → Components}/Icons/Play.js +0 -0
- /package/src/{components → Components}/Icons/Plus.js +0 -0
- /package/src/{components → Components}/Icons/Presentation.js +0 -0
- /package/src/{components → Components}/Icons/Print.js +0 -0
- /package/src/{components → Components}/Icons/Question.js +0 -0
- /package/src/{components → Components}/Icons/Rate-.25x.js +0 -0
- /package/src/{components → Components}/Icons/Rate-.5x.js +0 -0
- /package/src/{components → Components}/Icons/Rate-.75x.js +0 -0
- /package/src/{components → Components}/Icons/Rate-1.25x.js +0 -0
- /package/src/{components → Components}/Icons/Rate-1.5x.js +0 -0
- /package/src/{components → Components}/Icons/Rate-1.75x.js +0 -0
- /package/src/{components → Components}/Icons/Rate-1x.js +0 -0
- /package/src/{components → Components}/Icons/Rate-2x.js +0 -0
- /package/src/{components → Components}/Icons/RateIcon-.25x.js +0 -0
- /package/src/{components → Components}/Icons/RateIcon-.5x.js +0 -0
- /package/src/{components → Components}/Icons/RateIcon-.75x.js +0 -0
- /package/src/{components → Components}/Icons/RateIcon-1.25x.js +0 -0
- /package/src/{components → Components}/Icons/RateIcon-1.5x.js +0 -0
- /package/src/{components → Components}/Icons/RateIcon-1.75x.js +0 -0
- /package/src/{components → Components}/Icons/RateIcon-1x.js +0 -0
- /package/src/{components → Components}/Icons/RateIcon-2x.js +0 -0
- /package/src/{components → Components}/Icons/RectangleXmark.js +0 -0
- /package/src/{components → Components}/Icons/RectangleXmarkRegular.js +0 -0
- /package/src/{components → Components}/Icons/ReorderRows.js +0 -0
- /package/src/{components → Components}/Icons/RightFromBracket.js +0 -0
- /package/src/{components → Components}/Icons/RightLeft.js +0 -0
- /package/src/{components → Components}/Icons/RightToBracket.js +0 -0
- /package/src/{components → Components}/Icons/Rotate.js +0 -0
- /package/src/{components → Components}/Icons/RotateLeft.js +0 -0
- /package/src/{components → Components}/Icons/RotateRight.js +0 -0
- /package/src/{components → Components}/Icons/ScrewdriverWrench.js +0 -0
- /package/src/{components → Components}/Icons/Scroll.js +0 -0
- /package/src/{components → Components}/Icons/Share.js +0 -0
- /package/src/{components → Components}/Icons/Shop.js +0 -0
- /package/src/{components → Components}/Icons/SideBySide.js +0 -0
- /package/src/{components → Components}/Icons/SortDown.js +0 -0
- /package/src/{components → Components}/Icons/SortDownAlt.js +0 -0
- /package/src/{components → Components}/Icons/SortUp.js +0 -0
- /package/src/{components → Components}/Icons/SortUpAlt.js +0 -0
- /package/src/{components → Components}/Icons/Square.js +0 -0
- /package/src/{components → Components}/Icons/SquareCheck.js +0 -0
- /package/src/{components → Components}/Icons/SquareCheckRegular.js +0 -0
- /package/src/{components → Components}/Icons/SquareMinus.js +0 -0
- /package/src/{components → Components}/Icons/SquareRegular.js +0 -0
- /package/src/{components → Components}/Icons/Store.js +0 -0
- /package/src/{components → Components}/Icons/Table.js +0 -0
- /package/src/{components → Components}/Icons/ThumbsDown.js +0 -0
- /package/src/{components → Components}/Icons/ThumbsDownRegular.js +0 -0
- /package/src/{components → Components}/Icons/ThumbsUp.js +0 -0
- /package/src/{components → Components}/Icons/ThumbsUpRegular.js +0 -0
- /package/src/{components → Components}/Icons/Trash.js +0 -0
- /package/src/{components → Components}/Icons/TrashCan.js +0 -0
- /package/src/{components → Components}/Icons/TriangleExclamation.js +0 -0
- /package/src/{components → Components}/Icons/Truck.js +0 -0
- /package/src/{components → Components}/Icons/TruckFast.js +0 -0
- /package/src/{components → Components}/Icons/Upload.js +0 -0
- /package/src/{components → Components}/Icons/UploadDownload.js +0 -0
- /package/src/{components → Components}/Icons/User.js +0 -0
- /package/src/{components → Components}/Icons/UserGroup.js +0 -0
- /package/src/{components → Components}/Icons/UserPlus.js +0 -0
- /package/src/{components → Components}/Icons/UserSecret.js +0 -0
- /package/src/{components → Components}/Icons/Video.js +0 -0
- /package/src/{components → Components}/Icons/X.js +0 -0
- /package/src/{components → Components}/Icons/Xmark.js +0 -0
- /package/src/{components → Components}/Layout/CenterBox.js +0 -0
- /package/src/{components → Components}/Layout/Footer.js +0 -0
- /package/src/{components → Components}/Layout/ScreenHeader.js +0 -0
- /package/src/{components → Components}/Layout/TextWithTooltip.js +0 -0
- /package/src/{components → Components}/Messages/ConfirmationMessage.js +0 -0
- /package/src/{components → Components}/Messages/ErrorMessage.js +0 -0
- /package/src/{components → Components}/Messages/Loading.js +0 -0
- /package/src/{components → Components}/Messages/OkMessage.js +0 -0
- /package/src/{components → Components}/Messages/Unauthorized.js +0 -0
- /package/src/{components → Components}/Messages/WaitMessage.js +0 -0
- /package/src/{components → Components}/Panel/AccordionGridPanel.js +0 -0
- /package/src/{components → Components}/Panel/FormPanel.js +0 -0
- /package/src/{components → Components}/Panel/GridPanel.js +0 -0
- /package/src/{components → Components}/Panel/Header.js +0 -0
- /package/src/{components → Components}/Panel/Mask.js +0 -0
- /package/src/{components → Components}/Panel/Panel.js +0 -0
- /package/src/{components → Components}/Panel/TabPanel.js +0 -0
- /package/src/{components → Components}/Panel/TreePanel.js +0 -0
- /package/src/{components → Components}/Panel/UploadDownload.js +0 -0
- /package/src/{components → Components}/Picker/Picker.js +0 -0
- /package/src/{components → Components}/Report/Report.js +0 -0
- /package/src/{components → Components}/Screens/DataMgt.js +0 -0
- /package/src/{components → Components}/Screens/Manager.js +0 -0
- /package/src/{components → Components}/Screens/ReportsManager.js +0 -0
- /package/src/{components → Components}/Toolbar/FilterToolbar.js +0 -0
- /package/src/{components → Components}/Toolbar/Pagination.js +0 -0
- /package/src/{components → Components}/Toolbar/PaginationToolbar.js +0 -0
- /package/src/{components → Components}/Toolbar/Toolbar.js +0 -0
- /package/src/{components → Components}/Tooltip/Tooltip.js +0 -0
- /package/src/{components → Components}/Tree/Tree.js +0 -0
- /package/src/{components → Components}/Tree/TreeNode.js +0 -0
- /package/src/{components → Components}/Viewer/MeterTypeText.js +0 -0
- /package/src/{components → Components}/Viewer/TextWithLinks.js +0 -0
- /package/src/{components → Components}/Viewer/Viewer.js +0 -0
- /package/src/{components → Components}/Window/UploadsDownloadsWindow.js +0 -0
package/package.json
CHANGED
|
@@ -75,11 +75,11 @@ export default function withComponent(WrappedComponent) {
|
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
useEffect(() => {
|
|
78
|
-
if (parent && !parent
|
|
78
|
+
if (parent?.hasChild && !parent.hasChild(selfRef.current)) {
|
|
79
79
|
parent.registerChild(selfRef.current);
|
|
80
80
|
}
|
|
81
81
|
return () => {
|
|
82
|
-
if (parent) {
|
|
82
|
+
if (parent?.unregisterChild) {
|
|
83
83
|
parent.unregisterChild(selfRef.current);
|
|
84
84
|
}
|
|
85
85
|
childrenRef.current = {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createIcon } from "../Gluestack/icon";
|
|
2
|
+
// Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc.
|
|
3
|
+
import Svg, { Path } from 'react-native-svg';
|
|
4
|
+
|
|
5
|
+
const SvgComponent = createIcon({
|
|
6
|
+
Root: Svg,
|
|
7
|
+
viewBox: '0 0 384 512',
|
|
8
|
+
path: <Path d="M0 128c0-35.3 28.7-64 64-64h256c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z" />,
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
export default SvgComponent
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { useState, } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Box,
|
|
4
|
+
Text,
|
|
5
|
+
VStack,
|
|
6
|
+
} from '@project-components/Gluestack';
|
|
7
|
+
import isJson from '../../Functions/isJson.js';
|
|
8
|
+
import Form from '../Form/Form.js';
|
|
9
|
+
import Button from '../Buttons/Button.js';
|
|
10
|
+
import withComponent from '../Hoc/withComponent.js';
|
|
11
|
+
import withAlert from '../Hoc/withAlert.js';
|
|
12
|
+
import ChevronLeft from '../Icons/ChevronLeft.js';
|
|
13
|
+
import ChevronRight from '../Icons/ChevronRight.js';
|
|
14
|
+
import Play from '../Icons/Play.js';
|
|
15
|
+
import Stop from '../Icons/Stop.js';
|
|
16
|
+
import TabBar from '../Tab/TabBar.js';
|
|
17
|
+
import Panel from '../Panel/Panel.js';
|
|
18
|
+
import Toolbar from '../Toolbar/Toolbar.js';
|
|
19
|
+
import _ from 'lodash';
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
function AsyncOperation(props) {
|
|
23
|
+
const {
|
|
24
|
+
action,
|
|
25
|
+
Repository,
|
|
26
|
+
formItems = [],
|
|
27
|
+
formStartingValues = {},
|
|
28
|
+
|
|
29
|
+
// withComponent
|
|
30
|
+
self,
|
|
31
|
+
|
|
32
|
+
// withAlert
|
|
33
|
+
alert,
|
|
34
|
+
} = props,
|
|
35
|
+
initiate = async () => {
|
|
36
|
+
|
|
37
|
+
if (!Repository || !action) {
|
|
38
|
+
alert('AsyncOperation: Repository and action are required!');
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
setFooter(getFooter('processing'));
|
|
43
|
+
|
|
44
|
+
const
|
|
45
|
+
method = Repository.methods.edit,
|
|
46
|
+
uri = Repository.getModel() + '/' + action,
|
|
47
|
+
formValues = self.children.form.formGetValues(),
|
|
48
|
+
result = await Repository._send(method, uri, formValues);
|
|
49
|
+
|
|
50
|
+
const response = Repository._processServerResponse(result);
|
|
51
|
+
if (!response.success) {
|
|
52
|
+
alert(result.message);
|
|
53
|
+
reset();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
let results = <Text>Success</Text>;
|
|
58
|
+
if (response.message) {
|
|
59
|
+
let message = response.message;
|
|
60
|
+
if (isJson(message)) {
|
|
61
|
+
message = JSON.parse(message);
|
|
62
|
+
}
|
|
63
|
+
results = _.isArray(message) ?
|
|
64
|
+
<VStack>
|
|
65
|
+
{message?.map((line, ix)=> {
|
|
66
|
+
return <Text key={ix}>{line}</Text>;
|
|
67
|
+
})}
|
|
68
|
+
</VStack> :
|
|
69
|
+
<Text>{message}</Text>;
|
|
70
|
+
}
|
|
71
|
+
showResults(results);
|
|
72
|
+
},
|
|
73
|
+
getFooter = (which = 'initiate') => {
|
|
74
|
+
switch(which) {
|
|
75
|
+
case 'initiate':
|
|
76
|
+
return <Toolbar>
|
|
77
|
+
<Button
|
|
78
|
+
text="Initiate"
|
|
79
|
+
rightIcon={ChevronRight}
|
|
80
|
+
onPress={() => initiate()}
|
|
81
|
+
/>
|
|
82
|
+
</Toolbar>;
|
|
83
|
+
case 'processing':
|
|
84
|
+
return <Toolbar>
|
|
85
|
+
<Button
|
|
86
|
+
text="Please wait"
|
|
87
|
+
isLoading={true}
|
|
88
|
+
variant="link"
|
|
89
|
+
/>
|
|
90
|
+
</Toolbar>;
|
|
91
|
+
case 'results':
|
|
92
|
+
return <Toolbar>
|
|
93
|
+
<Button
|
|
94
|
+
text="Reset"
|
|
95
|
+
icon={ChevronLeft}
|
|
96
|
+
onPress={() => reset()}
|
|
97
|
+
/>
|
|
98
|
+
</Toolbar>;
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
[footer, setFooter] = useState(getFooter()),
|
|
102
|
+
[results, setResults] = useState(''),
|
|
103
|
+
[currentTabIx, setCurrentTab] = useState(0),
|
|
104
|
+
showResults = (results) => {
|
|
105
|
+
setCurrentTab(1);
|
|
106
|
+
setFooter(getFooter('results'));
|
|
107
|
+
setResults(results);
|
|
108
|
+
},
|
|
109
|
+
reset = () => {
|
|
110
|
+
setCurrentTab(0);
|
|
111
|
+
setFooter(getFooter());
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
return <Panel {...props} footer={footer}>
|
|
115
|
+
<TabBar
|
|
116
|
+
tabs={[
|
|
117
|
+
{
|
|
118
|
+
title: 'Initiate',
|
|
119
|
+
icon: Play,
|
|
120
|
+
isDisabled: currentTabIx !== 0,
|
|
121
|
+
content: <Form
|
|
122
|
+
reference="form"
|
|
123
|
+
parent={self}
|
|
124
|
+
className="w-full h-full flex-1"
|
|
125
|
+
disableFooter={true}
|
|
126
|
+
items={formItems}
|
|
127
|
+
startingValues={formStartingValues}
|
|
128
|
+
/>,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
title: 'Results',
|
|
132
|
+
icon: Stop,
|
|
133
|
+
isDisabled: currentTabIx !== 1,
|
|
134
|
+
content: <Box className="p-2">{results}</Box>,
|
|
135
|
+
},
|
|
136
|
+
]}
|
|
137
|
+
currentTabIx={currentTabIx}
|
|
138
|
+
canToggleCollapse={false}
|
|
139
|
+
tabsAreButtons={false}
|
|
140
|
+
/>
|
|
141
|
+
</Panel>;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function withAdditionalProps(WrappedComponent) {
|
|
145
|
+
return (props) => {
|
|
146
|
+
return <WrappedComponent
|
|
147
|
+
reference={props.reference || 'AsyncOperation'}
|
|
148
|
+
{...props}
|
|
149
|
+
/>;
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export default withAdditionalProps(withComponent(withAlert(AsyncOperation)));
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { forwardRef, useRef } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
HStack,
|
|
4
|
+
Icon,
|
|
5
|
+
} from '@project-components/Gluestack';
|
|
6
|
+
import {
|
|
7
|
+
HORIZONTAL,
|
|
8
|
+
VERTICAL,
|
|
9
|
+
} from '../../Constants/Directions.js';
|
|
10
|
+
import withTooltip from '../Hoc/withTooltip.js';
|
|
11
|
+
import IconButton from '../Buttons/IconButton.js';
|
|
12
|
+
import Xmark from '../Icons/Xmark.js';
|
|
13
|
+
import UiGlobals from '../../UiGlobals.js';
|
|
14
|
+
import _ from 'lodash';
|
|
15
|
+
|
|
16
|
+
const Tab = forwardRef((props, ref) => {
|
|
17
|
+
let {
|
|
18
|
+
className,
|
|
19
|
+
direction,
|
|
20
|
+
isDisabled,
|
|
21
|
+
isCurrentTab,
|
|
22
|
+
text,
|
|
23
|
+
_text,
|
|
24
|
+
useIconOnly,
|
|
25
|
+
icon,
|
|
26
|
+
_icon,
|
|
27
|
+
useCloseBtn,
|
|
28
|
+
onClose,
|
|
29
|
+
onPress, // remove it from propsToPass
|
|
30
|
+
...propsToPass
|
|
31
|
+
} = props,
|
|
32
|
+
styles = UiGlobals.styles;
|
|
33
|
+
|
|
34
|
+
if (!ref) {
|
|
35
|
+
ref = useRef();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (isCurrentTab) {
|
|
39
|
+
className += ' ' + styles.TAB_BG_CURRENT;
|
|
40
|
+
_icon.className += ' ' + styles.TAB_ICON_COLOR_CURRENT;
|
|
41
|
+
_text.className += ' ' + styles.TAB_COLOR_CURRENT;
|
|
42
|
+
}
|
|
43
|
+
if (isDisabled) {
|
|
44
|
+
className += ' ' + styles.TAB_BG_DISABLED_2;
|
|
45
|
+
_icon.className += ' ' + styles.TAB_COLOR_DISABLED;
|
|
46
|
+
_text.className += ' ' + styles.TAB_COLOR_DISABLED;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
let tab = null;
|
|
50
|
+
if (useIconOnly) {
|
|
51
|
+
tab = <HStack className={className + ' Tab px-[20px] py-2'}>
|
|
52
|
+
<Icon
|
|
53
|
+
{...propsToPass}
|
|
54
|
+
className={className}
|
|
55
|
+
ref={ref}
|
|
56
|
+
{..._icon}
|
|
57
|
+
as={icon}
|
|
58
|
+
/>
|
|
59
|
+
</HStack>;
|
|
60
|
+
} else {
|
|
61
|
+
if (direction === VERTICAL) {
|
|
62
|
+
className += ' w-[200px]';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
let closeBtn = null;
|
|
66
|
+
if (useCloseBtn) {
|
|
67
|
+
closeBtn = <IconButton
|
|
68
|
+
{...testProps('tabCloseButton-' + ix)}
|
|
69
|
+
onPress={onClose}
|
|
70
|
+
icon={Xmark}
|
|
71
|
+
_icon={_icon}
|
|
72
|
+
tooltip="Close Tab"
|
|
73
|
+
className="p-0"
|
|
74
|
+
/>;
|
|
75
|
+
}
|
|
76
|
+
tab = <HStack
|
|
77
|
+
{...propsToPass}
|
|
78
|
+
className={className}
|
|
79
|
+
ref={ref}
|
|
80
|
+
>
|
|
81
|
+
<Icon
|
|
82
|
+
{..._icon}
|
|
83
|
+
as={icon}
|
|
84
|
+
/>
|
|
85
|
+
<Text {..._text}>{text}</Text>
|
|
86
|
+
{closeBtn}
|
|
87
|
+
</HStack>;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return tab;
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
export default withTooltip(Tab);
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { cloneElement, useState, useEffect, } from 'react';
|
|
2
2
|
import {
|
|
3
|
+
Box,
|
|
3
4
|
HStack,
|
|
4
5
|
HStackNative,
|
|
6
|
+
Icon,
|
|
5
7
|
ScrollView,
|
|
6
8
|
VStack,
|
|
7
9
|
VStackNative,
|
|
@@ -10,6 +12,8 @@ import {
|
|
|
10
12
|
HORIZONTAL,
|
|
11
13
|
VERTICAL,
|
|
12
14
|
} from '../../Constants/Directions.js';
|
|
15
|
+
import Tab from './Tab.js';
|
|
16
|
+
import TabButton from './TabButton.js';
|
|
13
17
|
import Button from '../Buttons/Button.js';
|
|
14
18
|
import UiGlobals from '../../UiGlobals.js';
|
|
15
19
|
import getComponentFromType from '../../Functions/getComponentFromType.js';
|
|
@@ -20,7 +24,6 @@ import Minimize from '../Icons/Minimize.js';
|
|
|
20
24
|
import Maximize from '../Icons/Maximize.js';
|
|
21
25
|
import getSaved from '../../Functions/getSaved.js';
|
|
22
26
|
import setSaved from '../../Functions/setSaved.js';
|
|
23
|
-
import Xmark from '../Icons/Xmark.js';
|
|
24
27
|
import _ from 'lodash';
|
|
25
28
|
|
|
26
29
|
|
|
@@ -30,12 +33,14 @@ function TabBar(props) {
|
|
|
30
33
|
content, // e.g. Expo Router slot
|
|
31
34
|
direction = HORIZONTAL,
|
|
32
35
|
tabWidth = 150, // used on VERTICAL mode only
|
|
33
|
-
tabHeight =
|
|
36
|
+
tabHeight = 47, // used on HORIZONTAL mode only
|
|
34
37
|
additionalButtons,
|
|
35
38
|
initialTabIx = 0,
|
|
36
39
|
currentTabIx,
|
|
37
40
|
disableCollapse = false,
|
|
38
41
|
startsCollapsed = true,
|
|
42
|
+
canToggleCollapse = true,
|
|
43
|
+
tabsAreButtons = true,
|
|
39
44
|
onChangeCurrentTab,
|
|
40
45
|
onChangeIsCollapsed,
|
|
41
46
|
onPressTab,
|
|
@@ -87,9 +92,9 @@ function TabBar(props) {
|
|
|
87
92
|
},
|
|
88
93
|
renderToggleButton = () => {
|
|
89
94
|
const {
|
|
90
|
-
|
|
91
|
-
className:
|
|
92
|
-
...
|
|
95
|
+
tabProps: {
|
|
96
|
+
className: tabPropsClassName,
|
|
97
|
+
...tabPropsToPass
|
|
93
98
|
},
|
|
94
99
|
textProps: {
|
|
95
100
|
className: textPropsClassName,
|
|
@@ -99,9 +104,9 @@ function TabBar(props) {
|
|
|
99
104
|
className: iconPropsClassName,
|
|
100
105
|
...iconPropsToPass
|
|
101
106
|
},
|
|
102
|
-
} =
|
|
107
|
+
} = getTabProps();
|
|
103
108
|
|
|
104
|
-
let
|
|
109
|
+
let tabClassName = tabPropsClassName,
|
|
105
110
|
textClassName = textPropsClassName,
|
|
106
111
|
iconClassName = iconPropsClassName;
|
|
107
112
|
|
|
@@ -118,15 +123,15 @@ function TabBar(props) {
|
|
|
118
123
|
{...testProps('toggleBtn')}
|
|
119
124
|
key="toggleBtn"
|
|
120
125
|
onPress={onPress}
|
|
121
|
-
{...
|
|
126
|
+
{...tabPropsToPass}
|
|
122
127
|
icon={icon}
|
|
123
128
|
_icon={_icon}
|
|
124
|
-
className={
|
|
129
|
+
className={tabClassName}
|
|
125
130
|
tooltip={isCollapsed ? 'Expand' : 'Collapse'}
|
|
126
131
|
/>;
|
|
127
132
|
} else {
|
|
128
|
-
|
|
129
|
-
w-[200px]
|
|
133
|
+
tabClassName += `
|
|
134
|
+
${direction === VERTICAL ? 'w-[200px]' : ''}
|
|
130
135
|
pr-0
|
|
131
136
|
mr-0
|
|
132
137
|
`;
|
|
@@ -135,10 +140,10 @@ function TabBar(props) {
|
|
|
135
140
|
{...testProps('toggleBtn')}
|
|
136
141
|
key="toggleBtn"
|
|
137
142
|
onPress={onPress}
|
|
138
|
-
{...
|
|
143
|
+
{...tabPropsToPass}
|
|
139
144
|
icon={icon}
|
|
140
145
|
_icon={_icon}
|
|
141
|
-
className={
|
|
146
|
+
className={tabClassName}
|
|
142
147
|
text="Collapse"
|
|
143
148
|
_text={{
|
|
144
149
|
className: textClassName,
|
|
@@ -150,15 +155,12 @@ function TabBar(props) {
|
|
|
150
155
|
}
|
|
151
156
|
return button;
|
|
152
157
|
},
|
|
153
|
-
|
|
158
|
+
getTabProps = () => {
|
|
154
159
|
const
|
|
155
|
-
|
|
160
|
+
tabProps = {
|
|
156
161
|
className: `
|
|
157
162
|
${styles.TAB_BG}
|
|
158
163
|
${isCollapsed ? 'justify-center' : 'justify-start'}
|
|
159
|
-
${styles.TAB_BG_HOVER}
|
|
160
|
-
${styles.TAB_BG_ACTIVE}
|
|
161
|
-
${styles.TAB_BG_DISABLED}
|
|
162
164
|
`,
|
|
163
165
|
},
|
|
164
166
|
textProps = {
|
|
@@ -173,14 +175,11 @@ function TabBar(props) {
|
|
|
173
175
|
// size: 'md',
|
|
174
176
|
className: `
|
|
175
177
|
${styles.TAB_ICON_COLOR}
|
|
176
|
-
${styles.TAB_ICON_COLOR_HOVER}
|
|
177
|
-
${styles.TAB_ICON_COLOR_ACTIVE}
|
|
178
|
-
${styles.TAB_ICON_COLOR_DISABLED}
|
|
179
178
|
`,
|
|
180
179
|
};
|
|
181
180
|
switch(direction) {
|
|
182
181
|
case VERTICAL:
|
|
183
|
-
|
|
182
|
+
tabProps.className += `
|
|
184
183
|
rounded-l-lg
|
|
185
184
|
rounded-r-none
|
|
186
185
|
w-full
|
|
@@ -201,7 +200,7 @@ function TabBar(props) {
|
|
|
201
200
|
`;
|
|
202
201
|
break;
|
|
203
202
|
case HORIZONTAL:
|
|
204
|
-
|
|
203
|
+
tabProps.className += `
|
|
205
204
|
rounded-t
|
|
206
205
|
rounded-b-none
|
|
207
206
|
mr-1
|
|
@@ -216,16 +215,16 @@ function TabBar(props) {
|
|
|
216
215
|
default:
|
|
217
216
|
}
|
|
218
217
|
return {
|
|
219
|
-
|
|
218
|
+
tabProps,
|
|
220
219
|
textProps,
|
|
221
220
|
iconProps,
|
|
222
221
|
};
|
|
223
222
|
},
|
|
224
223
|
renderTabs = () => {
|
|
225
224
|
const {
|
|
226
|
-
|
|
227
|
-
className:
|
|
228
|
-
...
|
|
225
|
+
tabProps: {
|
|
226
|
+
className: tabPropsClassName,
|
|
227
|
+
...tabPropsToPass
|
|
229
228
|
},
|
|
230
229
|
textProps: {
|
|
231
230
|
className: textPropsClassName,
|
|
@@ -235,8 +234,8 @@ function TabBar(props) {
|
|
|
235
234
|
className: iconPropsClassName,
|
|
236
235
|
...iconPropsToPass
|
|
237
236
|
},
|
|
238
|
-
} =
|
|
239
|
-
|
|
237
|
+
} = getTabProps(),
|
|
238
|
+
tabComponents = [];
|
|
240
239
|
|
|
241
240
|
_.each(tabs, (tab, ix) => {
|
|
242
241
|
if (!tab.icon) {
|
|
@@ -244,7 +243,7 @@ function TabBar(props) {
|
|
|
244
243
|
}
|
|
245
244
|
const
|
|
246
245
|
isCurrentTab = ix === getCurrentTab(),
|
|
247
|
-
|
|
246
|
+
useIconTab = (isCollapsed || !tab.title),
|
|
248
247
|
tabIcon = tab._icon ? _.clone(tab._icon) : {};
|
|
249
248
|
if (tabIcon.as && _.isString(tabIcon.as)) {
|
|
250
249
|
const Type = getComponentFromType(tabIcon.as);
|
|
@@ -253,20 +252,13 @@ function TabBar(props) {
|
|
|
253
252
|
}
|
|
254
253
|
}
|
|
255
254
|
|
|
256
|
-
let
|
|
255
|
+
let tabClassName = tabPropsClassName,
|
|
257
256
|
textClassName = textPropsClassName,
|
|
258
257
|
iconClassName = iconPropsClassName;
|
|
259
258
|
|
|
260
|
-
if (isCurrentTab) {
|
|
261
|
-
buttonClassName += ' ' + styles.TAB_BG_CURRENT +
|
|
262
|
-
' ' + styles.TAB_BG_CURRENT_HOVER;
|
|
263
|
-
iconClassName += ' ' + styles.TAB_ICON_COLOR_CURRENT;
|
|
264
|
-
textClassName += ' ' + styles.TAB_COLOR_CURRENT;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
259
|
// overrides
|
|
268
260
|
if (tab._button?.className) {
|
|
269
|
-
|
|
261
|
+
tabClassName += ' ' + tab._button.className;
|
|
270
262
|
}
|
|
271
263
|
if (tab._text?.className) {
|
|
272
264
|
textClassName += ' ' + tab._text.className;
|
|
@@ -283,57 +275,28 @@ function TabBar(props) {
|
|
|
283
275
|
},
|
|
284
276
|
onPress = () => setCurrentTab(ix);
|
|
285
277
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
buttonClassName += ' w-[200px]';
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
let closeBtn = null;
|
|
304
|
-
if (onTabClose && !tab.disableCloseBox) {
|
|
305
|
-
closeBtn = <IconButton
|
|
306
|
-
{...testProps('tabCloseButton-' + ix)}
|
|
307
|
-
key={'tabCloseButton' + ix}
|
|
308
|
-
onPress={() => onTabClose(ix)}
|
|
309
|
-
icon={Xmark}
|
|
310
|
-
_icon={{
|
|
311
|
-
...iconProps,
|
|
312
|
-
className: iconClassName,
|
|
278
|
+
const WhichTabType = tabsAreButtons ? TabButton : Tab
|
|
279
|
+
tabComponents.push(<WhichTabType
|
|
280
|
+
{...testProps(tab.path)}
|
|
281
|
+
key={'tab' + ix}
|
|
282
|
+
onPress={onPress}
|
|
283
|
+
{...tabPropsToPass}
|
|
284
|
+
icon={tab.icon}
|
|
285
|
+
_icon={_icon}
|
|
286
|
+
className={tabClassName}
|
|
287
|
+
tooltip={tab.title}
|
|
288
|
+
text={tab.title}
|
|
289
|
+
_text={{
|
|
290
|
+
className: textClassName,
|
|
291
|
+
...textPropsToPass,
|
|
313
292
|
}}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
onPress={onPress}
|
|
322
|
-
{...buttonPropsToPass}
|
|
323
|
-
icon={tab.icon}
|
|
324
|
-
_icon={_icon}
|
|
325
|
-
rightIcon={closeBtn}
|
|
326
|
-
className={buttonClassName}
|
|
327
|
-
text={tab.title}
|
|
328
|
-
_text={{
|
|
329
|
-
className: textClassName,
|
|
330
|
-
...textPropsToPass,
|
|
331
|
-
}}
|
|
332
|
-
action="none"
|
|
333
|
-
variant="none"
|
|
334
|
-
/>;
|
|
335
|
-
}
|
|
336
|
-
buttons.push(button);
|
|
293
|
+
isDisabled={tab.isDisabled}
|
|
294
|
+
isCurrentTab={isCurrentTab}
|
|
295
|
+
useIconOnly={useIconTab}
|
|
296
|
+
direction={direction}
|
|
297
|
+
useCloseBtn={onTabClose && !tab.disableCloseBox}
|
|
298
|
+
onClose={() => onTabClose(ix)}
|
|
299
|
+
/>);
|
|
337
300
|
});
|
|
338
301
|
|
|
339
302
|
if (additionalButtons) {
|
|
@@ -343,7 +306,7 @@ function TabBar(props) {
|
|
|
343
306
|
}
|
|
344
307
|
|
|
345
308
|
const
|
|
346
|
-
|
|
309
|
+
useIconTab = (isCollapsed || !additionalButton.text),
|
|
347
310
|
additionalButtonIcon = _.clone(additionalButton._icon);
|
|
348
311
|
|
|
349
312
|
if (additionalButtonIcon.as && _.isString(additionalButtonIcon.as)) {
|
|
@@ -353,13 +316,13 @@ function TabBar(props) {
|
|
|
353
316
|
}
|
|
354
317
|
}
|
|
355
318
|
|
|
356
|
-
let
|
|
319
|
+
let tabClassName = tabPropsClassName,
|
|
357
320
|
textClassName = textPropsClassName,
|
|
358
321
|
iconClassName = iconPropsClassName;
|
|
359
322
|
|
|
360
323
|
// overrides
|
|
361
324
|
if (additionalButton._button?.className) {
|
|
362
|
-
|
|
325
|
+
tabClassName += ' ' + additionalButton._button.className;
|
|
363
326
|
}
|
|
364
327
|
if (additionalButton._text?.className) {
|
|
365
328
|
textClassName += ' ' + additionalButton._text.className;
|
|
@@ -372,10 +335,10 @@ function TabBar(props) {
|
|
|
372
335
|
// First button should have a gap before it
|
|
373
336
|
switch(direction) {
|
|
374
337
|
case VERTICAL:
|
|
375
|
-
|
|
338
|
+
tabClassName += ' mt-6';
|
|
376
339
|
break;
|
|
377
340
|
case HORIZONTAL:
|
|
378
|
-
|
|
341
|
+
tabClassName += ' ml-6';
|
|
379
342
|
break;
|
|
380
343
|
default:
|
|
381
344
|
}
|
|
@@ -390,27 +353,27 @@ function TabBar(props) {
|
|
|
390
353
|
onPress = additionalButton.onPress;
|
|
391
354
|
|
|
392
355
|
let button;
|
|
393
|
-
if (
|
|
356
|
+
if (useIconTab) {
|
|
394
357
|
button = <IconButton
|
|
395
358
|
{...testProps('additionalBtn' + ix)}
|
|
396
359
|
key={'additionalBtn' + ix}
|
|
397
360
|
onPress={onPress}
|
|
398
|
-
{...
|
|
361
|
+
{...tabPropsToPass}
|
|
399
362
|
_icon={_icon}
|
|
400
|
-
className={
|
|
363
|
+
className={tabClassName}
|
|
401
364
|
tooltip={additionalButton.text}
|
|
402
365
|
/>;
|
|
403
366
|
} else {
|
|
404
367
|
if (direction === VERTICAL) {
|
|
405
|
-
|
|
368
|
+
tabClassName += ' w-[200px]';
|
|
406
369
|
}
|
|
407
370
|
button = <Button
|
|
408
371
|
{...testProps('additionalBtn' + ix)}
|
|
409
372
|
key={'additionalBtn' + ix}
|
|
410
373
|
onPress={onPress}
|
|
411
|
-
{...
|
|
374
|
+
{...tabPropsToPass}
|
|
412
375
|
_icon={_icon}
|
|
413
|
-
className={
|
|
376
|
+
className={tabClassName}
|
|
414
377
|
text={additionalButton.text}
|
|
415
378
|
_text={{
|
|
416
379
|
className: textClassName,
|
|
@@ -420,11 +383,11 @@ function TabBar(props) {
|
|
|
420
383
|
variant="none"
|
|
421
384
|
/>;
|
|
422
385
|
}
|
|
423
|
-
|
|
386
|
+
tabComponents.push(button);
|
|
424
387
|
});
|
|
425
388
|
}
|
|
426
389
|
|
|
427
|
-
return
|
|
390
|
+
return tabComponents;
|
|
428
391
|
},
|
|
429
392
|
renderCurrentTabContent = () => {
|
|
430
393
|
if (content) {
|
|
@@ -503,9 +466,10 @@ function TabBar(props) {
|
|
|
503
466
|
`}
|
|
504
467
|
>
|
|
505
468
|
{renderedTabs}
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
469
|
+
{canToggleCollapse ?
|
|
470
|
+
<VStack className="flex-1 w-full justify-end">
|
|
471
|
+
{renderedToggleButton}
|
|
472
|
+
</VStack> : null}
|
|
509
473
|
</VStackNative>;
|
|
510
474
|
if (renderedCurrentTabContent) {
|
|
511
475
|
tabBar = <HStackNative {...propsToPass} className="flex-1 w-full">
|
|
@@ -520,7 +484,7 @@ function TabBar(props) {
|
|
|
520
484
|
tabBar = <HStackNative
|
|
521
485
|
{...testProps('TabBar')}
|
|
522
486
|
className={`
|
|
523
|
-
${
|
|
487
|
+
${'h-[' + tabHeight + 'px]'}
|
|
524
488
|
items-center
|
|
525
489
|
justify-start
|
|
526
490
|
p-1
|
|
@@ -530,15 +494,16 @@ function TabBar(props) {
|
|
|
530
494
|
>
|
|
531
495
|
<ScrollView
|
|
532
496
|
horizontal={true}
|
|
533
|
-
className={
|
|
497
|
+
className={'h-[' + tabHeight + 'px]'}
|
|
534
498
|
>
|
|
535
499
|
{renderedTabs}
|
|
536
500
|
</ScrollView>
|
|
537
|
-
|
|
538
|
-
<HStack className="h-full">
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
501
|
+
{canToggleCollapse ?
|
|
502
|
+
<HStack className="flex-1 h-full justify-end">
|
|
503
|
+
<HStack className="h-full">
|
|
504
|
+
{renderedToggleButton}
|
|
505
|
+
</HStack>
|
|
506
|
+
</HStack> : null}
|
|
542
507
|
</HStackNative>;
|
|
543
508
|
if (renderedCurrentTabContent) {
|
|
544
509
|
tabBar = <VStackNative {...propsToPass} className="flex-1 w-full">
|