@economic/taco 2.53.2 → 2.55.0-settings.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/charts/components/Area/AreaChart.d.ts +1 -1
- package/dist/charts/components/Bar/BarChart.d.ts +1 -1
- package/dist/charts/components/Donut/ActiveShape.d.ts +2 -2
- package/dist/charts/components/Donut/CenteredLabel.d.ts +2 -2
- package/dist/charts/components/Donut/DonutChart.d.ts +1 -1
- package/dist/charts/components/Donut/Legend.d.ts +1 -1
- package/dist/charts/components/Legend.d.ts +2 -2
- package/dist/charts/components/Line/LineChart.d.ts +1 -1
- package/dist/charts/components/ResponsiveContainer.d.ts +1 -1
- package/dist/charts/components/Tooltip.d.ts +2 -2
- package/dist/charts/utils/common.d.ts +3 -3
- package/dist/components/Accordion/Accordion.d.ts +2 -2
- package/dist/components/Alert/Alert.d.ts +1 -1
- package/dist/components/AlertDialog/components/Content.d.ts +1 -1
- package/dist/components/Calendar/Calendar.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +7 -2
- package/dist/components/Datepicker/Datepicker.d.ts +1 -1
- package/dist/components/Dialog/components/Content.d.ts +1 -1
- package/dist/components/Dialog/components/DialogDrawer.d.ts +1 -1
- package/dist/components/Drawer/components/Content.d.ts +2 -2
- package/dist/components/Header/components/Agreement/Badge.d.ts +1 -1
- package/dist/components/Header/components/Agreement/Display.d.ts +2 -2
- package/dist/components/Header/components/Agreement/Item.d.ts +2 -2
- package/dist/components/Header/components/AgreementSelector.d.ts +2 -2
- package/dist/components/Header/components/Button.d.ts +1 -1
- package/dist/components/HoverCard/HoverCard.d.ts +1 -1
- package/dist/components/Icon/components/AccountPreview.d.ts +1 -1
- package/dist/components/Icon/components/Accounting.d.ts +1 -1
- package/dist/components/Icon/components/AccountingYear.d.ts +1 -1
- package/dist/components/Icon/components/AccountingYearCancel.d.ts +1 -1
- package/dist/components/Icon/components/AiChatSolid.d.ts +1 -1
- package/dist/components/Icon/components/AiStars.d.ts +1 -1
- package/dist/components/Icon/components/ArrowBottom.d.ts +1 -1
- package/dist/components/Icon/components/ArrowDown.d.ts +1 -1
- package/dist/components/Icon/components/ArrowEnd.d.ts +1 -1
- package/dist/components/Icon/components/ArrowLeft.d.ts +1 -1
- package/dist/components/Icon/components/ArrowRight.d.ts +1 -1
- package/dist/components/Icon/components/ArrowStart.d.ts +1 -1
- package/dist/components/Icon/components/ArrowTop.d.ts +1 -1
- package/dist/components/Icon/components/ArrowUp.d.ts +1 -1
- package/dist/components/Icon/components/Attach.d.ts +1 -1
- package/dist/components/Icon/components/AttachAuto.d.ts +1 -1
- package/dist/components/Icon/components/AttachCancel.d.ts +1 -1
- package/dist/components/Icon/components/AttachWarning.d.ts +1 -1
- package/dist/components/Icon/components/Autopay.d.ts +1 -1
- package/dist/components/Icon/components/AutopayPaused.d.ts +1 -1
- package/dist/components/Icon/components/Autotext.d.ts +1 -1
- package/dist/components/Icon/components/AutotextInsert.d.ts +1 -1
- package/dist/components/Icon/components/Basic.d.ts +1 -1
- package/dist/components/Icon/components/BasicTabs.d.ts +1 -1
- package/dist/components/Icon/components/BellSolid.d.ts +1 -1
- package/dist/components/Icon/components/Book.d.ts +1 -1
- package/dist/components/Icon/components/Booking.d.ts +1 -1
- package/dist/components/Icon/components/Budget.d.ts +1 -1
- package/dist/components/Icon/components/Calendar.d.ts +1 -1
- package/dist/components/Icon/components/CashAccount.d.ts +1 -1
- package/dist/components/Icon/components/CashReports.d.ts +1 -1
- package/dist/components/Icon/components/ChartArea.d.ts +1 -1
- package/dist/components/Icon/components/ChartBar.d.ts +1 -1
- package/dist/components/Icon/components/ChartLine.d.ts +1 -1
- package/dist/components/Icon/components/ChartPie.d.ts +1 -1
- package/dist/components/Icon/components/ChartTable.d.ts +1 -1
- package/dist/components/Icon/components/Chat.d.ts +1 -1
- package/dist/components/Icon/components/ChatSolid.d.ts +1 -1
- package/dist/components/Icon/components/ChevronDown.d.ts +1 -1
- package/dist/components/Icon/components/ChevronDownDouble.d.ts +1 -1
- package/dist/components/Icon/components/ChevronDownSolid.d.ts +1 -1
- package/dist/components/Icon/components/ChevronLeft.d.ts +1 -1
- package/dist/components/Icon/components/ChevronLeftDouble.d.ts +1 -1
- package/dist/components/Icon/components/ChevronLeftSolid.d.ts +1 -1
- package/dist/components/Icon/components/ChevronRight.d.ts +1 -1
- package/dist/components/Icon/components/ChevronRightDouble.d.ts +1 -1
- package/dist/components/Icon/components/ChevronRightSolid.d.ts +1 -1
- package/dist/components/Icon/components/ChevronUp.d.ts +1 -1
- package/dist/components/Icon/components/ChevronUpDouble.d.ts +1 -1
- package/dist/components/Icon/components/ChevronUpSolid.d.ts +1 -1
- package/dist/components/Icon/components/CircleClose.d.ts +1 -1
- package/dist/components/Icon/components/CircleInformation.d.ts +1 -1
- package/dist/components/Icon/components/CircleMinus.d.ts +1 -1
- package/dist/components/Icon/components/CirclePlus.d.ts +1 -1
- package/dist/components/Icon/components/CircleQuestionmark.d.ts +1 -1
- package/dist/components/Icon/components/CircleTick.d.ts +1 -1
- package/dist/components/Icon/components/CircleWarning.d.ts +1 -1
- package/dist/components/Icon/components/Clamp.d.ts +1 -1
- package/dist/components/Icon/components/ClampOpen.d.ts +1 -1
- package/dist/components/Icon/components/Close.d.ts +1 -1
- package/dist/components/Icon/components/ColumnFreeze.d.ts +1 -1
- package/dist/components/Icon/components/ColumnUnfreeze.d.ts +1 -1
- package/dist/components/Icon/components/Columns.d.ts +1 -1
- package/dist/components/Icon/components/ConnectionEnable.d.ts +1 -1
- package/dist/components/Icon/components/ConnectionRevoke.d.ts +1 -1
- package/dist/components/Icon/components/Contacts.d.ts +1 -1
- package/dist/components/Icon/components/Copy.d.ts +1 -1
- package/dist/components/Icon/components/Courses.d.ts +1 -1
- package/dist/components/Icon/components/Credit.d.ts +1 -1
- package/dist/components/Icon/components/Delete.d.ts +1 -1
- package/dist/components/Icon/components/DeletePermanently.d.ts +1 -1
- package/dist/components/Icon/components/Depecriate.d.ts +1 -1
- package/dist/components/Icon/components/Developer.d.ts +1 -1
- package/dist/components/Icon/components/DistributionTemplate.d.ts +1 -1
- package/dist/components/Icon/components/Document.d.ts +1 -1
- package/dist/components/Icon/components/DocumentApprove.d.ts +1 -1
- package/dist/components/Icon/components/DocumentCreateEntry.d.ts +1 -1
- package/dist/components/Icon/components/DocumentCut.d.ts +1 -1
- package/dist/components/Icon/components/DocumentError.d.ts +1 -1
- package/dist/components/Icon/components/DocumentIsolatePage.d.ts +1 -1
- package/dist/components/Icon/components/DocumentMerge.d.ts +1 -1
- package/dist/components/Icon/components/DocumentMove.d.ts +1 -1
- package/dist/components/Icon/components/DocumentPreview.d.ts +1 -1
- package/dist/components/Icon/components/DocumentReceived.d.ts +1 -1
- package/dist/components/Icon/components/DocumentRejectedRequest.d.ts +1 -1
- package/dist/components/Icon/components/DocumentSigned.d.ts +1 -1
- package/dist/components/Icon/components/DocumentSignedSolid.d.ts +1 -1
- package/dist/components/Icon/components/DocumentSplit.d.ts +1 -1
- package/dist/components/Icon/components/DocumentTime.d.ts +1 -1
- package/dist/components/Icon/components/Download.d.ts +1 -1
- package/dist/components/Icon/components/Drag.d.ts +1 -1
- package/dist/components/Icon/components/ECopedia.d.ts +1 -1
- package/dist/components/Icon/components/Edit.d.ts +1 -1
- package/dist/components/Icon/components/EditSimple.d.ts +1 -1
- package/dist/components/Icon/components/EllipsisHorizontal.d.ts +1 -1
- package/dist/components/Icon/components/EllipsisVertical.d.ts +1 -1
- package/dist/components/Icon/components/EntriesOnAccount.d.ts +1 -1
- package/dist/components/Icon/components/EntriesOpen.d.ts +1 -1
- package/dist/components/Icon/components/EntriesWarning.d.ts +1 -1
- package/dist/components/Icon/components/EntryTypeCustomerInvoice.d.ts +1 -1
- package/dist/components/Icon/components/EntryTypeCustomerPayment.d.ts +1 -1
- package/dist/components/Icon/components/EntryTypeJournalEntry.d.ts +1 -1
- package/dist/components/Icon/components/EntryTypeManualCustomerInvoice.d.ts +1 -1
- package/dist/components/Icon/components/EntryTypeSupplierInvoice.d.ts +1 -1
- package/dist/components/Icon/components/EntryTypeSupplierPayment.d.ts +1 -1
- package/dist/components/Icon/components/Envelope.d.ts +1 -1
- package/dist/components/Icon/components/EnvelopeApproved.d.ts +1 -1
- package/dist/components/Icon/components/EnvelopeSolid.d.ts +1 -1
- package/dist/components/Icon/components/ExpandView.d.ts +1 -1
- package/dist/components/Icon/components/Expenses.d.ts +1 -1
- package/dist/components/Icon/components/Experiment.d.ts +1 -1
- package/dist/components/Icon/components/Export.d.ts +1 -1
- package/dist/components/Icon/components/ExportToExcel.d.ts +1 -1
- package/dist/components/Icon/components/ExportToPdf.d.ts +1 -1
- package/dist/components/Icon/components/EyeOff.d.ts +1 -1
- package/dist/components/Icon/components/EyeOn.d.ts +1 -1
- package/dist/components/Icon/components/Filter.d.ts +1 -1
- package/dist/components/Icon/components/FilterSolid.d.ts +1 -1
- package/dist/components/Icon/components/FontSize.d.ts +1 -1
- package/dist/components/Icon/components/GraphSolid.d.ts +1 -1
- package/dist/components/Icon/components/Hash.d.ts +1 -1
- package/dist/components/Icon/components/HeightExtraTall.d.ts +1 -1
- package/dist/components/Icon/components/HeightMedium.d.ts +1 -1
- package/dist/components/Icon/components/HeightShort.d.ts +1 -1
- package/dist/components/Icon/components/HeightTall.d.ts +1 -1
- package/dist/components/Icon/components/House.d.ts +1 -1
- package/dist/components/Icon/components/HouseSolid.d.ts +1 -1
- package/dist/components/Icon/components/Id.d.ts +1 -1
- package/dist/components/Icon/components/Images.d.ts +1 -1
- package/dist/components/Icon/components/Import.d.ts +1 -1
- package/dist/components/Icon/components/Inbox.d.ts +1 -1
- package/dist/components/Icon/components/InboxEinvoicing.d.ts +1 -1
- package/dist/components/Icon/components/InboxScanning.d.ts +1 -1
- package/dist/components/Icon/components/InboxSmart.d.ts +1 -1
- package/dist/components/Icon/components/Info.d.ts +1 -1
- package/dist/components/Icon/components/Inventory.d.ts +1 -1
- package/dist/components/Icon/components/InventoryMatrix.d.ts +1 -1
- package/dist/components/Icon/components/JournalPro.d.ts +1 -1
- package/dist/components/Icon/components/Layout.d.ts +1 -1
- package/dist/components/Icon/components/LayoutBoth.d.ts +1 -1
- package/dist/components/Icon/components/LayoutFirst.d.ts +1 -1
- package/dist/components/Icon/components/LayoutLast.d.ts +1 -1
- package/dist/components/Icon/components/LayoutNone.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCard.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCardCustomerReminder.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCardManualCustomerInvoice.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCardObsoleteStock.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCardOpeningEntry.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCardReservedEntry.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCardShrinkagePilferage.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCardStockAdjustment.d.ts +1 -1
- package/dist/components/Icon/components/LedgerCardTransferredOpeningEntry.d.ts +1 -1
- package/dist/components/Icon/components/Lightbulb.d.ts +1 -1
- package/dist/components/Icon/components/Line.d.ts +1 -1
- package/dist/components/Icon/components/LinkExternal.d.ts +1 -1
- package/dist/components/Icon/components/List.d.ts +1 -1
- package/dist/components/Icon/components/ListBulleted.d.ts +1 -1
- package/dist/components/Icon/components/ListSearch.d.ts +1 -1
- package/dist/components/Icon/components/Location.d.ts +1 -1
- package/dist/components/Icon/components/Lock.d.ts +1 -1
- package/dist/components/Icon/components/LockOpen.d.ts +1 -1
- package/dist/components/Icon/components/Log.d.ts +1 -1
- package/dist/components/Icon/components/LogOut.d.ts +1 -1
- package/dist/components/Icon/components/Market.d.ts +1 -1
- package/dist/components/Icon/components/MastercardOs.d.ts +1 -1
- package/dist/components/Icon/components/MatchAmount.d.ts +1 -1
- package/dist/components/Icon/components/MatchEntries.d.ts +1 -1
- package/dist/components/Icon/components/Menu.d.ts +1 -1
- package/dist/components/Icon/components/Mileage.d.ts +1 -1
- package/dist/components/Icon/components/ModalResize.d.ts +1 -1
- package/dist/components/Icon/components/ModalShrink.d.ts +1 -1
- package/dist/components/Icon/components/More.d.ts +1 -1
- package/dist/components/Icon/components/MoreSolid.d.ts +1 -1
- package/dist/components/Icon/components/Move.d.ts +1 -1
- package/dist/components/Icon/components/NavigationList.d.ts +1 -1
- package/dist/components/Icon/components/Note.d.ts +1 -1
- package/dist/components/Icon/components/NoteFollowUp.d.ts +1 -1
- package/dist/components/Icon/components/NoteRead.d.ts +1 -1
- package/dist/components/Icon/components/NovemberFirst.d.ts +1 -1
- package/dist/components/Icon/components/Numbers.d.ts +1 -1
- package/dist/components/Icon/components/PartnerApi.d.ts +1 -1
- package/dist/components/Icon/components/PaymentPaid.d.ts +1 -1
- package/dist/components/Icon/components/PaymentUnpaid.d.ts +1 -1
- package/dist/components/Icon/components/Period.d.ts +1 -1
- package/dist/components/Icon/components/Person.d.ts +1 -1
- package/dist/components/Icon/components/PersonChange.d.ts +1 -1
- package/dist/components/Icon/components/PersonMinus.d.ts +1 -1
- package/dist/components/Icon/components/PersonPlus.d.ts +1 -1
- package/dist/components/Icon/components/PersonSolid.d.ts +1 -1
- package/dist/components/Icon/components/PersonTick.d.ts +1 -1
- package/dist/components/Icon/components/Phone.d.ts +1 -1
- package/dist/components/Icon/components/PhoneSolid.d.ts +1 -1
- package/dist/components/Icon/components/Play.d.ts +1 -1
- package/dist/components/Icon/components/PlusMinus.d.ts +1 -1
- package/dist/components/Icon/components/Print.d.ts +1 -1
- package/dist/components/Icon/components/ProcessPayment.d.ts +1 -1
- package/dist/components/Icon/components/ProductLedgerCard.d.ts +1 -1
- package/dist/components/Icon/components/Profile.d.ts +1 -1
- package/dist/components/Icon/components/ProjectCards.d.ts +1 -1
- package/dist/components/Icon/components/Projects.d.ts +1 -1
- package/dist/components/Icon/components/QuestionMark.d.ts +1 -1
- package/dist/components/Icon/components/QuestionMarkBold.d.ts +1 -1
- package/dist/components/Icon/components/Quicklinks.d.ts +1 -1
- package/dist/components/Icon/components/RatingBankruptcy.d.ts +1 -1
- package/dist/components/Icon/components/RatingPaymentProblems.d.ts +1 -1
- package/dist/components/Icon/components/Reconciled.d.ts +1 -1
- package/dist/components/Icon/components/Refresh.d.ts +1 -1
- package/dist/components/Icon/components/Report.d.ts +1 -1
- package/dist/components/Icon/components/ReportSolid.d.ts +1 -1
- package/dist/components/Icon/components/Restore.d.ts +1 -1
- package/dist/components/Icon/components/RotateLeft.d.ts +1 -1
- package/dist/components/Icon/components/RotateRight.d.ts +1 -1
- package/dist/components/Icon/components/Sales.d.ts +1 -1
- package/dist/components/Icon/components/Search.d.ts +1 -1
- package/dist/components/Icon/components/SearchBold.d.ts +1 -1
- package/dist/components/Icon/components/Secure.d.ts +1 -1
- package/dist/components/Icon/components/SecureTick.d.ts +1 -1
- package/dist/components/Icon/components/Settings.d.ts +1 -1
- package/dist/components/Icon/components/SettingsSolid.d.ts +1 -1
- package/dist/components/Icon/components/Shortcuts.d.ts +1 -1
- package/dist/components/Icon/components/ShowAll.d.ts +1 -1
- package/dist/components/Icon/components/ShowLess.d.ts +1 -1
- package/dist/components/Icon/components/ShowMore.d.ts +1 -1
- package/dist/components/Icon/components/ShowTemplate.d.ts +1 -1
- package/dist/components/Icon/components/Sliders.d.ts +1 -1
- package/dist/components/Icon/components/Smartpay.d.ts +1 -1
- package/dist/components/Icon/components/SortBy.d.ts +1 -1
- package/dist/components/Icon/components/Star.d.ts +1 -1
- package/dist/components/Icon/components/StarSolid.d.ts +1 -1
- package/dist/components/Icon/components/Subscriptions.d.ts +1 -1
- package/dist/components/Icon/components/SystemEntries.d.ts +1 -1
- package/dist/components/Icon/components/Tag.d.ts +1 -1
- package/dist/components/Icon/components/TemplateOverride.d.ts +1 -1
- package/dist/components/Icon/components/Templates.d.ts +1 -1
- package/dist/components/Icon/components/ThumbBoth.d.ts +1 -1
- package/dist/components/Icon/components/ThumbDown.d.ts +1 -1
- package/dist/components/Icon/components/ThumbDownSolid.d.ts +1 -1
- package/dist/components/Icon/components/ThumbUp.d.ts +1 -1
- package/dist/components/Icon/components/ThumbUpSolid.d.ts +1 -1
- package/dist/components/Icon/components/Tick.d.ts +1 -1
- package/dist/components/Icon/components/TickBold.d.ts +1 -1
- package/dist/components/Icon/components/Time.d.ts +1 -1
- package/dist/components/Icon/components/Transfer.d.ts +1 -1
- package/dist/components/Icon/components/TransferCancel.d.ts +1 -1
- package/dist/components/Icon/components/TransferLocked.d.ts +1 -1
- package/dist/components/Icon/components/Undo.d.ts +1 -1
- package/dist/components/Icon/components/Undock.d.ts +1 -1
- package/dist/components/Icon/components/Unreconciled.d.ts +1 -1
- package/dist/components/Icon/components/Wallet.d.ts +1 -1
- package/dist/components/Icon/components/Warning.d.ts +1 -1
- package/dist/components/Icon/components/Webshop.d.ts +1 -1
- package/dist/components/Icon/components/Website.d.ts +1 -1
- package/dist/components/Icon/components/Workflow.d.ts +1 -1
- package/dist/components/Icon/components/WorkflowTemplateBasic.d.ts +1 -1
- package/dist/components/Icon/components/Zoom.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts +2 -2
- package/dist/components/Input/Input.d.ts +2 -2
- package/dist/components/Layout/components/Sidebar.d.ts +14 -2
- package/dist/components/Layout/components/Top.d.ts +4 -4
- package/dist/components/List/List.d.ts +7 -7
- package/dist/components/List/components/Button.d.ts +1 -1
- package/dist/components/List/components/Collapsible.d.ts +1 -1
- package/dist/components/List/components/Group.d.ts +1 -1
- package/dist/components/List/components/Item.d.ts +1 -1
- package/dist/components/List/components/Link.d.ts +1 -1
- package/dist/components/List/components/Toggle.d.ts +2 -2
- package/dist/components/Listbox/Listbox.d.ts +2 -2
- package/dist/components/Listbox/ScrollableList.d.ts +1 -1
- package/dist/components/Listbox/util.d.ts +2 -2
- package/dist/components/Menu/components/Checkbox.d.ts +1 -1
- package/dist/components/Menu/components/Content.d.ts +2 -2
- package/dist/components/Menu/components/Item.d.ts +2 -2
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Menu/components/RadioGroup.d.ts +1 -1
- package/dist/components/Menu/components/SubMenu.d.ts +1 -1
- package/dist/components/Menu/components/Trigger.d.ts +1 -1
- package/dist/components/ModeSwitch/ModeSwitch.d.ts +6 -3
- package/dist/components/Navigation2/components/Group.d.ts +1 -1
- package/dist/components/Provider/Provider.d.ts +7 -6
- package/dist/components/Provider/TacoContext.d.ts +7 -0
- package/dist/components/Provider/useTacoSettings.d.ts +8 -0
- package/dist/components/Report/Report.d.ts +4 -2
- package/dist/components/ScrollArea/ScrollArea.d.ts +2 -2
- package/dist/components/SearchInput/SearchInput.d.ts +1 -1
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select2/components/All.d.ts +2 -2
- package/dist/components/Select2/components/Collection.d.ts +1 -1
- package/dist/components/Select2/components/Create.d.ts +1 -1
- package/dist/components/Select2/components/Edit.d.ts +2 -2
- package/dist/components/Select2/components/Group.d.ts +1 -1
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Search.d.ts +3 -3
- package/dist/components/Select2/components/Trigger.d.ts +1 -1
- package/dist/components/Select2/hooks/useChildren.d.ts +2 -2
- package/dist/components/Shortcut/Shortcut.d.ts +1 -1
- package/dist/components/Switch/Switch.d.ts +6 -4
- package/dist/components/Table3/Table3.d.ts +3 -4
- package/dist/components/Table3/components/Columns/Cell/Cell.d.ts +2 -2
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.d.ts +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.d.ts +2 -2
- package/dist/components/Table3/components/Columns/Internal/EditingActionsMenu.d.ts +2 -2
- package/dist/components/Table3/components/Editing/Alert.d.ts +1 -1
- package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.d.ts +2 -2
- package/dist/components/Table3/components/Row/Editing/CreateNewRow.d.ts +1 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.d.ts +2 -2
- package/dist/components/Table3/components/Row/Editing/TemporaryRow.d.ts +1 -1
- package/dist/components/Table3/components/Row/Row.d.ts +2 -2
- package/dist/components/Table3/components/Toolbar/Editing/Editing.d.ts +1 -1
- package/dist/components/Tag/Tag.d.ts +2 -2
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tour/Tour.d.ts +1 -1
- package/dist/components/Truncate/Truncate.d.ts +1 -1
- package/dist/esm/index.css +76 -5
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +41 -63
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +9 -6
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Layout/components/Top.js +2 -2
- package/dist/esm/packages/taco/src/components/Layout/components/Top.js.map +1 -1
- package/dist/esm/packages/taco/src/components/List/components/Toggle.js +14 -4
- package/dist/esm/packages/taco/src/components/List/components/Toggle.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +6 -3
- package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
- package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js +34 -12
- package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Provider.js +14 -7
- package/dist/esm/packages/taco/src/components/Provider/Provider.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/TacoContext.js +6 -0
- package/dist/esm/packages/taco/src/components/Provider/TacoContext.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Provider/useTacoSettings.js +39 -0
- package/dist/esm/packages/taco/src/components/Provider/useTacoSettings.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Report/Report.js +10 -3
- package/dist/esm/packages/taco/src/components/Report/Report.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Switch/Switch.js +37 -35
- package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +9 -3
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +4 -2
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Tour/Tour.js +1 -1
- package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useTaco.js +9 -0
- package/dist/esm/packages/taco/src/hooks/useTaco.js.map +1 -0
- package/dist/esm/packages/taco/src/index.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js +2 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/Toolbar.js +6 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +9 -5
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTablePrinting.js +18 -21
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTablePrinting.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js +2 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js +3 -3
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js +57 -9
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +7 -5
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableSettingsPreloader.js +44 -0
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableSettingsPreloader.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js +3 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +5 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/dom.js +3 -2
- package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
- package/dist/hooks/useTaco.d.ts +1 -0
- package/dist/index.css +76 -5
- package/dist/primitives/BubbleSelect.d.ts +1 -1
- package/dist/primitives/Sortable/components/Container.d.ts +2 -2
- package/dist/primitives/Sortable/components/Item.d.ts +1 -1
- package/dist/primitives/Sortable/components/List.d.ts +1 -1
- package/dist/primitives/Table/Core/Table.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Body/Body.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Body/EmptyStateBody.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Body/util.d.ts +4 -4
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Columns/Cell/Cell.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Footer/Footer.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Footer/Summary.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Header/Header.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Goto.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Header/components/Menu.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Header/components/Resizer.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Header/components/SortIndicator.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Row/Row.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.d.ts +2 -2
- package/dist/primitives/Table/Core/features/useTableRenderer.d.ts +2 -2
- package/dist/primitives/Table/Core/useTable.d.ts +4 -4
- package/dist/primitives/Table/types.d.ts +16 -6
- package/dist/primitives/Table/useTableManager/features/useTablePrinting.d.ts +2 -8
- package/dist/primitives/Table/useTableManager/features/useTableRowActive.d.ts +2 -2
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.d.ts +2 -2
- package/dist/primitives/Table/useTableManager/useTableSettingsPreloader.d.ts +3 -0
- package/dist/primitives/Table/useTableManager/util/settings.d.ts +2 -0
- package/dist/taco.cjs.development.js +354 -293
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/dist/utils/dom.d.ts +2 -2
- package/package.json +27 -28
- package/dist/esm/packages/taco/src/hooks/useLocalStorage.js +0 -44
- package/dist/esm/packages/taco/src/hooks/useLocalStorage.js.map +0 -1
- package/dist/esm/packages/taco/src/hooks/useTacoSettings.js +0 -9
- package/dist/esm/packages/taco/src/hooks/useTacoSettings.js.map +0 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSettings.js +0 -69
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSettings.js.map +0 -1
- package/dist/hooks/useLocalStorage.d.ts +0 -2
- package/dist/hooks/useTacoSettings.d.ts +0 -1
- package/dist/primitives/Table/useTableManager/features/useTableSettings.d.ts +0 -3
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useTacoSettings.js","sources":["../../../../../../../src/components/Provider/useTacoSettings.ts"],"sourcesContent":["import * as React from 'react';\nimport { get, setWith } from 'lodash';\n\ntype TacoSettingsLoadHandler = <TType = unknown>(key: string) => Promise<TType>;\ntype TacoSettingsSaveHandler = <TType = unknown>(key: string, setting: TType) => Promise<void>;\n\nexport function useTacoSettings(load: TacoSettingsLoadHandler, save: TacoSettingsSaveHandler) {\n const [state, setState] = React.useState({});\n\n function getSetting<TType = unknown>(path: string): TType {\n return get(state, path) as TType;\n }\n\n async function loadSetting<TType = unknown>(path: string) {\n const currentValue = get(state, path) as TType;\n\n if (currentValue) {\n return currentValue;\n }\n\n const value = await load<TType>(path);\n setState(currentState => setWith(currentState, path, value, Object));\n return value;\n }\n\n async function saveSetting<TType = unknown>(path: string, value: TType) {\n setState(currentState => setWith(currentState, path, value, Object));\n return save(path, value); // don't block, since we have local state\n }\n\n return { getSetting, loadSetting, saveSetting };\n}\n"],"names":["useTacoSettings","load","save","saveSetting","path","value","setState","currentState","setWith","Object","Promise","resolve","e","reject","loadSetting","currentValue","get","state","then","React","getSetting"],"mappings":";;;SAMgBA,eAAeA,CAACC,IAA6B,EAAEC,IAA6B;QAmBzEC,WAAW,aAAkBC,IAAY,EAAEC,KAAY;IAAA;MAClEC,QAAQ,CAACC,YAAY,IAAIC,OAAO,CAACD,YAAY,EAAEH,IAAI,EAAEC,KAAK,EAAEI,MAAM,CAAC,CAAC;MACpE,OAAAC,OAAA,CAAAC,OAAA,CAAOT,IAAI,CAACE,IAAI,EAAEC,KAAK,CAAC,EAAC;KAC5B,QAAAO,CAAA;MAAA,OAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA;;;EAAA,MAfcE,WAAW,aAAkBV,IAAY;IAAA;MACpD,MAAMW,YAAY,GAAGC,GAAG,CAACC,KAAK,EAAEb,IAAI,CAAU;MAE9C,IAAIW,YAAY,EAAE;QACd,OAAAL,OAAA,CAAAC,OAAA,CAAOI,YAAY;;MACtB,OAAAL,OAAA,CAAAC,OAAA,CAEmBV,IAAI,CAAQG,IAAI,CAAC,EAAAc,IAAA,WAA/Bb,KAAK;QACXC,QAAQ,CAACC,YAAY,IAAIC,OAAO,CAACD,YAAY,EAAEH,IAAI,EAAEC,KAAK,EAAEI,MAAM,CAAC,CAAC;QACpE,OAAOJ,KAAK;;KACf,QAAAO,CAAA;MAAA,OAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA;;;EAhBD,MAAM,CAACK,KAAK,EAAEX,QAAQ,CAAC,GAAGa,QAAc,CAAC,EAAE,CAAC;EAE5C,SAASC,UAAUA,CAAkBhB,IAAY;IAC7C,OAAOY,GAAG,CAACC,KAAK,EAAEb,IAAI,CAAU;;EAoBpC,OAAO;IAAEgB,UAAU;IAAEN,WAAW;IAAEX;GAAa;AACnD;;;;"}
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import React__default from 'react';
|
2
|
+
import { Spinner } from '../Spinner/Spinner.js';
|
2
3
|
import { fixedForwardRef } from '../../types.js';
|
3
4
|
import { useReport } from './useReport.js';
|
4
5
|
import { Table } from '../../primitives/Table/Core/Table.js';
|
6
|
+
import { useTableSettingsPreloader } from '../../primitives/Table/useTableManager/useTableSettingsPreloader.js';
|
5
7
|
|
6
|
-
|
7
|
-
|
8
|
-
}
|
8
|
+
const Column = () => null;
|
9
|
+
Column.displayName = 'Table3Column';
|
9
10
|
function Group(_) {
|
10
11
|
return null;
|
11
12
|
}
|
@@ -23,6 +24,12 @@ const Report = /*#__PURE__*/fixedForwardRef(function Report(props, ref) {
|
|
23
24
|
// we force a remount (using key) when the child columns change because there are too many places to add children as an effect
|
24
25
|
// this is cheaper from a complexity perspective, and probably performance wise as well
|
25
26
|
const key = React__default.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);
|
27
|
+
const {
|
28
|
+
loading
|
29
|
+
} = useTableSettingsPreloader(props.id);
|
30
|
+
if (loading) {
|
31
|
+
return /*#__PURE__*/React__default.createElement(Spinner, null);
|
32
|
+
}
|
26
33
|
return /*#__PURE__*/React__default.createElement(BaseReport, Object.assign({}, props, {
|
27
34
|
key: key,
|
28
35
|
ref: ref
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Report.js","sources":["../../../../../../../src/components/Report/Report.tsx"],"sourcesContent":["import React from 'react';\nimport { fixedForwardRef } from '../../types';\nimport { useReport } from './useReport';\nimport { Table } from '../../primitives/Table/Core/Table';\nimport { ReportRef, ReportProps, ReportColumnProps, ReportGroupProps } from './types';\n\
|
1
|
+
{"version":3,"file":"Report.js","sources":["../../../../../../../src/components/Report/Report.tsx"],"sourcesContent":["import React from 'react';\nimport { fixedForwardRef } from '../../types';\nimport { useReport } from './useReport';\nimport { Table } from '../../primitives/Table/Core/Table';\nimport { ReportRef, ReportProps, ReportColumnProps, ReportGroupProps } from './types';\nimport { useTableSettingsPreloader } from '../../primitives/Table/useTableManager/useTableSettingsPreloader';\nimport { Spinner } from '../Spinner/Spinner';\n\nconst Column: React.FC<ReportColumnProps<unknown>> & {\n <TType = unknown>(_: ReportColumnProps<TType>): null;\n} = () => null;\n\nColumn.displayName = 'Table3Column';\n\nfunction Group(_: ReportGroupProps) {\n return null;\n}\n\nconst BaseReport = fixedForwardRef(function BaseReport<TType = unknown>(props: ReportProps<TType>, ref: React.Ref<ReportRef>) {\n const report = useReport<TType>(props, ref);\n\n return (\n <Table>\n <Table.Toolbar<TType> table={report} />\n <Table.Grid<TType> data-taco=\"table-report\" table={report} />\n </Table>\n );\n});\n\nexport const Report = fixedForwardRef(function Report<TType = unknown>(props: ReportProps<TType>, ref: React.Ref<ReportRef>) {\n const stringifiedChildren = String(props.children);\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);\n const { loading } = useTableSettingsPreloader(props.id);\n\n if (loading) {\n return <Spinner />;\n }\n\n return <BaseReport<TType> {...props} key={key} ref={ref} />;\n}) as (<TType = unknown>(props: ReportProps<TType> & React.RefAttributes<ReportRef>) => JSX.Element) & {\n Column: typeof Column;\n Group: typeof Group;\n};\nReport.Column = Column;\nReport.Group = Group;\n\nexport type { ReportRef, ReportProps, ReportColumnProps, ReportGroupProps } from './types';\n"],"names":["Column","displayName","Group","_","BaseReport","fixedForwardRef","props","ref","report","useReport","React","Table","Toolbar","table","Grid","Report","stringifiedChildren","String","children","key","useMemo","loading","useTableSettingsPreloader","id","Spinner"],"mappings":";;;;;;;AAQA,MAAMA,MAAM,GAERA,MAAM,IAAI;AAEdA,MAAM,CAACC,WAAW,GAAG,cAAc;AAEnC,SAASC,KAAKA,CAACC,CAAmB;EAC9B,OAAO,IAAI;AACf;AAEA,MAAMC,UAAU,gBAAGC,eAAe,CAAC,SAASD,UAAUA,CAAkBE,KAAyB,EAAEC,GAAyB;EACxH,MAAMC,MAAM,GAAGC,SAAS,CAAQH,KAAK,EAAEC,GAAG,CAAC;EAE3C,oBACIG,6BAACC,KAAK,qBACFD,6BAACC,KAAK,CAACC,OAAO;IAAQC,KAAK,EAAEL;IAAU,eACvCE,6BAACC,KAAK,CAACG,IAAI;iBAAkB,cAAc;IAACD,KAAK,EAAEL;IAAU,CACzD;AAEhB,CAAC,CAAC;MAEWO,MAAM,gBAAGV,eAAe,CAAC,SAASU,MAAMA,CAAkBT,KAAyB,EAAEC,GAAyB;EACvH,MAAMS,mBAAmB,GAAGC,MAAM,CAACX,KAAK,CAACY,QAAQ,CAAC;;;EAGlD,MAAMC,GAAG,GAAGT,cAAK,CAACU,OAAO,CAAC,MAAMH,MAAM,CAAC,WAAW,GAAGD,mBAAmB,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EACjG,MAAM;IAAEK;GAAS,GAAGC,yBAAyB,CAAChB,KAAK,CAACiB,EAAE,CAAC;EAEvD,IAAIF,OAAO,EAAE;IACT,oBAAOX,6BAACc,OAAO,OAAG;;EAGtB,oBAAOd,6BAACN,UAAU,oBAAYE,KAAK;IAAEa,GAAG,EAAEA,GAAG;IAAEZ,GAAG,EAAEA;KAAO;AAC/D,CAAC;AAIDQ,MAAM,CAACf,MAAM,GAAGA,MAAM;AACtBe,MAAM,CAACb,KAAK,GAAGA,KAAK;;;;"}
|
@@ -1,48 +1,50 @@
|
|
1
1
|
import { forwardRef, createElement } from 'react';
|
2
2
|
import cn from 'clsx';
|
3
|
-
import {
|
4
|
-
import {
|
3
|
+
import { useMergedRef } from '../../hooks/useMergedRef.js';
|
4
|
+
import { Switch as Switch$1 } from 'react-aria-components';
|
5
5
|
|
6
6
|
const Switch = /*#__PURE__*/forwardRef(function Switch(props, ref) {
|
7
7
|
const {
|
8
|
+
checked,
|
9
|
+
defaultChecked,
|
10
|
+
readOnly,
|
8
11
|
label,
|
9
12
|
onChange,
|
13
|
+
disabled,
|
14
|
+
onClick,
|
15
|
+
className,
|
10
16
|
...otherProps
|
11
17
|
} = props;
|
12
|
-
const
|
13
|
-
const
|
14
|
-
|
15
|
-
'
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
const
|
26
|
-
|
18
|
+
const inputRef = useMergedRef(ref);
|
19
|
+
const switchContainerClassName = cn('group flex self-start', 'data-[disabled]:text-grey-300 data-[disabled]:cursor-not-allowed');
|
20
|
+
const switchClassName = cn('h-5 w-9 flex flex-shrink-0 rounded-full inline-flex cursor-pointer bg-grey-500', 'group-data-[focus-visible]:yt-focus', {
|
21
|
+
'mr-2': !!label
|
22
|
+
}, 'group-hover:bg-grey-700',
|
23
|
+
// When switch is selected
|
24
|
+
'group-data-[selected]:bg-blue-500',
|
25
|
+
// When switch is selected and hovered
|
26
|
+
'group-hover:group-data-[selected]:bg-blue-700',
|
27
|
+
// When switch is disabled
|
28
|
+
'group-data-[disabled]:!bg-grey-500/50 group-data-[disabled]:cursor-not-allowed',
|
29
|
+
// When switch is disabled and selected
|
30
|
+
'group-data-[disabled]:group-data-[selected]:!bg-blue-500/50', className);
|
31
|
+
const switchThumbClassName = cn('pointer-events-none mt-0.5 h-4 w-4 translate-x-[0.15rem] rounded-full bg-white transition-transform will-change-transform', 'group-data-[disabled]:opacity-50', 'group-data-[selected]:translate-x-[1.1rem]');
|
32
|
+
return /*#__PURE__*/createElement(Switch$1, Object.assign({}, otherProps, {
|
33
|
+
className: switchContainerClassName,
|
34
|
+
"data-taco": "switch-container",
|
35
|
+
inputRef: inputRef,
|
36
|
+
isDisabled: disabled,
|
37
|
+
isReadOnly: readOnly,
|
38
|
+
isSelected: checked,
|
39
|
+
defaultSelected: defaultChecked,
|
40
|
+
onChange: onChange
|
41
|
+
}), /*#__PURE__*/createElement("span", {
|
42
|
+
className: switchClassName,
|
27
43
|
"data-taco": "switch",
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
}));
|
33
|
-
if (label) {
|
34
|
-
const labelContainerClassName = cn('flex self-start cursor-pointer', {
|
35
|
-
'cursor-not-allowed text-grey-300': props.disabled
|
36
|
-
});
|
37
|
-
return /*#__PURE__*/createElement("span", {
|
38
|
-
className: labelContainerClassName,
|
39
|
-
"data-taco": "switch-container"
|
40
|
-
}, element, /*#__PURE__*/createElement("label", {
|
41
|
-
htmlFor: id,
|
42
|
-
id: `${id}-label`
|
43
|
-
}, label));
|
44
|
-
}
|
45
|
-
return element;
|
44
|
+
onClick: onClick
|
45
|
+
}, /*#__PURE__*/createElement("span", {
|
46
|
+
className: switchThumbClassName
|
47
|
+
})), label);
|
46
48
|
});
|
47
49
|
Switch.displayName = 'Switch';
|
48
50
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../../../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\nimport
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../../../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\nimport { Switch as SwitchPrimitive, SwitchProps as SwitchPrimitiveProps } from 'react-aria-components';\n\nimport { useMergedRef } from '../../hooks/useMergedRef';\n\ntype SwitchBaseProps = Omit<SwitchPrimitiveProps, 'onChange' | 'isDisabled' | 'isReadOnly' | 'isSelected' | 'defaultSelected'> & {\n label?: React.ReactNode;\n disabled?: boolean;\n readOnly?: boolean;\n onClick?: (event: React.MouseEvent<HTMLSpanElement>) => void;\n};\n\nexport interface UncontrolledSwitchProps extends SwitchBaseProps {\n checked?: never;\n onChange?: never;\n defaultChecked?: boolean;\n}\n\nexport interface ControlledSwitchProps extends SwitchBaseProps {\n defaultChecked?: never;\n checked: boolean;\n onChange: (checked: boolean) => void;\n}\n\nexport type SwitchProps = UncontrolledSwitchProps | ControlledSwitchProps;\n\nexport const Switch = React.forwardRef(function Switch(props: SwitchProps, ref: React.Ref<HTMLInputElement>) {\n const { checked, defaultChecked, readOnly, label, onChange, disabled, onClick, className, ...otherProps } = props;\n\n const inputRef = useMergedRef<HTMLInputElement>(ref);\n\n const switchContainerClassName = cn(\n 'group flex self-start',\n 'data-[disabled]:text-grey-300 data-[disabled]:cursor-not-allowed'\n );\n\n const switchClassName = cn(\n 'h-5 w-9 flex flex-shrink-0 rounded-full inline-flex cursor-pointer bg-grey-500',\n 'group-data-[focus-visible]:yt-focus',\n {\n 'mr-2': !!label,\n },\n 'group-hover:bg-grey-700',\n // When switch is selected\n 'group-data-[selected]:bg-blue-500',\n // When switch is selected and hovered\n 'group-hover:group-data-[selected]:bg-blue-700',\n // When switch is disabled\n 'group-data-[disabled]:!bg-grey-500/50 group-data-[disabled]:cursor-not-allowed',\n // When switch is disabled and selected\n 'group-data-[disabled]:group-data-[selected]:!bg-blue-500/50',\n className\n );\n\n const switchThumbClassName = cn(\n 'pointer-events-none mt-0.5 h-4 w-4 translate-x-[0.15rem] rounded-full bg-white transition-transform will-change-transform',\n 'group-data-[disabled]:opacity-50',\n 'group-data-[selected]:translate-x-[1.1rem]'\n );\n\n return (\n <SwitchPrimitive\n {...otherProps}\n className={switchContainerClassName}\n data-taco=\"switch-container\"\n inputRef={inputRef}\n isDisabled={disabled}\n isReadOnly={readOnly}\n isSelected={checked}\n defaultSelected={defaultChecked}\n onChange={onChange}>\n <span className={switchClassName} data-taco=\"switch\" onClick={onClick}>\n <span className={switchThumbClassName} />\n </span>\n {label}\n </SwitchPrimitive>\n );\n});\nSwitch.displayName = 'Switch';\n"],"names":["Switch","React","props","ref","checked","defaultChecked","readOnly","label","onChange","disabled","onClick","className","otherProps","inputRef","useMergedRef","switchContainerClassName","cn","switchClassName","switchThumbClassName","SwitchPrimitive","isDisabled","isReadOnly","isSelected","defaultSelected","displayName"],"mappings":";;;;;MA2BaA,MAAM,gBAAGC,UAAgB,CAAC,SAASD,MAAMA,CAACE,KAAkB,EAAEC,GAAgC;EACvG,MAAM;IAAEC,OAAO;IAAEC,cAAc;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGV,KAAK;EAEjH,MAAMW,QAAQ,GAAGC,YAAY,CAAmBX,GAAG,CAAC;EAEpD,MAAMY,wBAAwB,GAAGC,EAAE,CAC/B,uBAAuB,EACvB,kEAAkE,CACrE;EAED,MAAMC,eAAe,GAAGD,EAAE,CACtB,gFAAgF,EAChF,qCAAqC,EACrC;IACI,MAAM,EAAE,CAAC,CAACT;GACb,EACD,yBAAyB;;EAEzB,mCAAmC;;EAEnC,+CAA+C;;EAE/C,gFAAgF;;EAEhF,6DAA6D,EAC7DI,SAAS,CACZ;EAED,MAAMO,oBAAoB,GAAGF,EAAE,CAC3B,2HAA2H,EAC3H,kCAAkC,EAClC,4CAA4C,CAC/C;EAED,oBACIf,cAACkB,QAAe,oBACRP,UAAU;IACdD,SAAS,EAAEI,wBAAwB;iBACzB,kBAAkB;IAC5BF,QAAQ,EAAEA,QAAQ;IAClBO,UAAU,EAAEX,QAAQ;IACpBY,UAAU,EAAEf,QAAQ;IACpBgB,UAAU,EAAElB,OAAO;IACnBmB,eAAe,EAAElB,cAAc;IAC/BG,QAAQ,EAAEA;mBACVP;IAAMU,SAAS,EAAEM,eAAe;iBAAY,QAAQ;IAACP,OAAO,EAAEA;kBAC1DT;IAAMU,SAAS,EAAEO;IAAwB,CACtC,EACNX,KAAK,CACQ;AAE1B,CAAC;AACDP,MAAM,CAACwB,WAAW,GAAG,QAAQ;;;;"}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import React__default from 'react';
|
2
|
+
import { Spinner } from '../Spinner/Spinner.js';
|
2
3
|
import { fixedForwardRef } from '../../types.js';
|
3
4
|
import { Table } from '../../primitives/Table/Core/Table.js';
|
5
|
+
import { useTableSettingsPreloader } from '../../primitives/Table/useTableManager/useTableSettingsPreloader.js';
|
4
6
|
import { isTableScrolled } from './util/editing.js';
|
5
7
|
import { useTable3 } from './useTable3.js';
|
6
8
|
import { Alert } from './components/Editing/Alert.js';
|
@@ -8,9 +10,7 @@ import { Editing } from './components/Toolbar/Editing/Editing.js';
|
|
8
10
|
import { CreateNewRow } from './components/Row/Editing/CreateNewRow.js';
|
9
11
|
import { TemporaryRow } from './components/Row/Editing/TemporaryRow.js';
|
10
12
|
|
11
|
-
|
12
|
-
return null;
|
13
|
-
}
|
13
|
+
const Column = () => null;
|
14
14
|
Column.displayName = 'Table3Column';
|
15
15
|
function Group(_) {
|
16
16
|
return null;
|
@@ -69,6 +69,12 @@ const Table3 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
69
69
|
// we force a remount (using key) when the child columns change because there are too many places to add children as an effect
|
70
70
|
// this is cheaper from a complexity perspective, and probably performance wise as well
|
71
71
|
const key = React__default.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);
|
72
|
+
const {
|
73
|
+
loading
|
74
|
+
} = useTableSettingsPreloader(props.id);
|
75
|
+
if (loading) {
|
76
|
+
return /*#__PURE__*/React__default.createElement(Spinner, null);
|
77
|
+
}
|
72
78
|
return /*#__PURE__*/React__default.createElement(BaseTable3, Object.assign({}, props, {
|
73
79
|
key: key,
|
74
80
|
ref: ref
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Table3.js","sources":["../../../../../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\nimport { fixedForwardRef } from '../../types';\nimport { useTable3 } from './useTable3';\nimport { Table } from '../../primitives/Table/Core/Table';\nimport { Alert } from './components/Editing/Alert';\nimport { Table3Props, Table3Ref, Table3ColumnProps, Table3GroupProps } from './types';\nimport { Editing } from './components/Toolbar/Editing/Editing';\nimport { CreateNewRow } from './components/Row/Editing/CreateNewRow';\nimport { TemporaryRow } from './components/Row/Editing/TemporaryRow';\nimport './style.css';\nimport { isTableScrolled } from './util/editing';\n\
|
1
|
+
{"version":3,"file":"Table3.js","sources":["../../../../../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\nimport { fixedForwardRef } from '../../types';\nimport { useTable3 } from './useTable3';\nimport { Table } from '../../primitives/Table/Core/Table';\nimport { Alert } from './components/Editing/Alert';\nimport { Table3Props, Table3Ref, Table3ColumnProps, Table3GroupProps } from './types';\nimport { Editing } from './components/Toolbar/Editing/Editing';\nimport { CreateNewRow } from './components/Row/Editing/CreateNewRow';\nimport { TemporaryRow } from './components/Row/Editing/TemporaryRow';\nimport './style.css';\nimport { isTableScrolled } from './util/editing';\nimport { useTableSettingsPreloader } from '../../primitives/Table/useTableManager/useTableSettingsPreloader';\nimport { Spinner } from '../Spinner/Spinner';\n\nconst Column: React.FC<Table3ColumnProps<unknown>> & {\n <TType = unknown>(_: Table3ColumnProps<TType>): null;\n} = () => null;\n\nColumn.displayName = 'Table3Column';\n\nfunction Group(_: Table3GroupProps) {\n return null;\n}\nGroup.displayName = 'Table3Group';\n\nconst BaseTable3 = fixedForwardRef(function BaseTable3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const table3 = useTable3<TType>(props, ref);\n\n const gridAttributes = {\n 'data-table-editing-mode': table3.meta.editing?.isEditing\n ? table3.meta.editing?.isDetailedMode\n ? 'detailed'\n : 'normal'\n : undefined,\n enableHorizontalArrowKeyNavigation: table3.meta.editing.isEditing,\n };\n\n const rowsById = table3.instance.getCoreRowModel().rowsById;\n const hasAlertErrors = table3.meta.editing.getErrorsShownInAlert().filter(row => {\n if (table3.meta.server._experimentalDataLoader2) {\n // consumers of dataloader2 need to run a cleanup function, as this would otherwise return false when pages are unloaded.\n return true;\n }\n\n return rowsById[row.rowId];\n }).length;\n\n const hasCreateWorkflow = table3.meta.editing.isEnabled && props.onEditingCreate;\n const isScrolled = isTableScrolled(table3.ref);\n\n let createWorkflow;\n\n if (hasCreateWorkflow) {\n createWorkflow = (\n <CreateNewRow\n buttonRef={table3.meta.editing.createRowButtonRef}\n isScrolled={isScrolled}\n table={table3.instance}\n tableMeta={table3.meta}\n />\n );\n }\n\n return (\n <Table>\n <Table.Toolbar<TType> table={table3}>\n {table3.meta.editing.isEnabled ? (\n <Editing scrollToIndex={table3.renderer.scrollToIndex} table={table3.instance} />\n ) : null}\n </Table.Toolbar>\n {hasAlertErrors ? (\n <Alert\n className=\"mb-4\"\n scrollToIndex={table3.renderer.scrollToIndex}\n table={table3.instance}\n tableRef={table3.ref}\n />\n ) : null}\n <Table.Grid<TType>\n {...gridAttributes}\n data-taco=\"table3\"\n footerRows={hasCreateWorkflow && isScrolled ? createWorkflow : undefined}\n table={table3}>\n {hasCreateWorkflow ? (\n <>\n <TemporaryRow\n createRowButtonRef={table3.meta.editing.createRowButtonRef}\n isScrolled={isScrolled}\n table={table3.instance}\n tableMeta={table3.meta}\n tableRef={table3.ref}\n />\n {!isScrolled ? createWorkflow : null}\n </>\n ) : null}\n </Table.Grid>\n </Table>\n );\n});\n\nexport const Table3 = fixedForwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const stringifiedChildren = String(props.children);\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + stringifiedChildren), [stringifiedChildren]);\n const { loading } = useTableSettingsPreloader(props.id);\n\n if (loading) {\n return <Spinner />;\n }\n\n return <BaseTable3<TType> {...props} key={key} ref={ref} />;\n}) as (<TType = unknown>(props: Table3Props<TType> & React.RefAttributes<Table3Ref>) => JSX.Element) & {\n Column: typeof Column;\n Group: typeof Group;\n};\nTable3.Column = Column;\nTable3.Group = Group;\n\nexport type {\n Table3Ref,\n Table3Props,\n Table3ColumnProps,\n Table3GroupProps,\n Table3EditingSaveHandler,\n Table3EditingValidatorFn,\n Table3Texts,\n Table3FeatureProps,\n Table3CommonProps,\n Table3WithoutEditingWithClientProps,\n Table3WithoutEditingWithServerProps,\n Table3WithEditingProps,\n Table3WithEditingWithClientProps,\n Table3WithEditingWithServerProps,\n Table3EditingChangeHandler,\n Table3EditingCreateHandler,\n} from './types';\n"],"names":["Column","displayName","Group","_","BaseTable3","fixedForwardRef","props","ref","table3","useTable3","gridAttributes","_table3$meta$editing","meta","editing","isEditing","_table3$meta$editing2","isDetailedMode","undefined","enableHorizontalArrowKeyNavigation","rowsById","instance","getCoreRowModel","hasAlertErrors","getErrorsShownInAlert","filter","row","server","_experimentalDataLoader2","rowId","length","hasCreateWorkflow","isEnabled","onEditingCreate","isScrolled","isTableScrolled","createWorkflow","React","CreateNewRow","buttonRef","createRowButtonRef","table","tableMeta","Table","Toolbar","Editing","scrollToIndex","renderer","Alert","className","tableRef","Grid","footerRows","TemporaryRow","Table3","stringifiedChildren","String","children","key","useMemo","loading","useTableSettingsPreloader","id","Spinner"],"mappings":"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"}
|
package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js
CHANGED
@@ -48,8 +48,10 @@ function EditingControlCell(props) {
|
|
48
48
|
}
|
49
49
|
}, [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex, value]);
|
50
50
|
const blur = React__default.useCallback(function blur() {
|
51
|
-
|
52
|
-
|
51
|
+
requestAnimationFrame(() => {
|
52
|
+
tableMeta.editing.toggleDetailedMode(false);
|
53
|
+
tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl);
|
54
|
+
});
|
53
55
|
}, [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex]);
|
54
56
|
const handleBlur = React__default.useCallback(event => {
|
55
57
|
if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"EditingControlCell.js","sources":["../../../../../../../../../../src/components/Table3/components/Columns/Cell/EditingControlCell.tsx"],"sourcesContent":["import React from 'react';\nimport { TableMeta as ReactTableMeta, ColumnMeta as ReactTableColumnMeta } from '@tanstack/react-table';\nimport { isDate } from 'date-fns';\nimport { Datepicker } from '../../../../Datepicker/Datepicker';\nimport { Switch } from '../../../../Switch/Switch';\nimport { Input } from '../../../../Input/Input';\nimport { TableColumnDataType, TableColumnRendererControl, TableFontSize } from '../../../../../primitives/Table/types';\nimport * as date from '../../../../../utils/date';\nimport { RowMoveIndicator } from './Editing/RowMoveIndicator';\nimport { TextareaWithAutosizing } from './Editing/TextareaWithAutosizing';\nimport { Field } from '../../../../Field/Field';\nimport { isElementInsideOrTriggeredFromContainer } from '../../../../../utils/dom';\nimport { TableCellRendererProps } from '../../../../../primitives/Table/Core/types';\nimport { RowContext } from '../../../../../primitives/Table/Core/components/Row/RowContext';\nimport { getCellAttributes } from '../../../../../primitives/Table/Core/components/Columns/Cell/util';\nimport { useEditingCellAutofocus } from './util';\nimport { isPressingMetaKey } from '../../../../../utils/keyboard';\nimport { Checkbox } from '../../../../Checkbox/Checkbox';\n\nexport function EditingControlCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, isHighlighted, index } = props;\n const { rowIndex } = React.useContext(RowContext);\n const { table } = cell.getContext();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n const type = columnMeta.control ?? 'input';\n const handleFocus = useEditingCellAutofocus<TType>(props);\n const value = cell.getValue();\n\n // some controls, like select2, should trigger cell changed (validation, updates) as the value changes\n const hasNonTextControl = React.useMemo(() => {\n return (\n typeof type === 'function' &&\n !!cellRef.current?.querySelector('[data-taco=\"Select2\"],[data-taco=\"switch\"],[data-taco=\"checkbox\"]')\n );\n }, [cellRef.current]);\n\n const handleChange = React.useCallback(\n (nextValue: unknown) => {\n if (nextValue !== value) {\n tableMeta.editing.setCellValue(cell, rowIndex, nextValue);\n\n if (hasNonTextControl) {\n requestAnimationFrame(() => tableMeta.editing.onCellChanged(cell, rowIndex, nextValue));\n }\n }\n },\n [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex, value]\n );\n\n const blur = React.useCallback(\n function blur() {\n tableMeta.editing.toggleDetailedMode(false);\n tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl);\n },\n [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex]\n );\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent) => {\n if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {\n return;\n }\n blur();\n },\n [blur]\n );\n\n // ensure that blur runs when the cell gets unmounted (when vertically arrow key navigating)\n React.useEffect(() => {\n const ref = cellRef.current;\n\n return () => {\n if (document.activeElement === ref || isElementInsideOrTriggeredFromContainer(document.activeElement, ref)) {\n blur();\n }\n };\n }, []);\n\n const error = tableMeta.editing.getCellError<TType>(cell);\n\n const controlProps = {\n dataType: columnMeta.dataType,\n fontSize: tableMeta.fontSize.size,\n id: cell.column.id,\n invalid: !!error,\n isDetailedMode: tableMeta.editing.isDetailedMode,\n isTruncated: !!columnMeta.enableTruncate,\n onBlur: handleBlur,\n onChange: handleChange,\n row: cell.row.original,\n rowPendingChanges: tableMeta.editing.getRowValue(cell.row.id),\n tabIndex: isActiveRow ? 0 : -1,\n toggleDetailedMode: tableMeta.editing.toggleDetailedMode,\n type,\n value,\n };\n\n const cellAttributes = {\n ...getCellAttributes(cell, index, isHighlighted),\n 'data-cell-editing-invalid': error ? true : undefined,\n 'data-taco': 'cell-control',\n onFocus: handleFocus,\n ref: cellRef,\n tabIndex: -1,\n };\n\n return (\n <td {...cellAttributes}>\n <Field invalid={!!error} message={error}>\n <MemoedEditingCell<TType> {...controlProps} />\n </Field>\n {\n // we show row move indicator here within the cell rather than the row because it is\n // an editing only feature, and we don't want to leak editing into the shared row component\n }\n <RowMoveIndicator cell={cell} cellRef={cellRef} isActiveRow={isActiveRow} />\n </td>\n );\n}\n\ntype MemoedEditingCellProps<TType = unknown, TValue = unknown> = {\n dataType?: TableColumnDataType;\n fontSize: TableFontSize;\n id: string;\n invalid: boolean;\n isDetailedMode: boolean;\n isTruncated: boolean;\n onBlur: (event: React.FocusEvent) => void;\n onChange: (value: TValue) => void;\n row: TType;\n rowPendingChanges: Partial<TType> | undefined;\n tabIndex?: number;\n toggleDetailedMode: (detailed: React.SetStateAction<boolean>) => void;\n type: TableColumnRendererControl<TType>;\n value: TValue;\n};\n\nconst MemoedEditingCell = React.memo(function MemoedEditingCell<TType = unknown>(props: MemoedEditingCellProps<TType>) {\n const {\n dataType,\n fontSize,\n id,\n invalid,\n isDetailedMode,\n isTruncated,\n onBlur,\n onChange,\n row,\n rowPendingChanges,\n tabIndex = -1,\n toggleDetailedMode,\n type = 'input',\n value,\n } = props;\n const controlRef = React.useRef<HTMLElement>(null);\n const currentValue = row[id];\n const commonProps = {\n onBlur,\n ref: controlRef,\n tabIndex,\n };\n\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n\n if (target.readOnly) {\n return;\n }\n\n // prevent active row navigation while in detailed mode\n if (\n isDetailedMode &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n\n // enter or exit detail mode when pressing enter\n if (event.key === 'Enter') {\n // textareas support shift and enter, don't prevent default in that case\n if (event.shiftKey && isDetailedMode) {\n return;\n }\n\n event.preventDefault();\n\n if (isDetailedMode) {\n target.select?.();\n } else {\n target.setSelectionRange?.(target.value?.length, target.value?.length);\n }\n\n toggleDetailedMode(editing => !editing);\n return;\n }\n\n // reset the value, or exit edit mode when pressing escape\n if (event.key === 'Escape') {\n if (isDetailedMode) {\n event.preventDefault();\n toggleDetailedMode(false);\n\n if (value !== currentValue) {\n props.onChange(currentValue);\n }\n\n // have to let onChange run before selecting, otherwise the value changes\n requestAnimationFrame(() => target.select?.());\n }\n\n return;\n }\n\n // toggle into detailed mode when actually inputting something\n if (!isPressingMetaKey(event) && (/^[a-z0-9]$/i.test(event.key) || event.key === 'Backspace')) {\n toggleDetailedMode(true);\n }\n };\n\n if (typeof type === 'function') {\n const controlFnProps = {\n ...commonProps,\n invalid,\n setValue: onChange,\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n const target = (event.target as HTMLElement) || null;\n // it make sense to handle keydown for the custom edititng controls only if target is either input or textarea\n if (target && (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')) {\n handleInputKeyDown(event as React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>);\n }\n },\n value,\n };\n\n return type(controlFnProps, { ...row, ...rowPendingChanges });\n }\n\n if (type === 'switch') {\n return (\n <Switch\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLButtonElement>}\n />\n );\n }\n\n if (type === 'checkbox') {\n return (\n <Checkbox\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLButtonElement>}\n />\n );\n }\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (!isDetailedMode) {\n event.target.select();\n }\n };\n\n if (type === 'datepicker') {\n const valueAsDate = date.parse(value as Date | string | undefined);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDate = (event as any).detail as Date;\n\n if (!valueAsDate || !newDate || (isDate(valueAsDate) && isDate(newDate) && !date.isWeakEqual(valueAsDate, newDate))) {\n props.onChange(newDate);\n }\n };\n\n const handleDatepickerInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n // When in detailed mode, we want to handle the change, when 'Enter' is pressed.\n // To make it possible, we just need to prevent handleInputKeyDown from being executed, and give the full control to Datepicker,\n // by doing this, Datepicker will exit \"detailed mode\" by itself when a valid date change event is triggered.\n // In any other cases we'll just execute the \"handleInputKeyDown\" handler.\n if (isDetailedMode && event.key === 'Enter' && (event.target as HTMLInputElement).value !== '') {\n return;\n }\n\n handleInputKeyDown(event);\n };\n\n return (\n <Datepicker\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleDatepickerInputKeyDown}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n value={valueAsDate}\n />\n );\n }\n\n if (type === 'textarea') {\n const handleChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n onChange(event.target.value);\n };\n\n return (\n <TextareaWithAutosizing\n {...commonProps}\n fontSize={fontSize}\n invalid={invalid}\n isTruncated={isTruncated}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n ref={controlRef as React.RefObject<HTMLTextAreaElement>}\n value={String(value ?? '')}\n />\n );\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange(dataType === 'number' && event.target.value ? Number.parseInt(event.target.value) : event.target.value);\n };\n\n return (\n <Input\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n type={dataType === 'number' ? 'number' : undefined}\n value={dataType === 'number' ? (value as number) : String(value ?? '')}\n />\n );\n}) as <TType = unknown>(props: MemoedEditingCellProps<TType>) => JSX.Element;\n"],"names":["EditingControlCell","props","cell","cellRef","isHighlighted","index","rowIndex","React","useContext","RowContext","table","getContext","tableMeta","options","meta","columnMeta","column","columnDef","isActiveRow","rowActive","rowActiveIndex","type","_columnMeta$control","control","handleFocus","useEditingCellAutofocus","value","getValue","hasNonTextControl","useMemo","_cellRef$current","current","querySelector","handleChange","useCallback","nextValue","editing","setCellValue","requestAnimationFrame","onCellChanged","row","id","original","blur","toggleDetailedMode","undefined","handleBlur","event","isElementInsideOrTriggeredFromContainer","relatedTarget","currentTarget","useEffect","ref","document","activeElement","error","getCellError","controlProps","dataType","fontSize","size","invalid","isDetailedMode","isTruncated","enableTruncate","onBlur","onChange","rowPendingChanges","getRowValue","tabIndex","cellAttributes","getCellAttributes","onFocus","Field","message","MemoedEditingCell","RowMoveIndicator","memo","controlRef","useRef","currentValue","commonProps","handleInputKeyDown","target","readOnly","key","stopPropagation","shiftKey","preventDefault","_target$select","select","call","_target$setSelectionR","_target$value","_target$value2","setSelectionRange","length","_target$select2","isPressingMetaKey","test","controlFnProps","setValue","onKeyDown","tagName","Switch","checked","Boolean","Checkbox","valueAsDate","date","newDate","detail","isDate","handleDatepickerInputKeyDown","Datepicker","TextareaWithAutosizing","String","Number","parseInt","Input"],"mappings":";;;;;;;;;;;;;;;;SAmBgBA,kBAAkBA,CAAkBC,KAAoC;;EACpF,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,aAAa;IAAEC;GAAO,GAAGJ,KAAK;EACrD,MAAM;IAAEK;GAAU,GAAGC,cAAK,CAACC,UAAU,CAACC,UAAU,CAAC;EACjD,MAAM;IAAEC;GAAO,GAAGR,IAAI,CAACS,UAAU,EAAE;EACnC,MAAMC,SAAS,GAAGF,KAAK,CAACG,OAAO,CAACC,IAA6B;EAC7D,MAAMC,UAAU,GAAGb,IAAI,CAACc,MAAM,CAACC,SAAS,CAACH,IAA4C;EACrF,MAAMI,WAAW,GAAGN,SAAS,CAACO,SAAS,CAACC,cAAc,KAAKd,QAAQ;EACnE,MAAMe,IAAI,IAAAC,mBAAA,GAAGP,UAAU,CAACQ,OAAO,cAAAD,mBAAA,cAAAA,mBAAA,GAAI,OAAO;EAC1C,MAAME,WAAW,GAAGC,uBAAuB,CAAQxB,KAAK,CAAC;EACzD,MAAMyB,KAAK,GAAGxB,IAAI,CAACyB,QAAQ,EAAE;;EAG7B,MAAMC,iBAAiB,GAAGrB,cAAK,CAACsB,OAAO,CAAC;;IACpC,OACI,OAAOR,IAAI,KAAK,UAAU,IAC1B,CAAC,GAAAS,gBAAA,GAAC3B,OAAO,CAAC4B,OAAO,cAAAD,gBAAA,eAAfA,gBAAA,CAAiBE,aAAa,CAAC,mEAAmE,CAAC;GAE5G,EAAE,CAAC7B,OAAO,CAAC4B,OAAO,CAAC,CAAC;EAErB,MAAME,YAAY,GAAG1B,cAAK,CAAC2B,WAAW,CACjCC,SAAkB;IACf,IAAIA,SAAS,KAAKT,KAAK,EAAE;MACrBd,SAAS,CAACwB,OAAO,CAACC,YAAY,CAACnC,IAAI,EAAEI,QAAQ,EAAE6B,SAAS,CAAC;MAEzD,IAAIP,iBAAiB,EAAE;QACnBU,qBAAqB,CAAC,MAAM1B,SAAS,CAACwB,OAAO,CAACG,aAAa,CAACrC,IAAI,EAAEI,QAAQ,EAAE6B,SAAS,CAAC,CAAC;;;GAGlG,EACD,CAACP,iBAAiB,EAAE1B,IAAI,CAACsC,GAAG,CAACC,EAAE,EAAEvC,IAAI,CAACc,MAAM,CAACyB,EAAE,EAAEvC,IAAI,CAACsC,GAAG,CAACE,QAAQ,EAAEpC,QAAQ,EAAEoB,KAAK,CAAC,CACvF;EAED,MAAMiB,IAAI,GAAGpC,cAAK,CAAC2B,WAAW,CAC1B,SAASS,IAAIA;IACT/B,SAAS,CAACwB,OAAO,CAACQ,kBAAkB,CAAC,KAAK,CAAC;IAC3ChC,SAAS,CAACwB,OAAO,CAACG,aAAa,CAACrC,IAAI,EAAEI,QAAQ,EAAEuC,SAAS,EAAE,CAACjB,iBAAiB,CAAC;GACjF,EACD,CAACA,iBAAiB,EAAE1B,IAAI,CAACsC,GAAG,CAACC,EAAE,EAAEvC,IAAI,CAACc,MAAM,CAACyB,EAAE,EAAEvC,IAAI,CAACsC,GAAG,CAACE,QAAQ,EAAEpC,QAAQ,CAAC,CAChF;EAED,MAAMwC,UAAU,GAAGvC,cAAK,CAAC2B,WAAW,CAC/Ba,KAAuB;IACpB,IAAIC,uCAAuC,CAACD,KAAK,CAACE,aAAa,EAAEF,KAAK,CAACG,aAAa,CAAC,EAAE;MACnF;;IAEJP,IAAI,EAAE;GACT,EACD,CAACA,IAAI,CAAC,CACT;;EAGDpC,cAAK,CAAC4C,SAAS,CAAC;IACZ,MAAMC,GAAG,GAAGjD,OAAO,CAAC4B,OAAO;IAE3B,OAAO;MACH,IAAIsB,QAAQ,CAACC,aAAa,KAAKF,GAAG,IAAIJ,uCAAuC,CAACK,QAAQ,CAACC,aAAa,EAAEF,GAAG,CAAC,EAAE;QACxGT,IAAI,EAAE;;KAEb;GACJ,EAAE,EAAE,CAAC;EAEN,MAAMY,KAAK,GAAG3C,SAAS,CAACwB,OAAO,CAACoB,YAAY,CAAQtD,IAAI,CAAC;EAEzD,MAAMuD,YAAY,GAAG;IACjBC,QAAQ,EAAE3C,UAAU,CAAC2C,QAAQ;IAC7BC,QAAQ,EAAE/C,SAAS,CAAC+C,QAAQ,CAACC,IAAI;IACjCnB,EAAE,EAAEvC,IAAI,CAACc,MAAM,CAACyB,EAAE;IAClBoB,OAAO,EAAE,CAAC,CAACN,KAAK;IAChBO,cAAc,EAAElD,SAAS,CAACwB,OAAO,CAAC0B,cAAc;IAChDC,WAAW,EAAE,CAAC,CAAChD,UAAU,CAACiD,cAAc;IACxCC,MAAM,EAAEnB,UAAU;IAClBoB,QAAQ,EAAEjC,YAAY;IACtBO,GAAG,EAAEtC,IAAI,CAACsC,GAAG,CAACE,QAAQ;IACtByB,iBAAiB,EAAEvD,SAAS,CAACwB,OAAO,CAACgC,WAAW,CAAClE,IAAI,CAACsC,GAAG,CAACC,EAAE,CAAC;IAC7D4B,QAAQ,EAAEnD,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B0B,kBAAkB,EAAEhC,SAAS,CAACwB,OAAO,CAACQ,kBAAkB;IACxDvB,IAAI;IACJK;GACH;EAED,MAAM4C,cAAc,GAAG;IACnB,GAAGC,iBAAiB,CAACrE,IAAI,EAAEG,KAAK,EAAED,aAAa,CAAC;IAChD,2BAA2B,EAAEmD,KAAK,GAAG,IAAI,GAAGV,SAAS;IACrD,WAAW,EAAE,cAAc;IAC3B2B,OAAO,EAAEhD,WAAW;IACpB4B,GAAG,EAAEjD,OAAO;IACZkE,QAAQ,EAAE,CAAC;GACd;EAED,oBACI9D,qDAAQ+D,cAAc,gBAClB/D,6BAACkE,KAAK;IAACZ,OAAO,EAAE,CAAC,CAACN,KAAK;IAAEmB,OAAO,EAAEnB;kBAC9BhD,6BAACoE,iBAAiB,oBAAYlB,YAAY,EAAI,CAC1C,eAKRlD,6BAACqE,gBAAgB;IAAC1E,IAAI,EAAEA,IAAI;IAAEC,OAAO,EAAEA,OAAO;IAAEe,WAAW,EAAEA;IAAe,CAC3E;AAEb;AAmBA,MAAMyD,iBAAiB,gBAAGpE,cAAK,CAACsE,IAAI,CAAC,SAASF,iBAAiBA,CAAkB1E,KAAoC;EACjH,MAAM;IACFyD,QAAQ;IACRC,QAAQ;IACRlB,EAAE;IACFoB,OAAO;IACPC,cAAc;IACdC,WAAW;IACXE,MAAM;IACNC,QAAQ;IACR1B,GAAG;IACH2B,iBAAiB;IACjBE,QAAQ,GAAG,CAAC,CAAC;IACbzB,kBAAkB;IAClBvB,IAAI,GAAG,OAAO;IACdK;GACH,GAAGzB,KAAK;EACT,MAAM6E,UAAU,GAAGvE,cAAK,CAACwE,MAAM,CAAc,IAAI,CAAC;EAClD,MAAMC,YAAY,GAAGxC,GAAG,CAACC,EAAE,CAAC;EAC5B,MAAMwC,WAAW,GAAG;IAChBhB,MAAM;IACNb,GAAG,EAAE0B,UAAU;IACfT;GACH;EAED,MAAMa,kBAAkB,GAAInC,KAAkE;IAC1F,MAAMoC,MAAM,GAAGpC,KAAK,CAACoC,MAAgD;IAErE,IAAIA,MAAM,CAACC,QAAQ,EAAE;MACjB;;;IAIJ,IACItB,cAAc,KACbf,KAAK,CAACsC,GAAG,KAAK,SAAS,IAAItC,KAAK,CAACsC,GAAG,KAAK,WAAW,IAAItC,KAAK,CAACsC,GAAG,KAAK,WAAW,IAAItC,KAAK,CAACsC,GAAG,KAAK,YAAY,CAAC,EACnH;MACEtC,KAAK,CAACuC,eAAe,EAAE;;;IAI3B,IAAIvC,KAAK,CAACsC,GAAG,KAAK,OAAO,EAAE;;MAEvB,IAAItC,KAAK,CAACwC,QAAQ,IAAIzB,cAAc,EAAE;QAClC;;MAGJf,KAAK,CAACyC,cAAc,EAAE;MAEtB,IAAI1B,cAAc,EAAE;QAAA,IAAA2B,cAAA;QAChB,CAAAA,cAAA,GAAAN,MAAM,CAACO,MAAM,cAAAD,cAAA,uBAAbA,cAAA,CAAAE,IAAA,CAAAR,OAAiB;OACpB,MAAM;QAAA,IAAAS,qBAAA,EAAAC,aAAA,EAAAC,cAAA;QACH,CAAAF,qBAAA,GAAAT,MAAM,CAACY,iBAAiB,cAAAH,qBAAA,uBAAxBA,qBAAA,CAAAD,IAAA,CAAAR,MAAM,GAAAU,aAAA,GAAqBV,MAAM,CAACzD,KAAK,cAAAmE,aAAA,uBAAZA,aAAA,CAAcG,MAAM,GAAAF,cAAA,GAAEX,MAAM,CAACzD,KAAK,cAAAoE,cAAA,uBAAZA,cAAA,CAAcE,MAAM,CAAC;;MAG1EpD,kBAAkB,CAACR,OAAO,IAAI,CAACA,OAAO,CAAC;MACvC;;;IAIJ,IAAIW,KAAK,CAACsC,GAAG,KAAK,QAAQ,EAAE;MACxB,IAAIvB,cAAc,EAAE;QAChBf,KAAK,CAACyC,cAAc,EAAE;QACtB5C,kBAAkB,CAAC,KAAK,CAAC;QAEzB,IAAIlB,KAAK,KAAKsD,YAAY,EAAE;UACxB/E,KAAK,CAACiE,QAAQ,CAACc,YAAY,CAAC;;;QAIhC1C,qBAAqB,CAAC;UAAA,IAAA2D,eAAA;UAAA,QAAAA,eAAA,GAAMd,MAAM,CAACO,MAAM,cAAAO,eAAA,uBAAbA,eAAA,CAAAN,IAAA,CAAAR,OAAiB;UAAC;;MAGlD;;;IAIJ,IAAI,CAACe,iBAAiB,CAACnD,KAAK,CAAC,KAAK,aAAa,CAACoD,IAAI,CAACpD,KAAK,CAACsC,GAAG,CAAC,IAAItC,KAAK,CAACsC,GAAG,KAAK,WAAW,CAAC,EAAE;MAC3FzC,kBAAkB,CAAC,IAAI,CAAC;;GAE/B;EAED,IAAI,OAAOvB,IAAI,KAAK,UAAU,EAAE;IAC5B,MAAM+E,cAAc,GAAG;MACnB,GAAGnB,WAAW;MACdpB,OAAO;MACPwC,QAAQ,EAAEnC,QAAQ;MAClBoC,SAAS,EAAGvD,KAAuC;QAC/C,MAAMoC,MAAM,GAAIpC,KAAK,CAACoC,MAAsB,IAAI,IAAI;;QAEpD,IAAIA,MAAM,KAAKA,MAAM,CAACoB,OAAO,KAAK,OAAO,IAAIpB,MAAM,CAACoB,OAAO,KAAK,UAAU,CAAC,EAAE;UACzErB,kBAAkB,CAACnC,KAAoE,CAAC;;OAE/F;MACDrB;KACH;IAED,OAAOL,IAAI,CAAC+E,cAAc,EAAE;MAAE,GAAG5D,GAAG;MAAE,GAAG2B;KAAmB,CAAC;;EAGjE,IAAI9C,IAAI,KAAK,QAAQ,EAAE;IACnB,oBACId,6BAACiG,MAAM,oBACCvB,WAAW;MACfwB,OAAO,EAAEC,OAAO,CAAChF,KAAK,CAAC;MACvBwC,QAAQ,EAAEA,QAAQ;MAClBd,GAAG,EAAE0B;OACP;;EAIV,IAAIzD,IAAI,KAAK,UAAU,EAAE;IACrB,oBACId,6BAACoG,QAAQ,oBACD1B,WAAW;MACfwB,OAAO,EAAEC,OAAO,CAAChF,KAAK,CAAC;MACvBwC,QAAQ,EAAEA,QAAQ;MAClBd,GAAG,EAAE0B;OACP;;EAIV,MAAMtD,WAAW,GAAIuB,KAA+D;IAChF,IAAI,CAACe,cAAc,EAAE;MACjBf,KAAK,CAACoC,MAAM,CAACO,MAAM,EAAE;;GAE5B;EAED,IAAIrE,IAAI,KAAK,YAAY,EAAE;IACvB,MAAMuF,WAAW,GAAGC,KAAU,CAACnF,KAAkC,CAAC;IAElE,MAAMO,YAAY,GAAIc,KAA0C;MAC5D,MAAM+D,OAAO,GAAI/D,KAAa,CAACgE,MAAc;MAE7C,IAAI,CAACH,WAAW,IAAI,CAACE,OAAO,IAAKE,MAAM,CAACJ,WAAW,CAAC,IAAII,MAAM,CAACF,OAAO,CAAC,IAAI,CAACD,WAAgB,CAACD,WAAW,EAAEE,OAAO,CAAE,EAAE;QACjH7G,KAAK,CAACiE,QAAQ,CAAC4C,OAAO,CAAC;;KAE9B;IAED,MAAMG,4BAA4B,GAAIlE,KAA4C;;;;;MAK9E,IAAIe,cAAc,IAAIf,KAAK,CAACsC,GAAG,KAAK,OAAO,IAAKtC,KAAK,CAACoC,MAA2B,CAACzD,KAAK,KAAK,EAAE,EAAE;QAC5F;;MAGJwD,kBAAkB,CAACnC,KAAK,CAAC;KAC5B;IAED,oBACIxC,6BAAC2G,UAAU,oBACHjC,WAAW;MACfpB,OAAO,EAAEA,OAAO;MAChBK,QAAQ,EAAEjC,YAAY;MACtBuC,OAAO,EAAEhD,WAAW;MACpB8E,SAAS,EAAEW,4BAA4B;MACvC7D,GAAG,EAAE0B,UAA+C;MACpDpD,KAAK,EAAEkF;OACT;;EAIV,IAAIvF,IAAI,KAAK,UAAU,EAAE;IACrB,MAAMY,YAAY,GAAIc,KAA6C;MAC/DmB,QAAQ,CAACnB,KAAK,CAACoC,MAAM,CAACzD,KAAK,CAAC;KAC/B;IAED,oBACInB,6BAAC4G,sBAAsB,oBACflC,WAAW;MACftB,QAAQ,EAAEA,QAAQ;MAClBE,OAAO,EAAEA,OAAO;MAChBE,WAAW,EAAEA,WAAW;MACxBG,QAAQ,EAAEjC,YAAY;MACtBuC,OAAO,EAAEhD,WAAW;MACpB8E,SAAS,EAAEpB,kBAAkB;MAC7B9B,GAAG,EAAE0B,UAAkD;MACvDpD,KAAK,EAAE0F,MAAM,CAAC1F,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;OAC3B;;EAIV,MAAMO,YAAY,GAAIc,KAA0C;IAC5DmB,QAAQ,CAACR,QAAQ,KAAK,QAAQ,IAAIX,KAAK,CAACoC,MAAM,CAACzD,KAAK,GAAG2F,MAAM,CAACC,QAAQ,CAACvE,KAAK,CAACoC,MAAM,CAACzD,KAAK,CAAC,GAAGqB,KAAK,CAACoC,MAAM,CAACzD,KAAK,CAAC;GACnH;EAED,oBACInB,6BAACgH,KAAK,oBACEtC,WAAW;IACfpB,OAAO,EAAEA,OAAO;IAChBK,QAAQ,EAAEjC,YAAY;IACtBuC,OAAO,EAAEhD,WAAW;IACpB8E,SAAS,EAAEpB,kBAAkB;IAC7B9B,GAAG,EAAE0B,UAA+C;IACpDzD,IAAI,EAAEqC,QAAQ,KAAK,QAAQ,GAAG,QAAQ,GAAGb,SAAS;IAClDnB,KAAK,EAAEgC,QAAQ,KAAK,QAAQ,GAAIhC,KAAgB,GAAG0F,MAAM,CAAC1F,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;KACvE;AAEV,CAAC,CAA2E;;;;"}
|
1
|
+
{"version":3,"file":"EditingControlCell.js","sources":["../../../../../../../../../../src/components/Table3/components/Columns/Cell/EditingControlCell.tsx"],"sourcesContent":["import React from 'react';\nimport { TableMeta as ReactTableMeta, ColumnMeta as ReactTableColumnMeta } from '@tanstack/react-table';\nimport { isDate } from 'date-fns';\nimport { Datepicker } from '../../../../Datepicker/Datepicker';\nimport { Switch } from '../../../../Switch/Switch';\nimport { Input } from '../../../../Input/Input';\nimport { TableColumnDataType, TableColumnRendererControl, TableFontSize } from '../../../../../primitives/Table/types';\nimport * as date from '../../../../../utils/date';\nimport { RowMoveIndicator } from './Editing/RowMoveIndicator';\nimport { TextareaWithAutosizing } from './Editing/TextareaWithAutosizing';\nimport { Field } from '../../../../Field/Field';\nimport { isElementInsideOrTriggeredFromContainer } from '../../../../../utils/dom';\nimport { TableCellRendererProps } from '../../../../../primitives/Table/Core/types';\nimport { RowContext } from '../../../../../primitives/Table/Core/components/Row/RowContext';\nimport { getCellAttributes } from '../../../../../primitives/Table/Core/components/Columns/Cell/util';\nimport { useEditingCellAutofocus } from './util';\nimport { isPressingMetaKey } from '../../../../../utils/keyboard';\nimport { Checkbox } from '../../../../Checkbox/Checkbox';\n\nexport function EditingControlCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, isHighlighted, index } = props;\n const { rowIndex } = React.useContext(RowContext);\n const { table } = cell.getContext();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n const type = columnMeta.control ?? 'input';\n const handleFocus = useEditingCellAutofocus<TType>(props);\n const value = cell.getValue();\n\n // some controls, like select2, should trigger cell changed (validation, updates) as the value changes\n const hasNonTextControl = React.useMemo(() => {\n return (\n typeof type === 'function' &&\n !!cellRef.current?.querySelector('[data-taco=\"Select2\"],[data-taco=\"switch\"],[data-taco=\"checkbox\"]')\n );\n }, [cellRef.current]);\n\n const handleChange = React.useCallback(\n (nextValue: unknown) => {\n if (nextValue !== value) {\n tableMeta.editing.setCellValue(cell, rowIndex, nextValue);\n\n if (hasNonTextControl) {\n requestAnimationFrame(() => tableMeta.editing.onCellChanged(cell, rowIndex, nextValue));\n }\n }\n },\n [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex, value]\n );\n\n const blur = React.useCallback(\n function blur() {\n requestAnimationFrame(() => {\n tableMeta.editing.toggleDetailedMode(false);\n tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl);\n });\n },\n [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex]\n );\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent) => {\n if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {\n return;\n }\n blur();\n },\n [blur]\n );\n\n // ensure that blur runs when the cell gets unmounted (when vertically arrow key navigating)\n React.useEffect(() => {\n const ref = cellRef.current;\n\n return () => {\n if (document.activeElement === ref || isElementInsideOrTriggeredFromContainer(document.activeElement, ref)) {\n blur();\n }\n };\n }, []);\n\n const error = tableMeta.editing.getCellError<TType>(cell);\n\n const controlProps = {\n dataType: columnMeta.dataType,\n fontSize: tableMeta.fontSize.size,\n id: cell.column.id,\n invalid: !!error,\n isDetailedMode: tableMeta.editing.isDetailedMode,\n isTruncated: !!columnMeta.enableTruncate,\n onBlur: handleBlur,\n onChange: handleChange,\n row: cell.row.original,\n rowPendingChanges: tableMeta.editing.getRowValue(cell.row.id),\n tabIndex: isActiveRow ? 0 : -1,\n toggleDetailedMode: tableMeta.editing.toggleDetailedMode,\n type,\n value,\n };\n\n const cellAttributes = {\n ...getCellAttributes(cell, index, isHighlighted),\n 'data-cell-editing-invalid': error ? true : undefined,\n 'data-taco': 'cell-control',\n onFocus: handleFocus,\n ref: cellRef,\n tabIndex: -1,\n };\n\n return (\n <td {...cellAttributes}>\n <Field invalid={!!error} message={error}>\n <MemoedEditingCell<TType> {...controlProps} />\n </Field>\n {\n // we show row move indicator here within the cell rather than the row because it is\n // an editing only feature, and we don't want to leak editing into the shared row component\n }\n <RowMoveIndicator cell={cell} cellRef={cellRef} isActiveRow={isActiveRow} />\n </td>\n );\n}\n\ntype MemoedEditingCellProps<TType = unknown, TValue = unknown> = {\n dataType?: TableColumnDataType;\n fontSize: TableFontSize;\n id: string;\n invalid: boolean;\n isDetailedMode: boolean;\n isTruncated: boolean;\n onBlur: (event: React.FocusEvent) => void;\n onChange: (value: TValue) => void;\n row: TType;\n rowPendingChanges: Partial<TType> | undefined;\n tabIndex?: number;\n toggleDetailedMode: (detailed: React.SetStateAction<boolean>) => void;\n type: TableColumnRendererControl<TType>;\n value: TValue;\n};\n\nconst MemoedEditingCell = React.memo(function MemoedEditingCell<TType = unknown>(props: MemoedEditingCellProps<TType>) {\n const {\n dataType,\n fontSize,\n id,\n invalid,\n isDetailedMode,\n isTruncated,\n onBlur,\n onChange,\n row,\n rowPendingChanges,\n tabIndex = -1,\n toggleDetailedMode,\n type = 'input',\n value,\n } = props;\n const controlRef = React.useRef<HTMLElement>(null);\n const currentValue = row[id];\n const commonProps = {\n onBlur,\n ref: controlRef,\n tabIndex,\n };\n\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n\n if (target.readOnly) {\n return;\n }\n\n // prevent active row navigation while in detailed mode\n if (\n isDetailedMode &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n\n // enter or exit detail mode when pressing enter\n if (event.key === 'Enter') {\n // textareas support shift and enter, don't prevent default in that case\n if (event.shiftKey && isDetailedMode) {\n return;\n }\n\n event.preventDefault();\n\n if (isDetailedMode) {\n target.select?.();\n } else {\n target.setSelectionRange?.(target.value?.length, target.value?.length);\n }\n\n toggleDetailedMode(editing => !editing);\n return;\n }\n\n // reset the value, or exit edit mode when pressing escape\n if (event.key === 'Escape') {\n if (isDetailedMode) {\n event.preventDefault();\n toggleDetailedMode(false);\n\n if (value !== currentValue) {\n props.onChange(currentValue);\n }\n\n // have to let onChange run before selecting, otherwise the value changes\n requestAnimationFrame(() => target.select?.());\n }\n\n return;\n }\n\n // toggle into detailed mode when actually inputting something\n if (!isPressingMetaKey(event) && (/^[a-z0-9]$/i.test(event.key) || event.key === 'Backspace')) {\n toggleDetailedMode(true);\n }\n };\n\n if (typeof type === 'function') {\n const controlFnProps = {\n ...commonProps,\n invalid,\n setValue: onChange,\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n const target = (event.target as HTMLElement) || null;\n // it make sense to handle keydown for the custom edititng controls only if target is either input or textarea\n if (target && (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')) {\n handleInputKeyDown(event as React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>);\n }\n },\n value,\n };\n\n return type(controlFnProps, { ...row, ...rowPendingChanges });\n }\n\n if (type === 'switch') {\n return (\n <Switch\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n />\n );\n }\n\n if (type === 'checkbox') {\n return (\n <Checkbox\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n />\n );\n }\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (!isDetailedMode) {\n event.target.select();\n }\n };\n\n if (type === 'datepicker') {\n const valueAsDate = date.parse(value as Date | string | undefined);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDate = (event as any).detail as Date;\n\n if (!valueAsDate || !newDate || (isDate(valueAsDate) && isDate(newDate) && !date.isWeakEqual(valueAsDate, newDate))) {\n props.onChange(newDate);\n }\n };\n\n const handleDatepickerInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n // When in detailed mode, we want to handle the change, when 'Enter' is pressed.\n // To make it possible, we just need to prevent handleInputKeyDown from being executed, and give the full control to Datepicker,\n // by doing this, Datepicker will exit \"detailed mode\" by itself when a valid date change event is triggered.\n // In any other cases we'll just execute the \"handleInputKeyDown\" handler.\n if (isDetailedMode && event.key === 'Enter' && (event.target as HTMLInputElement).value !== '') {\n return;\n }\n\n handleInputKeyDown(event);\n };\n\n return (\n <Datepicker\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleDatepickerInputKeyDown}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n value={valueAsDate}\n />\n );\n }\n\n if (type === 'textarea') {\n const handleChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n onChange(event.target.value);\n };\n\n return (\n <TextareaWithAutosizing\n {...commonProps}\n fontSize={fontSize}\n invalid={invalid}\n isTruncated={isTruncated}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n ref={controlRef as React.RefObject<HTMLTextAreaElement>}\n value={String(value ?? '')}\n />\n );\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange(dataType === 'number' && event.target.value ? Number.parseInt(event.target.value) : event.target.value);\n };\n\n return (\n <Input\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n type={dataType === 'number' ? 'number' : undefined}\n value={dataType === 'number' ? (value as number) : String(value ?? '')}\n />\n );\n}) as <TType = unknown>(props: MemoedEditingCellProps<TType>) => JSX.Element;\n"],"names":["EditingControlCell","props","cell","cellRef","isHighlighted","index","rowIndex","React","useContext","RowContext","table","getContext","tableMeta","options","meta","columnMeta","column","columnDef","isActiveRow","rowActive","rowActiveIndex","type","_columnMeta$control","control","handleFocus","useEditingCellAutofocus","value","getValue","hasNonTextControl","useMemo","_cellRef$current","current","querySelector","handleChange","useCallback","nextValue","editing","setCellValue","requestAnimationFrame","onCellChanged","row","id","original","blur","toggleDetailedMode","undefined","handleBlur","event","isElementInsideOrTriggeredFromContainer","relatedTarget","currentTarget","useEffect","ref","document","activeElement","error","getCellError","controlProps","dataType","fontSize","size","invalid","isDetailedMode","isTruncated","enableTruncate","onBlur","onChange","rowPendingChanges","getRowValue","tabIndex","cellAttributes","getCellAttributes","onFocus","Field","message","MemoedEditingCell","RowMoveIndicator","memo","controlRef","useRef","currentValue","commonProps","handleInputKeyDown","target","readOnly","key","stopPropagation","shiftKey","preventDefault","_target$select","select","call","_target$setSelectionR","_target$value","_target$value2","setSelectionRange","length","_target$select2","isPressingMetaKey","test","controlFnProps","setValue","onKeyDown","tagName","Switch","checked","Boolean","Checkbox","valueAsDate","date","newDate","detail","isDate","handleDatepickerInputKeyDown","Datepicker","TextareaWithAutosizing","String","Number","parseInt","Input"],"mappings":"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"}
|
package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Editing.js","sources":["../../../../../../../../../../src/components/Table3/components/Toolbar/Editing/Editing.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\nimport { ModeSwitch } from '../../../../ModeSwitch/ModeSwitch';\nimport { Shortcut } from '../../../../Shortcut/Shortcut';\nimport { shortcut } from '../../../util/editing';\n\ntype EditingProps<TType = unknown> = React.HTMLAttributes<HTMLButtonElement> & {\n scrollToIndex: any;\n table: ReactTable<TType>;\n};\n\nexport function Editing<TType = unknown>(props: EditingProps<TType>) {\n const { scrollToIndex, table } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<
|
1
|
+
{"version":3,"file":"Editing.js","sources":["../../../../../../../../../../src/components/Table3/components/Toolbar/Editing/Editing.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\nimport { ModeSwitch } from '../../../../ModeSwitch/ModeSwitch';\nimport { Shortcut } from '../../../../Shortcut/Shortcut';\nimport { shortcut } from '../../../util/editing';\n\ntype EditingProps<TType = unknown> = React.HTMLAttributes<HTMLButtonElement> & {\n scrollToIndex: any;\n table: ReactTable<TType>;\n};\n\nexport function Editing<TType = unknown>(props: EditingProps<TType>) {\n const { scrollToIndex, table } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const handleChange = (enabled: boolean) => {\n tableMeta.editing.toggleEditing(enabled, table, scrollToIndex);\n tableMeta.onEvent?.('editing-mode', { enabled });\n };\n\n const tooltip = (\n <>\n {texts.table3.editing.buttons.edit.tooltip}\n <Shortcut className=\"ml-2\" keys={shortcut} />\n </>\n );\n\n return (\n <Tooltip title={tooltip}>\n <ModeSwitch data-table=\"editing-toggle\" checked={tableMeta.editing.isEditing} onChange={handleChange} ref={ref} />\n </Tooltip>\n );\n}\n"],"names":["Editing","props","scrollToIndex","table","texts","useLocalization","ref","React","useRef","tableMeta","options","meta","handleChange","enabled","editing","toggleEditing","_tableMeta$onEvent","onEvent","call","tooltip","table3","buttons","edit","Shortcut","className","keys","shortcut","Tooltip","title","ModeSwitch","checked","isEditing","onChange"],"mappings":";;;;;;;SAagBA,OAAOA,CAAkBC,KAA0B;EAC/D,MAAM;IAAEC,aAAa;IAAEC;GAAO,GAAGF,KAAK;EACtC,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAmB,IAAI,CAAC;EAChD,MAAMC,SAAS,GAAGN,KAAK,CAACO,OAAO,CAACC,IAA6B;EAE7D,MAAMC,YAAY,GAAIC,OAAgB;;IAClCJ,SAAS,CAACK,OAAO,CAACC,aAAa,CAACF,OAAO,EAAEV,KAAK,EAAED,aAAa,CAAC;IAC9D,CAAAc,kBAAA,GAAAP,SAAS,CAACQ,OAAO,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAAE,IAAA,CAAAT,SAAS,EAAW,cAAc,EAAE;MAAEI;KAAS,CAAC;GACnD;EAED,MAAMM,OAAO,gBACTZ,4DACKH,KAAK,CAACgB,MAAM,CAACN,OAAO,CAACO,OAAO,CAACC,IAAI,CAACH,OAAO,eAC1CZ,6BAACgB,QAAQ;IAACC,SAAS,EAAC,MAAM;IAACC,IAAI,EAAEC;IAAY,CAEpD;EAED,oBACInB,6BAACoB,OAAO;IAACC,KAAK,EAAET;kBACZZ,6BAACsB,UAAU;kBAAY,gBAAgB;IAACC,OAAO,EAAErB,SAAS,CAACK,OAAO,CAACiB,SAAS;IAAEC,QAAQ,EAAEpB,YAAY;IAAEN,GAAG,EAAEA;IAAO,CAC5G;AAElB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Toast.js","sources":["../../../../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'clsx';\nimport { motion, useAnimation } from 'framer-motion';\nimport useTimer from '../../utils/hooks/useTimer';\nimport { getBadgeIcon, getToastEmptyContentWarning } from './util';\nimport { State } from '../../types';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type ToastsTexts = {\n /** Aria-label for the close icon button of toast */\n dismiss: string;\n};\n\nexport type ToastType = Omit<State, 'default'> | 'loading';\nexport type ToastOptions = {\n /** Provide time in milliseconds after which the toast should autoclose */\n autoClose?: number;\n /**\n * State will change the icon displayed in toast and other characteristics,\n * for e.g. `loading` state will display a progress animation.\n * Default value is `default`\n */\n type?: ToastType;\n};\nexport type ToastContent = Omit<React.ReactNode, 'null' | 'undefined'>;\nexport type ToastProps = {\n /** Provide a unique id for toast */\n id: string;\n /**\n * Content can be any valid react node, for e.g. a `div`, or a simple text.\n */\n content: ToastContent;\n /** Additional options to define your toast */\n options: ToastOptions;\n /**\n * Handler called when toast closes.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n onClose: () => void;\n lastUpdated?: number;\n lastDuplicateId?: string;\n};\n\nexport const Toast = ({ content, lastUpdated, onClose: handleClose, options, ...props }: ToastProps): JSX.Element => {\n const { texts } = useLocalization();\n const { autoClose, type = 'default' } = options;\n const className = cn('bg-white relative flex items-center py-1 px-2 mt-3 w-full rounded yt-shadow print:hidden', {\n 'border border-grey-200': type === 'default' || type === 'loading' || !type,\n 'border border-grey-500': type === 'success',\n 'border border-blue-500': type === 'information',\n 'border border-yellow-700': type === 'warning',\n 'border border-red': type === 'error',\n });\n const timer = useTimer(autoClose, handleClose);\n const controls = useAnimation();\n\n if (!content) {\n console.warn(getToastEmptyContentWarning(content));\n }\n\n React.useEffect(() => {\n if (autoClose) {\n timer.start();\n }\n }, [autoClose]);\n\n const triggerUpdateAnimation = async () => {\n await controls.start({ scale: 1.05 });\n await controls.start({ scale: 1 });\n };\n\n React.useEffect(() => {\n if (lastUpdated) {\n triggerUpdateAnimation();\n\n if (timer.running) {\n timer.start();\n }\n }\n }, [lastUpdated]);\n\n return (\n <motion.div\n {...props}\n animate={controls}\n className={className}\n data-taco=\"toast\"\n onMouseEnter={timer.pause}\n onMouseLeave={timer.resume}>\n {getBadgeIcon(type)}\n <div className=\"flex-grow\">{content}</div>\n <IconButton\n appearance=\"discrete\"\n className=\"text-grey-700 -mr-2 cursor-pointer self-start !px-0\"\n icon=\"close\"\n aria-label={texts.toasts.dismiss}\n onClick={handleClose}\n />\n </motion.div>\n );\n};\n"],"names":["Toast","content","lastUpdated","onClose","handleClose","options","props","texts","useLocalization","autoClose","type","className","cn","timer","useTimer","controls","useAnimation","console","warn","getToastEmptyContentWarning","React","useEffect","start","triggerUpdateAnimation","scale","then","Promise","resolve","e","reject","running","motion","div","animate","onMouseEnter","pause","onMouseLeave","resume","getBadgeIcon","IconButton","appearance","icon","toasts","dismiss","onClick"],"mappings":";;;;;;;;MA4CaA,KAAK,GAAGA,CAAC;EAAEC,OAAO;EAAEC,WAAW;EAAEC,OAAO,EAAEC,WAAW;EAAEC,OAAO;EAAE,GAAGC;CAAmB;EAC/F,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAM;IAAEC,SAAS;IAAEC,IAAI,GAAG;GAAW,GAAGL,OAAO;EAC/C,MAAMM,SAAS,GAAGC,EAAE,CAAC,0FAA0F,EAAE;IAC7G,wBAAwB,EAAEF,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,SAAS,IAAI,CAACA,IAAI;IAC3E,wBAAwB,EAAEA,IAAI,KAAK,SAAS;IAC5C,wBAAwB,EAAEA,IAAI,KAAK,aAAa;IAChD,0BAA0B,EAAEA,IAAI,KAAK,SAAS;IAC9C,mBAAmB,EAAEA,IAAI,KAAK;GACjC,CAAC;EACF,MAAMG,KAAK,GAAGC,QAAQ,CAACL,SAAS,EAAEL,WAAW,CAAC;EAC9C,MAAMW,QAAQ,GAAGC,YAAY,EAAE;EAE/B,IAAI,CAACf,OAAO,EAAE;IACVgB,OAAO,CAACC,IAAI,CAACC,2BAA2B,CAAClB,OAAO,CAAC,CAAC;;EAGtDmB,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIZ,SAAS,EAAE;MACXI,KAAK,CAACS,KAAK,EAAE;;GAEpB,EAAE,CAACb,SAAS,CAAC,CAAC;EAEf,MAAMc,sBAAsB;IAAA;6BAClBR,QAAQ,CAACO,KAAK,CAAC;QAAEE,KAAK,EAAE;OAAM,CAAC,EAAAC,IAAA;QAAA,OAAAC,OAAA,CAAAC,OAAA,CAC/BZ,QAAQ,CAACO,KAAK,CAAC;UAAEE,KAAK,EAAE;SAAG,CAAC,EAAAC,IAAA;;KACrC,QAAAG,CAAA;MAAA,OAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA;;;EAEDR,cAAK,CAACC,SAAS,CAAC;IACZ,IAAInB,WAAW,EAAE;MACbqB,sBAAsB,EAAE;MAExB,IAAIV,KAAK,CAACiB,OAAO,EAAE;QACfjB,KAAK,CAACS,KAAK,EAAE;;;GAGxB,EAAE,CAACpB,WAAW,CAAC,CAAC;EAEjB,oBACIkB,6BAACW,MAAM,CAACC,GAAG,oBACH1B,KAAK;IACT2B,OAAO,EAAElB,QAAQ;IACjBJ,SAAS,EAAEA,SAAS;iBACV,OAAO;IACjBuB,YAAY,EAAErB,KAAK,CAACsB,KAAK;IACzBC,YAAY,EAAEvB,KAAK,CAACwB;MACnBC,YAAY,CAAC5B,IAAI,CAAC,eACnBU;IAAKT,SAAS,EAAC;KAAaV,
|
1
|
+
{"version":3,"file":"Toast.js","sources":["../../../../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'clsx';\nimport { motion, useAnimation } from 'framer-motion';\nimport useTimer from '../../utils/hooks/useTimer';\nimport { getBadgeIcon, getToastEmptyContentWarning } from './util';\nimport { State } from '../../types';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type ToastsTexts = {\n /** Aria-label for the close icon button of toast */\n dismiss: string;\n};\n\nexport type ToastType = Omit<State, 'default'> | 'loading';\nexport type ToastOptions = {\n /** Provide time in milliseconds after which the toast should autoclose */\n autoClose?: number;\n /**\n * State will change the icon displayed in toast and other characteristics,\n * for e.g. `loading` state will display a progress animation.\n * Default value is `default`\n */\n type?: ToastType;\n};\nexport type ToastContent = Omit<React.ReactNode, 'null' | 'undefined'>;\nexport type ToastProps = {\n /** Provide a unique id for toast */\n id: string;\n /**\n * Content can be any valid react node, for e.g. a `div`, or a simple text.\n */\n content: ToastContent;\n /** Additional options to define your toast */\n options: ToastOptions;\n /**\n * Handler called when toast closes.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n onClose: () => void;\n lastUpdated?: number;\n lastDuplicateId?: string;\n};\n\nexport const Toast = ({ content, lastUpdated, onClose: handleClose, options, ...props }: ToastProps): JSX.Element => {\n const { texts } = useLocalization();\n const { autoClose, type = 'default' } = options;\n const className = cn('bg-white relative flex items-center py-1 px-2 mt-3 w-full rounded yt-shadow print:hidden', {\n 'border border-grey-200': type === 'default' || type === 'loading' || !type,\n 'border border-grey-500': type === 'success',\n 'border border-blue-500': type === 'information',\n 'border border-yellow-700': type === 'warning',\n 'border border-red': type === 'error',\n });\n const timer = useTimer(autoClose, handleClose);\n const controls = useAnimation();\n\n if (!content) {\n console.warn(getToastEmptyContentWarning(content));\n }\n\n React.useEffect(() => {\n if (autoClose) {\n timer.start();\n }\n }, [autoClose]);\n\n const triggerUpdateAnimation = async () => {\n await controls.start({ scale: 1.05 });\n await controls.start({ scale: 1 });\n };\n\n React.useEffect(() => {\n if (lastUpdated) {\n triggerUpdateAnimation();\n\n if (timer.running) {\n timer.start();\n }\n }\n }, [lastUpdated]);\n\n return (\n <motion.div\n {...props}\n animate={controls}\n className={className}\n data-taco=\"toast\"\n onMouseEnter={timer.pause}\n onMouseLeave={timer.resume}>\n {getBadgeIcon(type)}\n <div className=\"flex-grow\">{content as React.ReactNode}</div>\n <IconButton\n appearance=\"discrete\"\n className=\"text-grey-700 -mr-2 cursor-pointer self-start !px-0\"\n icon=\"close\"\n aria-label={texts.toasts.dismiss}\n onClick={handleClose}\n />\n </motion.div>\n );\n};\n"],"names":["Toast","content","lastUpdated","onClose","handleClose","options","props","texts","useLocalization","autoClose","type","className","cn","timer","useTimer","controls","useAnimation","console","warn","getToastEmptyContentWarning","React","useEffect","start","triggerUpdateAnimation","scale","then","Promise","resolve","e","reject","running","motion","div","animate","onMouseEnter","pause","onMouseLeave","resume","getBadgeIcon","IconButton","appearance","icon","toasts","dismiss","onClick"],"mappings":";;;;;;;;MA4CaA,KAAK,GAAGA,CAAC;EAAEC,OAAO;EAAEC,WAAW;EAAEC,OAAO,EAAEC,WAAW;EAAEC,OAAO;EAAE,GAAGC;CAAmB;EAC/F,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAM;IAAEC,SAAS;IAAEC,IAAI,GAAG;GAAW,GAAGL,OAAO;EAC/C,MAAMM,SAAS,GAAGC,EAAE,CAAC,0FAA0F,EAAE;IAC7G,wBAAwB,EAAEF,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,SAAS,IAAI,CAACA,IAAI;IAC3E,wBAAwB,EAAEA,IAAI,KAAK,SAAS;IAC5C,wBAAwB,EAAEA,IAAI,KAAK,aAAa;IAChD,0BAA0B,EAAEA,IAAI,KAAK,SAAS;IAC9C,mBAAmB,EAAEA,IAAI,KAAK;GACjC,CAAC;EACF,MAAMG,KAAK,GAAGC,QAAQ,CAACL,SAAS,EAAEL,WAAW,CAAC;EAC9C,MAAMW,QAAQ,GAAGC,YAAY,EAAE;EAE/B,IAAI,CAACf,OAAO,EAAE;IACVgB,OAAO,CAACC,IAAI,CAACC,2BAA2B,CAAClB,OAAO,CAAC,CAAC;;EAGtDmB,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIZ,SAAS,EAAE;MACXI,KAAK,CAACS,KAAK,EAAE;;GAEpB,EAAE,CAACb,SAAS,CAAC,CAAC;EAEf,MAAMc,sBAAsB;IAAA;6BAClBR,QAAQ,CAACO,KAAK,CAAC;QAAEE,KAAK,EAAE;OAAM,CAAC,EAAAC,IAAA;QAAA,OAAAC,OAAA,CAAAC,OAAA,CAC/BZ,QAAQ,CAACO,KAAK,CAAC;UAAEE,KAAK,EAAE;SAAG,CAAC,EAAAC,IAAA;;KACrC,QAAAG,CAAA;MAAA,OAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA;;;EAEDR,cAAK,CAACC,SAAS,CAAC;IACZ,IAAInB,WAAW,EAAE;MACbqB,sBAAsB,EAAE;MAExB,IAAIV,KAAK,CAACiB,OAAO,EAAE;QACfjB,KAAK,CAACS,KAAK,EAAE;;;GAGxB,EAAE,CAACpB,WAAW,CAAC,CAAC;EAEjB,oBACIkB,6BAACW,MAAM,CAACC,GAAG,oBACH1B,KAAK;IACT2B,OAAO,EAAElB,QAAQ;IACjBJ,SAAS,EAAEA,SAAS;iBACV,OAAO;IACjBuB,YAAY,EAAErB,KAAK,CAACsB,KAAK;IACzBC,YAAY,EAAEvB,KAAK,CAACwB;MACnBC,YAAY,CAAC5B,IAAI,CAAC,eACnBU;IAAKT,SAAS,EAAC;KAAaV,OAA0B,CAAO,eAC7DmB,6BAACmB,UAAU;IACPC,UAAU,EAAC,UAAU;IACrB7B,SAAS,EAAC,qDAAqD;IAC/D8B,IAAI,EAAC,OAAO;kBACAlC,KAAK,CAACmC,MAAM,CAACC,OAAO;IAChCC,OAAO,EAAExC;IACX,CACO;AAErB;;;;"}
|
@@ -42,7 +42,7 @@ const Tooltip = ({
|
|
42
42
|
icon: "close",
|
43
43
|
title: locale.skip,
|
44
44
|
"aria-label": locale.skip,
|
45
|
-
className: "absolute
|
45
|
+
className: "absolute right-0 top-0 mr-1 mt-1"
|
46
46
|
})), step.title && /*#__PURE__*/createElement("h5", null, step.title), step.content, /*#__PURE__*/createElement(Group, {
|
47
47
|
className: "mt-4 justify-end"
|
48
48
|
}, index > 0 && (/*#__PURE__*/createElement(Button, Object.assign({}, backProps, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Tour.js","sources":["../../../../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.key === 'Escape' && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute top-0 right-0 mt-1 mr-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n /** The scroll distance from the element scrollTop value. */\n scrollOffset?: number;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n scrollOffset,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n const callback = (state: CallBackProps) => {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n };\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n scrollOffset={scrollOffset}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.300\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","key","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","texts","tour","useLocalization","autoStart","run","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","scrollOffset","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","_props$children$find","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Tour.js","sources":["../../../../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.key === 'Escape' && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute right-0 top-0 mr-1 mt-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n /** The scroll distance from the element scrollTop value. */\n scrollOffset?: number;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n scrollOffset,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n const callback = (state: CallBackProps) => {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n };\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n scrollOffset={scrollOffset}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.300\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","key","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","texts","tour","useLocalization","autoStart","run","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","scrollOffset","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","_props$children$find","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useTaco.js","sources":["../../../../../../src/hooks/useTaco.ts"],"sourcesContent":["import React from 'react';\nimport { TacoContext } from '../components/Provider/TacoContext';\n\nexport function useTaco() {\n return React.useContext(TacoContext);\n}\n"],"names":["useTaco","React","useContext","TacoContext"],"mappings":";;;SAGgBA,OAAOA;EACnB,OAAOC,cAAK,CAACC,UAAU,CAACC,WAAW,CAAC;AACxC;;;;"}
|
@@ -51,7 +51,7 @@ export { usePagination } from './components/Pagination/usePagination.js';
|
|
51
51
|
export { Pagination } from './components/Pagination/Pagination.js';
|
52
52
|
export { Progress } from './components/Progress/Progress.js';
|
53
53
|
export { ToastProvider, useToast } from './components/Toast/Toaster.js';
|
54
|
-
export { Provider
|
54
|
+
export { Provider } from './components/Provider/Provider.js';
|
55
55
|
export { FontSizes, fixedForwardRef } from './types.js';
|
56
56
|
export { TableFilterComparator } from './primitives/Table/types.js';
|
57
57
|
export { DEFAULT_PAGE_SIZE, useTableDataLoader } from './primitives/Table/useTableDataLoader.js';
|
@@ -92,6 +92,8 @@ function Body(props) {
|
|
92
92
|
onKeyDown: handleKeyDown,
|
93
93
|
onMouseLeave: handleMouseLeave,
|
94
94
|
onMouseMove: handleMouseMove,
|
95
|
+
// Prevents menu dropdowns inside the row from being closed straight after being opened, wehn clicked on a menu trigger
|
96
|
+
onFocus: e => e.stopPropagation(),
|
95
97
|
ref: ref
|
96
98
|
}));
|
97
99
|
}
|