@economic/taco 2.4.0 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/SearchInput2/SearchInput2.d.ts +2 -1
- package/dist/components/Spinner/Spinner.d.ts +2 -2
- package/dist/components/Table3/components/columns/internal/Selection.d.ts +1 -2
- package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +1 -1
- package/dist/components/Table3/hooks/features/useEditing.d.ts +1 -2
- package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +1 -1
- package/dist/components/Table3/hooks/features/useRowClick.d.ts +1 -2
- package/dist/components/Table3/hooks/features/useRowSelection.d.ts +1 -1
- package/dist/components/Table3/types.d.ts +2 -3
- package/dist/components/Table3/util/columns.d.ts +5 -4
- package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
- package/dist/esm/packages/taco/src/components/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/esm/packages/taco/src/components/AlertDialog/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/AlertDialog/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/AlertDialog/components/Footer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/AlertDialog/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Backdrop/Backdrop.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Badge/Badge.js.map +1 -1
- package/dist/esm/packages/taco/src/components/BadgeIcon/BadgeIcon.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Banner/Banner.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Button/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Button/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/DialogDrawer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/Extra.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Form/Form.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Group/Group.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Hanger/Hanger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/Agreement/Avatar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/Agreement/Badge.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/Logo.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/esm/packages/taco/src/components/HoverCard/Primitives.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/Icon.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/AccountPreview.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Accounting.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/AccountingYear.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/AccountingYearCancel.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ArrowBottom.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ArrowDown.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ArrowEnd.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ArrowLeft.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ArrowRight.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ArrowStart.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ArrowTop.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ArrowUp.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Attach.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/AttachAuto.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/AttachCancel.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Autotext.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/AutotextInsert.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Basic.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/BasicTabs.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/BellSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Book.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Booking.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Budget.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Calendar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/CashAccount.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/CashReports.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Chat.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChatSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronDown.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronDownDouble.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronDownSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeft.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeftDouble.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronLeftSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronRight.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronRightDouble.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronRightSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronUp.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronUpDouble.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ChevronUpSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/CircleClose.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/CircleMinus.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/CirclePlus.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/CircleTick.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Clamp.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ClampOpen.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Close.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ColumnFreeze.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ColumnUnfreeze.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Columns.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ConnectionEnable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ConnectionRevoke.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Contacts.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Copy.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Courses.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Credit.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Delete.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DeletePermanently.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Depecriate.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Developer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DistributionTemplate.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Document.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentApprove.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentCreateEntry.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentCut.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentError.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentIsolatePage.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentMerge.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentMove.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentPreview.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentReceived.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentRejectedRequest.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentSplit.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DocumentTime.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Download.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Drag.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ECopedia.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ESignature.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Edit.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EllipsisHorizontal.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EllipsisVertical.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntriesOnAccount.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntriesOpen.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntriesWarning.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeJournalEntry.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Envelope.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EnvelopeApproved.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ExpandView.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Expenses.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Export.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ExportToExcel.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ExportToPdf.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EyeOff.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EyeOn.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Filter.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/FilterSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/GraphSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Hash.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/HeightExtraTall.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/HeightMedium.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/HeightShort.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/HeightTall.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Home.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Images.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Import.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Inbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/InboxEinvoicing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/InboxScanning.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/InboxSmart.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Info.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Inventory.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/InventoryMatrix.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/JournalPro.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Layout.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LayoutBoth.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LayoutFirst.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LayoutLast.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LayoutNone.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCard.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardReservedEntry.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Lightbulb.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Line.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/List.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ListBulleted.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ListSearch.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LockOpen.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Log.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/LogOut.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Market.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/MatchAmount.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/MatchEntries.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Mileage.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ModalResize.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ModalShrink.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/More.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/MoreSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Move.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/NavigationList.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Note.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/NoteFollowUp.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/NoteRead.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Numbers.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/PartnerApi.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Period.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/PersonChange.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/PersonMinus.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/PersonPlus.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/PersonTick.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Play.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/PlusMinus.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Print.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ProcessPayment.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ProductLedgerCard.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Profile.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ProjectCards.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Projects.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/QuestionMark.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Quicklinks.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/RatingBankruptcy.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/RatingPaymentProblems.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Reconciled.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Refresh.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Report.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ReportSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Restore.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/RotateLeft.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/RotateRight.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Sales.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/SearchBold.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Secure.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/SecureTick.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Settings.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/SettingsSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Shortcuts.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ShowAll.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ShowLess.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ShowMore.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ShowTemplate.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Sliders.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Smartpay.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/SortBy.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Star.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/StarSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Subscriptions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/SystemEntries.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Tag.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/TemplateOverride.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Templates.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ThumbBoth.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ThumbDown.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ThumbDownSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ThumbUp.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/ThumbUpSolid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Tick.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/TickBold.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Time.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Transfer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/TransferCancel.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/TransferLocked.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Undo.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Undock.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Unreconciled.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Warning.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Webshop.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Website.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Workflow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/WorkflowTemplateBasic.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Zoom.js.map +1 -1
- package/dist/esm/packages/taco/src/components/IconButton/IconButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Input/Input.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Input/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Layout/Layout.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Layout/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Layout/components/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Layout/components/Page.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.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/Listbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/useListbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/useTypeahead.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Checkbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Link.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/RadioGroup.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Separator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Navigation/Navigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Navigation2/Navigation2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Navigation2/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Navigation2/components/Group.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Navigation2/components/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Pagination/usePagination.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Pagination/usePaginationShortcuts.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Popover/Primitives.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Popover/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Progress/Progress.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/packages/taco/src/components/RadioGroup/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +30 -44
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select/Select.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select/useSelect.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Create.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Group.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Title.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/utilities.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Spinner/Spinner.js +1 -1
- package/dist/esm/packages/taco/src/components/Spinner/Spinner.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/PaginatedTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/Table.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/useRowCreation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/util/renderRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/util/rowIndexPath.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/util/sortTypes.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +20 -17
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +3 -3
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +0 -2
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +3 -4
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +12 -4
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +11 -7
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +0 -2
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/WarningDialog.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +40 -29
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +9 -13
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +3 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowActions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +3 -3
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +3 -3
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +25 -8
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableDataLoader.js +11 -2
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableDataLoader.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/util/columns.js +26 -7
- package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Textarea/Textarea.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Treeview/Treeview.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +1 -1
- package/dist/esm/packages/taco/src/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useBoundaryOverflowDetection.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useBoundingClientRectListener.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useDebouncedEffect.js +15 -0
- package/dist/esm/packages/taco/src/hooks/useDebouncedEffect.js.map +1 -0
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useIntersectionObserver.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useIsFormControl.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useIsHoverStatePaused.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useIsLargeScreen.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useLocalStorage.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useMatchMedia.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/usePrevious.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useTacoSettings.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Listbox2/components/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Listbox2/components/Group.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Listbox2/components/Title.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Sortable/components/Container.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Sortable/components/List.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/debounce.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useDraggable.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useListKeyboardNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useListScrollTo.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useOnClickOutside.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useTimer.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js +2 -2
- package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/mergeRefs.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.d.ts +2 -0
- package/dist/taco.cjs.development.js +251 -192
- 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/package.json +2 -2
- package/types.json +5268 -5198
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTablePreset.js","sources":["../../../../../../../../src/components/Table3/hooks/useTablePreset.ts"],"sourcesContent":["import React from 'react';\nimport { Table3Options, Table3Preset, Table3Props } from '../types';\n\nconst DEFAULT_ALL_DISABLED: Table3Options = {\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnOrdering: false,\n enableColumnResizing: false,\n enableFontSize: false,\n enablePrinting: false,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowExpansion: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableRowSelection: false,\n enableRowSelectionSingle: false,\n enableEditing: false,\n enableFiltering: false,\n enableSearch: false,\n enableSorting: false,\n};\n\nconst presets: Record<Table3Preset, Table3Options> = {\n display: {\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnOrdering: true,\n enableColumnResizing: true,\n enableFontSize: true,\n enablePrinting: false,\n enableRowDrag: true,\n enableRowDrop: true,\n enableRowExpansion: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n enableEditing: false,\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n },\n editable: {\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnOrdering: true,\n enableColumnResizing: true,\n enableFontSize: true,\n enablePrinting: false,\n enableRowDrag: true,\n enableRowDrop: true,\n enableRowExpansion: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n enableEditing: true,\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n },\n};\n\nexport function useTablePreset<TType = unknown>(props: Table3Props<TType>): Table3Options {\n const presetOptions = props.preset ? presets[props.preset] : DEFAULT_ALL_DISABLED;\n\n const enableRowExpansion = props.enableRowExpansion ?? presetOptions.enableRowExpansion;\n const enableRowSelection = props.enableRowSelection ?? presetOptions.enableRowSelection;\n\n // guard options that might be unintentionally broken\n React.useEffect(() => {\n if (enableRowExpansion && !props.expandedRowRenderer) {\n console.warn(\n `Table3 (id: ${props.id}) - Row expansion is enabled but no \\`expandedRowRenderer\\` has been provided. Provide one to enable row expansion or set \\`enableRowExpansion\\` to \\`false\\`.`\n );\n }\n\n if (enableRowSelection && !props.onRowSelect) {\n console.warn(\n `Table3 (id: ${props.id}) - Row selection is enabled but no \\`onRowSelect\\` handler has been provided. Provide one to enable row selection or set \\`enableRowSelection\\` to \\`false\\`.`\n );\n }\n }, []);\n\n return {\n enableColumnFreezing: props.enableColumnFreezing ?? presetOptions.enableColumnFreezing,\n enableColumnHiding: props.enableColumnHiding ?? presetOptions.enableColumnHiding,\n enableColumnOrdering: props.enableColumnOrdering ?? presetOptions.enableColumnOrdering,\n enableColumnResizing: props.enableColumnResizing ?? presetOptions.enableColumnResizing,\n enableFontSize: props.enableFontSize ?? presetOptions.enableFontSize,\n enablePrinting: props.enablePrinting ?? presetOptions.enablePrinting,\n enableRowDrag: (props.enableRowDrag ?? presetOptions.enableRowDrag) && !!props.onRowDrag,\n enableRowDrop: (props.enableRowDrop ?? presetOptions.enableRowDrop) && !!props.onRowDrop,\n enableRowExpansion: enableRowExpansion && !!props.expandedRowRenderer,\n enableRowGoto: (props.enableRowGoto ?? presetOptions.enableRowGoto) && !!props.onRowGoto,\n enableRowHeight: props.enableRowHeight ?? presetOptions.enableRowHeight,\n enableRowSelection: enableRowSelection && !!props.onRowSelect,\n enableRowSelectionSingle:\n (props.enableRowSelectionSingle ?? presetOptions.enableRowSelectionSingle) &&\n enableRowSelection &&\n !!props.onRowSelect,\n enableEditing: props.enableEditing ?? presetOptions.enableEditing,\n enableFiltering: props.enableFiltering ?? presetOptions.enableFiltering,\n enableSearch: props.enableSearch ?? presetOptions.enableSearch,\n enableSorting: props.enableSorting ?? presetOptions.enableSorting,\n };\n}\n"],"names":["DEFAULT_ALL_DISABLED","enableColumnFreezing","enableColumnHiding","enableColumnOrdering","enableColumnResizing","enableFontSize","enablePrinting","enableRowDrag","enableRowDrop","enableRowExpansion","enableRowGoto","enableRowHeight","enableRowSelection","enableRowSelectionSingle","enableEditing","enableFiltering","enableSearch","enableSorting","presets","display","editable","useTablePreset","props","presetOptions","preset","React","useEffect","expandedRowRenderer","console","warn","id","onRowSelect","onRowDrag","onRowDrop","onRowGoto"],"mappings":";;AAGA,MAAMA,oBAAoB,GAAkB;EACxCC,oBAAoB,EAAE,KAAK;EAC3BC,kBAAkB,EAAE,KAAK;EACzBC,oBAAoB,EAAE,KAAK;EAC3BC,oBAAoB,EAAE,KAAK;EAC3BC,cAAc,EAAE,KAAK;EACrBC,cAAc,EAAE,KAAK;EACrBC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,KAAK;EACpBC,kBAAkB,EAAE,KAAK;EACzBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,kBAAkB,EAAE,KAAK;EACzBC,wBAAwB,EAAE,KAAK;EAC/BC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,YAAY,EAAE,KAAK;EACnBC,aAAa,EAAE;CAClB;AAED,MAAMC,OAAO,GAAwC;EACjDC,OAAO,EAAE;IACLlB,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE,IAAI;IACxBC,oBAAoB,EAAE,IAAI;IAC1BC,oBAAoB,EAAE,IAAI;IAC1BC,cAAc,EAAE,IAAI;IACpBC,cAAc,EAAE,KAAK;IACrBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,kBAAkB,EAAE,IAAI;IACxBC,aAAa,EAAE,IAAI;IACnBC,eAAe,EAAE,IAAI;IACrBC,kBAAkB,EAAE,IAAI;IACxBC,wBAAwB,EAAE,KAAK;IAC/BC,aAAa,EAAE,KAAK;IACpBC,eAAe,EAAE,IAAI;IACrBC,YAAY,EAAE,IAAI;IAClBC,aAAa,EAAE;GAClB;EACDG,QAAQ,EAAE;IACNnB,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE,IAAI;IACxBC,oBAAoB,EAAE,IAAI;IAC1BC,oBAAoB,EAAE,IAAI;IAC1BC,cAAc,EAAE,IAAI;IACpBC,cAAc,EAAE,KAAK;IACrBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,kBAAkB,EAAE,IAAI;IACxBC,aAAa,EAAE,IAAI;IACnBC,eAAe,EAAE,IAAI;IACrBC,kBAAkB,EAAE,IAAI;IACxBC,wBAAwB,EAAE,KAAK;IAC/BC,aAAa,EAAE,IAAI;IACnBC,eAAe,EAAE,IAAI;IACrBC,YAAY,EAAE,IAAI;IAClBC,aAAa,EAAE;;CAEtB;SAEeI,
|
|
1
|
+
{"version":3,"file":"useTablePreset.js","sources":["../../../../../../../../src/components/Table3/hooks/useTablePreset.ts"],"sourcesContent":["import React from 'react';\nimport { Table3Options, Table3Preset, Table3Props } from '../types';\n\nconst DEFAULT_ALL_DISABLED: Table3Options = {\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnOrdering: false,\n enableColumnResizing: false,\n enableFontSize: false,\n enablePrinting: false,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowExpansion: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableRowSelection: false,\n enableRowSelectionSingle: false,\n enableEditing: false,\n enableFiltering: false,\n enableSearch: false,\n enableSorting: false,\n};\n\nconst presets: Record<Table3Preset, Table3Options> = {\n display: {\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnOrdering: true,\n enableColumnResizing: true,\n enableFontSize: true,\n enablePrinting: false,\n enableRowDrag: true,\n enableRowDrop: true,\n enableRowExpansion: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n enableEditing: false,\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n },\n editable: {\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnOrdering: true,\n enableColumnResizing: true,\n enableFontSize: true,\n enablePrinting: false,\n enableRowDrag: true,\n enableRowDrop: true,\n enableRowExpansion: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n enableEditing: true,\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n },\n};\n\nexport function useTablePreset<TType = unknown>(props: Table3Props<TType>): Table3Options {\n const presetOptions = props.preset ? presets[props.preset] : DEFAULT_ALL_DISABLED;\n\n const enableRowExpansion = props.enableRowExpansion ?? presetOptions.enableRowExpansion;\n const enableRowSelection = props.enableRowSelection ?? presetOptions.enableRowSelection;\n\n // guard options that might be unintentionally broken\n React.useEffect(() => {\n if (enableRowExpansion && !props.expandedRowRenderer) {\n console.warn(\n `Table3 (id: ${props.id}) - Row expansion is enabled but no \\`expandedRowRenderer\\` has been provided. Provide one to enable row expansion or set \\`enableRowExpansion\\` to \\`false\\`.`\n );\n }\n\n if (enableRowSelection && !props.onRowSelect) {\n console.warn(\n `Table3 (id: ${props.id}) - Row selection is enabled but no \\`onRowSelect\\` handler has been provided. Provide one to enable row selection or set \\`enableRowSelection\\` to \\`false\\`.`\n );\n }\n }, []);\n\n return {\n enableColumnFreezing: props.enableColumnFreezing ?? presetOptions.enableColumnFreezing,\n enableColumnHiding: props.enableColumnHiding ?? presetOptions.enableColumnHiding,\n enableColumnOrdering: props.enableColumnOrdering ?? presetOptions.enableColumnOrdering,\n enableColumnResizing: props.enableColumnResizing ?? presetOptions.enableColumnResizing,\n enableFontSize: props.enableFontSize ?? presetOptions.enableFontSize,\n enablePrinting: props.enablePrinting ?? presetOptions.enablePrinting,\n enableRowDrag: (props.enableRowDrag ?? presetOptions.enableRowDrag) && !!props.onRowDrag,\n enableRowDrop: (props.enableRowDrop ?? presetOptions.enableRowDrop) && !!props.onRowDrop,\n enableRowExpansion: enableRowExpansion && !!props.expandedRowRenderer,\n enableRowGoto: (props.enableRowGoto ?? presetOptions.enableRowGoto) && !!props.onRowGoto,\n enableRowHeight: props.enableRowHeight ?? presetOptions.enableRowHeight,\n enableRowSelection: enableRowSelection && !!props.onRowSelect,\n enableRowSelectionSingle:\n (props.enableRowSelectionSingle ?? presetOptions.enableRowSelectionSingle) &&\n enableRowSelection &&\n !!props.onRowSelect,\n enableEditing: props.enableEditing ?? presetOptions.enableEditing,\n enableFiltering: props.enableFiltering ?? presetOptions.enableFiltering,\n enableSearch: props.enableSearch ?? presetOptions.enableSearch,\n enableSorting: props.enableSorting ?? presetOptions.enableSorting,\n };\n}\n"],"names":["DEFAULT_ALL_DISABLED","enableColumnFreezing","enableColumnHiding","enableColumnOrdering","enableColumnResizing","enableFontSize","enablePrinting","enableRowDrag","enableRowDrop","enableRowExpansion","enableRowGoto","enableRowHeight","enableRowSelection","enableRowSelectionSingle","enableEditing","enableFiltering","enableSearch","enableSorting","presets","display","editable","useTablePreset","props","presetOptions","preset","_props$enableRowExpan","_props$enableRowSelec","React","useEffect","expandedRowRenderer","console","warn","id","onRowSelect","_props$enableColumnFr","_props$enableColumnHi","_props$enableColumnOr","_props$enableColumnRe","_props$enableFontSize","_props$enablePrinting","_props$enableRowDrag","onRowDrag","_props$enableRowDrop","onRowDrop","_props$enableRowGoto","onRowGoto","_props$enableRowHeigh","_props$enableRowSelec2","_props$enableEditing","_props$enableFilterin","_props$enableSearch","_props$enableSorting"],"mappings":";;AAGA,MAAMA,oBAAoB,GAAkB;EACxCC,oBAAoB,EAAE,KAAK;EAC3BC,kBAAkB,EAAE,KAAK;EACzBC,oBAAoB,EAAE,KAAK;EAC3BC,oBAAoB,EAAE,KAAK;EAC3BC,cAAc,EAAE,KAAK;EACrBC,cAAc,EAAE,KAAK;EACrBC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,KAAK;EACpBC,kBAAkB,EAAE,KAAK;EACzBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,kBAAkB,EAAE,KAAK;EACzBC,wBAAwB,EAAE,KAAK;EAC/BC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,YAAY,EAAE,KAAK;EACnBC,aAAa,EAAE;CAClB;AAED,MAAMC,OAAO,GAAwC;EACjDC,OAAO,EAAE;IACLlB,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE,IAAI;IACxBC,oBAAoB,EAAE,IAAI;IAC1BC,oBAAoB,EAAE,IAAI;IAC1BC,cAAc,EAAE,IAAI;IACpBC,cAAc,EAAE,KAAK;IACrBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,kBAAkB,EAAE,IAAI;IACxBC,aAAa,EAAE,IAAI;IACnBC,eAAe,EAAE,IAAI;IACrBC,kBAAkB,EAAE,IAAI;IACxBC,wBAAwB,EAAE,KAAK;IAC/BC,aAAa,EAAE,KAAK;IACpBC,eAAe,EAAE,IAAI;IACrBC,YAAY,EAAE,IAAI;IAClBC,aAAa,EAAE;GAClB;EACDG,QAAQ,EAAE;IACNnB,oBAAoB,EAAE,IAAI;IAC1BC,kBAAkB,EAAE,IAAI;IACxBC,oBAAoB,EAAE,IAAI;IAC1BC,oBAAoB,EAAE,IAAI;IAC1BC,cAAc,EAAE,IAAI;IACpBC,cAAc,EAAE,KAAK;IACrBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,kBAAkB,EAAE,IAAI;IACxBC,aAAa,EAAE,IAAI;IACnBC,eAAe,EAAE,IAAI;IACrBC,kBAAkB,EAAE,IAAI;IACxBC,wBAAwB,EAAE,KAAK;IAC/BC,aAAa,EAAE,IAAI;IACnBC,eAAe,EAAE,IAAI;IACrBC,YAAY,EAAE,IAAI;IAClBC,aAAa,EAAE;;CAEtB;SAEeI,cAAcA,CAAkBC,KAAyB;;EACrE,MAAMC,aAAa,GAAGD,KAAK,CAACE,MAAM,GAAGN,OAAO,CAACI,KAAK,CAACE,MAAM,CAAC,GAAGxB,oBAAoB;EAEjF,MAAMS,kBAAkB,IAAAgB,qBAAA,GAAGH,KAAK,CAACb,kBAAkB,cAAAgB,qBAAA,cAAAA,qBAAA,GAAIF,aAAa,CAACd,kBAAkB;EACvF,MAAMG,kBAAkB,IAAAc,qBAAA,GAAGJ,KAAK,CAACV,kBAAkB,cAAAc,qBAAA,cAAAA,qBAAA,GAAIH,aAAa,CAACX,kBAAkB;;EAGvFe,cAAK,CAACC,SAAS,CAAC;IACZ,IAAInB,kBAAkB,IAAI,CAACa,KAAK,CAACO,mBAAmB,EAAE;MAClDC,OAAO,CAACC,IAAI,gBACOT,KAAK,CAACU,kKAAkK,CAC1L;;IAGL,IAAIpB,kBAAkB,IAAI,CAACU,KAAK,CAACW,WAAW,EAAE;MAC1CH,OAAO,CAACC,IAAI,gBACOT,KAAK,CAACU,kKAAkK,CAC1L;;GAER,EAAE,EAAE,CAAC;EAEN,OAAO;IACH/B,oBAAoB,GAAAiC,qBAAA,GAAEZ,KAAK,CAACrB,oBAAoB,cAAAiC,qBAAA,cAAAA,qBAAA,GAAIX,aAAa,CAACtB,oBAAoB;IACtFC,kBAAkB,GAAAiC,qBAAA,GAAEb,KAAK,CAACpB,kBAAkB,cAAAiC,qBAAA,cAAAA,qBAAA,GAAIZ,aAAa,CAACrB,kBAAkB;IAChFC,oBAAoB,GAAAiC,qBAAA,GAAEd,KAAK,CAACnB,oBAAoB,cAAAiC,qBAAA,cAAAA,qBAAA,GAAIb,aAAa,CAACpB,oBAAoB;IACtFC,oBAAoB,GAAAiC,qBAAA,GAAEf,KAAK,CAAClB,oBAAoB,cAAAiC,qBAAA,cAAAA,qBAAA,GAAId,aAAa,CAACnB,oBAAoB;IACtFC,cAAc,GAAAiC,qBAAA,GAAEhB,KAAK,CAACjB,cAAc,cAAAiC,qBAAA,cAAAA,qBAAA,GAAIf,aAAa,CAAClB,cAAc;IACpEC,cAAc,GAAAiC,qBAAA,GAAEjB,KAAK,CAAChB,cAAc,cAAAiC,qBAAA,cAAAA,qBAAA,GAAIhB,aAAa,CAACjB,cAAc;IACpEC,aAAa,EAAE,EAAAiC,oBAAA,GAAClB,KAAK,CAACf,aAAa,cAAAiC,oBAAA,cAAAA,oBAAA,GAAIjB,aAAa,CAAChB,aAAa,KAAK,CAAC,CAACe,KAAK,CAACmB,SAAS;IACxFjC,aAAa,EAAE,EAAAkC,oBAAA,GAACpB,KAAK,CAACd,aAAa,cAAAkC,oBAAA,cAAAA,oBAAA,GAAInB,aAAa,CAACf,aAAa,KAAK,CAAC,CAACc,KAAK,CAACqB,SAAS;IACxFlC,kBAAkB,EAAEA,kBAAkB,IAAI,CAAC,CAACa,KAAK,CAACO,mBAAmB;IACrEnB,aAAa,EAAE,EAAAkC,oBAAA,GAACtB,KAAK,CAACZ,aAAa,cAAAkC,oBAAA,cAAAA,oBAAA,GAAIrB,aAAa,CAACb,aAAa,KAAK,CAAC,CAACY,KAAK,CAACuB,SAAS;IACxFlC,eAAe,GAAAmC,qBAAA,GAAExB,KAAK,CAACX,eAAe,cAAAmC,qBAAA,cAAAA,qBAAA,GAAIvB,aAAa,CAACZ,eAAe;IACvEC,kBAAkB,EAAEA,kBAAkB,IAAI,CAAC,CAACU,KAAK,CAACW,WAAW;IAC7DpB,wBAAwB,EACpB,EAAAkC,sBAAA,GAACzB,KAAK,CAACT,wBAAwB,cAAAkC,sBAAA,cAAAA,sBAAA,GAAIxB,aAAa,CAACV,wBAAwB,KACzED,kBAAkB,IAClB,CAAC,CAACU,KAAK,CAACW,WAAW;IACvBnB,aAAa,GAAAkC,oBAAA,GAAE1B,KAAK,CAACR,aAAa,cAAAkC,oBAAA,cAAAA,oBAAA,GAAIzB,aAAa,CAACT,aAAa;IACjEC,eAAe,GAAAkC,qBAAA,GAAE3B,KAAK,CAACP,eAAe,cAAAkC,qBAAA,cAAAA,qBAAA,GAAI1B,aAAa,CAACR,eAAe;IACvEC,YAAY,GAAAkC,mBAAA,GAAE5B,KAAK,CAACN,YAAY,cAAAkC,mBAAA,cAAAA,mBAAA,GAAI3B,aAAa,CAACP,YAAY;IAC9DC,aAAa,GAAAkC,oBAAA,GAAE7B,KAAK,CAACL,aAAa,cAAAkC,oBAAA,cAAAA,oBAAA,GAAI5B,aAAa,CAACN;GACvD;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableRefInstanceSetup.js","sources":["../../../../../../../../src/components/Table3/hooks/useTableRefInstanceSetup.ts"],"sourcesContent":["import React from 'react';\nimport { Table3Ref } from '../types';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useTableRefInstanceSetup<TType = unknown>(table: RTable<TType>, ref: React.RefObject<Table3Ref>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n toggleEditing: (enabled: boolean | undefined) =>\n tableMeta.editing.toggleEditing(enabled ?? (editing => !editing)),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":["useTableRefInstanceSetup","table","ref","React","useEffect","current","tableMeta","options","meta","instance","resetFiltering","resetColumnFilters","resetRowExpansion","resetExpanded","resetRowSelection","resetSorting","toggleEditing","enabled","editing"],"mappings":";;SAIgBA,
|
|
1
|
+
{"version":3,"file":"useTableRefInstanceSetup.js","sources":["../../../../../../../../src/components/Table3/hooks/useTableRefInstanceSetup.ts"],"sourcesContent":["import React from 'react';\nimport { Table3Ref } from '../types';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useTableRefInstanceSetup<TType = unknown>(table: RTable<TType>, ref: React.RefObject<Table3Ref>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n toggleEditing: (enabled: boolean | undefined) =>\n tableMeta.editing.toggleEditing(enabled ?? (editing => !editing)),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":["useTableRefInstanceSetup","table","ref","React","useEffect","current","tableMeta","options","meta","instance","resetFiltering","resetColumnFilters","resetRowExpansion","resetExpanded","resetRowSelection","resetSorting","toggleEditing","enabled","editing"],"mappings":";;SAIgBA,wBAAwBA,CAAkBC,KAAoB,EAAEC,GAA+B;EAC3GC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIF,GAAG,CAACG,OAAO,EAAE;MACb,MAAMC,SAAS,GAAGL,KAAK,CAACM,OAAO,CAACC,IAAwB;MAExDN,GAAG,CAACG,OAAO,CAACI,QAAQ,GAAG;QACnBC,cAAc,EAAEA,MAAMT,KAAK,CAACU,kBAAkB,EAAE;QAChDC,iBAAiB,EAAEA,MAAMX,KAAK,CAACY,aAAa,EAAE;QAC9CC,iBAAiB,EAAEA,MAAMb,KAAK,CAACa,iBAAiB,EAAE;QAClDC,YAAY,EAAEA,MAAMd,KAAK,CAACc,YAAY,EAAE;QACxCC,aAAa,EAAGC,OAA4B,IACxCX,SAAS,CAACY,OAAO,CAACF,aAAa,CAACC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAKC,OAAO,IAAI,CAACA,OAAQ;OACvE;;GAER,EAAE,CAACjB,KAAK,EAAEC,GAAG,CAACG,OAAO,CAAC,CAAC;AAC5B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../../src/components/Table3/strategies/index.ts"],"sourcesContent":["import { Table as RTable } from '@tanstack/react-table';\nimport { Table3Props, TableStrategy } from '../types';\nimport * as virtualRenderer from './virtualised';\n\nexport function useTableRenderStrategy<TType = unknown>(\n props: Table3Props<TType>,\n table: RTable<TType>,\n ref: React.RefObject<HTMLDivElement>\n): TableStrategy {\n return virtualRenderer.useTableRenderStrategy<TType>(props, table, ref);\n}\n"],"names":["useTableRenderStrategy","props","table","ref","virtualRenderer"],"mappings":";;SAIgBA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../src/components/Table3/strategies/index.ts"],"sourcesContent":["import { Table as RTable } from '@tanstack/react-table';\nimport { Table3Props, TableStrategy } from '../types';\nimport * as virtualRenderer from './virtualised';\n\nexport function useTableRenderStrategy<TType = unknown>(\n props: Table3Props<TType>,\n table: RTable<TType>,\n ref: React.RefObject<HTMLDivElement>\n): TableStrategy {\n return virtualRenderer.useTableRenderStrategy<TType>(props, table, ref);\n}\n"],"names":["useTableRenderStrategy","props","table","ref","virtualRenderer"],"mappings":";;SAIgBA,sBAAsBA,CAClCC,KAAyB,EACzBC,KAAoB,EACpBC,GAAoC;EAEpC,OAAOC,wBAAsC,CAAQH,KAAK,EAAEC,KAAK,EAAEC,GAAG,CAAC;AAC3E;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtualised.js","sources":["../../../../../../../../src/components/Table3/strategies/virtualised.tsx"],"sourcesContent":["import React from 'react';\nimport { flexRender, Row as RTRow, Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { useVirtual } from 'react-virtual';\nimport { Row } from '../components/rows/Row';\nimport { Table3Props, Table3RowExpansionRenderer, TableStrategy } from '../types';\nimport { ExpandedRow } from '../components/rows/ExpandedRow';\nimport { rowHeightSizeEstimates } from '../components/rows/styles';\nimport { SkeletonRow } from '../components/rows/SkeletonRow';\n\n// Note - latest react-virtual requires an inner container, and that doesn't work with css grid,\n// so if you update react-virtual, you would need to refactor the entire table away from css grid,\n// and that would break a number of layout things - auto sizing, resizing etc\n\nfunction createBodyRenderer<TType = unknown>(\n props: Table3Props<TType>,\n rows: RTRow<TType>[],\n table: RTable<TType>,\n tableRef: React.RefObject<HTMLDivElement>,\n virtualiser: ReturnType<typeof useVirtual>,\n setExpandedRowSizes: React.Dispatch<React.SetStateAction<Record<string, number>>>\n) {\n return () => {\n if (rows.length) {\n const paddingTop = virtualiser.virtualItems.length > 0 ? virtualiser.virtualItems[0]?.start ?? 0 : 0;\n const paddingBottom =\n virtualiser.virtualItems.length > 0\n ? virtualiser.totalSize - (virtualiser.virtualItems[virtualiser.virtualItems.length - 1]?.end ?? 0)\n : 0;\n\n const createSetSizeHandler = (index: number) => (size: number) => {\n setExpandedRowSizes(sizes => {\n if (size !== sizes[index]) {\n return { ...sizes, [index]: size };\n }\n\n return sizes;\n });\n };\n\n return (\n <>\n {paddingTop ? <div style={{ height: paddingTop }} className=\"col-span-full\" /> : null}\n {virtualiser.virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n\n if (row.original === undefined && props.pageSize) {\n const pageIndex = (Math.floor(virtualRow.index / props.pageSize) * props.pageSize) / props.pageSize;\n\n return (\n <SkeletonRow<TType>\n key={row.id}\n columns={table.getVisibleLeafColumns()}\n loadPage={props.loadPage}\n pageIndex={pageIndex}\n table={table}\n />\n );\n }\n\n return (\n <React.Fragment key={row.id}>\n <Row<TType>\n index={virtualRow.index}\n isLastRow={virtualRow.index === rows.length - 1}\n measureRef={virtualRow.measureRef}\n row={row}\n table={table}\n tableRef={tableRef}>\n {row.getVisibleCells().map((cell, index) => (\n <React.Fragment key={cell.id}>\n {flexRender(cell.column.columnDef.cell, { ...cell.getContext(), index, tableRef })}\n </React.Fragment>\n ))}\n </Row>\n {row.getIsExpanded() ? (\n <ExpandedRow\n data={row.original}\n renderer={props.expandedRowRenderer as Table3RowExpansionRenderer}\n registerSize={createSetSizeHandler(virtualRow.index)}\n />\n ) : null}\n </React.Fragment>\n );\n })}\n {paddingBottom ? <div style={{ height: paddingBottom }} className=\"col-span-full\" /> : null}\n </>\n );\n }\n\n return null;\n };\n}\n\nexport function useTableRenderStrategy<TType = unknown>(\n props: Table3Props<TType>,\n table: RTable<TType>,\n tableRef: React.RefObject<HTMLDivElement>\n): TableStrategy {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n const expandedState = table.getState().expanded;\n\n const [expandedRowSizes, setExpandedRowSizes] = React.useState<Record<string, number>>({});\n\n const firstAvailableExpandedRowHeight = React.useMemo(() => {\n const values: number[] = Object.values(expandedRowSizes);\n return values.length ? values.reduce((a, b) => a + b, 0) / values.length : 0;\n }, [expandedRowSizes]);\n\n const estimateSize = React.useCallback(\n index => {\n const rowHeight = meta.rowHeight.height\n ? rowHeightSizeEstimates[meta.rowHeight.height]\n : rowHeightSizeEstimates.medium;\n\n if (expandedState === true || expandedState?.[index]) {\n return rowHeight + (expandedRowSizes[index] ?? firstAvailableExpandedRowHeight ?? 0);\n }\n\n return rowHeight;\n },\n [meta.rowHeight.height, expandedRowSizes, expandedState]\n );\n\n const virtualiser = useVirtual({\n parentRef: tableRef,\n size: rows.length,\n estimateSize,\n });\n\n const scrollToIndex = React.useCallback(\n (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => {\n if (tableRef.current) {\n if (index <= 0) {\n tableRef.current.scrollTo(tableRef.current.scrollLeft, 0);\n } else if (index >= rows.length - 1) {\n tableRef.current?.scrollTo(0, tableRef.current.scrollHeight);\n } else {\n virtualiser.scrollToIndex(index, options);\n }\n }\n },\n [rows.length, tableRef.current]\n );\n\n return {\n renderBody: createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpandedRowSizes),\n scrollToIndex,\n };\n}\n"],"names":["createBodyRenderer","props","rows","table","tableRef","virtualiser","setExpandedRowSizes","length","paddingTop","virtualItems","start","paddingBottom","totalSize","end","createSetSizeHandler","index","size","sizes","React","style","height","className","map","virtualRow","row","original","undefined","pageSize","pageIndex","Math","floor","SkeletonRow","key","id","columns","getVisibleLeafColumns","loadPage","Fragment","Row","isLastRow","measureRef","getVisibleCells","cell","flexRender","column","columnDef","getContext","getIsExpanded","ExpandedRow","data","renderer","expandedRowRenderer","registerSize","useTableRenderStrategy","meta","options","getRowModel","expandedState","getState","expanded","expandedRowSizes","useState","firstAvailableExpandedRowHeight","useMemo","values","Object","reduce","a","b","estimateSize","useCallback","rowHeight","rowHeightSizeEstimates","medium","useVirtual","parentRef","scrollToIndex","current","scrollTo","scrollLeft","scrollHeight","renderBody"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"virtualised.js","sources":["../../../../../../../../src/components/Table3/strategies/virtualised.tsx"],"sourcesContent":["import React from 'react';\nimport { flexRender, Row as RTRow, Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { useVirtual } from 'react-virtual';\nimport { Row } from '../components/rows/Row';\nimport { Table3Props, Table3RowExpansionRenderer, TableStrategy } from '../types';\nimport { ExpandedRow } from '../components/rows/ExpandedRow';\nimport { rowHeightSizeEstimates } from '../components/rows/styles';\nimport { SkeletonRow } from '../components/rows/SkeletonRow';\n\n// Note - latest react-virtual requires an inner container, and that doesn't work with css grid,\n// so if you update react-virtual, you would need to refactor the entire table away from css grid,\n// and that would break a number of layout things - auto sizing, resizing etc\n\nfunction createBodyRenderer<TType = unknown>(\n props: Table3Props<TType>,\n rows: RTRow<TType>[],\n table: RTable<TType>,\n tableRef: React.RefObject<HTMLDivElement>,\n virtualiser: ReturnType<typeof useVirtual>,\n setExpandedRowSizes: React.Dispatch<React.SetStateAction<Record<string, number>>>\n) {\n return () => {\n if (rows.length) {\n const paddingTop = virtualiser.virtualItems.length > 0 ? virtualiser.virtualItems[0]?.start ?? 0 : 0;\n const paddingBottom =\n virtualiser.virtualItems.length > 0\n ? virtualiser.totalSize - (virtualiser.virtualItems[virtualiser.virtualItems.length - 1]?.end ?? 0)\n : 0;\n\n const createSetSizeHandler = (index: number) => (size: number) => {\n setExpandedRowSizes(sizes => {\n if (size !== sizes[index]) {\n return { ...sizes, [index]: size };\n }\n\n return sizes;\n });\n };\n\n return (\n <>\n {paddingTop ? <div style={{ height: paddingTop }} className=\"col-span-full\" /> : null}\n {virtualiser.virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n\n if (row.original === undefined && props.pageSize) {\n const pageIndex = (Math.floor(virtualRow.index / props.pageSize) * props.pageSize) / props.pageSize;\n\n return (\n <SkeletonRow<TType>\n key={row.id}\n columns={table.getVisibleLeafColumns()}\n loadPage={props.loadPage}\n pageIndex={pageIndex}\n table={table}\n />\n );\n }\n\n return (\n <React.Fragment key={row.id}>\n <Row<TType>\n index={virtualRow.index}\n isLastRow={virtualRow.index === rows.length - 1}\n measureRef={virtualRow.measureRef}\n row={row}\n table={table}\n tableRef={tableRef}>\n {row.getVisibleCells().map((cell, index) => (\n <React.Fragment key={cell.id}>\n {flexRender(cell.column.columnDef.cell, { ...cell.getContext(), index, tableRef })}\n </React.Fragment>\n ))}\n </Row>\n {row.getIsExpanded() ? (\n <ExpandedRow\n data={row.original}\n renderer={props.expandedRowRenderer as Table3RowExpansionRenderer}\n registerSize={createSetSizeHandler(virtualRow.index)}\n />\n ) : null}\n </React.Fragment>\n );\n })}\n {paddingBottom ? <div style={{ height: paddingBottom }} className=\"col-span-full\" /> : null}\n </>\n );\n }\n\n return null;\n };\n}\n\nexport function useTableRenderStrategy<TType = unknown>(\n props: Table3Props<TType>,\n table: RTable<TType>,\n tableRef: React.RefObject<HTMLDivElement>\n): TableStrategy {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n const expandedState = table.getState().expanded;\n\n const [expandedRowSizes, setExpandedRowSizes] = React.useState<Record<string, number>>({});\n\n const firstAvailableExpandedRowHeight = React.useMemo(() => {\n const values: number[] = Object.values(expandedRowSizes);\n return values.length ? values.reduce((a, b) => a + b, 0) / values.length : 0;\n }, [expandedRowSizes]);\n\n const estimateSize = React.useCallback(\n index => {\n const rowHeight = meta.rowHeight.height\n ? rowHeightSizeEstimates[meta.rowHeight.height]\n : rowHeightSizeEstimates.medium;\n\n if (expandedState === true || expandedState?.[index]) {\n return rowHeight + (expandedRowSizes[index] ?? firstAvailableExpandedRowHeight ?? 0);\n }\n\n return rowHeight;\n },\n [meta.rowHeight.height, expandedRowSizes, expandedState]\n );\n\n const virtualiser = useVirtual({\n parentRef: tableRef,\n size: rows.length,\n estimateSize,\n });\n\n const scrollToIndex = React.useCallback(\n (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => {\n if (tableRef.current) {\n if (index <= 0) {\n tableRef.current.scrollTo(tableRef.current.scrollLeft, 0);\n } else if (index >= rows.length - 1) {\n tableRef.current?.scrollTo(0, tableRef.current.scrollHeight);\n } else {\n virtualiser.scrollToIndex(index, options);\n }\n }\n },\n [rows.length, tableRef.current]\n );\n\n return {\n renderBody: createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpandedRowSizes),\n scrollToIndex,\n };\n}\n"],"names":["createBodyRenderer","props","rows","table","tableRef","virtualiser","setExpandedRowSizes","length","_virtualiser$virtualI","_virtualiser$virtualI2","_virtualiser$virtualI3","_virtualiser$virtualI4","paddingTop","virtualItems","start","paddingBottom","totalSize","end","createSetSizeHandler","index","size","sizes","React","style","height","className","map","virtualRow","row","original","undefined","pageSize","pageIndex","Math","floor","SkeletonRow","key","id","columns","getVisibleLeafColumns","loadPage","Fragment","Row","isLastRow","measureRef","getVisibleCells","cell","flexRender","column","columnDef","getContext","getIsExpanded","ExpandedRow","data","renderer","expandedRowRenderer","registerSize","useTableRenderStrategy","meta","options","getRowModel","expandedState","getState","expanded","expandedRowSizes","useState","firstAvailableExpandedRowHeight","useMemo","values","Object","reduce","a","b","estimateSize","useCallback","rowHeight","rowHeightSizeEstimates","medium","_ref","_expandedRowSizes$ind","useVirtual","parentRef","scrollToIndex","current","scrollTo","scrollLeft","_tableRef$current","scrollHeight","renderBody"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n ColumnSort as RTTableColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | BuiltInSortingFn\n | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n value: TValue,\n row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'number' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'numberInput'\n | 'switch'\n | 'textarea';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n [K in keyof TType]: {\n accessor: K;\n } & {\n align?: Table3ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: Table3ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n filters?: Table3FilterComparator[];\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n minWidth?: number;\n renderer?: Table3ColumnRenderer<TType[K], TType>;\n sort?: Table3SortDirection;\n sortFn?: Table3SortFn<TType>;\n tooltip?: string;\n };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnPinning?: ColumnPinningState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n showWarningWhenPrintingLargeDataset?: boolean;\n fontSize?: Table3FontSize;\n rowHeight?: Table3RowHeight;\n sorting?: SortingState;\n};\nexport type Table3SettingsHandler = (settings: Table3Settings) => void | Promise<void>;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsEmpty,\n IsNotEmpty,\n IsLessThanOrEqualTo,\n IsGreaterThanOrEqualTo,\n HasAnyOf,\n HasAllOf,\n HasNoneOf,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n autoFocus?: boolean;\n children: (JSX.Element | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element | null;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsHandler;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler<TType>;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isEmpty: string;\n isNotEmpty: string;\n isBefore: string;\n isAfter: string;\n isLessThanOrEqualTo: string;\n isGreaterThanOrEqualTo: string;\n isOnOrBefore: string;\n isOnOrAfter: string;\n hasAnyOf: string;\n hasAllOf: string;\n hasNoneOf: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n warningDialog: {\n title: string;\n description: string;\n checkboxVisibilityLabel: string;\n cancelButtonText: string;\n printButtonText: string;\n };\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n otherOptions: {\n tooltip: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA+GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,+EAAU;EACVA,iGAAmB;EACnBA,wGAAsB;EACtBA,4EAAQ;EACRA,4EAAQ;EACRA,8EAAS;AACb,CAAC,EAfWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnOrderState,\n ColumnSizingState,\n ColumnSort as RTTableColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | BuiltInSortingFn\n | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n value: TValue,\n row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'number' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'numberInput'\n | 'switch'\n | 'textarea';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n [K in keyof TType]: {\n accessor: K;\n } & {\n align?: Table3ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: Table3ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n filters?: Table3FilterComparator[];\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n minWidth?: number;\n renderer?: Table3ColumnRenderer<TType[K], TType>;\n sort?: Table3SortDirection;\n sortFn?: Table3SortFn<TType>;\n tooltip?: string;\n };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n rowHeight?: Table3RowHeight;\n showWarningWhenPrintingLargeDataset?: boolean;\n sorting?: SortingState;\n};\nexport type Table3SettingsHandler = (settings: Table3Settings) => void | Promise<void>;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsEmpty,\n IsNotEmpty,\n IsLessThanOrEqualTo,\n IsGreaterThanOrEqualTo,\n HasAnyOf,\n HasAllOf,\n HasNoneOf,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n autoFocus?: boolean;\n children: (JSX.Element | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element | null;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsHandler;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler<TType>;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isEmpty: string;\n isNotEmpty: string;\n isBefore: string;\n isAfter: string;\n isLessThanOrEqualTo: string;\n isGreaterThanOrEqualTo: string;\n isOnOrBefore: string;\n isOnOrAfter: string;\n hasAnyOf: string;\n hasAllOf: string;\n hasNoneOf: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n warningDialog: {\n title: string;\n description: string;\n checkboxVisibilityLabel: string;\n cancelButtonText: string;\n printButtonText: string;\n };\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n otherOptions: {\n tooltip: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA6GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,+EAAU;EACVA,iGAAmB;EACnBA,wGAAsB;EACtBA,4EAAQ;EACRA,4EAAQ;EACRA,8EAAS;AACb,CAAC,EAfWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { isDate } from 'date-fns';
|
|
2
|
+
import { format, parseFromISOString } from '../../../utils/date.js';
|
|
3
|
+
import { COLUMN_ID } from '../components/columns/internal/Actions.js';
|
|
2
4
|
|
|
3
5
|
const isInternalColumn = id => id.startsWith('__');
|
|
4
|
-
const isFrozenColumn = (
|
|
6
|
+
const isFrozenColumn = (header, table) => {
|
|
7
|
+
var _tableMeta$columnFree;
|
|
5
8
|
const tableMeta = table.options.meta;
|
|
9
|
+
if (header.column.id !== COLUMN_ID && isInternalColumn(header.column.id)) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
6
12
|
if (!tableMeta.columnFreezing.isEnabled || tableMeta.columnFreezing.frozenColumnIndex === undefined) {
|
|
7
13
|
return false;
|
|
8
14
|
}
|
|
9
|
-
return tableMeta.columnFreezing.frozenColumnIndex >= index;
|
|
15
|
+
return tableMeta.columnFreezing.frozenColumnIndex + ((_tableMeta$columnFree = tableMeta.columnFreezing.frozenInternalColumnCount) !== null && _tableMeta$columnFree !== void 0 ? _tableMeta$columnFree : 0) >= header.index;
|
|
10
16
|
};
|
|
11
17
|
const getCurrentRowCellElement = (index, table) => {
|
|
12
18
|
const cellSelector = `[data-current="true"] [data-column-index="${index}"`;
|
|
@@ -29,11 +35,24 @@ function scrollColumnIntoView(columnIndex, frozenColumnIndex, column, table) {
|
|
|
29
35
|
});
|
|
30
36
|
}
|
|
31
37
|
}
|
|
32
|
-
function isCellHighlighted(query, value,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
function isCellHighlighted(query, value, dataType) {
|
|
39
|
+
if (value === undefined || value === null) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
return String(getCellValueAsString(value, dataType)).toLocaleLowerCase().includes(query.toLocaleLowerCase());
|
|
43
|
+
}
|
|
44
|
+
function getCellValueAsString(value, dataType) {
|
|
45
|
+
if (value === undefined || value === null) {
|
|
46
|
+
return '';
|
|
47
|
+
} else if (isDate(value)) {
|
|
48
|
+
var _format;
|
|
49
|
+
return (_format = format(value)) !== null && _format !== void 0 ? _format : '';
|
|
50
|
+
} else if (dataType === 'datetime' && typeof value === 'string') {
|
|
51
|
+
var _format2;
|
|
52
|
+
return (_format2 = format(parseFromISOString(value))) !== null && _format2 !== void 0 ? _format2 : '';
|
|
53
|
+
}
|
|
54
|
+
return String(value);
|
|
36
55
|
}
|
|
37
56
|
|
|
38
|
-
export { getCurrentRowCellElement, isCellHighlighted, isFrozenColumn, isInternalColumn, scrollColumnIntoView };
|
|
57
|
+
export { getCellValueAsString, getCurrentRowCellElement, isCellHighlighted, isFrozenColumn, isInternalColumn, scrollColumnIntoView };
|
|
39
58
|
//# sourceMappingURL=columns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table3/util/columns.ts"],"sourcesContent":["import { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { isDate } from 'date-fns';\n\nexport const isInternalColumn = (id: string) => id.startsWith('__');\n\nexport const isFrozenColumn = <TType = unknown>(
|
|
1
|
+
{"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table3/util/columns.ts"],"sourcesContent":["import { Header as RTHeader, Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { isDate } from 'date-fns';\nimport { format, parseFromISOString } from '../../../utils/date';\nimport { COLUMN_ID } from '../components/columns/internal/Actions';\nimport { Table3ColumnDataType } from '../types';\n\nexport const isInternalColumn = (id: string) => id.startsWith('__');\n\nexport const isFrozenColumn = <TType = unknown>(header: RTHeader<TType, unknown>, table: RTable<TType>) => {\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n if (header.column.id !== COLUMN_ID && isInternalColumn(header.column.id)) {\n return true;\n }\n\n if (!tableMeta.columnFreezing.isEnabled || tableMeta.columnFreezing.frozenColumnIndex === undefined) {\n return false;\n }\n\n return tableMeta.columnFreezing.frozenColumnIndex + (tableMeta.columnFreezing.frozenInternalColumnCount ?? 0) >= header.index;\n};\n\nexport const getCurrentRowCellElement = (index: number, table: HTMLElement) => {\n const cellSelector = `[data-current=\"true\"] [data-column-index=\"${index}\"`;\n return table.querySelector(cellSelector);\n};\n\nexport function scrollColumnIntoView(columnIndex: number, frozenColumnIndex: number, column: HTMLElement, table: HTMLElement) {\n if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {\n const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, table);\n const highlightRef = column?.getBoundingClientRect();\n const lastFrozenRect = lastFrozenColumnElement?.getBoundingClientRect();\n\n // offset the width of frozen columns so that the column being scrolled to is not hidden behind them\n if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {\n const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;\n table?.scrollTo(highlightRef.left - pinnedColumnsWidth, table.scrollTop);\n }\n } else {\n column.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n}\n\nexport function isCellHighlighted(query: string, value: unknown, dataType?: Table3ColumnDataType) {\n if (value === undefined || value === null) {\n return false;\n }\n\n return String(getCellValueAsString(value, dataType)).toLocaleLowerCase().includes(query.toLocaleLowerCase());\n}\n\nexport function getCellValueAsString(value: unknown, dataType?: Table3ColumnDataType): string {\n if (value === undefined || value === null) {\n return '';\n } else if (isDate(value)) {\n return format(value as Date) ?? '';\n } else if (dataType === 'datetime' && typeof value === 'string') {\n return format(parseFromISOString(value as string)) ?? '';\n }\n\n return String(value);\n}\n"],"names":["isInternalColumn","id","startsWith","isFrozenColumn","header","table","tableMeta","options","meta","column","COLUMN_ID","columnFreezing","isEnabled","frozenColumnIndex","undefined","_tableMeta$columnFree","frozenInternalColumnCount","index","getCurrentRowCellElement","cellSelector","querySelector","scrollColumnIntoView","columnIndex","lastFrozenColumnElement","highlightRef","getBoundingClientRect","lastFrozenRect","left","width","pinnedColumnsWidth","scrollTo","scrollTop","scrollIntoView","block","inline","isCellHighlighted","query","value","dataType","String","getCellValueAsString","toLocaleLowerCase","includes","isDate","_format","format","_format2","parseFromISOString"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editing.js","sources":["../../../../../../../../src/components/Table3/util/editing.ts"],"sourcesContent":["import { isDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\n\nexport const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\nexport const focusableSelector = focussableNodeNames.join(', ');\n\nexport const hasChanged = (value, newValue) => {\n if (isDate(value) && isDate(newValue)) {\n return !isWeakEqualDate(value, newValue);\n } else if (Array.isArray(value)) {\n return JSON.stringify(value) !== JSON.stringify(newValue);\n }\n\n return value !== newValue;\n};\n\nexport const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc): boolean => {\n const miniSortRows = [{ ...cell.row, original: { ...cell.row.original, [cell.column.id]: value } }];\n // getValue is used by the built-in sort functons, so we need to make sure it returns the changed value\n miniSortRows[0].getValue = () => value;\n\n let index = 0;\n\n if (rowIndex > 0) {\n miniSortRows.unshift(rows[rowIndex - 1]);\n index = 1;\n }\n\n if (rowIndex < rows.length - 1) {\n miniSortRows.push(rows[rowIndex + 1]);\n }\n\n let resortedRows = [...miniSortRows].sort((a, b) => cell.column.getSortingFn()(a, b, cell.column.id));\n\n if (desc) {\n resortedRows = resortedRows.reverse();\n }\n\n return resortedRows[index]?.id !== cell.row.id;\n};\n"],"names":["focussableNodeNames","focusableSelector","join","hasChanged","value","newValue","isDate","isWeakEqualDate","Array","isArray","JSON","stringify","willRowMoveAfterSorting","cell","rowIndex","rows","desc","miniSortRows","row","original","column","id","getValue","index","unshift","length","push","resortedRows","sort","a","b","getSortingFn","reverse"],"mappings":";;;MAGaA,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;MAC9EC,iBAAiB,gBAAGD,mBAAmB,CAACE,IAAI,CAAC,IAAI;MAEjDC,UAAU,
|
|
1
|
+
{"version":3,"file":"editing.js","sources":["../../../../../../../../src/components/Table3/util/editing.ts"],"sourcesContent":["import { isDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\n\nexport const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\nexport const focusableSelector = focussableNodeNames.join(', ');\n\nexport const hasChanged = (value, newValue) => {\n if (isDate(value) && isDate(newValue)) {\n return !isWeakEqualDate(value, newValue);\n } else if (Array.isArray(value)) {\n return JSON.stringify(value) !== JSON.stringify(newValue);\n }\n\n return value !== newValue;\n};\n\nexport const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc): boolean => {\n const miniSortRows = [{ ...cell.row, original: { ...cell.row.original, [cell.column.id]: value } }];\n // getValue is used by the built-in sort functons, so we need to make sure it returns the changed value\n miniSortRows[0].getValue = () => value;\n\n let index = 0;\n\n if (rowIndex > 0) {\n miniSortRows.unshift(rows[rowIndex - 1]);\n index = 1;\n }\n\n if (rowIndex < rows.length - 1) {\n miniSortRows.push(rows[rowIndex + 1]);\n }\n\n let resortedRows = [...miniSortRows].sort((a, b) => cell.column.getSortingFn()(a, b, cell.column.id));\n\n if (desc) {\n resortedRows = resortedRows.reverse();\n }\n\n return resortedRows[index]?.id !== cell.row.id;\n};\n"],"names":["focussableNodeNames","focusableSelector","join","hasChanged","value","newValue","isDate","isWeakEqualDate","Array","isArray","JSON","stringify","willRowMoveAfterSorting","cell","rowIndex","rows","desc","miniSortRows","row","original","column","id","getValue","index","unshift","length","push","resortedRows","sort","a","b","getSortingFn","reverse","_resortedRows$index"],"mappings":";;;MAGaA,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;MAC9EC,iBAAiB,gBAAGD,mBAAmB,CAACE,IAAI,CAAC,IAAI;MAEjDC,UAAU,GAAGA,CAACC,KAAK,EAAEC,QAAQ;EACtC,IAAIC,MAAM,CAACF,KAAK,CAAC,IAAIE,MAAM,CAACD,QAAQ,CAAC,EAAE;IACnC,OAAO,CAACE,WAAe,CAACH,KAAK,EAAEC,QAAQ,CAAC;GAC3C,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IAC7B,OAAOM,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,KAAKM,IAAI,CAACC,SAAS,CAACN,QAAQ,CAAC;;EAG7D,OAAOD,KAAK,KAAKC,QAAQ;AAC7B;MAEaO,uBAAuB,GAAGA,CAACR,KAAK,EAAES,IAAI,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,IAAI;;EACrE,MAAMC,YAAY,GAAG,CAAC;IAAE,GAAGJ,IAAI,CAACK,GAAG;IAAEC,QAAQ,EAAE;MAAE,GAAGN,IAAI,CAACK,GAAG,CAACC,QAAQ;MAAE,CAACN,IAAI,CAACO,MAAM,CAACC,EAAE,GAAGjB;;GAAS,CAAC;;EAEnGa,YAAY,CAAC,CAAC,CAAC,CAACK,QAAQ,GAAG,MAAMlB,KAAK;EAEtC,IAAImB,KAAK,GAAG,CAAC;EAEb,IAAIT,QAAQ,GAAG,CAAC,EAAE;IACdG,YAAY,CAACO,OAAO,CAACT,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;IACxCS,KAAK,GAAG,CAAC;;EAGb,IAAIT,QAAQ,GAAGC,IAAI,CAACU,MAAM,GAAG,CAAC,EAAE;IAC5BR,YAAY,CAACS,IAAI,CAACX,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;;EAGzC,IAAIa,YAAY,GAAG,CAAC,GAAGV,YAAY,CAAC,CAACW,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKjB,IAAI,CAACO,MAAM,CAACW,YAAY,EAAE,CAACF,CAAC,EAAEC,CAAC,EAAEjB,IAAI,CAACO,MAAM,CAACC,EAAE,CAAC,CAAC;EAErG,IAAIL,IAAI,EAAE;IACNW,YAAY,GAAGA,YAAY,CAACK,OAAO,EAAE;;EAGzC,OAAO,EAAAC,mBAAA,GAAAN,YAAY,CAACJ,KAAK,CAAC,cAAAU,mBAAA,uBAAnBA,mBAAA,CAAqBZ,EAAE,MAAKR,IAAI,CAACK,GAAG,CAACG,EAAE;AAClD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filtering.js","sources":["../../../../../../../../src/components/Table3/util/filtering.ts"],"sourcesContent":["import { isDate, isAfter as isAfterDate, isBefore as isBeforeDate, isEqual as isEqualDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\nimport { Table3FilterValue, Table3FilterComparator } from '../types';\n\nconst toLowerCase = (value: string | number) => String(value ?? '').toLocaleLowerCase();\nconst isWeakContains = (left: string | number, right: string | number) => toLowerCase(left).includes(toLowerCase(right));\nconst isWeakEqual = (left: string | number, right: string | number) => toLowerCase(left) === toLowerCase(right);\n\nexport function globalFilterFn(value: string, query: string) {\n return isWeakContains(value, query);\n}\n\n// the filter type is only settable on the column definition, which would re-render all columns\n// so instead we store it in the filter value, but that means we also have to destructure that\n// before we filter - that's why this custom filter function exists\nexport function columnFilterFn(value: any, filter: Table3FilterValue) {\n try {\n if (filter.comparator === Table3FilterComparator.IsEmpty || filter.comparator === Table3FilterComparator.IsNotEmpty) {\n const isEmpty = value === undefined || value === null || value === '';\n return filter.comparator === Table3FilterComparator.IsEmpty ? isEmpty : !isEmpty;\n }\n\n if (filter.value === undefined || filter.value === null || filter.value === '') {\n return true;\n }\n\n switch (filter.comparator) {\n case Table3FilterComparator.Contains:\n return isWeakContains(value, filter.value);\n\n case Table3FilterComparator.DoesNotContain:\n return !isWeakContains(value, filter.value);\n\n case Table3FilterComparator.IsEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value);\n } else if (typeof filter.value === 'boolean') {\n return value === filter.value;\n }\n\n return isWeakEqual(value, filter.value);\n }\n\n case Table3FilterComparator.IsNotEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value) === false;\n } else if (typeof filter.value === 'boolean') {\n return value !== filter.value;\n }\n\n return !isWeakEqual(value, filter.value);\n }\n\n case Table3FilterComparator.IsGreaterThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isAfterDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;\n }\n }\n\n case Table3FilterComparator.IsLessThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isBeforeDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;\n }\n }\n\n case Table3FilterComparator.IsLessThanOrEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && (isBeforeDate(value, filter.value) || isEqualDate(value, filter.value));\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber <= filter.value;\n }\n }\n\n case Table3FilterComparator.IsGreaterThanOrEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && (isAfterDate(value, filter.value) || isEqualDate(value, filter.value));\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber >= filter.value;\n }\n }\n\n case Table3FilterComparator.IsBetween: {\n const [fromValue, toValue] = filter.value;\n\n if (isDate(value)) {\n if (isDate(fromValue) && isBeforeDate(value, fromValue)) {\n return false;\n } else if (isDate(toValue) && isAfterDate(value, toValue)) {\n return false;\n }\n\n return true;\n } else {\n const valueAsNumber = parseInt(value);\n\n if (isNaN(valueAsNumber)) {\n return false;\n }\n\n if (fromValue !== undefined && valueAsNumber < fromValue) {\n return false;\n } else if (toValue !== undefined && valueAsNumber > toValue) {\n return false;\n }\n\n return true;\n }\n }\n\n case Table3FilterComparator.HasAnyOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.some(item => value.includes(item))\n : false;\n\n case Table3FilterComparator.HasNoneOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.every(item => value.includes(item) === false)\n : false;\n\n case Table3FilterComparator.HasAllOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.filter(v => value.includes(v)).length === filter.value.length\n : false;\n }\n\n return false;\n } catch (e) {\n console.error(e);\n return true;\n }\n}\n"],"names":["toLowerCase","value","String","toLocaleLowerCase","isWeakContains","left","right","includes","isWeakEqual","globalFilterFn","query","columnFilterFn","filter","comparator","Table3FilterComparator","IsEmpty","IsNotEmpty","isEmpty","undefined","Contains","DoesNotContain","IsEqualTo","isDate","isWeakEqualDate","IsNotEqualTo","IsGreaterThan","isAfterDate","valueAsNumber","parseInt","isNaN","IsLessThan","isBeforeDate","IsLessThanOrEqualTo","isEqualDate","IsGreaterThanOrEqualTo","IsBetween","fromValue","toValue","HasAnyOf","Array","isArray","some","item","HasNoneOf","every","HasAllOf","v","length","e","console","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filtering.js","sources":["../../../../../../../../src/components/Table3/util/filtering.ts"],"sourcesContent":["import { isDate, isAfter as isAfterDate, isBefore as isBeforeDate, isEqual as isEqualDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\nimport { Table3FilterValue, Table3FilterComparator } from '../types';\n\nconst toLowerCase = (value: string | number) => String(value ?? '').toLocaleLowerCase();\nconst isWeakContains = (left: string | number, right: string | number) => toLowerCase(left).includes(toLowerCase(right));\nconst isWeakEqual = (left: string | number, right: string | number) => toLowerCase(left) === toLowerCase(right);\n\nexport function globalFilterFn(value: string, query: string) {\n return isWeakContains(value, query);\n}\n\n// the filter type is only settable on the column definition, which would re-render all columns\n// so instead we store it in the filter value, but that means we also have to destructure that\n// before we filter - that's why this custom filter function exists\nexport function columnFilterFn(value: any, filter: Table3FilterValue) {\n try {\n if (filter.comparator === Table3FilterComparator.IsEmpty || filter.comparator === Table3FilterComparator.IsNotEmpty) {\n const isEmpty = value === undefined || value === null || value === '';\n return filter.comparator === Table3FilterComparator.IsEmpty ? isEmpty : !isEmpty;\n }\n\n if (filter.value === undefined || filter.value === null || filter.value === '') {\n return true;\n }\n\n switch (filter.comparator) {\n case Table3FilterComparator.Contains:\n return isWeakContains(value, filter.value);\n\n case Table3FilterComparator.DoesNotContain:\n return !isWeakContains(value, filter.value);\n\n case Table3FilterComparator.IsEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value);\n } else if (typeof filter.value === 'boolean') {\n return value === filter.value;\n }\n\n return isWeakEqual(value, filter.value);\n }\n\n case Table3FilterComparator.IsNotEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value) === false;\n } else if (typeof filter.value === 'boolean') {\n return value !== filter.value;\n }\n\n return !isWeakEqual(value, filter.value);\n }\n\n case Table3FilterComparator.IsGreaterThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isAfterDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;\n }\n }\n\n case Table3FilterComparator.IsLessThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isBeforeDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;\n }\n }\n\n case Table3FilterComparator.IsLessThanOrEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && (isBeforeDate(value, filter.value) || isEqualDate(value, filter.value));\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber <= filter.value;\n }\n }\n\n case Table3FilterComparator.IsGreaterThanOrEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && (isAfterDate(value, filter.value) || isEqualDate(value, filter.value));\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber >= filter.value;\n }\n }\n\n case Table3FilterComparator.IsBetween: {\n const [fromValue, toValue] = filter.value;\n\n if (isDate(value)) {\n if (isDate(fromValue) && isBeforeDate(value, fromValue)) {\n return false;\n } else if (isDate(toValue) && isAfterDate(value, toValue)) {\n return false;\n }\n\n return true;\n } else {\n const valueAsNumber = parseInt(value);\n\n if (isNaN(valueAsNumber)) {\n return false;\n }\n\n if (fromValue !== undefined && valueAsNumber < fromValue) {\n return false;\n } else if (toValue !== undefined && valueAsNumber > toValue) {\n return false;\n }\n\n return true;\n }\n }\n\n case Table3FilterComparator.HasAnyOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.some(item => value.includes(item))\n : false;\n\n case Table3FilterComparator.HasNoneOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.every(item => value.includes(item) === false)\n : false;\n\n case Table3FilterComparator.HasAllOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.filter(v => value.includes(v)).length === filter.value.length\n : false;\n }\n\n return false;\n } catch (e) {\n console.error(e);\n return true;\n }\n}\n"],"names":["toLowerCase","value","String","toLocaleLowerCase","isWeakContains","left","right","includes","isWeakEqual","globalFilterFn","query","columnFilterFn","filter","comparator","Table3FilterComparator","IsEmpty","IsNotEmpty","isEmpty","undefined","Contains","DoesNotContain","IsEqualTo","isDate","isWeakEqualDate","IsNotEqualTo","IsGreaterThan","isAfterDate","valueAsNumber","parseInt","isNaN","IsLessThan","isBeforeDate","IsLessThanOrEqualTo","isEqualDate","IsGreaterThanOrEqualTo","IsBetween","fromValue","toValue","HasAnyOf","Array","isArray","some","item","HasNoneOf","every","HasAllOf","v","length","e","console","error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sources":["../../../../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\nimport { Orientation } from '../../types';\nimport { getButtonClasses } from '../Button/util';\nimport { Tooltip } from '../Tooltip/Tooltip';\n\nexport type TabsProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * The controlled value of the tab to activate. Should be used in conjunction with `onChange`.\n */\n id?: string;\n /**\n * Set which tab is selected on mount.\n * This has to be one of the existing ids provided for tabs\n */\n defaultId?: string;\n /**\n * Content should be one or an array of `Tabs.Trigger` components inside `Tabs.List` and then\n * followed by one or an array of `Tabs.Content`.\n * *Note* that there can also be tabs that are rendered conditionally.\n */\n children: React.ReactNode;\n /**\n * Define orientation of tabs.\n * @defaultValue horizontal\n */\n orientation?: Orientation;\n /**\n * Callback that is called when tab is changed.\n */\n onChange?: (id: string) => void;\n};\n\nexport type TabListProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type TabTriggerProps = React.HTMLAttributes<HTMLButtonElement> & {\n /**\n * A unique value that associates the trigger with a content.\n */\n id: string;\n /**\n * When true, prevents the user from interacting with the tab.\n */\n disabled?: boolean;\n /** A tooltip to show when hovering over the trigger */\n tooltip?: string | JSX.Element;\n};\n\nexport type TabContentProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * A unique value that associates the content with a trigger.\n */\n id: string;\n};\n\nexport type ForwardedTabsWithStatics = React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>> & {\n /** Tab list component containing all tab triggers, rendered in a `Tabs` group component */\n List: React.ForwardRefExoticComponent<TabListProps & React.RefAttributes<HTMLDivElement>>;\n /** Tab trigger component rendered in a `Tabs.List` component */\n Trigger: React.ForwardRefExoticComponent<TabTriggerProps & React.RefAttributes<HTMLButtonElement>>;\n /** Tab content component rendered in a `Tabs` group component */\n Content: React.ForwardRefExoticComponent<TabContentProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Tabs = React.forwardRef(function Tabs(props: TabsProps, ref: React.Ref<HTMLDivElement>) {\n const { id, defaultId, children, onChange, orientation = 'horizontal', ...otherProps } = props;\n const className = cn(\n {\n 'flex w-full': orientation === 'vertical',\n },\n props.className\n );\n\n return (\n <TabsPrimitive.Root\n {...otherProps}\n className={className}\n data-taco=\"tabs\"\n defaultValue={defaultId}\n dir=\"ltr\"\n onValueChange={onChange}\n orientation={orientation}\n ref={ref}\n value={id}>\n {children}\n </TabsPrimitive.Root>\n );\n}) as ForwardedTabsWithStatics;\n\nconst TabList = React.forwardRef(function Tab(props: TabListProps, ref: React.Ref<HTMLDivElement>) {\n const className = cn(\n 'border-grey-300 flex flex-row m-0 mb-4',\n 'aria-orientation-horizontal:border-b',\n 'aria-orientation-vertical:border-r aria-orientation-vertical:m-0 aria-orientation-vertical:mr-4 aria-orientation-vertical:flex-col ',\n props.className\n );\n\n return <TabsPrimitive.List {...props} className={className} ref={ref} />;\n});\n\nconst TabTrigger = React.forwardRef(function Tab(props: TabTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const { children, id, disabled, tooltip, ...otherProps } = props;\n\n const triggerClassName = cn(\n 'group relative p-0.5 outline-none disabled:cursor-not-allowed disabled:text-black/50',\n // horizontal\n '[[aria-orientation=\"horizontal\"]_&]:pb-1',\n // horizontal\n '[[aria-orientation=\"vertical\"]_&]:pr-1'\n );\n const buttonClassName = cn(\n getButtonClasses(),\n 'group-focus-visible:yt-focus-inset group-enabled:group-hover:wcag-grey-200 pointer-events-none rounded px-3'\n );\n const activeClassName = cn(\n 'pointer-events-none absolute hidden bg-blue-500 group-aria-selected:flex',\n // horizontal\n '[[aria-orientation=\"horizontal\"]_&]:rounded-t-sm [[aria-orientation=\"horizontal\"]_&]:bottom-0 [[aria-orientation=\"horizontal\"]_&]:left-0 [[aria-orientation=\"horizontal\"]_&]:right-0 [[aria-orientation=\"horizontal\"]_&]:-mb-px [[aria-orientation=\"horizontal\"]_&]:h-0.5',\n // vertical\n '[[aria-orientation=\"vertical\"]_&]:rounded-l-sm [[aria-orientation=\"vertical\"]_&]:right-0 [[aria-orientation=\"vertical\"]_&]:top-0 [[aria-orientation=\"vertical\"]_&]:bottom-0 [[aria-orientation=\"vertical\"]_&]:-mr-px [[aria-orientation=\"vertical\"]_&]:w-0.5'\n );\n\n const trigger = (\n <TabsPrimitive.Trigger {...otherProps} className={triggerClassName} disabled={disabled} ref={ref} value={id}>\n <span className={buttonClassName}>{children}</span>\n <span className={activeClassName} />\n </TabsPrimitive.Trigger>\n );\n\n if (tooltip) {\n return <Tooltip title={tooltip}>{trigger}</Tooltip>;\n }\n\n return trigger;\n});\n\nconst TabContent = React.forwardRef(function Tab(props: TabContentProps, ref: React.Ref<HTMLDivElement>) {\n const { id, ...otherProps } = props;\n const className = cn('[&[data-orientation=\"vertical\"]]:grow outline-none', props.className);\n\n return <TabsPrimitive.Content {...otherProps} className={className} ref={ref} value={id} />;\n});\n\nTabs.List = TabList;\nTabs.Trigger = TabTrigger;\nTabs.Content = TabContent;\n"],"names":["Tabs","React","props","ref","id","defaultId","children","onChange","orientation","otherProps","className","cn","TabsPrimitive","defaultValue","dir","onValueChange","value","TabList","Tab","TabTrigger","disabled","tooltip","triggerClassName","buttonClassName","getButtonClasses","activeClassName","trigger","Tooltip","title","TabContent","List","Trigger","Content"],"mappings":";;;;;;MAiEaA,IAAI,gBAAGC,UAAgB,CAAC,SAASD,
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../../../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\nimport { Orientation } from '../../types';\nimport { getButtonClasses } from '../Button/util';\nimport { Tooltip } from '../Tooltip/Tooltip';\n\nexport type TabsProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * The controlled value of the tab to activate. Should be used in conjunction with `onChange`.\n */\n id?: string;\n /**\n * Set which tab is selected on mount.\n * This has to be one of the existing ids provided for tabs\n */\n defaultId?: string;\n /**\n * Content should be one or an array of `Tabs.Trigger` components inside `Tabs.List` and then\n * followed by one or an array of `Tabs.Content`.\n * *Note* that there can also be tabs that are rendered conditionally.\n */\n children: React.ReactNode;\n /**\n * Define orientation of tabs.\n * @defaultValue horizontal\n */\n orientation?: Orientation;\n /**\n * Callback that is called when tab is changed.\n */\n onChange?: (id: string) => void;\n};\n\nexport type TabListProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type TabTriggerProps = React.HTMLAttributes<HTMLButtonElement> & {\n /**\n * A unique value that associates the trigger with a content.\n */\n id: string;\n /**\n * When true, prevents the user from interacting with the tab.\n */\n disabled?: boolean;\n /** A tooltip to show when hovering over the trigger */\n tooltip?: string | JSX.Element;\n};\n\nexport type TabContentProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * A unique value that associates the content with a trigger.\n */\n id: string;\n};\n\nexport type ForwardedTabsWithStatics = React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>> & {\n /** Tab list component containing all tab triggers, rendered in a `Tabs` group component */\n List: React.ForwardRefExoticComponent<TabListProps & React.RefAttributes<HTMLDivElement>>;\n /** Tab trigger component rendered in a `Tabs.List` component */\n Trigger: React.ForwardRefExoticComponent<TabTriggerProps & React.RefAttributes<HTMLButtonElement>>;\n /** Tab content component rendered in a `Tabs` group component */\n Content: React.ForwardRefExoticComponent<TabContentProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Tabs = React.forwardRef(function Tabs(props: TabsProps, ref: React.Ref<HTMLDivElement>) {\n const { id, defaultId, children, onChange, orientation = 'horizontal', ...otherProps } = props;\n const className = cn(\n {\n 'flex w-full': orientation === 'vertical',\n },\n props.className\n );\n\n return (\n <TabsPrimitive.Root\n {...otherProps}\n className={className}\n data-taco=\"tabs\"\n defaultValue={defaultId}\n dir=\"ltr\"\n onValueChange={onChange}\n orientation={orientation}\n ref={ref}\n value={id}>\n {children}\n </TabsPrimitive.Root>\n );\n}) as ForwardedTabsWithStatics;\n\nconst TabList = React.forwardRef(function Tab(props: TabListProps, ref: React.Ref<HTMLDivElement>) {\n const className = cn(\n 'border-grey-300 flex flex-row m-0 mb-4',\n 'aria-orientation-horizontal:border-b',\n 'aria-orientation-vertical:border-r aria-orientation-vertical:m-0 aria-orientation-vertical:mr-4 aria-orientation-vertical:flex-col ',\n props.className\n );\n\n return <TabsPrimitive.List {...props} className={className} ref={ref} />;\n});\n\nconst TabTrigger = React.forwardRef(function Tab(props: TabTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const { children, id, disabled, tooltip, ...otherProps } = props;\n\n const triggerClassName = cn(\n 'group relative p-0.5 outline-none disabled:cursor-not-allowed disabled:text-black/50',\n // horizontal\n '[[aria-orientation=\"horizontal\"]_&]:pb-1',\n // horizontal\n '[[aria-orientation=\"vertical\"]_&]:pr-1'\n );\n const buttonClassName = cn(\n getButtonClasses(),\n 'group-focus-visible:yt-focus-inset group-enabled:group-hover:wcag-grey-200 pointer-events-none rounded px-3'\n );\n const activeClassName = cn(\n 'pointer-events-none absolute hidden bg-blue-500 group-aria-selected:flex',\n // horizontal\n '[[aria-orientation=\"horizontal\"]_&]:rounded-t-sm [[aria-orientation=\"horizontal\"]_&]:bottom-0 [[aria-orientation=\"horizontal\"]_&]:left-0 [[aria-orientation=\"horizontal\"]_&]:right-0 [[aria-orientation=\"horizontal\"]_&]:-mb-px [[aria-orientation=\"horizontal\"]_&]:h-0.5',\n // vertical\n '[[aria-orientation=\"vertical\"]_&]:rounded-l-sm [[aria-orientation=\"vertical\"]_&]:right-0 [[aria-orientation=\"vertical\"]_&]:top-0 [[aria-orientation=\"vertical\"]_&]:bottom-0 [[aria-orientation=\"vertical\"]_&]:-mr-px [[aria-orientation=\"vertical\"]_&]:w-0.5'\n );\n\n const trigger = (\n <TabsPrimitive.Trigger {...otherProps} className={triggerClassName} disabled={disabled} ref={ref} value={id}>\n <span className={buttonClassName}>{children}</span>\n <span className={activeClassName} />\n </TabsPrimitive.Trigger>\n );\n\n if (tooltip) {\n return <Tooltip title={tooltip}>{trigger}</Tooltip>;\n }\n\n return trigger;\n});\n\nconst TabContent = React.forwardRef(function Tab(props: TabContentProps, ref: React.Ref<HTMLDivElement>) {\n const { id, ...otherProps } = props;\n const className = cn('[&[data-orientation=\"vertical\"]]:grow outline-none', props.className);\n\n return <TabsPrimitive.Content {...otherProps} className={className} ref={ref} value={id} />;\n});\n\nTabs.List = TabList;\nTabs.Trigger = TabTrigger;\nTabs.Content = TabContent;\n"],"names":["Tabs","React","props","ref","id","defaultId","children","onChange","orientation","otherProps","className","cn","TabsPrimitive","defaultValue","dir","onValueChange","value","TabList","Tab","TabTrigger","disabled","tooltip","triggerClassName","buttonClassName","getButtonClasses","activeClassName","trigger","Tooltip","title","TabContent","List","Trigger","Content"],"mappings":";;;;;;MAiEaA,IAAI,gBAAGC,UAAgB,CAAC,SAASD,IAAIA,CAACE,KAAgB,EAAEC,GAA8B;EAC/F,MAAM;IAAEC,EAAE;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,WAAW,GAAG,YAAY;IAAE,GAAGC;GAAY,GAAGP,KAAK;EAC9F,MAAMQ,SAAS,GAAGC,EAAE,CAChB;IACI,aAAa,EAAEH,WAAW,KAAK;GAClC,EACDN,KAAK,CAACQ,SAAS,CAClB;EAED,oBACIT,cAACW,IAAkB,oBACXH,UAAU;IACdC,SAAS,EAAEA,SAAS;iBACV,MAAM;IAChBG,YAAY,EAAER,SAAS;IACvBS,GAAG,EAAC,KAAK;IACTC,aAAa,EAAER,QAAQ;IACvBC,WAAW,EAAEA,WAAW;IACxBL,GAAG,EAAEA,GAAG;IACRa,KAAK,EAAEZ;MACNE,QAAQ,CACQ;AAE7B,CAAC;AAED,MAAMW,OAAO,gBAAGhB,UAAgB,CAAC,SAASiB,GAAGA,CAAChB,KAAmB,EAAEC,GAA8B;EAC7F,MAAMO,SAAS,GAAGC,EAAE,CAChB,wCAAwC,EACxC,sCAAsC,EACtC,qIAAqI,EACrIT,KAAK,CAACQ,SAAS,CAClB;EAED,oBAAOT,cAACW,IAAkB,oBAAKV,KAAK;IAAEQ,SAAS,EAAEA,SAAS;IAAEP,GAAG,EAAEA;KAAO;AAC5E,CAAC,CAAC;AAEF,MAAMgB,UAAU,gBAAGlB,UAAgB,CAAC,SAASiB,GAAGA,CAAChB,KAAsB,EAAEC,GAAiC;EACtG,MAAM;IAAEG,QAAQ;IAAEF,EAAE;IAAEgB,QAAQ;IAAEC,OAAO;IAAE,GAAGZ;GAAY,GAAGP,KAAK;EAEhE,MAAMoB,gBAAgB,GAAGX,EAAE,CACvB,sFAAsF;;EAEtF,0CAA0C;;EAE1C,wCAAwC,CAC3C;EACD,MAAMY,eAAe,GAAGZ,EAAE,CACtBa,gBAAgB,EAAE,EAClB,6GAA6G,CAChH;EACD,MAAMC,eAAe,GAAGd,EAAE,CACtB,0EAA0E;;EAE1E,2QAA2Q;;EAE3Q,8PAA8P,CACjQ;EAED,MAAMe,OAAO,gBACTzB,cAACW,OAAqB,oBAAKH,UAAU;IAAEC,SAAS,EAAEY,gBAAgB;IAAEF,QAAQ,EAAEA,QAAQ;IAAEjB,GAAG,EAAEA,GAAG;IAAEa,KAAK,EAAEZ;mBACrGH;IAAMS,SAAS,EAAEa;KAAkBjB,QAAQ,CAAQ,eACnDL;IAAMS,SAAS,EAAEe;IAAmB,CAE3C;EAED,IAAIJ,OAAO,EAAE;IACT,oBAAOpB,cAAC0B,OAAO;MAACC,KAAK,EAAEP;OAAUK,OAAO,CAAW;;EAGvD,OAAOA,OAAO;AAClB,CAAC,CAAC;AAEF,MAAMG,UAAU,gBAAG5B,UAAgB,CAAC,SAASiB,GAAGA,CAAChB,KAAsB,EAAEC,GAA8B;EACnG,MAAM;IAAEC,EAAE;IAAE,GAAGK;GAAY,GAAGP,KAAK;EACnC,MAAMQ,SAAS,GAAGC,EAAE,CAAC,oDAAoD,EAAET,KAAK,CAACQ,SAAS,CAAC;EAE3F,oBAAOT,cAACW,OAAqB,oBAAKH,UAAU;IAAEC,SAAS,EAAEA,SAAS;IAAEP,GAAG,EAAEA,GAAG;IAAEa,KAAK,EAAEZ;KAAM;AAC/F,CAAC,CAAC;AAEFJ,IAAI,CAAC8B,IAAI,GAAGb,OAAO;AACnBjB,IAAI,CAAC+B,OAAO,GAAGZ,UAAU;AACzBnB,IAAI,CAACgC,OAAO,GAAGH,UAAU;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sources":["../../../../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { getInputClasses } from '../Input/util';\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n /** Draws attention to the textarea by changing its style and making it visually prominent */\n highlighted?: boolean;\n /* Whether the input is in an invalid state */\n invalid?: boolean;\n /** Value of the textarea */\n value?: string;\n};\n\nexport const Textarea = React.forwardRef(function Textarea(props: TextareaProps, ref: React.Ref<HTMLTextAreaElement>) {\n const { defaultValue: _, highlighted, invalid, onKeyDown, ...otherProps } = props;\n const classNames = cn(getInputClasses(props), 'py-1 min-h-[75px] disabled:resize-none', props.className);\n\n // home and end keys only navigate to the start/end of textarea value if the textarea container does not scroll\n // if it has scroll height then the browser reverts to native scrolling behaviour only\n // so we manually override it to ensure _our_ desired behaviour remains intact\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n const position = event.key === 'End' ? event.currentTarget.value.length : 0;\n event.currentTarget.setSelectionRange(position, position);\n event.currentTarget.scrollTop = event.key === 'End' ? event.currentTarget.scrollHeight : 0;\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n return <textarea {...otherProps} className={classNames} data-taco=\"textarea\" onKeyDown={handleKeyDown} ref={ref} />;\n});\n"],"names":["Textarea","React","props","ref","defaultValue","_","highlighted","invalid","onKeyDown","otherProps","classNames","cn","getInputClasses","className","handleKeyDown","event","key","preventDefault","position","currentTarget","value","length","setSelectionRange","scrollTop","scrollHeight"],"mappings":";;;;MAaaA,QAAQ,gBAAGC,UAAgB,CAAC,SAASD,
|
|
1
|
+
{"version":3,"file":"Textarea.js","sources":["../../../../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { getInputClasses } from '../Input/util';\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n /** Draws attention to the textarea by changing its style and making it visually prominent */\n highlighted?: boolean;\n /* Whether the input is in an invalid state */\n invalid?: boolean;\n /** Value of the textarea */\n value?: string;\n};\n\nexport const Textarea = React.forwardRef(function Textarea(props: TextareaProps, ref: React.Ref<HTMLTextAreaElement>) {\n const { defaultValue: _, highlighted, invalid, onKeyDown, ...otherProps } = props;\n const classNames = cn(getInputClasses(props), 'py-1 min-h-[75px] disabled:resize-none', props.className);\n\n // home and end keys only navigate to the start/end of textarea value if the textarea container does not scroll\n // if it has scroll height then the browser reverts to native scrolling behaviour only\n // so we manually override it to ensure _our_ desired behaviour remains intact\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n const position = event.key === 'End' ? event.currentTarget.value.length : 0;\n event.currentTarget.setSelectionRange(position, position);\n event.currentTarget.scrollTop = event.key === 'End' ? event.currentTarget.scrollHeight : 0;\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n return <textarea {...otherProps} className={classNames} data-taco=\"textarea\" onKeyDown={handleKeyDown} ref={ref} />;\n});\n"],"names":["Textarea","React","props","ref","defaultValue","_","highlighted","invalid","onKeyDown","otherProps","classNames","cn","getInputClasses","className","handleKeyDown","event","key","preventDefault","position","currentTarget","value","length","setSelectionRange","scrollTop","scrollHeight"],"mappings":";;;;MAaaA,QAAQ,gBAAGC,UAAgB,CAAC,SAASD,QAAQA,CAACE,KAAoB,EAAEC,GAAmC;EAChH,MAAM;IAAEC,YAAY,EAAEC,CAAC;IAAEC,WAAW;IAAEC,OAAO;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGP,KAAK;EACjF,MAAMQ,UAAU,GAAGC,EAAE,CAACC,eAAe,CAACV,KAAK,CAAC,EAAE,wCAAwC,EAAEA,KAAK,CAACW,SAAS,CAAC;;;;EAKxG,MAAMC,aAAa,GAAIC,KAA+C;IAClE,IAAIA,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;MAC7CD,KAAK,CAACE,cAAc,EAAE;MACtB,MAAMC,QAAQ,GAAGH,KAAK,CAACC,GAAG,KAAK,KAAK,GAAGD,KAAK,CAACI,aAAa,CAACC,KAAK,CAACC,MAAM,GAAG,CAAC;MAC3EN,KAAK,CAACI,aAAa,CAACG,iBAAiB,CAACJ,QAAQ,EAAEA,QAAQ,CAAC;MACzDH,KAAK,CAACI,aAAa,CAACI,SAAS,GAAGR,KAAK,CAACC,GAAG,KAAK,KAAK,GAAGD,KAAK,CAACI,aAAa,CAACK,YAAY,GAAG,CAAC;;IAG9F,IAAIhB,SAAS,EAAE;MACXA,SAAS,CAACO,KAAK,CAAC;;GAEvB;EAED,oBAAOd,4CAAcQ,UAAU;IAAEI,SAAS,EAAEH,UAAU;iBAAY,UAAU;IAACF,SAAS,EAAEM,aAAa;IAAEX,GAAG,EAAEA;KAAO;AACvH,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sources":["../../../../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\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', {\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","running","motion","div","animate","onMouseEnter","pause","onMouseLeave","resume","getBadgeIcon","IconButton","appearance","icon","toasts","dismiss","onClick"],"mappings":";;;;;;;;MA4CaA,KAAK,
|
|
1
|
+
{"version":3,"file":"Toast.js","sources":["../../../../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\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', {\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,6EAA6E,EAAE;IAChG,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,OAAO,CAAO,eAC1CmB,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;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.js","sources":["../../../../../../../src/components/Toast/Toaster.tsx"],"sourcesContent":["import * as React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { ToastOptions, Toast, ToastProps, ToastContent } from './Toast';\nimport './Toast.css';\n\nconst DEFAULT_AUTO_CLOSE_TIMEOUT = 7500;\n\ntype ToastCreator<T> = (content: ToastContent | ((close: () => void) => ToastContent), options?: ToastOptions) => T;\n\nexport interface Toaster<T> extends ToastCreator<T> {\n success: ToastCreator<T>;\n error: ToastCreator<T>;\n warning: ToastCreator<T>;\n information: ToastCreator<T>;\n loading: ToastCreator<T>;\n}\n\nexport interface ToastReference {\n /** Show a success toast */\n success: ToastCreator<void>;\n /** Show an error toast */\n error: ToastCreator<void>;\n /** Show a warning toast */\n warning: ToastCreator<void>;\n /** Show an information toast */\n information: ToastCreator<void>;\n /** Show a loading toast */\n loading: ToastCreator<void>;\n /**\n * Close an existing toast.\n * The toast function returns a reference to the active toast,\n * allowing you to programmatically close it when needed\n */\n close: () => void;\n}\n\nconst ToastContext = React.createContext<Toaster<ToastReference>>({} as Toaster<ToastReference>);\n\nexport interface ToastProviderProps {\n children: React.ReactNode;\n}\n\ntype InternalToast = Omit<ToastProps, 'onClose'>;\n\nconst insertToastWithoutDuplicates = (\n currentToasts: InternalToast[],\n id: string,\n content: ToastContent,\n options: ToastOptions,\n close: () => void\n): InternalToast[] => {\n const nextToasts = [...currentToasts];\n const existingToastIndex = currentToasts.findIndex(toast => JSON.stringify(toast.content) === JSON.stringify(content));\n\n if (existingToastIndex > -1) {\n nextToasts[existingToastIndex].lastDuplicateId = id;\n nextToasts[existingToastIndex].lastUpdated = Date.now();\n } else {\n nextToasts.push({\n id,\n content: typeof content === 'function' ? content(close) : content,\n options,\n });\n }\n\n return nextToasts;\n};\n\nexport const ToastProvider = ({ children, ...props }: ToastProviderProps): JSX.Element => {\n const [toasts, setToasts] = React.useState<InternalToast[]>([]);\n\n const handleClose = (id: string): void => {\n setToasts(currentToasts => currentToasts.filter(toast => toast.id !== id));\n };\n\n // memoize (useCallback) this function,\n // it is the value of the context provider and we don't want it to trigger state tree re-renders on provider children\n const toaster = React.useCallback((content: ToastContent, options: ToastOptions): ToastReference => {\n const id = uuid();\n const close = (): void => handleClose(id);\n\n setToasts(currentToasts => insertToastWithoutDuplicates(currentToasts, id, content, options, close));\n\n const update = (content: ToastContent, options: ToastOptions): void => {\n setToasts(currentToasts => {\n const nextToasts = currentToasts.filter(toast => {\n if (toast.lastDuplicateId) {\n return toast.lastDuplicateId !== id;\n }\n\n return toast.id !== id;\n });\n return insertToastWithoutDuplicates(nextToasts, uuid(), content, options, close);\n });\n };\n\n const success = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n };\n const error = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'error' });\n };\n const warning = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'warning' });\n };\n const information = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'information' });\n };\n const loading = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'loading' });\n };\n\n return {\n success,\n error,\n warning,\n information,\n loading,\n close,\n };\n }, []) as Toaster<ToastReference>;\n\n // no need to rebind these every render, do them once in an effect\n React.useEffect(() => {\n toaster.success = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n toaster.error = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'error' });\n toaster.warning = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'warning' });\n toaster.information = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'information' });\n toaster.loading = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'loading' });\n }, []);\n\n return (\n <ToastContext.Provider {...props} value={toaster}>\n {children}\n <div\n id=\"yt-toast__container\"\n className=\"pointer-events-all absolute bottom-0 right-0 !left-auto z-[1000] mb-4 mr-4 flex max-w-md flex-col items-end justify-end\"\n role=\"log\">\n <AnimatePresence initial={false}>\n {toasts.map((toast: InternalToast) => (\n <motion.div\n key={toast.id}\n transition={{\n type: 'spring',\n damping: 20,\n stiffness: 300,\n }}\n initial={{ opacity: 0, y: 10, scale: 0.5 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, scale: 0.5, transition: { duration: 0.2 } }}>\n <Toast {...toast} onClose={() => handleClose(toast.id)} />\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = (): Toaster<ToastReference> => React.useContext(ToastContext);\n"],"names":["DEFAULT_AUTO_CLOSE_TIMEOUT","ToastContext","React","insertToastWithoutDuplicates","currentToasts","id","content","options","close","nextToasts","existingToastIndex","findIndex","toast","JSON","stringify","lastDuplicateId","lastUpdated","Date","now","push","ToastProvider","children","props","toasts","setToasts","handleClose","filter","toaster","uuid","update","success","autoClose","type","error","warning","information","loading","Provider","value","className","role","AnimatePresence","initial","map","motion","div","key","transition","damping","stiffness","opacity","y","scale","animate","exit","duration","Toast","onClose","useToast"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Toaster.js","sources":["../../../../../../../src/components/Toast/Toaster.tsx"],"sourcesContent":["import * as React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { ToastOptions, Toast, ToastProps, ToastContent } from './Toast';\nimport './Toast.css';\n\nconst DEFAULT_AUTO_CLOSE_TIMEOUT = 7500;\n\ntype ToastCreator<T> = (content: ToastContent | ((close: () => void) => ToastContent), options?: ToastOptions) => T;\n\nexport interface Toaster<T> extends ToastCreator<T> {\n success: ToastCreator<T>;\n error: ToastCreator<T>;\n warning: ToastCreator<T>;\n information: ToastCreator<T>;\n loading: ToastCreator<T>;\n}\n\nexport interface ToastReference {\n /** Show a success toast */\n success: ToastCreator<void>;\n /** Show an error toast */\n error: ToastCreator<void>;\n /** Show a warning toast */\n warning: ToastCreator<void>;\n /** Show an information toast */\n information: ToastCreator<void>;\n /** Show a loading toast */\n loading: ToastCreator<void>;\n /**\n * Close an existing toast.\n * The toast function returns a reference to the active toast,\n * allowing you to programmatically close it when needed\n */\n close: () => void;\n}\n\nconst ToastContext = React.createContext<Toaster<ToastReference>>({} as Toaster<ToastReference>);\n\nexport interface ToastProviderProps {\n children: React.ReactNode;\n}\n\ntype InternalToast = Omit<ToastProps, 'onClose'>;\n\nconst insertToastWithoutDuplicates = (\n currentToasts: InternalToast[],\n id: string,\n content: ToastContent,\n options: ToastOptions,\n close: () => void\n): InternalToast[] => {\n const nextToasts = [...currentToasts];\n const existingToastIndex = currentToasts.findIndex(toast => JSON.stringify(toast.content) === JSON.stringify(content));\n\n if (existingToastIndex > -1) {\n nextToasts[existingToastIndex].lastDuplicateId = id;\n nextToasts[existingToastIndex].lastUpdated = Date.now();\n } else {\n nextToasts.push({\n id,\n content: typeof content === 'function' ? content(close) : content,\n options,\n });\n }\n\n return nextToasts;\n};\n\nexport const ToastProvider = ({ children, ...props }: ToastProviderProps): JSX.Element => {\n const [toasts, setToasts] = React.useState<InternalToast[]>([]);\n\n const handleClose = (id: string): void => {\n setToasts(currentToasts => currentToasts.filter(toast => toast.id !== id));\n };\n\n // memoize (useCallback) this function,\n // it is the value of the context provider and we don't want it to trigger state tree re-renders on provider children\n const toaster = React.useCallback((content: ToastContent, options: ToastOptions): ToastReference => {\n const id = uuid();\n const close = (): void => handleClose(id);\n\n setToasts(currentToasts => insertToastWithoutDuplicates(currentToasts, id, content, options, close));\n\n const update = (content: ToastContent, options: ToastOptions): void => {\n setToasts(currentToasts => {\n const nextToasts = currentToasts.filter(toast => {\n if (toast.lastDuplicateId) {\n return toast.lastDuplicateId !== id;\n }\n\n return toast.id !== id;\n });\n return insertToastWithoutDuplicates(nextToasts, uuid(), content, options, close);\n });\n };\n\n const success = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n };\n const error = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'error' });\n };\n const warning = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'warning' });\n };\n const information = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'information' });\n };\n const loading = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'loading' });\n };\n\n return {\n success,\n error,\n warning,\n information,\n loading,\n close,\n };\n }, []) as Toaster<ToastReference>;\n\n // no need to rebind these every render, do them once in an effect\n React.useEffect(() => {\n toaster.success = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n toaster.error = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'error' });\n toaster.warning = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'warning' });\n toaster.information = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'information' });\n toaster.loading = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'loading' });\n }, []);\n\n return (\n <ToastContext.Provider {...props} value={toaster}>\n {children}\n <div\n id=\"yt-toast__container\"\n className=\"pointer-events-all absolute bottom-0 right-0 !left-auto z-[1000] mb-4 mr-4 flex max-w-md flex-col items-end justify-end\"\n role=\"log\">\n <AnimatePresence initial={false}>\n {toasts.map((toast: InternalToast) => (\n <motion.div\n key={toast.id}\n transition={{\n type: 'spring',\n damping: 20,\n stiffness: 300,\n }}\n initial={{ opacity: 0, y: 10, scale: 0.5 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, scale: 0.5, transition: { duration: 0.2 } }}>\n <Toast {...toast} onClose={() => handleClose(toast.id)} />\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = (): Toaster<ToastReference> => React.useContext(ToastContext);\n"],"names":["DEFAULT_AUTO_CLOSE_TIMEOUT","ToastContext","React","insertToastWithoutDuplicates","currentToasts","id","content","options","close","nextToasts","existingToastIndex","findIndex","toast","JSON","stringify","lastDuplicateId","lastUpdated","Date","now","push","ToastProvider","children","props","toasts","setToasts","handleClose","filter","toaster","uuid","update","success","autoClose","type","error","warning","information","loading","Provider","value","className","role","AnimatePresence","initial","map","motion","div","key","transition","damping","stiffness","opacity","y","scale","animate","exit","duration","Toast","onClose","useToast"],"mappings":";;;;;AAMA,MAAMA,0BAA0B,GAAG,IAAI;AA+BvC,MAAMC,YAAY,gBAAGC,aAAmB,CAA0B,EAA6B,CAAC;AAQhG,MAAMC,4BAA4B,GAAGA,CACjCC,aAA8B,EAC9BC,EAAU,EACVC,OAAqB,EACrBC,OAAqB,EACrBC,KAAiB;EAEjB,MAAMC,UAAU,GAAG,CAAC,GAAGL,aAAa,CAAC;EACrC,MAAMM,kBAAkB,GAAGN,aAAa,CAACO,SAAS,CAACC,KAAK,IAAIC,IAAI,CAACC,SAAS,CAACF,KAAK,CAACN,OAAO,CAAC,KAAKO,IAAI,CAACC,SAAS,CAACR,OAAO,CAAC,CAAC;EAEtH,IAAII,kBAAkB,GAAG,CAAC,CAAC,EAAE;IACzBD,UAAU,CAACC,kBAAkB,CAAC,CAACK,eAAe,GAAGV,EAAE;IACnDI,UAAU,CAACC,kBAAkB,CAAC,CAACM,WAAW,GAAGC,IAAI,CAACC,GAAG,EAAE;GAC1D,MAAM;IACHT,UAAU,CAACU,IAAI,CAAC;MACZd,EAAE;MACFC,OAAO,EAAE,OAAOA,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACE,KAAK,CAAC,GAAGF,OAAO;MACjEC;KACH,CAAC;;EAGN,OAAOE,UAAU;AACrB,CAAC;MAEYW,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;CAA2B;EACpE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGtB,QAAc,CAAkB,EAAE,CAAC;EAE/D,MAAMuB,WAAW,GAAIpB,EAAU;IAC3BmB,SAAS,CAACpB,aAAa,IAAIA,aAAa,CAACsB,MAAM,CAACd,KAAK,IAAIA,KAAK,CAACP,EAAE,KAAKA,EAAE,CAAC,CAAC;GAC7E;;;EAID,MAAMsB,OAAO,GAAGzB,WAAiB,CAAC,CAACI,OAAqB,EAAEC,OAAqB;IAC3E,MAAMF,EAAE,GAAGuB,EAAI,EAAE;IACjB,MAAMpB,KAAK,GAAGA,MAAYiB,WAAW,CAACpB,EAAE,CAAC;IAEzCmB,SAAS,CAACpB,aAAa,IAAID,4BAA4B,CAACC,aAAa,EAAEC,EAAE,EAAEC,OAAO,EAAEC,OAAO,EAAEC,KAAK,CAAC,CAAC;IAEpG,MAAMqB,MAAM,GAAGA,CAACvB,OAAqB,EAAEC,OAAqB;MACxDiB,SAAS,CAACpB,aAAa;QACnB,MAAMK,UAAU,GAAGL,aAAa,CAACsB,MAAM,CAACd,KAAK;UACzC,IAAIA,KAAK,CAACG,eAAe,EAAE;YACvB,OAAOH,KAAK,CAACG,eAAe,KAAKV,EAAE;;UAGvC,OAAOO,KAAK,CAACP,EAAE,KAAKA,EAAE;SACzB,CAAC;QACF,OAAOF,4BAA4B,CAACM,UAAU,EAAEmB,EAAI,EAAE,EAAEtB,OAAO,EAAEC,OAAO,EAAEC,KAAK,CAAC;OACnF,CAAC;KACL;IAED,MAAMsB,OAAO,GAAGA,CAACxB,OAAqB,EAAEC,OAAoC;MACxEsB,MAAM,CAACvB,OAAO,EAAE;QAAEyB,SAAS,EAAE/B,0BAA0B;QAAE,GAAGO,OAAO;QAAEyB,IAAI,EAAE;OAAW,CAAC;KAC1F;IACD,MAAMC,KAAK,GAAGA,CAAC3B,OAAqB,EAAEC,OAAoC;MACtEsB,MAAM,CAACvB,OAAO,EAAE;QAAE,GAAGC,OAAO;QAAEyB,IAAI,EAAE;OAAS,CAAC;KACjD;IACD,MAAME,OAAO,GAAGA,CAAC5B,OAAqB,EAAEC,OAAoC;MACxEsB,MAAM,CAACvB,OAAO,EAAE;QAAE,GAAGC,OAAO;QAAEyB,IAAI,EAAE;OAAW,CAAC;KACnD;IACD,MAAMG,WAAW,GAAGA,CAAC7B,OAAqB,EAAEC,OAAoC;MAC5EsB,MAAM,CAACvB,OAAO,EAAE;QAAE,GAAGC,OAAO;QAAEyB,IAAI,EAAE;OAAe,CAAC;KACvD;IACD,MAAMI,OAAO,GAAGA,CAAC9B,OAAqB,EAAEC,OAAoC;MACxEsB,MAAM,CAACvB,OAAO,EAAE;QAAE,GAAGC,OAAO;QAAEyB,IAAI,EAAE;OAAW,CAAC;KACnD;IAED,OAAO;MACHF,OAAO;MACPG,KAAK;MACLC,OAAO;MACPC,WAAW;MACXC,OAAO;MACP5B;KACH;GACJ,EAAE,EAAE,CAA4B;;EAGjCN,SAAe,CAAC;IACZyB,OAAO,CAACG,OAAO,GAAG,CAACxB,OAAqB,EAAEC,OAAoC,KAC1EoB,OAAO,CAACrB,OAAO,EAAE;MAAEyB,SAAS,EAAE/B,0BAA0B;MAAE,GAAGO,OAAO;MAAEyB,IAAI,EAAE;KAAW,CAAC;IAC5FL,OAAO,CAACM,KAAK,GAAG,CAAC3B,OAAqB,EAAEC,OAAoC,KACxEoB,OAAO,CAACrB,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEyB,IAAI,EAAE;KAAS,CAAC;IACnDL,OAAO,CAACO,OAAO,GAAG,CAAC5B,OAAqB,EAAEC,OAAoC,KAC1EoB,OAAO,CAACrB,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEyB,IAAI,EAAE;KAAW,CAAC;IACrDL,OAAO,CAACQ,WAAW,GAAG,CAAC7B,OAAqB,EAAEC,OAAoC,KAC9EoB,OAAO,CAACrB,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEyB,IAAI,EAAE;KAAe,CAAC;IACzDL,OAAO,CAACS,OAAO,GAAG,CAAC9B,OAAqB,EAAEC,OAAoC,KAC1EoB,OAAO,CAACrB,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEyB,IAAI,EAAE;KAAW,CAAC;GACxD,EAAE,EAAE,CAAC;EAEN,oBACI9B,cAACD,YAAY,CAACoC,QAAQ,oBAAKf,KAAK;IAAEgB,KAAK,EAAEX;MACpCN,QAAQ,eACTnB;IACIG,EAAE,EAAC,qBAAqB;IACxBkC,SAAS,EAAC,yHAAyH;IACnIC,IAAI,EAAC;kBACLtC,cAACuC,eAAe;IAACC,OAAO,EAAE;KACrBnB,MAAM,CAACoB,GAAG,CAAE/B,KAAoB,iBAC7BV,cAAC0C,MAAM,CAACC,GAAG;IACPC,GAAG,EAAElC,KAAK,CAACP,EAAE;IACb0C,UAAU,EAAE;MACRf,IAAI,EAAE,QAAQ;MACdgB,OAAO,EAAE,EAAE;MACXC,SAAS,EAAE;KACd;IACDP,OAAO,EAAE;MAAEQ,OAAO,EAAE,CAAC;MAAEC,CAAC,EAAE,EAAE;MAAEC,KAAK,EAAE;KAAK;IAC1CC,OAAO,EAAE;MAAEH,OAAO,EAAE,CAAC;MAAEC,CAAC,EAAE,CAAC;MAAEC,KAAK,EAAE;KAAG;IACvCE,IAAI,EAAE;MAAEJ,OAAO,EAAE,CAAC;MAAEE,KAAK,EAAE,GAAG;MAAEL,UAAU,EAAE;QAAEQ,QAAQ,EAAE;;;kBACxDrD,cAACsD,KAAK,oBAAK5C,KAAK;IAAE6C,OAAO,EAAEA,MAAMhC,WAAW,CAACb,KAAK,CAACP,EAAE;KAAK,CAEjE,CAAC,CACY,CAChB,CACc;AAEhC;MAEaqD,QAAQ,GAAGA,MAA+BxD,UAAgB,CAACD,YAAY;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../../../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport cn from 'classnames';\n\nexport type TooltipProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> & {\n /** The element which activates the tooltip when hovered. Should be a single React/HTML element */\n children: React.ReactElement | any;\n /** Text displayed in the tooltip */\n title: string | JSX.Element;\n /**\n * Placement of the tooltip relative to the reference element. Placement will be reversed if a collision occurs\n * @defaultValue bottom\n */\n placement?: 'top' | 'right' | 'bottom' | 'left';\n};\n\nexport const Tooltip = React.forwardRef(function Tooltip(props: TooltipProps, ref: React.Ref<HTMLElement>) {\n const { title, children, placement, ...otherProps } = props;\n const className = cn(otherProps.className);\n\n return (\n <TooltipPrimitive.Root delayDuration={250}>\n <TooltipPrimitive.Trigger asChild ref={ref as any}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content {...otherProps} asChild className={className} side={placement} sideOffset={3}>\n <div\n className=\"xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white\"\n data-taco=\"tooltip\"\n style={{\n transformOrigin: 'var(--radix-tooltip-content-transform-origin)',\n }}>\n <TooltipPrimitive.Arrow className=\"-mt-px fill-blue-900/90 stroke-blue-900/90\" />\n {title}\n </div>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n});\n"],"names":["Tooltip","React","props","ref","title","children","placement","otherProps","className","cn","TooltipPrimitive","delayDuration","asChild","side","sideOffset","style","transformOrigin"],"mappings":";;;;MAgBaA,OAAO,gBAAGC,UAAgB,CAAC,SAASD,
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":["../../../../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport cn from 'classnames';\n\nexport type TooltipProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> & {\n /** The element which activates the tooltip when hovered. Should be a single React/HTML element */\n children: React.ReactElement | any;\n /** Text displayed in the tooltip */\n title: string | JSX.Element;\n /**\n * Placement of the tooltip relative to the reference element. Placement will be reversed if a collision occurs\n * @defaultValue bottom\n */\n placement?: 'top' | 'right' | 'bottom' | 'left';\n};\n\nexport const Tooltip = React.forwardRef(function Tooltip(props: TooltipProps, ref: React.Ref<HTMLElement>) {\n const { title, children, placement, ...otherProps } = props;\n const className = cn(otherProps.className);\n\n return (\n <TooltipPrimitive.Root delayDuration={250}>\n <TooltipPrimitive.Trigger asChild ref={ref as any}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content {...otherProps} asChild className={className} side={placement} sideOffset={3}>\n <div\n className=\"xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white\"\n data-taco=\"tooltip\"\n style={{\n transformOrigin: 'var(--radix-tooltip-content-transform-origin)',\n }}>\n <TooltipPrimitive.Arrow className=\"-mt-px fill-blue-900/90 stroke-blue-900/90\" />\n {title}\n </div>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n});\n"],"names":["Tooltip","React","props","ref","title","children","placement","otherProps","className","cn","TooltipPrimitive","delayDuration","asChild","side","sideOffset","style","transformOrigin"],"mappings":";;;;MAgBaA,OAAO,gBAAGC,UAAgB,CAAC,SAASD,OAAOA,CAACE,KAAmB,EAAEC,GAA2B;EACrG,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAC3D,MAAMM,SAAS,GAAGC,EAAE,CAACF,UAAU,CAACC,SAAS,CAAC;EAE1C,oBACIP,cAACS,IAAqB;IAACC,aAAa,EAAE;kBAClCV,cAACS,OAAwB;IAACE,OAAO;IAACT,GAAG,EAAEA;KAClCE,QAAQ,CACc,eAC3BJ,cAACS,MAAuB,qBACpBT,cAACS,OAAwB,oBAAKH,UAAU;IAAEK,OAAO;IAACJ,SAAS,EAAEA,SAAS;IAAEK,IAAI,EAAEP,SAAS;IAAEQ,UAAU,EAAE;mBACjGb;IACIO,SAAS,EAAC,8IAA8I;iBAC9I,SAAS;IACnBO,KAAK,EAAE;MACHC,eAAe,EAAE;;kBAErBf,cAACS,KAAsB;IAACF,SAAS,EAAC;IAA+C,EAChFJ,KAAK,CACJ,CACiB,CACL,CACN;AAEhC,CAAC;;;;"}
|