@economic/taco 1.15.0 → 1.15.1
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/README.md +82 -82
- package/dist/components/AlertDialog/components/Content.d.ts +1 -1
- package/dist/components/Calendar/Calendar.d.ts +1 -1
- package/dist/components/Calendar/Calendar.stories.d.ts +1 -1
- package/dist/components/Datepicker/Datepicker.d.ts +1 -1
- package/dist/components/Datepicker/Datepicker.stories.d.ts +1 -1
- package/dist/components/Dialog/components/Content.d.ts +1 -1
- package/dist/components/Dialog/components/Drawer.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts +2 -2
- package/dist/components/IconButton/IconButton.stories.d.ts +1 -1
- package/dist/components/Listbox/Listbox.d.ts +2 -2
- package/dist/components/Listbox/Listbox.stories.d.ts +1 -1
- package/dist/components/Listbox/ScrollableList.d.ts +1 -1
- package/dist/components/Menu/components/Checkbox.d.ts +1 -1
- package/dist/components/Menu/components/Content.d.ts +1 -1
- package/dist/components/Menu/components/Item.d.ts +1 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Menu/components/Trigger.d.ts +1 -1
- package/dist/components/SearchInput/SearchInput.d.ts +1 -1
- package/dist/components/SearchInput/SearchInput.stories.d.ts +1 -1
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.stories.d.ts +1 -1
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Trigger.d.ts +1 -1
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/esm/index.css +190 -190
- 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/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/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/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/Drawer.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/Hanger/Hanger.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/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/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/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/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/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/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/Spinner.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/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/Zoom.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/index.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/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/util.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/RadioGroup.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/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/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/Provider/Provider.js.map +1 -1
- package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/packages/taco/src/components/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.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/Collection.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/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/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/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/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/Tag/Tag.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/Toast/util.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/hooks/useBoundingClientRectListener.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useId.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useIsFormControl.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useMergedRef.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/usePrevious.js.map +1 -1
- package/dist/esm/packages/taco/src/index.js +1 -1
- package/dist/esm/packages/taco/src/primitives/BubbleSelect.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/utils/aria.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/colors.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/device.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useDropTarget.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/input.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/mergeRefs.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/taillwind.js.map +1 -1
- package/dist/index.css +190 -190
- package/dist/taco.cjs.development.js +47 -47
- 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/plugins/tailwindcss-aria-attributes.js +73 -73
- package/tailwind.config.js +284 -284
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Tour.js","sources":["../../../../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Provider';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.key === 'Escape' && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute top-0 right-0 mt-1 mr-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n /** The scroll distance from the element scrollTop value. */\n scrollOffset?: number;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n scrollOffset,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n function callback(state: CallBackProps) {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n }\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n scrollOffset={scrollOffset}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.light\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","key","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","texts","tour","useLocalization","autoStart","run","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","scrollOffset","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Tour.js","sources":["../../../../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\r\n\r\nimport { Button } from '../Button/Button';\r\nimport { Group } from '../Group/Group';\r\nimport { IconButton } from '../IconButton/IconButton';\r\nimport { useLocalization } from '../Provider/Provider';\r\n\r\nexport type TourTexts = {\r\n /** Text for back action button */\r\n back: string;\r\n /**\r\n * Text for close button.\r\n * This button is displayed if tour is not continuous - replacing the `Next` button.\r\n * It will pause the flow of the tour and close the tooltip\r\n */\r\n close: string;\r\n /**\r\n * Aria-label and title for close icon button in each step.\r\n * This button skips and completes the flow entirely\r\n */\r\n skip: string;\r\n /**\r\n * Text for last action button.\r\n * This button is displayed when user is on the last step of the tour\r\n */\r\n last: string;\r\n /**\r\n * Text for next action button.\r\n * This button is displayed if tour has more than one steps and is continuous\r\n */\r\n next: string;\r\n /** Aria label and title for beacon that will open the tour step */\r\n open: string;\r\n};\r\n\r\nexport type TourStepProps = {\r\n /** Content can be any valid react node, for e.g. a `div` */\r\n children: React.ReactNode;\r\n /** Define the position of the tour's popup relative to the element is presenting */\r\n position?: Placement;\r\n /** The css selector of the html element you want to include in a tour */\r\n selector: string;\r\n /**\r\n * Show beacon for step.\r\n * A beacon is a styled component which indicates the current element to be presented.\r\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\r\n */\r\n showBeacon?: boolean;\r\n /** Text displayed above the children/content of the popup */\r\n title: string;\r\n};\r\n\r\nconst Tooltip = ({\r\n continuous,\r\n index,\r\n isLastStep,\r\n step,\r\n backProps,\r\n primaryProps,\r\n skipProps,\r\n tooltipProps,\r\n size,\r\n locale,\r\n disableTourSkipOnEsc,\r\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\r\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\r\n\r\n React.useEffect(() => {\r\n const onWindowKeyDown = (event: KeyboardEvent): void => {\r\n if (!disableTourSkipOnEsc) {\r\n if (event.key === 'Escape' && skipButtonRef.current !== null) {\r\n event.preventDefault();\r\n skipButtonRef.current.click();\r\n return;\r\n }\r\n }\r\n };\r\n\r\n window.addEventListener('keydown', onWindowKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener('keydown', onWindowKeyDown);\r\n };\r\n }, []);\r\n\r\n return (\r\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\r\n <IconButton\r\n {...skipProps}\r\n ref={skipButtonRef}\r\n appearance=\"discrete\"\r\n icon=\"close\"\r\n title={locale.skip}\r\n aria-label={locale.skip}\r\n className=\"absolute top-0 right-0 mt-1 mr-1\"\r\n />\r\n {step.title && <h5>{step.title}</h5>}\r\n {step.content}\r\n <Group className=\"mt-4 justify-end\">\r\n {index > 0 && (\r\n <Button {...backProps} appearance=\"discrete\">\r\n {locale.back}\r\n </Button>\r\n )}\r\n <Button {...primaryProps} appearance=\"primary\">\r\n {continuous\r\n ? isLastStep\r\n ? `${locale.last} (${index + 1}/${size})`\r\n : `${locale.next} (${index + 1}/${size})`\r\n : locale.close}\r\n </Button>\r\n </Group>\r\n </div>\r\n );\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nexport const TourStep = (_props: TourStepProps): null => null;\r\n\r\nexport type TourProps = {\r\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\r\n autoStart?: boolean;\r\n /** Children should be one or more `Tour.Step` components */\r\n children: any;\r\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\r\n continuous?: boolean;\r\n /** Disable closing of tour when click on `Escape` */\r\n disableCloseOnEsc?: boolean;\r\n /** Don't close the presenting popup of the tour step when clicking outside it */\r\n disableOverlayClose?: boolean;\r\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\r\n disableScrolling?: boolean;\r\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\r\n onClose?: (step: TourStepProps) => void;\r\n /* When user completes the entire flow */\r\n onComplete?: Function;\r\n /** When step is ready */\r\n onReady?: (step: TourStepProps) => void;\r\n /* Allow mouse and touch events through the spotlight */\r\n spotlightClicks?: boolean;\r\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\r\n disableScrollParentFix?: boolean;\r\n /** The scroll distance from the element scrollTop value. */\r\n scrollOffset?: number;\r\n};\r\n\r\nexport const Tour = (props: TourProps) => {\r\n const {\r\n texts: { tour },\r\n } = useLocalization();\r\n\r\n const {\r\n autoStart: run,\r\n onComplete,\r\n onClose,\r\n onReady,\r\n spotlightClicks,\r\n disableCloseOnEsc: disableTourSkipOnEsc,\r\n disableScrollParentFix = false,\r\n scrollOffset,\r\n ...rest\r\n } = props;\r\n\r\n const steps = React.useMemo(() => {\r\n return React.Children.map(props.children, child => {\r\n const step: Step = {\r\n disableBeacon: !child.props.showBeacon,\r\n target: child.props.selector,\r\n placement: child.props.position,\r\n title: child.props.title,\r\n content: child.props.children,\r\n };\r\n return step;\r\n });\r\n }, [props.children]);\r\n\r\n const getStep = React.useCallback(\r\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\r\n [props.children]\r\n );\r\n\r\n function callback(state: CallBackProps) {\r\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\r\n if (onClose) {\r\n onClose(getStep(state.step.target));\r\n }\r\n }\r\n\r\n if (state.type === EVENTS.TOUR_END) {\r\n if (onComplete) {\r\n onComplete();\r\n }\r\n }\r\n\r\n if (state.lifecycle === LIFECYCLE.READY) {\r\n if (onReady) {\r\n onReady(getStep(state.step.target));\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <Joyride\r\n {...rest}\r\n run={run}\r\n steps={steps}\r\n showProgress\r\n floaterProps={{\r\n disableAnimation: true,\r\n }}\r\n tooltipComponent={tooltipProps => (\r\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\r\n )}\r\n locale={tour}\r\n spotlightPadding={8}\r\n spotlightClicks={spotlightClicks}\r\n disableScrollParentFix={disableScrollParentFix}\r\n callback={callback}\r\n scrollOffset={scrollOffset}\r\n styles={{\r\n /** style beacon */\r\n options: {\r\n // tailwind.theme.colors.blue.light\r\n primaryColor: '#6ba4ff',\r\n },\r\n }}\r\n disableCloseOnEsc\r\n />\r\n );\r\n};\r\n\r\nTour.Step = TourStep;\r\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","key","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","texts","tour","useLocalization","autoStart","run","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","scrollOffset","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useBoundingClientRectListener.js","sources":["../../../../../../src/hooks/useBoundingClientRectListener.ts"],"sourcesContent":["import * as React from 'react';\nimport { debounce } from '../utils/debounce';\n\nconst getVisibility = (element: HTMLElement | null): boolean =>\n Boolean(element && (element.offsetWidth || element.offsetHeight || element.getClientRects().length));\n\nexport const useBoundingClientRectListener = (\n ref: React.RefObject<HTMLElement>,\n dependencies?: Array<any>\n): DOMRectReadOnly | undefined => {\n const [dimensions, setDimensions] = React.useState<DOMRectReadOnly | undefined>(undefined);\n const isRefElementVisible = getVisibility(ref.current);\n const [visibility, setVisibility] = React.useState(isRefElementVisible);\n\n const resize = () => {\n if (visibility) {\n setDimensions(ref.current?.getBoundingClientRect());\n }\n };\n\n React.useEffect(() => {\n const timeout = setTimeout(resize, 0);\n const debouncedResize = debounce(resize, 250);\n\n window.addEventListener('resize', debouncedResize);\n\n return () => {\n clearTimeout(timeout);\n window.removeEventListener('resize', debouncedResize);\n };\n }, [ref.current, visibility]);\n\n React.useEffect(() => {\n const newRefElementVisibility = getVisibility(ref.current);\n\n if (visibility !== newRefElementVisibility) {\n // When visibility of an element changes, then the new visibility of the element can only be checked after the\n // component has rendered. That's why the visibility check is inside the useEffect. This useEffect will cause\n // the consumer to rerender and that will cause the above hook to recalculate the dimensions\n setVisibility(newRefElementVisibility);\n }\n });\n\n React.useEffect(() => {\n if (dependencies) {\n setDimensions(ref.current?.getBoundingClientRect());\n }\n }, dependencies);\n\n return dimensions;\n};\n"],"names":["getVisibility","element","Boolean","offsetWidth","offsetHeight","getClientRects","length","useBoundingClientRectListener","ref","dependencies","dimensions","setDimensions","React","undefined","isRefElementVisible","current","visibility","setVisibility","resize","getBoundingClientRect","timeout","setTimeout","debouncedResize","debounce","window","addEventListener","clearTimeout","removeEventListener","newRefElementVisibility"],"mappings":";;;AAGA,MAAMA,aAAa,GAAIC,OAA2B,IAC9CC,OAAO,CAACD,OAAO,KAAKA,OAAO,CAACE,WAAW,IAAIF,OAAO,CAACG,YAAY,IAAIH,OAAO,CAACI,cAAc,EAAE,CAACC,MAAM,CAAC,CAAC;MAE3FC,6BAA6B,GAAG,CACzCC,GAAiC,EACjCC,YAAyB;EAEzB,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,QAAc,CAA8BC,SAAS,CAAC;EAC1F,MAAMC,mBAAmB,GAAGd,aAAa,CAACQ,GAAG,CAACO,OAAO,CAAC;EACtD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGL,QAAc,CAACE,mBAAmB,CAAC;EAEvE,MAAMI,MAAM,GAAG;IACX,IAAIF,UAAU,EAAE;MAAA;MACZL,aAAa,iBAACH,GAAG,CAACO,OAAO,iDAAX,aAAaI,qBAAqB,EAAE,CAAC;;GAE1D;EAEDP,SAAe,CAAC;IACZ,MAAMQ,OAAO,GAAGC,UAAU,CAACH,MAAM,EAAE,CAAC,CAAC;IACrC,MAAMI,eAAe,GAAGC,QAAQ,CAACL,MAAM,EAAE,GAAG,CAAC;IAE7CM,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEH,eAAe,CAAC;IAElD,OAAO;MACHI,YAAY,CAACN,OAAO,CAAC;MACrBI,MAAM,CAACG,mBAAmB,CAAC,QAAQ,EAAEL,eAAe,CAAC;KACxD;GACJ,EAAE,CAACd,GAAG,CAACO,OAAO,EAAEC,UAAU,CAAC,CAAC;EAE7BJ,SAAe,CAAC;IACZ,MAAMgB,uBAAuB,GAAG5B,aAAa,CAACQ,GAAG,CAACO,OAAO,CAAC;IAE1D,IAAIC,UAAU,KAAKY,uBAAuB,EAAE;;;;MAIxCX,aAAa,CAACW,uBAAuB,CAAC;;GAE7C,CAAC;EAEFhB,SAAe,CAAC;IACZ,IAAIH,YAAY,EAAE;MAAA;MACdE,aAAa,kBAACH,GAAG,CAACO,OAAO,kDAAX,cAAaI,qBAAqB,EAAE,CAAC;;GAE1D,EAAEV,YAAY,CAAC;EAEhB,OAAOC,UAAU;AACrB;;;;"}
|
1
|
+
{"version":3,"file":"useBoundingClientRectListener.js","sources":["../../../../../../src/hooks/useBoundingClientRectListener.ts"],"sourcesContent":["import * as React from 'react';\r\nimport { debounce } from '../utils/debounce';\r\n\r\nconst getVisibility = (element: HTMLElement | null): boolean =>\r\n Boolean(element && (element.offsetWidth || element.offsetHeight || element.getClientRects().length));\r\n\r\nexport const useBoundingClientRectListener = (\r\n ref: React.RefObject<HTMLElement>,\r\n dependencies?: Array<any>\r\n): DOMRectReadOnly | undefined => {\r\n const [dimensions, setDimensions] = React.useState<DOMRectReadOnly | undefined>(undefined);\r\n const isRefElementVisible = getVisibility(ref.current);\r\n const [visibility, setVisibility] = React.useState(isRefElementVisible);\r\n\r\n const resize = () => {\r\n if (visibility) {\r\n setDimensions(ref.current?.getBoundingClientRect());\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n const timeout = setTimeout(resize, 0);\r\n const debouncedResize = debounce(resize, 250);\r\n\r\n window.addEventListener('resize', debouncedResize);\r\n\r\n return () => {\r\n clearTimeout(timeout);\r\n window.removeEventListener('resize', debouncedResize);\r\n };\r\n }, [ref.current, visibility]);\r\n\r\n React.useEffect(() => {\r\n const newRefElementVisibility = getVisibility(ref.current);\r\n\r\n if (visibility !== newRefElementVisibility) {\r\n // When visibility of an element changes, then the new visibility of the element can only be checked after the\r\n // component has rendered. That's why the visibility check is inside the useEffect. This useEffect will cause\r\n // the consumer to rerender and that will cause the above hook to recalculate the dimensions\r\n setVisibility(newRefElementVisibility);\r\n }\r\n });\r\n\r\n React.useEffect(() => {\r\n if (dependencies) {\r\n setDimensions(ref.current?.getBoundingClientRect());\r\n }\r\n }, dependencies);\r\n\r\n return dimensions;\r\n};\r\n"],"names":["getVisibility","element","Boolean","offsetWidth","offsetHeight","getClientRects","length","useBoundingClientRectListener","ref","dependencies","dimensions","setDimensions","React","undefined","isRefElementVisible","current","visibility","setVisibility","resize","getBoundingClientRect","timeout","setTimeout","debouncedResize","debounce","window","addEventListener","clearTimeout","removeEventListener","newRefElementVisibility"],"mappings":";;;AAGA,MAAMA,aAAa,GAAIC,OAA2B,IAC9CC,OAAO,CAACD,OAAO,KAAKA,OAAO,CAACE,WAAW,IAAIF,OAAO,CAACG,YAAY,IAAIH,OAAO,CAACI,cAAc,EAAE,CAACC,MAAM,CAAC,CAAC;MAE3FC,6BAA6B,GAAG,CACzCC,GAAiC,EACjCC,YAAyB;EAEzB,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,QAAc,CAA8BC,SAAS,CAAC;EAC1F,MAAMC,mBAAmB,GAAGd,aAAa,CAACQ,GAAG,CAACO,OAAO,CAAC;EACtD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGL,QAAc,CAACE,mBAAmB,CAAC;EAEvE,MAAMI,MAAM,GAAG;IACX,IAAIF,UAAU,EAAE;MAAA;MACZL,aAAa,iBAACH,GAAG,CAACO,OAAO,iDAAX,aAAaI,qBAAqB,EAAE,CAAC;;GAE1D;EAEDP,SAAe,CAAC;IACZ,MAAMQ,OAAO,GAAGC,UAAU,CAACH,MAAM,EAAE,CAAC,CAAC;IACrC,MAAMI,eAAe,GAAGC,QAAQ,CAACL,MAAM,EAAE,GAAG,CAAC;IAE7CM,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEH,eAAe,CAAC;IAElD,OAAO;MACHI,YAAY,CAACN,OAAO,CAAC;MACrBI,MAAM,CAACG,mBAAmB,CAAC,QAAQ,EAAEL,eAAe,CAAC;KACxD;GACJ,EAAE,CAACd,GAAG,CAACO,OAAO,EAAEC,UAAU,CAAC,CAAC;EAE7BJ,SAAe,CAAC;IACZ,MAAMgB,uBAAuB,GAAG5B,aAAa,CAACQ,GAAG,CAACO,OAAO,CAAC;IAE1D,IAAIC,UAAU,KAAKY,uBAAuB,EAAE;;;;MAIxCX,aAAa,CAACW,uBAAuB,CAAC;;GAE7C,CAAC;EAEFhB,SAAe,CAAC;IACZ,IAAIH,YAAY,EAAE;MAAA;MACdE,aAAa,kBAACH,GAAG,CAACO,OAAO,kDAAX,cAAaI,qBAAqB,EAAE,CAAC;;GAE1D,EAAEV,YAAY,CAAC;EAEhB,OAAOC,UAAU;AACrB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useId.js","sources":["../../../../../../src/hooks/useId.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid';\nimport React from 'react';\n\n// React 18 has this built-in, when we upgrade this hook should be removed and the uuid dependency should be removed\n\nexport const useId = (nativeId: string | undefined) => {\n return React.useMemo(() => nativeId ?? uuid(), []);\n};\n"],"names":["useId","nativeId","React","useMemo","uuid"],"mappings":";;;AAGA;MAEaA,KAAK,GAAIC,QAA4B;EAC9C,OAAOC,cAAK,CAACC,OAAO,CAAC,MAAMF,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIG,EAAI,EAAE,EAAE,EAAE,CAAC;AACtD;;;;"}
|
1
|
+
{"version":3,"file":"useId.js","sources":["../../../../../../src/hooks/useId.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid';\r\nimport React from 'react';\r\n\r\n// React 18 has this built-in, when we upgrade this hook should be removed and the uuid dependency should be removed\r\n\r\nexport const useId = (nativeId: string | undefined) => {\r\n return React.useMemo(() => nativeId ?? uuid(), []);\r\n};\r\n"],"names":["useId","nativeId","React","useMemo","uuid"],"mappings":";;;AAGA;MAEaA,KAAK,GAAIC,QAA4B;EAC9C,OAAOC,cAAK,CAACC,OAAO,CAAC,MAAMF,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIG,EAAI,EAAE,EAAE,EAAE,CAAC;AACtD;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useIsFormControl.js","sources":["../../../../../../src/hooks/useIsFormControl.ts"],"sourcesContent":["import * as React from 'react';\n\n// taken from radix\n// determines whether a given ref is a descendant of a form element\nexport const useIsFormControl = (ref: React.RefObject<HTMLElement>, reset: () => void) => {\n const [isFormControl, setIsFormControl] = React.useState(false);\n\n React.useEffect(() => {\n let formElement: HTMLFormElement | null;\n\n if (ref.current) {\n formElement = ref.current.closest('form');\n setIsFormControl(!!formElement);\n\n if (reset && formElement) {\n formElement.addEventListener('reset', reset);\n }\n\n ref.current.closest('form')?.addEventListener('reset', reset);\n }\n\n return () => {\n if (formElement) {\n formElement.removeEventListener('reset', reset);\n }\n };\n }, [ref]);\n\n return isFormControl;\n};\n"],"names":["useIsFormControl","ref","reset","isFormControl","setIsFormControl","React","formElement","current","closest","addEventListener","removeEventListener"],"mappings":";;AAEA;AACA;MACaA,gBAAgB,GAAG,CAACC,GAAiC,EAAEC,KAAiB;EACjF,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,QAAc,CAAC,KAAK,CAAC;EAE/DA,SAAe,CAAC;IACZ,IAAIC,WAAmC;IAEvC,IAAIL,GAAG,CAACM,OAAO,EAAE;MAAA;MACbD,WAAW,GAAGL,GAAG,CAACM,OAAO,CAACC,OAAO,CAAC,MAAM,CAAC;MACzCJ,gBAAgB,CAAC,CAAC,CAACE,WAAW,CAAC;MAE/B,IAAIJ,KAAK,IAAII,WAAW,EAAE;QACtBA,WAAW,CAACG,gBAAgB,CAAC,OAAO,EAAEP,KAAK,CAAC;;MAGhD,wBAAAD,GAAG,CAACM,OAAO,CAACC,OAAO,CAAC,MAAM,CAAC,yDAA3B,qBAA6BC,gBAAgB,CAAC,OAAO,EAAEP,KAAK,CAAC;;IAGjE,OAAO;MACH,IAAII,WAAW,EAAE;QACbA,WAAW,CAACI,mBAAmB,CAAC,OAAO,EAAER,KAAK,CAAC;;KAEtD;GACJ,EAAE,CAACD,GAAG,CAAC,CAAC;EAET,OAAOE,aAAa;AACxB;;;;"}
|
1
|
+
{"version":3,"file":"useIsFormControl.js","sources":["../../../../../../src/hooks/useIsFormControl.ts"],"sourcesContent":["import * as React from 'react';\r\n\r\n// taken from radix\r\n// determines whether a given ref is a descendant of a form element\r\nexport const useIsFormControl = (ref: React.RefObject<HTMLElement>, reset: () => void) => {\r\n const [isFormControl, setIsFormControl] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n let formElement: HTMLFormElement | null;\r\n\r\n if (ref.current) {\r\n formElement = ref.current.closest('form');\r\n setIsFormControl(!!formElement);\r\n\r\n if (reset && formElement) {\r\n formElement.addEventListener('reset', reset);\r\n }\r\n\r\n ref.current.closest('form')?.addEventListener('reset', reset);\r\n }\r\n\r\n return () => {\r\n if (formElement) {\r\n formElement.removeEventListener('reset', reset);\r\n }\r\n };\r\n }, [ref]);\r\n\r\n return isFormControl;\r\n};\r\n"],"names":["useIsFormControl","ref","reset","isFormControl","setIsFormControl","React","formElement","current","closest","addEventListener","removeEventListener"],"mappings":";;AAEA;AACA;MACaA,gBAAgB,GAAG,CAACC,GAAiC,EAAEC,KAAiB;EACjF,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,QAAc,CAAC,KAAK,CAAC;EAE/DA,SAAe,CAAC;IACZ,IAAIC,WAAmC;IAEvC,IAAIL,GAAG,CAACM,OAAO,EAAE;MAAA;MACbD,WAAW,GAAGL,GAAG,CAACM,OAAO,CAACC,OAAO,CAAC,MAAM,CAAC;MACzCJ,gBAAgB,CAAC,CAAC,CAACE,WAAW,CAAC;MAE/B,IAAIJ,KAAK,IAAII,WAAW,EAAE;QACtBA,WAAW,CAACG,gBAAgB,CAAC,OAAO,EAAEP,KAAK,CAAC;;MAGhD,wBAAAD,GAAG,CAACM,OAAO,CAACC,OAAO,CAAC,MAAM,CAAC,yDAA3B,qBAA6BC,gBAAgB,CAAC,OAAO,EAAEP,KAAK,CAAC;;IAGjE,OAAO;MACH,IAAII,WAAW,EAAE;QACbA,WAAW,CAACI,mBAAmB,CAAC,OAAO,EAAER,KAAK,CAAC;;KAEtD;GACJ,EAAE,CAACD,GAAG,CAAC,CAAC;EAET,OAAOE,aAAa;AACxB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useMergedRef.js","sources":["../../../../../../src/hooks/useMergedRef.ts"],"sourcesContent":["import React from 'react';\n\n// merges an external ref (optional) with an internal ref (required)\nexport const useMergedRef = <T extends HTMLElement>(ref: React.Ref<HTMLElement>): React.RefObject<T> => {\n const internalRef = React.useRef<T>(null);\n\n React.useEffect(() => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(internalRef.current);\n } else {\n (ref as React.MutableRefObject<HTMLElement | null>).current = internalRef.current;\n }\n }\n }, [ref]);\n\n return internalRef;\n};\n"],"names":["useMergedRef","ref","internalRef","React","useRef","useEffect","current"],"mappings":";;AAEA;MACaA,YAAY,GAA2BC,GAA2B;EAC3E,MAAMC,WAAW,GAAGC,cAAK,CAACC,MAAM,CAAI,IAAI,CAAC;EAEzCD,cAAK,CAACE,SAAS,CAAC;IACZ,IAAIJ,GAAG,EAAE;MACL,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC3BA,GAAG,CAACC,WAAW,CAACI,OAAO,CAAC;OAC3B,MAAM;QACFL,GAAkD,CAACK,OAAO,GAAGJ,WAAW,CAACI,OAAO;;;GAG5F,EAAE,CAACL,GAAG,CAAC,CAAC;EAET,OAAOC,WAAW;AACtB;;;;"}
|
1
|
+
{"version":3,"file":"useMergedRef.js","sources":["../../../../../../src/hooks/useMergedRef.ts"],"sourcesContent":["import React from 'react';\r\n\r\n// merges an external ref (optional) with an internal ref (required)\r\nexport const useMergedRef = <T extends HTMLElement>(ref: React.Ref<HTMLElement>): React.RefObject<T> => {\r\n const internalRef = React.useRef<T>(null);\r\n\r\n React.useEffect(() => {\r\n if (ref) {\r\n if (typeof ref === 'function') {\r\n ref(internalRef.current);\r\n } else {\r\n (ref as React.MutableRefObject<HTMLElement | null>).current = internalRef.current;\r\n }\r\n }\r\n }, [ref]);\r\n\r\n return internalRef;\r\n};\r\n"],"names":["useMergedRef","ref","internalRef","React","useRef","useEffect","current"],"mappings":";;AAEA;MACaA,YAAY,GAA2BC,GAA2B;EAC3E,MAAMC,WAAW,GAAGC,cAAK,CAACC,MAAM,CAAI,IAAI,CAAC;EAEzCD,cAAK,CAACE,SAAS,CAAC;IACZ,IAAIJ,GAAG,EAAE;MACL,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC3BA,GAAG,CAACC,WAAW,CAACI,OAAO,CAAC;OAC3B,MAAM;QACFL,GAAkD,CAACK,OAAO,GAAGJ,WAAW,CAACI,OAAO;;;GAG5F,EAAE,CAACL,GAAG,CAAC,CAAC;EAET,OAAOC,WAAW;AACtB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usePrevious.js","sources":["../../../../../../src/hooks/usePrevious.ts"],"sourcesContent":["import React from 'react';\n\n// taken from radix\nfunction usePreviousValue<T>(value: T) {\n // The ref object is a generic container whose current property is mutable ...\n // ... and can hold any value, similar to an instance property on a class\n const ref = React.useRef<T>(value);\n\n // Store current value in ref\n React.useEffect(() => {\n ref.current = value;\n }, [value]); // Only re-run if value changes\n\n // Return previous value (happens before update in useEffect above)\n return ref.current;\n}\n\nexport { usePreviousValue };\n"],"names":["usePreviousValue","value","ref","React","useRef","useEffect","current"],"mappings":";;AAEA;AACA,SAASA,gBAAgB,CAAIC,KAAQ;;;EAGjC,MAAMC,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAIH,KAAK,CAAC;;EAGlCE,cAAK,CAACE,SAAS,CAAC;IACZH,GAAG,CAACI,OAAO,GAAGL,KAAK;GACtB,EAAE,CAACA,KAAK,CAAC,CAAC,CAAC;;EAGZ,OAAOC,GAAG,CAACI,OAAO;AACtB;;;;"}
|
1
|
+
{"version":3,"file":"usePrevious.js","sources":["../../../../../../src/hooks/usePrevious.ts"],"sourcesContent":["import React from 'react';\r\n\r\n// taken from radix\r\nfunction usePreviousValue<T>(value: T) {\r\n // The ref object is a generic container whose current property is mutable ...\r\n // ... and can hold any value, similar to an instance property on a class\r\n const ref = React.useRef<T>(value);\r\n\r\n // Store current value in ref\r\n React.useEffect(() => {\r\n ref.current = value;\r\n }, [value]); // Only re-run if value changes\r\n\r\n // Return previous value (happens before update in useEffect above)\r\n return ref.current;\r\n}\r\n\r\nexport { usePreviousValue };\r\n"],"names":["usePreviousValue","value","ref","React","useRef","useEffect","current"],"mappings":";;AAEA;AACA,SAASA,gBAAgB,CAAIC,KAAQ;;;EAGjC,MAAMC,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAIH,KAAK,CAAC;;EAGlCE,cAAK,CAACE,SAAS,CAAC;IACZH,GAAG,CAACI,OAAO,GAAGL,KAAK;GACtB,EAAE,CAACA,KAAK,CAAC,CAAC,CAAC;;EAGZ,OAAOC,GAAG,CAACI,OAAO;AACtB;;;;"}
|
@@ -14,7 +14,6 @@ export { Spinner } from './components/Spinner/Spinner.js';
|
|
14
14
|
export { ToastProvider, useToast } from './components/Toast/Toaster.js';
|
15
15
|
export { Provider, defaultLocalisationTexts, useLocalization, useTaco } from './components/Provider/Provider.js';
|
16
16
|
export { Calendar } from './components/Calendar/Calendar.js';
|
17
|
-
export { Card } from './components/Card/Card.js';
|
18
17
|
export { Checkbox } from './components/Checkbox/Checkbox.js';
|
19
18
|
export { useMergedRef } from './hooks/useMergedRef.js';
|
20
19
|
export { Input } from './components/Input/Input.js';
|
@@ -54,4 +53,5 @@ export { Textarea } from './components/Textarea/Textarea.js';
|
|
54
53
|
export { Switch } from './components/Switch/Switch.js';
|
55
54
|
export { Tour, TourStep } from './components/Tour/Tour.js';
|
56
55
|
export { useOnClickOutside } from './utils/hooks/useOnClickOutside.js';
|
56
|
+
export { Card } from './components/Card/Card.js';
|
57
57
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BubbleSelect.js","sources":["../../../../../../src/primitives/BubbleSelect.tsx"],"sourcesContent":["import React from 'react';\nimport { usePreviousValue } from '../hooks/usePrevious';\n\n// taken from radix - https://github.com/radix-ui/primitives/blob/main/packages/react/select/src/Select.tsx#L1183-L1224\nexport const BubbleSelect = (props: React.SelectHTMLAttributes<HTMLSelectElement>) => {\n const { value, ...selectProps } = props;\n const ref = React.useRef<HTMLSelectElement>(null);\n const prevValue = usePreviousValue(value);\n\n // Bubble value change to parents (e.g form change event)\n React.useEffect(() => {\n const select = ref.current!;\n const descriptor = Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype, 'value') as PropertyDescriptor;\n const setValue = descriptor.set;\n\n if (prevValue !== value && setValue) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n const option: HTMLOptionElement | null = select.querySelector(`option[value='${v}']`);\n\n if (option) {\n option.selected = true;\n }\n });\n } else {\n setValue.call(select, value);\n }\n\n const event = new Event('change', { bubbles: true });\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n\n /**\n * We purposefully do not use `type=\"hidden\"` here otherwise forms that\n * wrap it will not be able to access its value via the FormData API.\n *\n * We purposefully do not add the `value` attribute here to allow the value\n * to be set programatically and bubble to any parent form `onChange` event.\n * Adding the `value` will cause React to consider the programatic\n * dispatch a duplicate and it will get swallowed.\n */\n return <select {...selectProps} defaultValue={value} ref={ref} style={{ display: 'none' }} />;\n};\n"],"names":["BubbleSelect","props","value","selectProps","ref","React","useRef","prevValue","usePreviousValue","useEffect","select","current","descriptor","Object","getOwnPropertyDescriptor","window","HTMLSelectElement","prototype","setValue","set","Array","isArray","forEach","v","option","querySelector","selected","call","event","Event","bubbles","dispatchEvent","defaultValue","style","display"],"mappings":";;;AAGA;MACaA,YAAY,GAAIC,KAAoD;EAC7E,MAAM;IAAEC,KAAK;IAAE,GAAGC;GAAa,GAAGF,KAAK;EACvC,MAAMG,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAoB,IAAI,CAAC;EACjD,MAAMC,SAAS,GAAGC,gBAAgB,CAACN,KAAK,CAAC;;EAGzCG,cAAK,CAACI,SAAS,CAAC;IACZ,MAAMC,MAAM,GAAGN,GAAG,CAACO,OAAQ;IAC3B,MAAMC,UAAU,GAAGC,MAAM,CAACC,wBAAwB,CAACC,MAAM,CAACC,iBAAiB,CAACC,SAAS,EAAE,OAAO,CAAuB;IACrH,MAAMC,QAAQ,GAAGN,UAAU,CAACO,GAAG;IAE/B,IAAIZ,SAAS,KAAKL,KAAK,IAAIgB,QAAQ,EAAE;MACjC,IAAIE,KAAK,CAACC,OAAO,CAACnB,KAAK,CAAC,EAAE;QACtBA,KAAK,CAACoB,OAAO,CAACC,CAAC;UACX,MAAMC,MAAM,GAA6Bd,MAAM,CAACe,aAAa,kBAAkBF,KAAK,CAAC;UAErF,IAAIC,MAAM,EAAE;YACRA,MAAM,CAACE,QAAQ,GAAG,IAAI;;SAE7B,CAAC;OACL,MAAM;QACHR,QAAQ,CAACS,IAAI,CAACjB,MAAM,EAAER,KAAK,CAAC;;MAGhC,MAAM0B,KAAK,GAAG,IAAIC,KAAK,CAAC,QAAQ,EAAE;QAAEC,OAAO,EAAE;OAAM,CAAC;MACpDpB,MAAM,CAACqB,aAAa,CAACH,KAAK,CAAC;;GAElC,EAAE,CAACrB,SAAS,EAAEL,KAAK,CAAC,CAAC;;;;;;;;;;EAWtB,oBAAOG,yDAAYF,WAAW;IAAE6B,YAAY,EAAE9B,KAAK;IAAEE,GAAG,EAAEA,GAAG;IAAE6B,KAAK,EAAE;MAAEC,OAAO,EAAE;;KAAY;AACjG;;;;"}
|
1
|
+
{"version":3,"file":"BubbleSelect.js","sources":["../../../../../../src/primitives/BubbleSelect.tsx"],"sourcesContent":["import React from 'react';\r\nimport { usePreviousValue } from '../hooks/usePrevious';\r\n\r\n// taken from radix - https://github.com/radix-ui/primitives/blob/main/packages/react/select/src/Select.tsx#L1183-L1224\r\nexport const BubbleSelect = (props: React.SelectHTMLAttributes<HTMLSelectElement>) => {\r\n const { value, ...selectProps } = props;\r\n const ref = React.useRef<HTMLSelectElement>(null);\r\n const prevValue = usePreviousValue(value);\r\n\r\n // Bubble value change to parents (e.g form change event)\r\n React.useEffect(() => {\r\n const select = ref.current!;\r\n const descriptor = Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype, 'value') as PropertyDescriptor;\r\n const setValue = descriptor.set;\r\n\r\n if (prevValue !== value && setValue) {\r\n if (Array.isArray(value)) {\r\n value.forEach(v => {\r\n const option: HTMLOptionElement | null = select.querySelector(`option[value='${v}']`);\r\n\r\n if (option) {\r\n option.selected = true;\r\n }\r\n });\r\n } else {\r\n setValue.call(select, value);\r\n }\r\n\r\n const event = new Event('change', { bubbles: true });\r\n select.dispatchEvent(event);\r\n }\r\n }, [prevValue, value]);\r\n\r\n /**\r\n * We purposefully do not use `type=\"hidden\"` here otherwise forms that\r\n * wrap it will not be able to access its value via the FormData API.\r\n *\r\n * We purposefully do not add the `value` attribute here to allow the value\r\n * to be set programatically and bubble to any parent form `onChange` event.\r\n * Adding the `value` will cause React to consider the programatic\r\n * dispatch a duplicate and it will get swallowed.\r\n */\r\n return <select {...selectProps} defaultValue={value} ref={ref} style={{ display: 'none' }} />;\r\n};\r\n"],"names":["BubbleSelect","props","value","selectProps","ref","React","useRef","prevValue","usePreviousValue","useEffect","select","current","descriptor","Object","getOwnPropertyDescriptor","window","HTMLSelectElement","prototype","setValue","set","Array","isArray","forEach","v","option","querySelector","selected","call","event","Event","bubbles","dispatchEvent","defaultValue","style","display"],"mappings":";;;AAGA;MACaA,YAAY,GAAIC,KAAoD;EAC7E,MAAM;IAAEC,KAAK;IAAE,GAAGC;GAAa,GAAGF,KAAK;EACvC,MAAMG,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAoB,IAAI,CAAC;EACjD,MAAMC,SAAS,GAAGC,gBAAgB,CAACN,KAAK,CAAC;;EAGzCG,cAAK,CAACI,SAAS,CAAC;IACZ,MAAMC,MAAM,GAAGN,GAAG,CAACO,OAAQ;IAC3B,MAAMC,UAAU,GAAGC,MAAM,CAACC,wBAAwB,CAACC,MAAM,CAACC,iBAAiB,CAACC,SAAS,EAAE,OAAO,CAAuB;IACrH,MAAMC,QAAQ,GAAGN,UAAU,CAACO,GAAG;IAE/B,IAAIZ,SAAS,KAAKL,KAAK,IAAIgB,QAAQ,EAAE;MACjC,IAAIE,KAAK,CAACC,OAAO,CAACnB,KAAK,CAAC,EAAE;QACtBA,KAAK,CAACoB,OAAO,CAACC,CAAC;UACX,MAAMC,MAAM,GAA6Bd,MAAM,CAACe,aAAa,kBAAkBF,KAAK,CAAC;UAErF,IAAIC,MAAM,EAAE;YACRA,MAAM,CAACE,QAAQ,GAAG,IAAI;;SAE7B,CAAC;OACL,MAAM;QACHR,QAAQ,CAACS,IAAI,CAACjB,MAAM,EAAER,KAAK,CAAC;;MAGhC,MAAM0B,KAAK,GAAG,IAAIC,KAAK,CAAC,QAAQ,EAAE;QAAEC,OAAO,EAAE;OAAM,CAAC;MACpDpB,MAAM,CAACqB,aAAa,CAACH,KAAK,CAAC;;GAElC,EAAE,CAACrB,SAAS,EAAEL,KAAK,CAAC,CAAC;;;;;;;;;;EAWtB,oBAAOG,yDAAYF,WAAW;IAAE6B,YAAY,EAAE9B,KAAK;IAAEE,GAAG,EAAEA,GAAG;IAAE6B,KAAK,EAAE;MAAEC,OAAO,EAAE;;KAAY;AACjG;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../../../../src/primitives/Button.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> & {\n /** Content should be a text */\n children: React.ReactNode;\n /** Provides url for buttons being used as a link */\n href?: string;\n /** Provides target for buttons being used as a link */\n target?: '_self' | '_blank' | '_parent' | '_top';\n};\n\nconst Button = React.forwardRef(function Button(props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) {\n const { disabled, target, type = 'button', ...otherProps } = props;\n\n const Tag = props.href ? 'a' : 'button';\n\n return (\n <Tag\n {...otherProps}\n aria-disabled={disabled ? 'true' : undefined}\n disabled={disabled}\n target={Tag === 'a' ? target : undefined}\n type={Tag !== 'a' ? type : undefined}\n ref={ref as any}>\n {React.Children.count(props.children) > 1\n ? React.Children.map(props.children, child => (typeof child === 'string' ? <span>{child}</span> : child))\n : props.children}\n </Tag>\n );\n});\n\nexport { Button };\nexport type { ButtonProps };\n"],"names":["Button","React","props","ref","disabled","target","type","otherProps","Tag","href","undefined","count","children","map","child"],"mappings":";;MAWMA,MAAM,gBAAGC,UAAgB,CAAC,SAASD,MAAM,CAACE,KAAkB,EAAEC,GAAqD;EACrH,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,IAAI,GAAG,QAAQ;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAElE,MAAMM,GAAG,GAAGN,KAAK,CAACO,IAAI,GAAG,GAAG,GAAG,QAAQ;EAEvC,oBACIR,cAACO,GAAG,oBACID,UAAU;qBACCH,QAAQ,GAAG,MAAM,GAAGM,SAAS;IAC5CN,QAAQ,EAAEA,QAAQ;IAClBC,MAAM,EAAEG,GAAG,KAAK,GAAG,GAAGH,MAAM,GAAGK,SAAS;IACxCJ,IAAI,EAAEE,GAAG,KAAK,GAAG,GAAGF,IAAI,GAAGI,SAAS;IACpCP,GAAG,EAAEA;MACJF,QAAc,CAACU,KAAK,CAACT,KAAK,CAACU,QAAQ,CAAC,GAAG,CAAC,GACnCX,QAAc,CAACY,GAAG,CAACX,KAAK,CAACU,QAAQ,EAAEE,KAAK,IAAK,OAAOA,KAAK,KAAK,QAAQ,gBAAGb,4BAAOa,KAAK,CAAQ,GAAGA,KAAM,CAAC,GACvGZ,KAAK,CAACU,QAAQ,CAClB;AAEd,CAAC;;;;"}
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../../../../src/primitives/Button.tsx"],"sourcesContent":["import * as React from 'react';\r\n\r\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> & {\r\n /** Content should be a text */\r\n children: React.ReactNode;\r\n /** Provides url for buttons being used as a link */\r\n href?: string;\r\n /** Provides target for buttons being used as a link */\r\n target?: '_self' | '_blank' | '_parent' | '_top';\r\n};\r\n\r\nconst Button = React.forwardRef(function Button(props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) {\r\n const { disabled, target, type = 'button', ...otherProps } = props;\r\n\r\n const Tag = props.href ? 'a' : 'button';\r\n\r\n return (\r\n <Tag\r\n {...otherProps}\r\n aria-disabled={disabled ? 'true' : undefined}\r\n disabled={disabled}\r\n target={Tag === 'a' ? target : undefined}\r\n type={Tag !== 'a' ? type : undefined}\r\n ref={ref as any}>\r\n {React.Children.count(props.children) > 1\r\n ? React.Children.map(props.children, child => (typeof child === 'string' ? <span>{child}</span> : child))\r\n : props.children}\r\n </Tag>\r\n );\r\n});\r\n\r\nexport { Button };\r\nexport type { ButtonProps };\r\n"],"names":["Button","React","props","ref","disabled","target","type","otherProps","Tag","href","undefined","count","children","map","child"],"mappings":";;MAWMA,MAAM,gBAAGC,UAAgB,CAAC,SAASD,MAAM,CAACE,KAAkB,EAAEC,GAAqD;EACrH,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,IAAI,GAAG,QAAQ;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAElE,MAAMM,GAAG,GAAGN,KAAK,CAACO,IAAI,GAAG,GAAG,GAAG,QAAQ;EAEvC,oBACIR,cAACO,GAAG,oBACID,UAAU;qBACCH,QAAQ,GAAG,MAAM,GAAGM,SAAS;IAC5CN,QAAQ,EAAEA,QAAQ;IAClBC,MAAM,EAAEG,GAAG,KAAK,GAAG,GAAGH,MAAM,GAAGK,SAAS;IACxCJ,IAAI,EAAEE,GAAG,KAAK,GAAG,GAAGF,IAAI,GAAGI,SAAS;IACpCP,GAAG,EAAEA;MACJF,QAAc,CAACU,KAAK,CAACT,KAAK,CAACU,QAAQ,CAAC,GAAG,CAAC,GACnCX,QAAc,CAACY,GAAG,CAACX,KAAK,CAACU,QAAQ,EAAEE,KAAK,IAAK,OAAOA,KAAK,KAAK,QAAQ,gBAAGb,4BAAOa,KAAK,CAAQ,GAAGA,KAAM,CAAC,GACvGZ,KAAK,CAACU,QAAQ,CAClB;AAEd,CAAC;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Root.js","sources":["../../../../../../../../src/primitives/Collection/components/Root.tsx"],"sourcesContent":["import React from 'react';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { isAriaDirectionKey } from '../../../utils/aria';\nimport { createCustomKeyboardEvent } from '../../../utils/input';\n\n/* This component provides a keyboard navigable collection primitive for use in lists\n * It is unlikely you need to edit this component\n */\n\nexport type CollectionProps = React.HTMLAttributes<HTMLDivElement> & {\n querySelector: string;\n};\n\nexport type CollectionRef = HTMLDivElement & {\n setActiveIndex: (option: HTMLDivElement) => void;\n};\n\nconst getOptionsFromCollection = (collection: HTMLDivElement, selector: string): NodeListOf<Element> =>\n collection.querySelectorAll(selector);\n\n// we use javascript to set attributes (rather than cloning children and adding them)\n// so that we can support nesting (e.g. groups) - child elements that aren't options.\n// without doing this we would have to unwrap and flatten all groups\nexport const Root = React.forwardRef<CollectionRef, CollectionProps>(function CollectionRoot(props, ref) {\n const { querySelector, tabIndex = 0, ...otherProps } = props;\n const internalRef = useMergedRef<CollectionRef>(ref);\n const [activeIndex, setActiveIndex] = React.useState<number | undefined>();\n const lastLengthRef = React.useRef(0);\n\n const setActiveOption = (index: number, collection: HTMLDivElement, option: Element) => {\n collection.querySelector(`[aria-current]`)?.removeAttribute('aria-current');\n option.setAttribute('aria-current', 'true');\n option.scrollIntoView({ block: 'nearest' });\n setActiveIndex(index);\n };\n\n const setActiveIndexByElement = React.useCallback(\n (option: HTMLDivElement) => {\n if (internalRef.current) {\n if (option.matches(querySelector)) {\n const options = getOptionsFromCollection(internalRef.current, querySelector);\n const nextActiveIndex = Array.from(options).indexOf(option);\n\n if (nextActiveIndex > -1) {\n setActiveOption(nextActiveIndex, internalRef.current, option);\n }\n }\n }\n },\n [internalRef.current, querySelector]\n );\n\n React.useEffect(() => {\n if (internalRef.current) {\n internalRef.current.setActiveIndex = setActiveIndexByElement;\n }\n }, [internalRef.current]);\n\n React.useEffect(() => {\n if (internalRef.current) {\n const options = getOptionsFromCollection(internalRef.current, querySelector);\n\n if (options.length && options.length !== lastLengthRef.current) {\n const selected = internalRef.current.querySelectorAll(`[aria-selected]`);\n\n if (selected.length === 1) {\n if (options) {\n const firstSelected = selected.item(0);\n const selectedIndex = Array.from(options).indexOf(firstSelected);\n\n if (selectedIndex > -1) {\n setActiveOption(selectedIndex, internalRef.current, firstSelected);\n }\n }\n } else {\n // multiple selected or none selected should go to 0\n setActiveOption(0, internalRef.current, options.item(0));\n }\n }\n\n lastLengthRef.current = options.length;\n }\n }, [props.children]);\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const option = event.target as HTMLElement;\n\n if (option.matches(querySelector)) {\n const options = getOptionsFromCollection(event.currentTarget, querySelector);\n const nextActiveIndex = Array.from(options).indexOf(option);\n\n if (nextActiveIndex > -1) {\n setActiveOption(nextActiveIndex, event.currentTarget, option);\n }\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n // this stops the event dispatched to the option rebounding back and starting an infinite loop\n if (event.target !== event.currentTarget) {\n return;\n }\n\n const options = getOptionsFromCollection(event.currentTarget, querySelector);\n\n if (options) {\n if (isAriaDirectionKey(event)) {\n const nextActiveIndex = getNextEnabledItem(event, options, activeIndex);\n\n if (nextActiveIndex !== undefined && nextActiveIndex !== activeIndex) {\n event.preventDefault();\n setActiveOption(nextActiveIndex, event.currentTarget, options.item(nextActiveIndex));\n }\n } else if (activeIndex !== undefined) {\n // forward events onto the underlying option - this lets consumers place onKeyDown handlers on their own components\n options\n .item(activeIndex)\n .dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n }\n }\n };\n\n return <div {...otherProps} onClick={handleClick} onKeyDown={handleKeyDown} ref={internalRef} tabIndex={tabIndex} />;\n});\n\nexport const getNextIndexFromKeycode = (\n event: React.KeyboardEvent,\n length: number,\n activeIndex: number | undefined\n): number | undefined => {\n switch (event.key) {\n case 'ArrowUp':\n return activeIndex === undefined ? length - 1 : activeIndex > 0 ? activeIndex - 1 : activeIndex;\n\n case 'ArrowDown':\n return activeIndex === undefined ? 0 : activeIndex < length - 1 ? activeIndex + 1 : activeIndex;\n\n case 'Home':\n return 0;\n\n case 'End':\n return length - 1;\n\n default:\n return;\n }\n};\n\nexport const getNextEnabledItem = (\n event: React.KeyboardEvent<HTMLElement>,\n options: NodeListOf<Element>,\n activeIndex: number | undefined,\n recurse = true\n): number | undefined => {\n const nextIndex = getNextIndexFromKeycode(event, options.length, activeIndex);\n\n if (nextIndex !== undefined) {\n if (nextIndex === activeIndex) {\n return activeIndex;\n } else if (options.item(nextIndex) && isSkippableItem(options.item(nextIndex))) {\n // check in the other direction if the first or last item is disabled,\n // but prevent infinite loops if all elements are disabled by disabling recursion\n if (recurse) {\n if (nextIndex === 0) {\n return getNextEnabledItem(\n new KeyboardEvent(event.type, { ...(event as any), key: 'ArrowDown' }) as any,\n options,\n nextIndex,\n false\n );\n } else if (nextIndex === options.length - 1) {\n return getNextEnabledItem(\n new KeyboardEvent(event.type, { ...(event as any), key: 'ArrowUp' }) as any,\n options,\n nextIndex,\n false\n );\n }\n }\n\n return getNextEnabledItem(event, options, nextIndex, recurse);\n }\n }\n\n return nextIndex;\n};\n\nconst isSkippableItem = (element: Element) => {\n return (\n element.getAttribute('role') === 'presentation' ||\n !!element.hasAttribute('disabled') ||\n !!element.getAttribute('aria-disabled') ||\n !!element.getAttribute('aria-hidden')\n );\n};\n"],"names":["getOptionsFromCollection","collection","selector","querySelectorAll","Root","React","forwardRef","CollectionRoot","props","ref","querySelector","tabIndex","otherProps","internalRef","useMergedRef","activeIndex","setActiveIndex","useState","lastLengthRef","useRef","setActiveOption","index","option","removeAttribute","setAttribute","scrollIntoView","block","setActiveIndexByElement","useCallback","current","matches","options","nextActiveIndex","Array","from","indexOf","useEffect","length","selected","firstSelected","item","selectedIndex","children","handleClick","event","target","currentTarget","handleKeyDown","isAriaDirectionKey","getNextEnabledItem","undefined","preventDefault","dispatchEvent","createCustomKeyboardEvent","onClick","onKeyDown","getNextIndexFromKeycode","key","recurse","nextIndex","isSkippableItem","KeyboardEvent","type","element","getAttribute","hasAttribute"],"mappings":";;;;;AAiBA,MAAMA,wBAAwB,GAAG,CAACC,UAA0B,EAAEC,QAAgB,KAC1ED,UAAU,CAACE,gBAAgB,CAACD,QAAQ,CAAC;AAEzC;AACA;AACA;MACaE,IAAI,gBAAGC,cAAK,CAACC,UAAU,CAAiC,SAASC,cAAc,CAACC,KAAK,EAAEC,GAAG;EACnG,MAAM;IAAEC,aAAa;IAAEC,QAAQ,GAAG,CAAC;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAC5D,MAAMK,WAAW,GAAGC,YAAY,CAAgBL,GAAG,CAAC;EACpD,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAGX,cAAK,CAACY,QAAQ,EAAsB;EAC1E,MAAMC,aAAa,GAAGb,cAAK,CAACc,MAAM,CAAC,CAAC,CAAC;EAErC,MAAMC,eAAe,GAAG,CAACC,KAAa,EAAEpB,UAA0B,EAAEqB,MAAe;;IAC/E,yBAAArB,UAAU,CAACS,aAAa,iBAAiB,CAAC,0DAA1C,sBAA4Ca,eAAe,CAAC,cAAc,CAAC;IAC3ED,MAAM,CAACE,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;IAC3CF,MAAM,CAACG,cAAc,CAAC;MAAEC,KAAK,EAAE;KAAW,CAAC;IAC3CV,cAAc,CAACK,KAAK,CAAC;GACxB;EAED,MAAMM,uBAAuB,GAAGtB,cAAK,CAACuB,WAAW,CAC5CN,MAAsB;IACnB,IAAIT,WAAW,CAACgB,OAAO,EAAE;MACrB,IAAIP,MAAM,CAACQ,OAAO,CAACpB,aAAa,CAAC,EAAE;QAC/B,MAAMqB,OAAO,GAAG/B,wBAAwB,CAACa,WAAW,CAACgB,OAAO,EAAEnB,aAAa,CAAC;QAC5E,MAAMsB,eAAe,GAAGC,KAAK,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,OAAO,CAACb,MAAM,CAAC;QAE3D,IAAIU,eAAe,GAAG,CAAC,CAAC,EAAE;UACtBZ,eAAe,CAACY,eAAe,EAAEnB,WAAW,CAACgB,OAAO,EAAEP,MAAM,CAAC;;;;GAI5E,EACD,CAACT,WAAW,CAACgB,OAAO,EAAEnB,aAAa,CAAC,CACvC;EAEDL,cAAK,CAAC+B,SAAS,CAAC;IACZ,IAAIvB,WAAW,CAACgB,OAAO,EAAE;MACrBhB,WAAW,CAACgB,OAAO,CAACb,cAAc,GAAGW,uBAAuB;;GAEnE,EAAE,CAACd,WAAW,CAACgB,OAAO,CAAC,CAAC;EAEzBxB,cAAK,CAAC+B,SAAS,CAAC;IACZ,IAAIvB,WAAW,CAACgB,OAAO,EAAE;MACrB,MAAME,OAAO,GAAG/B,wBAAwB,CAACa,WAAW,CAACgB,OAAO,EAAEnB,aAAa,CAAC;MAE5E,IAAIqB,OAAO,CAACM,MAAM,IAAIN,OAAO,CAACM,MAAM,KAAKnB,aAAa,CAACW,OAAO,EAAE;QAC5D,MAAMS,QAAQ,GAAGzB,WAAW,CAACgB,OAAO,CAAC1B,gBAAgB,kBAAkB,CAAC;QAExE,IAAImC,QAAQ,CAACD,MAAM,KAAK,CAAC,EAAE;UACvB,IAAIN,OAAO,EAAE;YACT,MAAMQ,aAAa,GAAGD,QAAQ,CAACE,IAAI,CAAC,CAAC,CAAC;YACtC,MAAMC,aAAa,GAAGR,KAAK,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,OAAO,CAACI,aAAa,CAAC;YAEhE,IAAIE,aAAa,GAAG,CAAC,CAAC,EAAE;cACpBrB,eAAe,CAACqB,aAAa,EAAE5B,WAAW,CAACgB,OAAO,EAAEU,aAAa,CAAC;;;SAG7E,MAAM;;UAEHnB,eAAe,CAAC,CAAC,EAAEP,WAAW,CAACgB,OAAO,EAAEE,OAAO,CAACS,IAAI,CAAC,CAAC,CAAC,CAAC;;;MAIhEtB,aAAa,CAACW,OAAO,GAAGE,OAAO,CAACM,MAAM;;GAE7C,EAAE,CAAC7B,KAAK,CAACkC,QAAQ,CAAC,CAAC;EAEpB,MAAMC,WAAW,GAAIC,KAAuC;IACxD,MAAMtB,MAAM,GAAGsB,KAAK,CAACC,MAAqB;IAE1C,IAAIvB,MAAM,CAACQ,OAAO,CAACpB,aAAa,CAAC,EAAE;MAC/B,MAAMqB,OAAO,GAAG/B,wBAAwB,CAAC4C,KAAK,CAACE,aAAa,EAAEpC,aAAa,CAAC;MAC5E,MAAMsB,eAAe,GAAGC,KAAK,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,OAAO,CAACb,MAAM,CAAC;MAE3D,IAAIU,eAAe,GAAG,CAAC,CAAC,EAAE;QACtBZ,eAAe,CAACY,eAAe,EAAEY,KAAK,CAACE,aAAa,EAAExB,MAAM,CAAC;;;GAGxE;EAED,MAAMyB,aAAa,GAAIH,KAA0C;;IAE7D,IAAIA,KAAK,CAACC,MAAM,KAAKD,KAAK,CAACE,aAAa,EAAE;MACtC;;IAGJ,MAAMf,OAAO,GAAG/B,wBAAwB,CAAC4C,KAAK,CAACE,aAAa,EAAEpC,aAAa,CAAC;IAE5E,IAAIqB,OAAO,EAAE;MACT,IAAIiB,kBAAkB,CAACJ,KAAK,CAAC,EAAE;QAC3B,MAAMZ,eAAe,GAAGiB,kBAAkB,CAACL,KAAK,EAAEb,OAAO,EAAEhB,WAAW,CAAC;QAEvE,IAAIiB,eAAe,KAAKkB,SAAS,IAAIlB,eAAe,KAAKjB,WAAW,EAAE;UAClE6B,KAAK,CAACO,cAAc,EAAE;UACtB/B,eAAe,CAACY,eAAe,EAAEY,KAAK,CAACE,aAAa,EAAEf,OAAO,CAACS,IAAI,CAACR,eAAe,CAAC,CAAC;;OAE3F,MAAM,IAAIjB,WAAW,KAAKmC,SAAS,EAAE;;QAElCnB,OAAO,CACFS,IAAI,CAACzB,WAAW,CAAC,CACjBqC,aAAa,CAACC,yBAAyB,CAACT,KAA8C,CAAC,CAAC;;;GAGxG;EAED,oBAAOvC,sDAASO,UAAU;IAAE0C,OAAO,EAAEX,WAAW;IAAEY,SAAS,EAAER,aAAa;IAAEtC,GAAG,EAAEI,WAAW;IAAEF,QAAQ,EAAEA;KAAY;AACxH,CAAC;MAEY6C,uBAAuB,GAAG,CACnCZ,KAA0B,EAC1BP,MAAc,EACdtB,WAA+B;EAE/B,QAAQ6B,KAAK,CAACa,GAAG;IACb,KAAK,SAAS;MACV,OAAO1C,WAAW,KAAKmC,SAAS,GAAGb,MAAM,GAAG,CAAC,GAAGtB,WAAW,GAAG,CAAC,GAAGA,WAAW,GAAG,CAAC,GAAGA,WAAW;IAEnG,KAAK,WAAW;MACZ,OAAOA,WAAW,KAAKmC,SAAS,GAAG,CAAC,GAAGnC,WAAW,GAAGsB,MAAM,GAAG,CAAC,GAAGtB,WAAW,GAAG,CAAC,GAAGA,WAAW;IAEnG,KAAK,MAAM;MACP,OAAO,CAAC;IAEZ,KAAK,KAAK;MACN,OAAOsB,MAAM,GAAG,CAAC;IAErB;MACI;;AAEZ;MAEaY,kBAAkB,GAAG,CAC9BL,KAAuC,EACvCb,OAA4B,EAC5BhB,WAA+B,EAC/B2C,OAAO,GAAG,IAAI;EAEd,MAAMC,SAAS,GAAGH,uBAAuB,CAACZ,KAAK,EAAEb,OAAO,CAACM,MAAM,EAAEtB,WAAW,CAAC;EAE7E,IAAI4C,SAAS,KAAKT,SAAS,EAAE;IACzB,IAAIS,SAAS,KAAK5C,WAAW,EAAE;MAC3B,OAAOA,WAAW;KACrB,MAAM,IAAIgB,OAAO,CAACS,IAAI,CAACmB,SAAS,CAAC,IAAIC,eAAe,CAAC7B,OAAO,CAACS,IAAI,CAACmB,SAAS,CAAC,CAAC,EAAE;;;MAG5E,IAAID,OAAO,EAAE;QACT,IAAIC,SAAS,KAAK,CAAC,EAAE;UACjB,OAAOV,kBAAkB,CACrB,IAAIY,aAAa,CAACjB,KAAK,CAACkB,IAAI,EAAE;YAAE,GAAIlB,KAAa;YAAEa,GAAG,EAAE;WAAa,CAAQ,EAC7E1B,OAAO,EACP4B,SAAS,EACT,KAAK,CACR;SACJ,MAAM,IAAIA,SAAS,KAAK5B,OAAO,CAACM,MAAM,GAAG,CAAC,EAAE;UACzC,OAAOY,kBAAkB,CACrB,IAAIY,aAAa,CAACjB,KAAK,CAACkB,IAAI,EAAE;YAAE,GAAIlB,KAAa;YAAEa,GAAG,EAAE;WAAW,CAAQ,EAC3E1B,OAAO,EACP4B,SAAS,EACT,KAAK,CACR;;;MAIT,OAAOV,kBAAkB,CAACL,KAAK,EAAEb,OAAO,EAAE4B,SAAS,EAAED,OAAO,CAAC;;;EAIrE,OAAOC,SAAS;AACpB;AAEA,MAAMC,eAAe,GAAIG,OAAgB;EACrC,OACIA,OAAO,CAACC,YAAY,CAAC,MAAM,CAAC,KAAK,cAAc,IAC/C,CAAC,CAACD,OAAO,CAACE,YAAY,CAAC,UAAU,CAAC,IAClC,CAAC,CAACF,OAAO,CAACC,YAAY,CAAC,eAAe,CAAC,IACvC,CAAC,CAACD,OAAO,CAACC,YAAY,CAAC,aAAa,CAAC;AAE7C,CAAC;;;;"}
|
1
|
+
{"version":3,"file":"Root.js","sources":["../../../../../../../../src/primitives/Collection/components/Root.tsx"],"sourcesContent":["import React from 'react';\r\nimport { useMergedRef } from '../../../hooks/useMergedRef';\r\nimport { isAriaDirectionKey } from '../../../utils/aria';\r\nimport { createCustomKeyboardEvent } from '../../../utils/input';\r\n\r\n/* This component provides a keyboard navigable collection primitive for use in lists\r\n * It is unlikely you need to edit this component\r\n */\r\n\r\nexport type CollectionProps = React.HTMLAttributes<HTMLDivElement> & {\r\n querySelector: string;\r\n};\r\n\r\nexport type CollectionRef = HTMLDivElement & {\r\n setActiveIndex: (option: HTMLDivElement) => void;\r\n};\r\n\r\nconst getOptionsFromCollection = (collection: HTMLDivElement, selector: string): NodeListOf<Element> =>\r\n collection.querySelectorAll(selector);\r\n\r\n// we use javascript to set attributes (rather than cloning children and adding them)\r\n// so that we can support nesting (e.g. groups) - child elements that aren't options.\r\n// without doing this we would have to unwrap and flatten all groups\r\nexport const Root = React.forwardRef<CollectionRef, CollectionProps>(function CollectionRoot(props, ref) {\r\n const { querySelector, tabIndex = 0, ...otherProps } = props;\r\n const internalRef = useMergedRef<CollectionRef>(ref);\r\n const [activeIndex, setActiveIndex] = React.useState<number | undefined>();\r\n const lastLengthRef = React.useRef(0);\r\n\r\n const setActiveOption = (index: number, collection: HTMLDivElement, option: Element) => {\r\n collection.querySelector(`[aria-current]`)?.removeAttribute('aria-current');\r\n option.setAttribute('aria-current', 'true');\r\n option.scrollIntoView({ block: 'nearest' });\r\n setActiveIndex(index);\r\n };\r\n\r\n const setActiveIndexByElement = React.useCallback(\r\n (option: HTMLDivElement) => {\r\n if (internalRef.current) {\r\n if (option.matches(querySelector)) {\r\n const options = getOptionsFromCollection(internalRef.current, querySelector);\r\n const nextActiveIndex = Array.from(options).indexOf(option);\r\n\r\n if (nextActiveIndex > -1) {\r\n setActiveOption(nextActiveIndex, internalRef.current, option);\r\n }\r\n }\r\n }\r\n },\r\n [internalRef.current, querySelector]\r\n );\r\n\r\n React.useEffect(() => {\r\n if (internalRef.current) {\r\n internalRef.current.setActiveIndex = setActiveIndexByElement;\r\n }\r\n }, [internalRef.current]);\r\n\r\n React.useEffect(() => {\r\n if (internalRef.current) {\r\n const options = getOptionsFromCollection(internalRef.current, querySelector);\r\n\r\n if (options.length && options.length !== lastLengthRef.current) {\r\n const selected = internalRef.current.querySelectorAll(`[aria-selected]`);\r\n\r\n if (selected.length === 1) {\r\n if (options) {\r\n const firstSelected = selected.item(0);\r\n const selectedIndex = Array.from(options).indexOf(firstSelected);\r\n\r\n if (selectedIndex > -1) {\r\n setActiveOption(selectedIndex, internalRef.current, firstSelected);\r\n }\r\n }\r\n } else {\r\n // multiple selected or none selected should go to 0\r\n setActiveOption(0, internalRef.current, options.item(0));\r\n }\r\n }\r\n\r\n lastLengthRef.current = options.length;\r\n }\r\n }, [props.children]);\r\n\r\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\r\n const option = event.target as HTMLElement;\r\n\r\n if (option.matches(querySelector)) {\r\n const options = getOptionsFromCollection(event.currentTarget, querySelector);\r\n const nextActiveIndex = Array.from(options).indexOf(option);\r\n\r\n if (nextActiveIndex > -1) {\r\n setActiveOption(nextActiveIndex, event.currentTarget, option);\r\n }\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n // this stops the event dispatched to the option rebounding back and starting an infinite loop\r\n if (event.target !== event.currentTarget) {\r\n return;\r\n }\r\n\r\n const options = getOptionsFromCollection(event.currentTarget, querySelector);\r\n\r\n if (options) {\r\n if (isAriaDirectionKey(event)) {\r\n const nextActiveIndex = getNextEnabledItem(event, options, activeIndex);\r\n\r\n if (nextActiveIndex !== undefined && nextActiveIndex !== activeIndex) {\r\n event.preventDefault();\r\n setActiveOption(nextActiveIndex, event.currentTarget, options.item(nextActiveIndex));\r\n }\r\n } else if (activeIndex !== undefined) {\r\n // forward events onto the underlying option - this lets consumers place onKeyDown handlers on their own components\r\n options\r\n .item(activeIndex)\r\n .dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\r\n }\r\n }\r\n };\r\n\r\n return <div {...otherProps} onClick={handleClick} onKeyDown={handleKeyDown} ref={internalRef} tabIndex={tabIndex} />;\r\n});\r\n\r\nexport const getNextIndexFromKeycode = (\r\n event: React.KeyboardEvent,\r\n length: number,\r\n activeIndex: number | undefined\r\n): number | undefined => {\r\n switch (event.key) {\r\n case 'ArrowUp':\r\n return activeIndex === undefined ? length - 1 : activeIndex > 0 ? activeIndex - 1 : activeIndex;\r\n\r\n case 'ArrowDown':\r\n return activeIndex === undefined ? 0 : activeIndex < length - 1 ? activeIndex + 1 : activeIndex;\r\n\r\n case 'Home':\r\n return 0;\r\n\r\n case 'End':\r\n return length - 1;\r\n\r\n default:\r\n return;\r\n }\r\n};\r\n\r\nexport const getNextEnabledItem = (\r\n event: React.KeyboardEvent<HTMLElement>,\r\n options: NodeListOf<Element>,\r\n activeIndex: number | undefined,\r\n recurse = true\r\n): number | undefined => {\r\n const nextIndex = getNextIndexFromKeycode(event, options.length, activeIndex);\r\n\r\n if (nextIndex !== undefined) {\r\n if (nextIndex === activeIndex) {\r\n return activeIndex;\r\n } else if (options.item(nextIndex) && isSkippableItem(options.item(nextIndex))) {\r\n // check in the other direction if the first or last item is disabled,\r\n // but prevent infinite loops if all elements are disabled by disabling recursion\r\n if (recurse) {\r\n if (nextIndex === 0) {\r\n return getNextEnabledItem(\r\n new KeyboardEvent(event.type, { ...(event as any), key: 'ArrowDown' }) as any,\r\n options,\r\n nextIndex,\r\n false\r\n );\r\n } else if (nextIndex === options.length - 1) {\r\n return getNextEnabledItem(\r\n new KeyboardEvent(event.type, { ...(event as any), key: 'ArrowUp' }) as any,\r\n options,\r\n nextIndex,\r\n false\r\n );\r\n }\r\n }\r\n\r\n return getNextEnabledItem(event, options, nextIndex, recurse);\r\n }\r\n }\r\n\r\n return nextIndex;\r\n};\r\n\r\nconst isSkippableItem = (element: Element) => {\r\n return (\r\n element.getAttribute('role') === 'presentation' ||\r\n !!element.hasAttribute('disabled') ||\r\n !!element.getAttribute('aria-disabled') ||\r\n !!element.getAttribute('aria-hidden')\r\n );\r\n};\r\n"],"names":["getOptionsFromCollection","collection","selector","querySelectorAll","Root","React","forwardRef","CollectionRoot","props","ref","querySelector","tabIndex","otherProps","internalRef","useMergedRef","activeIndex","setActiveIndex","useState","lastLengthRef","useRef","setActiveOption","index","option","removeAttribute","setAttribute","scrollIntoView","block","setActiveIndexByElement","useCallback","current","matches","options","nextActiveIndex","Array","from","indexOf","useEffect","length","selected","firstSelected","item","selectedIndex","children","handleClick","event","target","currentTarget","handleKeyDown","isAriaDirectionKey","getNextEnabledItem","undefined","preventDefault","dispatchEvent","createCustomKeyboardEvent","onClick","onKeyDown","getNextIndexFromKeycode","key","recurse","nextIndex","isSkippableItem","KeyboardEvent","type","element","getAttribute","hasAttribute"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Context.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Context.tsx"],"sourcesContent":["import React from 'react';\nimport { Listbox2Value } from '../types';\n\nexport type Listbox2ContextProps = {\n disabled: boolean;\n readOnly: boolean;\n setValue: (value: Listbox2Value) => void;\n value?: Listbox2Value;\n};\n\nexport const Listbox2Context = React.createContext({} as Listbox2ContextProps);\nexport const useListbox2Context = () => React.useContext(Listbox2Context);\n"],"names":["Listbox2Context","React","createContext","useListbox2Context","useContext"],"mappings":";;MAUaA,eAAe,gBAAGC,cAAK,CAACC,aAAa,CAAC,EAA0B;MAChEC,kBAAkB,GAAG,MAAMF,cAAK,CAACG,UAAU,CAACJ,eAAe;;;;"}
|
1
|
+
{"version":3,"file":"Context.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Context.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Listbox2Value } from '../types';\r\n\r\nexport type Listbox2ContextProps = {\r\n disabled: boolean;\r\n readOnly: boolean;\r\n setValue: (value: Listbox2Value) => void;\r\n value?: Listbox2Value;\r\n};\r\n\r\nexport const Listbox2Context = React.createContext({} as Listbox2ContextProps);\r\nexport const useListbox2Context = () => React.useContext(Listbox2Context);\r\n"],"names":["Listbox2Context","React","createContext","useListbox2Context","useContext"],"mappings":";;MAUaA,eAAe,gBAAGC,cAAK,CAACC,aAAa,CAAC,EAA0B;MAChEC,kBAAkB,GAAG,MAAMF,cAAK,CAACG,UAAU,CAACJ,eAAe;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Group.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Group.tsx"],"sourcesContent":["import React from 'react';\n\nexport type Listbox2GroupProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Group = React.forwardRef<HTMLDivElement, Listbox2GroupProps>(function Listbox2Group(props, ref) {\n const [labelledById, setLabelledById] = React.useState<string>();\n\n return (\n <Listbox2GroupContext.Provider value={{ setLabelledById }}>\n <div {...props} aria-labelledby={labelledById} ref={ref} role=\"group\" />\n </Listbox2GroupContext.Provider>\n );\n});\n\nexport type Listbox2GroupContextProps = {\n setLabelledById: (id: string) => void;\n};\n\nexport const Listbox2GroupContext = React.createContext({} as Listbox2GroupContextProps);\nexport const useListbox2GroupContext = () => React.useContext(Listbox2GroupContext);\n"],"names":["Group","React","forwardRef","Listbox2Group","props","ref","labelledById","setLabelledById","useState","Listbox2GroupContext","Provider","value","role","createContext","useListbox2GroupContext","useContext"],"mappings":";;MAIaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAqC,SAASC,aAAa,CAACC,KAAK,EAAEC,GAAG;EACvG,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGN,cAAK,CAACO,QAAQ,EAAU;EAEhE,oBACIP,6BAACQ,oBAAoB,CAACC,QAAQ;IAACC,KAAK,EAAE;MAAEJ;;kBACpCN,sDAASG,KAAK;uBAAmBE,YAAY;IAAED,GAAG,EAAEA,GAAG;IAAEO,IAAI,EAAC;KAAU,CAC5C;AAExC,CAAC;MAMYH,oBAAoB,gBAAGR,cAAK,CAACY,aAAa,CAAC,EAA+B;MAC1EC,uBAAuB,GAAG,MAAMb,cAAK,CAACc,UAAU,CAACN,oBAAoB;;;;"}
|
1
|
+
{"version":3,"file":"Group.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Group.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nexport type Listbox2GroupProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const Group = React.forwardRef<HTMLDivElement, Listbox2GroupProps>(function Listbox2Group(props, ref) {\r\n const [labelledById, setLabelledById] = React.useState<string>();\r\n\r\n return (\r\n <Listbox2GroupContext.Provider value={{ setLabelledById }}>\r\n <div {...props} aria-labelledby={labelledById} ref={ref} role=\"group\" />\r\n </Listbox2GroupContext.Provider>\r\n );\r\n});\r\n\r\nexport type Listbox2GroupContextProps = {\r\n setLabelledById: (id: string) => void;\r\n};\r\n\r\nexport const Listbox2GroupContext = React.createContext({} as Listbox2GroupContextProps);\r\nexport const useListbox2GroupContext = () => React.useContext(Listbox2GroupContext);\r\n"],"names":["Group","React","forwardRef","Listbox2Group","props","ref","labelledById","setLabelledById","useState","Listbox2GroupContext","Provider","value","role","createContext","useListbox2GroupContext","useContext"],"mappings":";;MAIaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAqC,SAASC,aAAa,CAACC,KAAK,EAAEC,GAAG;EACvG,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGN,cAAK,CAACO,QAAQ,EAAU;EAEhE,oBACIP,6BAACQ,oBAAoB,CAACC,QAAQ;IAACC,KAAK,EAAE;MAAEJ;;kBACpCN,sDAASG,KAAK;uBAAmBE,YAAY;IAAED,GAAG,EAAEA,GAAG;IAAEO,IAAI,EAAC;KAAU,CAC5C;AAExC,CAAC;MAMYH,oBAAoB,gBAAGR,cAAK,CAACY,aAAa,CAAC,EAA+B;MAC1EC,uBAAuB,GAAG,MAAMb,cAAK,CAACc,UAAU,CAACN,oBAAoB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Option.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Option.tsx"],"sourcesContent":["import React from 'react';\nimport { useId } from '../../../hooks/useId';\nimport { isAriaSelectionKey } from '../../../utils/aria';\nimport { Listbox2OptionValue } from '../types';\nimport { useListbox2Context } from './Context';\n\nexport type Listbox2OptionProps = React.HTMLAttributes<HTMLDivElement> & {\n disabled?: boolean;\n value: Listbox2OptionValue;\n};\n\nexport const Option = React.forwardRef<HTMLDivElement, Listbox2OptionProps>(function Listbox2Option(props, ref) {\n const { disabled, id: nativeId, title, value, ...otherProps } = props;\n const { disabled: listboxDisabled, readOnly: listboxReadOnly, setValue, value: currentValue } = useListbox2Context();\n const id = useId(nativeId);\n const selected = Array.isArray(currentValue) ? currentValue.includes(value) : currentValue === value;\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled || listboxDisabled || listboxReadOnly) {\n event.stopPropagation();\n return;\n } else {\n setValue(value);\n }\n\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (disabled || listboxDisabled || listboxReadOnly) {\n event.stopPropagation();\n return;\n } else if (isAriaSelectionKey(event)) {\n setValue(value);\n }\n\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n };\n\n return (\n <div\n {...otherProps}\n aria-disabled={listboxDisabled || disabled ? 'true' : undefined}\n aria-selected={selected ? 'true' : undefined}\n id={id}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"option\"\n />\n );\n});\n"],"names":["Option","React","forwardRef","Listbox2Option","props","ref","disabled","id","nativeId","title","value","otherProps","listboxDisabled","readOnly","listboxReadOnly","setValue","currentValue","useListbox2Context","useId","selected","Array","isArray","includes","handleClick","event","stopPropagation","onClick","handleKeyDown","isAriaSelectionKey","onKeyDown","undefined","role"],"mappings":";;;;;MAWaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAsC,SAASC,cAAc,CAACC,KAAK,EAAEC,GAAG;EAC1G,MAAM;IAAEC,QAAQ;IAAEC,EAAE,EAAEC,QAAQ;IAAEC,KAAK;IAAEC,KAAK;IAAE,GAAGC;GAAY,GAAGP,KAAK;EACrE,MAAM;IAAEE,QAAQ,EAAEM,eAAe;IAAEC,QAAQ,EAAEC,eAAe;IAAEC,QAAQ;IAAEL,KAAK,EAAEM;GAAc,GAAGC,kBAAkB,EAAE;EACpH,MAAMV,EAAE,GAAGW,KAAK,CAACV,QAAQ,CAAC;EAC1B,MAAMW,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACL,YAAY,CAAC,GAAGA,YAAY,CAACM,QAAQ,CAACZ,KAAK,CAAC,GAAGM,YAAY,KAAKN,KAAK;EAEpG,MAAMa,WAAW,GAAIC,KAAuC;IACxD,IAAIlB,QAAQ,IAAIM,eAAe,IAAIE,eAAe,EAAE;MAChDU,KAAK,CAACC,eAAe,EAAE;MACvB;KACH,MAAM;MACHV,QAAQ,CAACL,KAAK,CAAC;;IAGnB,IAAI,OAAON,KAAK,CAACsB,OAAO,KAAK,UAAU,EAAE;MACrCtB,KAAK,CAACsB,OAAO,CAACF,KAAK,CAAC;;GAE3B;EAED,MAAMG,aAAa,GAAIH,KAA0C;IAC7D,IAAIlB,QAAQ,IAAIM,eAAe,IAAIE,eAAe,EAAE;MAChDU,KAAK,CAACC,eAAe,EAAE;MACvB;KACH,MAAM,IAAIG,kBAAkB,CAACJ,KAAK,CAAC,EAAE;MAClCT,QAAQ,CAACL,KAAK,CAAC;;IAGnB,IAAI,OAAON,KAAK,CAACyB,SAAS,KAAK,UAAU,EAAE;MACvCzB,KAAK,CAACyB,SAAS,CAACL,KAAK,CAAC;;GAE7B;EAED,oBACIvB,sDACQU,UAAU;qBACCC,eAAe,IAAIN,QAAQ,GAAG,MAAM,GAAGwB,SAAS;qBAChDX,QAAQ,GAAG,MAAM,GAAGW,SAAS;IAC5CvB,EAAE,EAAEA,EAAE;IACNmB,OAAO,EAAEH,WAAW;IACpBM,SAAS,EAAEF,aAAa;IACxBtB,GAAG,EAAEA,GAAG;IACR0B,IAAI,EAAC;KACP;AAEV,CAAC;;;;"}
|
1
|
+
{"version":3,"file":"Option.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Option.tsx"],"sourcesContent":["import React from 'react';\r\nimport { useId } from '../../../hooks/useId';\r\nimport { isAriaSelectionKey } from '../../../utils/aria';\r\nimport { Listbox2OptionValue } from '../types';\r\nimport { useListbox2Context } from './Context';\r\n\r\nexport type Listbox2OptionProps = React.HTMLAttributes<HTMLDivElement> & {\r\n disabled?: boolean;\r\n value: Listbox2OptionValue;\r\n};\r\n\r\nexport const Option = React.forwardRef<HTMLDivElement, Listbox2OptionProps>(function Listbox2Option(props, ref) {\r\n const { disabled, id: nativeId, title, value, ...otherProps } = props;\r\n const { disabled: listboxDisabled, readOnly: listboxReadOnly, setValue, value: currentValue } = useListbox2Context();\r\n const id = useId(nativeId);\r\n const selected = Array.isArray(currentValue) ? currentValue.includes(value) : currentValue === value;\r\n\r\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\r\n if (disabled || listboxDisabled || listboxReadOnly) {\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n setValue(value);\r\n }\r\n\r\n if (typeof props.onClick === 'function') {\r\n props.onClick(event);\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (disabled || listboxDisabled || listboxReadOnly) {\r\n event.stopPropagation();\r\n return;\r\n } else if (isAriaSelectionKey(event)) {\r\n setValue(value);\r\n }\r\n\r\n if (typeof props.onKeyDown === 'function') {\r\n props.onKeyDown(event);\r\n }\r\n };\r\n\r\n return (\r\n <div\r\n {...otherProps}\r\n aria-disabled={listboxDisabled || disabled ? 'true' : undefined}\r\n aria-selected={selected ? 'true' : undefined}\r\n id={id}\r\n onClick={handleClick}\r\n onKeyDown={handleKeyDown}\r\n ref={ref}\r\n role=\"option\"\r\n />\r\n );\r\n});\r\n"],"names":["Option","React","forwardRef","Listbox2Option","props","ref","disabled","id","nativeId","title","value","otherProps","listboxDisabled","readOnly","listboxReadOnly","setValue","currentValue","useListbox2Context","useId","selected","Array","isArray","includes","handleClick","event","stopPropagation","onClick","handleKeyDown","isAriaSelectionKey","onKeyDown","undefined","role"],"mappings":";;;;;MAWaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAsC,SAASC,cAAc,CAACC,KAAK,EAAEC,GAAG;EAC1G,MAAM;IAAEC,QAAQ;IAAEC,EAAE,EAAEC,QAAQ;IAAEC,KAAK;IAAEC,KAAK;IAAE,GAAGC;GAAY,GAAGP,KAAK;EACrE,MAAM;IAAEE,QAAQ,EAAEM,eAAe;IAAEC,QAAQ,EAAEC,eAAe;IAAEC,QAAQ;IAAEL,KAAK,EAAEM;GAAc,GAAGC,kBAAkB,EAAE;EACpH,MAAMV,EAAE,GAAGW,KAAK,CAACV,QAAQ,CAAC;EAC1B,MAAMW,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACL,YAAY,CAAC,GAAGA,YAAY,CAACM,QAAQ,CAACZ,KAAK,CAAC,GAAGM,YAAY,KAAKN,KAAK;EAEpG,MAAMa,WAAW,GAAIC,KAAuC;IACxD,IAAIlB,QAAQ,IAAIM,eAAe,IAAIE,eAAe,EAAE;MAChDU,KAAK,CAACC,eAAe,EAAE;MACvB;KACH,MAAM;MACHV,QAAQ,CAACL,KAAK,CAAC;;IAGnB,IAAI,OAAON,KAAK,CAACsB,OAAO,KAAK,UAAU,EAAE;MACrCtB,KAAK,CAACsB,OAAO,CAACF,KAAK,CAAC;;GAE3B;EAED,MAAMG,aAAa,GAAIH,KAA0C;IAC7D,IAAIlB,QAAQ,IAAIM,eAAe,IAAIE,eAAe,EAAE;MAChDU,KAAK,CAACC,eAAe,EAAE;MACvB;KACH,MAAM,IAAIG,kBAAkB,CAACJ,KAAK,CAAC,EAAE;MAClCT,QAAQ,CAACL,KAAK,CAAC;;IAGnB,IAAI,OAAON,KAAK,CAACyB,SAAS,KAAK,UAAU,EAAE;MACvCzB,KAAK,CAACyB,SAAS,CAACL,KAAK,CAAC;;GAE7B;EAED,oBACIvB,sDACQU,UAAU;qBACCC,eAAe,IAAIN,QAAQ,GAAG,MAAM,GAAGwB,SAAS;qBAChDX,QAAQ,GAAG,MAAM,GAAGW,SAAS;IAC5CvB,EAAE,EAAEA,EAAE;IACNmB,OAAO,EAAEH,WAAW;IACpBM,SAAS,EAAEF,aAAa;IACxBtB,GAAG,EAAEA,GAAG;IACR0B,IAAI,EAAC;KACP;AAEV,CAAC;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Root.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Root.tsx"],"sourcesContent":["import React from 'react';\nimport { useId } from '../../../hooks/useId';\nimport * as CollectionPrimitive from '../../Collection/Collection';\nimport { Listbox2Value } from '../types';\nimport { Listbox2Context } from './Context';\n\nexport type Listbox2Props = React.HTMLAttributes<HTMLDivElement> & {\n customSelector?: string;\n disabled?: boolean;\n multiple?: boolean;\n readOnly?: boolean;\n setValue: (value: Listbox2Value) => void;\n value?: Listbox2Value;\n};\n\nconst DEFAULT_SELECTOR = '[role=\"option\"]';\n\nexport const Root = React.forwardRef<CollectionPrimitive.CollectionRef, Listbox2Props>(function Listbox2(props, ref) {\n const {\n children,\n customSelector,\n disabled = false,\n id: nativeId,\n multiple,\n readOnly = false,\n setValue,\n title,\n value,\n ...otherProps\n } = props;\n const id = useId(nativeId);\n\n const context = React.useMemo(\n () => ({\n disabled,\n readOnly,\n setValue,\n value,\n }),\n [disabled, readOnly, value]\n );\n\n return (\n <Listbox2Context.Provider value={context}>\n <div data-taco=\"listbox2\">\n <CollectionPrimitive.Root\n {...otherProps}\n aria-multiselectable={multiple ? true : undefined}\n id={id}\n ref={ref}\n role=\"listbox\"\n querySelector={customSelector ? `${DEFAULT_SELECTOR}, ${customSelector}` : DEFAULT_SELECTOR}>\n {children}\n </CollectionPrimitive.Root>\n </div>\n </Listbox2Context.Provider>\n );\n});\n\nexport const createListboxValueSetter =\n (multiple: boolean, setValue: React.Dispatch<React.SetStateAction<Listbox2Value | undefined>>) =>\n (nextValue: Listbox2Value) => {\n setValue(value => {\n if (Array.isArray(nextValue)) {\n return nextValue;\n }\n\n if (multiple) {\n if (value === undefined) {\n return [nextValue];\n } else if (Array.isArray(value)) {\n if (value.includes(nextValue)) {\n return value.filter(v => v !== nextValue);\n }\n\n return [...value, nextValue];\n } else if (value === nextValue) {\n return [];\n }\n\n return [value, nextValue];\n }\n\n return nextValue;\n });\n };\n"],"names":["DEFAULT_SELECTOR","Root","React","forwardRef","Listbox2","props","ref","children","customSelector","disabled","id","nativeId","multiple","readOnly","setValue","title","value","otherProps","useId","context","useMemo","Listbox2Context","Provider","CollectionPrimitive","undefined","role","querySelector","createListboxValueSetter","nextValue","Array","isArray","includes","filter","v"],"mappings":";;;;;AAeA,MAAMA,gBAAgB,GAAG,iBAAiB;MAE7BC,IAAI,gBAAGC,cAAK,CAACC,UAAU,CAAmD,SAASC,QAAQ,CAACC,KAAK,EAAEC,GAAG;EAC/G,MAAM;IACFC,QAAQ;IACRC,cAAc;IACdC,QAAQ,GAAG,KAAK;IAChBC,EAAE,EAAEC,QAAQ;IACZC,QAAQ;IACRC,QAAQ,GAAG,KAAK;IAChBC,QAAQ;IACRC,KAAK;IACLC,KAAK;IACL,GAAGC;GACN,GAAGZ,KAAK;EACT,MAAMK,EAAE,GAAGQ,KAAK,CAACP,QAAQ,CAAC;EAE1B,MAAMQ,OAAO,GAAGjB,cAAK,CAACkB,OAAO,CACzB,OAAO;IACHX,QAAQ;IACRI,QAAQ;IACRC,QAAQ;IACRE;GACH,CAAC,EACF,CAACP,QAAQ,EAAEI,QAAQ,EAAEG,KAAK,CAAC,CAC9B;EAED,oBACId,6BAACmB,eAAe,CAACC,QAAQ;IAACN,KAAK,EAAEG;kBAC7BjB;iBAAe;kBACXA,6BAACqB,MAAwB,oBACjBN,UAAU;4BACQL,QAAQ,GAAG,IAAI,GAAGY,SAAS;IACjDd,EAAE,EAAEA,EAAE;IACNJ,GAAG,EAAEA,GAAG;IACRmB,IAAI,EAAC,SAAS;IACdC,aAAa,EAAElB,cAAc,MAAMR,qBAAqBQ,gBAAgB,GAAGR;MAC1EO,QAAQ,CACc,CACzB,CACiB;AAEnC,CAAC;MAEYoB,wBAAwB,GACjC,CAACf,QAAiB,EAAEE,QAAyE,KAC5Fc,SAAwB;EACrBd,QAAQ,CAACE,KAAK;IACV,IAAIa,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,EAAE;MAC1B,OAAOA,SAAS;;IAGpB,IAAIhB,QAAQ,EAAE;MACV,IAAII,KAAK,KAAKQ,SAAS,EAAE;QACrB,OAAO,CAACI,SAAS,CAAC;OACrB,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACd,KAAK,CAAC,EAAE;QAC7B,IAAIA,KAAK,CAACe,QAAQ,CAACH,SAAS,CAAC,EAAE;UAC3B,OAAOZ,KAAK,CAACgB,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAKL,SAAS,CAAC;;QAG7C,OAAO,CAAC,GAAGZ,KAAK,EAAEY,SAAS,CAAC;OAC/B,MAAM,IAAIZ,KAAK,KAAKY,SAAS,EAAE;QAC5B,OAAO,EAAE;;MAGb,OAAO,CAACZ,KAAK,EAAEY,SAAS,CAAC;;IAG7B,OAAOA,SAAS;GACnB,CAAC;AACN;;;;"}
|
1
|
+
{"version":3,"file":"Root.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Root.tsx"],"sourcesContent":["import React from 'react';\r\nimport { useId } from '../../../hooks/useId';\r\nimport * as CollectionPrimitive from '../../Collection/Collection';\r\nimport { Listbox2Value } from '../types';\r\nimport { Listbox2Context } from './Context';\r\n\r\nexport type Listbox2Props = React.HTMLAttributes<HTMLDivElement> & {\r\n customSelector?: string;\r\n disabled?: boolean;\r\n multiple?: boolean;\r\n readOnly?: boolean;\r\n setValue: (value: Listbox2Value) => void;\r\n value?: Listbox2Value;\r\n};\r\n\r\nconst DEFAULT_SELECTOR = '[role=\"option\"]';\r\n\r\nexport const Root = React.forwardRef<CollectionPrimitive.CollectionRef, Listbox2Props>(function Listbox2(props, ref) {\r\n const {\r\n children,\r\n customSelector,\r\n disabled = false,\r\n id: nativeId,\r\n multiple,\r\n readOnly = false,\r\n setValue,\r\n title,\r\n value,\r\n ...otherProps\r\n } = props;\r\n const id = useId(nativeId);\r\n\r\n const context = React.useMemo(\r\n () => ({\r\n disabled,\r\n readOnly,\r\n setValue,\r\n value,\r\n }),\r\n [disabled, readOnly, value]\r\n );\r\n\r\n return (\r\n <Listbox2Context.Provider value={context}>\r\n <div data-taco=\"listbox2\">\r\n <CollectionPrimitive.Root\r\n {...otherProps}\r\n aria-multiselectable={multiple ? true : undefined}\r\n id={id}\r\n ref={ref}\r\n role=\"listbox\"\r\n querySelector={customSelector ? `${DEFAULT_SELECTOR}, ${customSelector}` : DEFAULT_SELECTOR}>\r\n {children}\r\n </CollectionPrimitive.Root>\r\n </div>\r\n </Listbox2Context.Provider>\r\n );\r\n});\r\n\r\nexport const createListboxValueSetter =\r\n (multiple: boolean, setValue: React.Dispatch<React.SetStateAction<Listbox2Value | undefined>>) =>\r\n (nextValue: Listbox2Value) => {\r\n setValue(value => {\r\n if (Array.isArray(nextValue)) {\r\n return nextValue;\r\n }\r\n\r\n if (multiple) {\r\n if (value === undefined) {\r\n return [nextValue];\r\n } else if (Array.isArray(value)) {\r\n if (value.includes(nextValue)) {\r\n return value.filter(v => v !== nextValue);\r\n }\r\n\r\n return [...value, nextValue];\r\n } else if (value === nextValue) {\r\n return [];\r\n }\r\n\r\n return [value, nextValue];\r\n }\r\n\r\n return nextValue;\r\n });\r\n };\r\n"],"names":["DEFAULT_SELECTOR","Root","React","forwardRef","Listbox2","props","ref","children","customSelector","disabled","id","nativeId","multiple","readOnly","setValue","title","value","otherProps","useId","context","useMemo","Listbox2Context","Provider","CollectionPrimitive","undefined","role","querySelector","createListboxValueSetter","nextValue","Array","isArray","includes","filter","v"],"mappings":";;;;;AAeA,MAAMA,gBAAgB,GAAG,iBAAiB;MAE7BC,IAAI,gBAAGC,cAAK,CAACC,UAAU,CAAmD,SAASC,QAAQ,CAACC,KAAK,EAAEC,GAAG;EAC/G,MAAM;IACFC,QAAQ;IACRC,cAAc;IACdC,QAAQ,GAAG,KAAK;IAChBC,EAAE,EAAEC,QAAQ;IACZC,QAAQ;IACRC,QAAQ,GAAG,KAAK;IAChBC,QAAQ;IACRC,KAAK;IACLC,KAAK;IACL,GAAGC;GACN,GAAGZ,KAAK;EACT,MAAMK,EAAE,GAAGQ,KAAK,CAACP,QAAQ,CAAC;EAE1B,MAAMQ,OAAO,GAAGjB,cAAK,CAACkB,OAAO,CACzB,OAAO;IACHX,QAAQ;IACRI,QAAQ;IACRC,QAAQ;IACRE;GACH,CAAC,EACF,CAACP,QAAQ,EAAEI,QAAQ,EAAEG,KAAK,CAAC,CAC9B;EAED,oBACId,6BAACmB,eAAe,CAACC,QAAQ;IAACN,KAAK,EAAEG;kBAC7BjB;iBAAe;kBACXA,6BAACqB,MAAwB,oBACjBN,UAAU;4BACQL,QAAQ,GAAG,IAAI,GAAGY,SAAS;IACjDd,EAAE,EAAEA,EAAE;IACNJ,GAAG,EAAEA,GAAG;IACRmB,IAAI,EAAC,SAAS;IACdC,aAAa,EAAElB,cAAc,MAAMR,qBAAqBQ,gBAAgB,GAAGR;MAC1EO,QAAQ,CACc,CACzB,CACiB;AAEnC,CAAC;MAEYoB,wBAAwB,GACjC,CAACf,QAAiB,EAAEE,QAAyE,KAC5Fc,SAAwB;EACrBd,QAAQ,CAACE,KAAK;IACV,IAAIa,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,EAAE;MAC1B,OAAOA,SAAS;;IAGpB,IAAIhB,QAAQ,EAAE;MACV,IAAII,KAAK,KAAKQ,SAAS,EAAE;QACrB,OAAO,CAACI,SAAS,CAAC;OACrB,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACd,KAAK,CAAC,EAAE;QAC7B,IAAIA,KAAK,CAACe,QAAQ,CAACH,SAAS,CAAC,EAAE;UAC3B,OAAOZ,KAAK,CAACgB,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAKL,SAAS,CAAC;;QAG7C,OAAO,CAAC,GAAGZ,KAAK,EAAEY,SAAS,CAAC;OAC/B,MAAM,IAAIZ,KAAK,KAAKY,SAAS,EAAE;QAC5B,OAAO,EAAE;;MAGb,OAAO,CAACZ,KAAK,EAAEY,SAAS,CAAC;;IAG7B,OAAOA,SAAS;GACnB,CAAC;AACN;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Title.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Title.tsx"],"sourcesContent":["import React from 'react';\nimport { useId } from '../../../hooks/useId';\nimport { useListbox2GroupContext } from './Group';\n\nexport type Listbox2TitleProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Title = React.forwardRef<HTMLDivElement, Listbox2TitleProps>(function Listbox2Group(props, ref) {\n const { id: nativeId, ...otherProps } = props;\n const { setLabelledById } = useListbox2GroupContext();\n const id = useId(nativeId);\n\n React.useEffect(() => {\n setLabelledById(id);\n }, [id]);\n\n return <div {...otherProps} id={id} ref={ref} role=\"presentation\" />;\n});\n"],"names":["Title","React","forwardRef","Listbox2Group","props","ref","id","nativeId","otherProps","setLabelledById","useListbox2GroupContext","useId","useEffect","role"],"mappings":";;;;MAMaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAqC,SAASC,aAAa,CAACC,KAAK,EAAEC,GAAG;EACvG,MAAM;IAAEC,EAAE,EAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAC7C,MAAM;IAAEK;GAAiB,GAAGC,uBAAuB,EAAE;EACrD,MAAMJ,EAAE,GAAGK,KAAK,CAACJ,QAAQ,CAAC;EAE1BN,cAAK,CAACW,SAAS,CAAC;IACZH,eAAe,CAACH,EAAE,CAAC;GACtB,EAAE,CAACA,EAAE,CAAC,CAAC;EAER,oBAAOL,sDAASO,UAAU;IAAEF,EAAE,EAAEA,EAAE;IAAED,GAAG,EAAEA,GAAG;IAAEQ,IAAI,EAAC;KAAiB;AACxE,CAAC;;;;"}
|
1
|
+
{"version":3,"file":"Title.js","sources":["../../../../../../../../src/primitives/Listbox2/components/Title.tsx"],"sourcesContent":["import React from 'react';\r\nimport { useId } from '../../../hooks/useId';\r\nimport { useListbox2GroupContext } from './Group';\r\n\r\nexport type Listbox2TitleProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const Title = React.forwardRef<HTMLDivElement, Listbox2TitleProps>(function Listbox2Group(props, ref) {\r\n const { id: nativeId, ...otherProps } = props;\r\n const { setLabelledById } = useListbox2GroupContext();\r\n const id = useId(nativeId);\r\n\r\n React.useEffect(() => {\r\n setLabelledById(id);\r\n }, [id]);\r\n\r\n return <div {...otherProps} id={id} ref={ref} role=\"presentation\" />;\r\n});\r\n"],"names":["Title","React","forwardRef","Listbox2Group","props","ref","id","nativeId","otherProps","setLabelledById","useListbox2GroupContext","useId","useEffect","role"],"mappings":";;;;MAMaA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAAqC,SAASC,aAAa,CAACC,KAAK,EAAEC,GAAG;EACvG,MAAM;IAAEC,EAAE,EAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAC7C,MAAM;IAAEK;GAAiB,GAAGC,uBAAuB,EAAE;EACrD,MAAMJ,EAAE,GAAGK,KAAK,CAACJ,QAAQ,CAAC;EAE1BN,cAAK,CAACW,SAAS,CAAC;IACZH,eAAe,CAACH,EAAE,CAAC;GACtB,EAAE,CAACA,EAAE,CAAC,CAAC;EAER,oBAAOL,sDAASO,UAAU;IAAEF,EAAE,EAAEA,EAAE;IAAED,GAAG,EAAEA,GAAG;IAAEQ,IAAI,EAAC;KAAiB;AACxE,CAAC;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"aria.js","sources":["../../../../../../src/utils/aria.ts"],"sourcesContent":["export const isAriaSelectionKey = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Tab') {\n return true;\n }\n\n return false;\n};\n\nexport const isAriaDirectionKey = (event: React.KeyboardEvent) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'Home' || event.key === 'End') {\n return true;\n }\n\n return false;\n};\n"],"names":["isAriaSelectionKey","event","key","isAriaDirectionKey"],"mappings":"MAAaA,kBAAkB,GAAIC,KAA0B;EACzD,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;IACnE,OAAO,IAAI;;EAGf,OAAO,KAAK;AAChB;MAEaC,kBAAkB,GAAIF,KAA0B;EACzD,IAAIA,KAAK,CAACC,GAAG,KAAK,SAAS,IAAID,KAAK,CAACC,GAAG,KAAK,WAAW,IAAID,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;IACrG,OAAO,IAAI;;EAGf,OAAO,KAAK;AAChB;;;;"}
|
1
|
+
{"version":3,"file":"aria.js","sources":["../../../../../../src/utils/aria.ts"],"sourcesContent":["export const isAriaSelectionKey = (event: React.KeyboardEvent) => {\r\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Tab') {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const isAriaDirectionKey = (event: React.KeyboardEvent) => {\r\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'Home' || event.key === 'End') {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n"],"names":["isAriaSelectionKey","event","key","isAriaDirectionKey"],"mappings":"MAAaA,kBAAkB,GAAIC,KAA0B;EACzD,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;IACnE,OAAO,IAAI;;EAGf,OAAO,KAAK;AAChB;MAEaC,kBAAkB,GAAIF,KAA0B;EACzD,IAAIA,KAAK,CAACC,GAAG,KAAK,SAAS,IAAID,KAAK,CAACC,GAAG,KAAK,WAAW,IAAID,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;IACrG,OAAO,IAAI;;EAGf,OAAO,KAAK;AAChB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"colors.js","sources":["../../../../../../src/utils/colors.ts"],"sourcesContent":["export const colors = {\n green: 'bg-[#cdf0e7] text-[#14493a]',\n yellow: 'bg-[#fff1c3] text-[#733700]',\n red: 'bg-[#ffdad2] text-[#64001b]',\n blue: 'bg-[#deebff] text-[#29283e]',\n purple: 'bg-[#eee5ff] text-[#412970]',\n orange: 'bg-[#ffe3bb] text-[#4a2811]',\n brown: 'bg-[#eee0da] text-[#45291f]',\n pink: 'bg-[#ffe3f7] text-[#870062]',\n grey: 'bg-grey text-[#303030]',\n};\n\nexport type Color = keyof typeof colors;\n"],"names":["colors","green","yellow","red","blue","purple","orange","brown","pink","grey"],"mappings":"MAAaA,MAAM,GAAG;EAClBC,KAAK,EAAE,6BAA6B;EACpCC,MAAM,EAAE,6BAA6B;EACrCC,GAAG,EAAE,6BAA6B;EAClCC,IAAI,EAAE,6BAA6B;EACnCC,MAAM,EAAE,6BAA6B;EACrCC,MAAM,EAAE,6BAA6B;EACrCC,KAAK,EAAE,6BAA6B;EACpCC,IAAI,EAAE,6BAA6B;EACnCC,IAAI,EAAE;;;;;"}
|
1
|
+
{"version":3,"file":"colors.js","sources":["../../../../../../src/utils/colors.ts"],"sourcesContent":["export const colors = {\r\n green: 'bg-[#cdf0e7] text-[#14493a]',\r\n yellow: 'bg-[#fff1c3] text-[#733700]',\r\n red: 'bg-[#ffdad2] text-[#64001b]',\r\n blue: 'bg-[#deebff] text-[#29283e]',\r\n purple: 'bg-[#eee5ff] text-[#412970]',\r\n orange: 'bg-[#ffe3bb] text-[#4a2811]',\r\n brown: 'bg-[#eee0da] text-[#45291f]',\r\n pink: 'bg-[#ffe3f7] text-[#870062]',\r\n grey: 'bg-grey text-[#303030]',\r\n};\r\n\r\nexport type Color = keyof typeof colors;\r\n"],"names":["colors","green","yellow","red","blue","purple","orange","brown","pink","grey"],"mappings":"MAAaA,MAAM,GAAG;EAClBC,KAAK,EAAE,6BAA6B;EACpCC,MAAM,EAAE,6BAA6B;EACrCC,GAAG,EAAE,6BAA6B;EAClCC,IAAI,EAAE,6BAA6B;EACnCC,MAAM,EAAE,6BAA6B;EACrCC,MAAM,EAAE,6BAA6B;EACrCC,KAAK,EAAE,6BAA6B;EACpCC,IAAI,EAAE,6BAA6B;EACnCC,IAAI,EAAE;;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"date.js","sources":["../../../../../../src/utils/date.ts"],"sourcesContent":["import { isDate, toDate, isValid } from 'date-fns';\n\nexport const format = (date: Date | undefined, mask = 'dd.mm.yy'): string | undefined => {\n if (!date) {\n return undefined;\n }\n\n const value = isDate(date) ? date : toDate(date);\n\n if (!isValid(value)) {\n return undefined;\n }\n\n const pad = (v: number): string => (String(v).length === 1 ? `0${v}` : v.toString());\n\n return mask\n .replace('dd', pad(value.getDate()))\n .replace('mm', pad(value.getMonth() + 1))\n .replace('yy', String(value.getFullYear()).slice(2));\n};\n\nexport const parseFromCustomString = (date = '', mask = 'dd.mm.yy'): Date | undefined => {\n if (!date || !date.length) {\n return undefined;\n }\n\n const sanitizedMask = mask.split(/[^dmy]/);\n const dd = sanitizedMask.findIndex(x => x === 'dd');\n const mm = sanitizedMask.findIndex(x => x === 'mm');\n const yy = sanitizedMask.findIndex(x => x === 'yy' || x === 'yyyy');\n\n let day;\n let month;\n let year;\n\n const getFullYear = (y: string): string => {\n if (y && y.length === 2) {\n const z = Number.parseInt(y, 10);\n\n return z > 50 ? `19${y}` : `20${y}`;\n }\n\n return y;\n };\n\n const inputParts = date.split(/\\D/);\n\n if (inputParts.length === 1) {\n const fullDate = inputParts[0];\n const unseparatedMask = mask.replace(/[^dmy]/g, '');\n\n day = fullDate.slice(unseparatedMask.indexOf('d'), unseparatedMask.lastIndexOf('d') + 1);\n month = fullDate.slice(unseparatedMask.indexOf('m'), unseparatedMask.lastIndexOf('m') + 1);\n year = getFullYear(fullDate.slice(unseparatedMask.indexOf('y'), unseparatedMask.lastIndexOf('y') + 3)); // account for full years\n } else {\n day = inputParts[dd];\n month = inputParts[mm];\n year = getFullYear(inputParts[yy]);\n }\n\n day = Number.parseInt(day, 10);\n month = Number.parseInt(month, 10);\n year = Number.parseInt(year, 10);\n\n const currentDate = new Date();\n\n return new Date(\n /* year */ Object.is(year, NaN) ? currentDate.getFullYear() : year,\n /* month */ Object.is(month, NaN) ? currentDate.getMonth() : month - 1, // months are zero based in javascript, so subtract a day\n /* day */ Object.is(day, NaN) ? currentDate.getDate() : day,\n /* hours */ 12,\n /* minutes */ 0 // set to midday to avoid UTC offset causing dates to be mismatched server side\n );\n};\n\nexport const parseFromISOString = (date: string): Date | undefined => {\n const tempDate = new Date(date);\n return isValid(tempDate) ? parseFromCustomString(format(new Date(date))) : undefined;\n};\n"],"names":["format","date","mask","undefined","value","isDate","toDate","isValid","pad","v","String","length","toString","replace","getDate","getMonth","getFullYear","slice","parseFromCustomString","sanitizedMask","split","dd","findIndex","x","mm","yy","day","month","year","y","z","Number","parseInt","inputParts","fullDate","unseparatedMask","indexOf","lastIndexOf","currentDate","Date","Object","is","NaN","parseFromISOString","tempDate"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"date.js","sources":["../../../../../../src/utils/date.ts"],"sourcesContent":["import { isDate, toDate, isValid } from 'date-fns';\r\n\r\nexport const format = (date: Date | undefined, mask = 'dd.mm.yy'): string | undefined => {\r\n if (!date) {\r\n return undefined;\r\n }\r\n\r\n const value = isDate(date) ? date : toDate(date);\r\n\r\n if (!isValid(value)) {\r\n return undefined;\r\n }\r\n\r\n const pad = (v: number): string => (String(v).length === 1 ? `0${v}` : v.toString());\r\n\r\n return mask\r\n .replace('dd', pad(value.getDate()))\r\n .replace('mm', pad(value.getMonth() + 1))\r\n .replace('yy', String(value.getFullYear()).slice(2));\r\n};\r\n\r\nexport const parseFromCustomString = (date = '', mask = 'dd.mm.yy'): Date | undefined => {\r\n if (!date || !date.length) {\r\n return undefined;\r\n }\r\n\r\n const sanitizedMask = mask.split(/[^dmy]/);\r\n const dd = sanitizedMask.findIndex(x => x === 'dd');\r\n const mm = sanitizedMask.findIndex(x => x === 'mm');\r\n const yy = sanitizedMask.findIndex(x => x === 'yy' || x === 'yyyy');\r\n\r\n let day;\r\n let month;\r\n let year;\r\n\r\n const getFullYear = (y: string): string => {\r\n if (y && y.length === 2) {\r\n const z = Number.parseInt(y, 10);\r\n\r\n return z > 50 ? `19${y}` : `20${y}`;\r\n }\r\n\r\n return y;\r\n };\r\n\r\n const inputParts = date.split(/\\D/);\r\n\r\n if (inputParts.length === 1) {\r\n const fullDate = inputParts[0];\r\n const unseparatedMask = mask.replace(/[^dmy]/g, '');\r\n\r\n day = fullDate.slice(unseparatedMask.indexOf('d'), unseparatedMask.lastIndexOf('d') + 1);\r\n month = fullDate.slice(unseparatedMask.indexOf('m'), unseparatedMask.lastIndexOf('m') + 1);\r\n year = getFullYear(fullDate.slice(unseparatedMask.indexOf('y'), unseparatedMask.lastIndexOf('y') + 3)); // account for full years\r\n } else {\r\n day = inputParts[dd];\r\n month = inputParts[mm];\r\n year = getFullYear(inputParts[yy]);\r\n }\r\n\r\n day = Number.parseInt(day, 10);\r\n month = Number.parseInt(month, 10);\r\n year = Number.parseInt(year, 10);\r\n\r\n const currentDate = new Date();\r\n\r\n return new Date(\r\n /* year */ Object.is(year, NaN) ? currentDate.getFullYear() : year,\r\n /* month */ Object.is(month, NaN) ? currentDate.getMonth() : month - 1, // months are zero based in javascript, so subtract a day\r\n /* day */ Object.is(day, NaN) ? currentDate.getDate() : day,\r\n /* hours */ 12,\r\n /* minutes */ 0 // set to midday to avoid UTC offset causing dates to be mismatched server side\r\n );\r\n};\r\n\r\nexport const parseFromISOString = (date: string): Date | undefined => {\r\n const tempDate = new Date(date);\r\n return isValid(tempDate) ? parseFromCustomString(format(new Date(date))) : undefined;\r\n};\r\n"],"names":["format","date","mask","undefined","value","isDate","toDate","isValid","pad","v","String","length","toString","replace","getDate","getMonth","getFullYear","slice","parseFromCustomString","sanitizedMask","split","dd","findIndex","x","mm","yy","day","month","year","y","z","Number","parseInt","inputParts","fullDate","unseparatedMask","indexOf","lastIndexOf","currentDate","Date","Object","is","NaN","parseFromISOString","tempDate"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debounce.js","sources":["../../../../../../src/utils/debounce.ts"],"sourcesContent":["export const debounce = (fn: Function, delay: number) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n return function (this: any, ...args: any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), delay);\n };\n};\n"],"names":["debounce","fn","delay","timeoutId","args","clearTimeout","setTimeout","apply"],"mappings":"MAAaA,QAAQ,GAAG,CAACC,EAAY,EAAEC,KAAa;EAChD,IAAIC,SAAwC;EAE5C,OAAO,UAAqB,GAAGC,IAAW;IACtCC,YAAY,CAACF,SAAS,CAAC;IACvBA,SAAS,GAAGG,UAAU,CAAC,MAAML,EAAE,CAACM,KAAK,CAAC,IAAI,EAAEH,IAAI,CAAC,EAAEF,KAAK,CAAC;GAC5D;AACL;;;;"}
|
1
|
+
{"version":3,"file":"debounce.js","sources":["../../../../../../src/utils/debounce.ts"],"sourcesContent":["export const debounce = (fn: Function, delay: number) => {\r\n let timeoutId: ReturnType<typeof setTimeout>;\r\n\r\n return function (this: any, ...args: any[]) {\r\n clearTimeout(timeoutId);\r\n timeoutId = setTimeout(() => fn.apply(this, args), delay);\r\n };\r\n};\r\n"],"names":["debounce","fn","delay","timeoutId","args","clearTimeout","setTimeout","apply"],"mappings":"MAAaA,QAAQ,GAAG,CAACC,EAAY,EAAEC,KAAa;EAChD,IAAIC,SAAwC;EAE5C,OAAO,UAAqB,GAAGC,IAAW;IACtCC,YAAY,CAACF,SAAS,CAAC;IACvBA,SAAS,GAAGG,UAAU,CAAC,MAAML,EAAE,CAACM,KAAK,CAAC,IAAI,EAAEH,IAAI,CAAC,EAAEF,KAAK,CAAC;GAC5D;AACL;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"device.js","sources":["../../../../../../src/utils/device.ts"],"sourcesContent":["const mobiles = /iPhone|iPad|iPod|Android/i;\n\nexport const isMobileDevice = (navigator: Navigator | undefined) => !!navigator?.userAgent && mobiles.test(navigator.userAgent);\n"],"names":["mobiles","isMobileDevice","navigator","userAgent","test"],"mappings":"AAAA,MAAMA,OAAO,GAAG,2BAA2B;MAE9BC,cAAc,GAAIC,SAAgC,IAAK,CAAC,EAACA,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEC,SAAS,KAAIH,OAAO,CAACI,IAAI,CAACF,SAAS,CAACC,SAAS;;;;"}
|
1
|
+
{"version":3,"file":"device.js","sources":["../../../../../../src/utils/device.ts"],"sourcesContent":["const mobiles = /iPhone|iPad|iPod|Android/i;\r\n\r\nexport const isMobileDevice = (navigator: Navigator | undefined) => !!navigator?.userAgent && mobiles.test(navigator.userAgent);\r\n"],"names":["mobiles","isMobileDevice","navigator","userAgent","test"],"mappings":"AAAA,MAAMA,OAAO,GAAG,2BAA2B;MAE9BC,cAAc,GAAIC,SAAgC,IAAK,CAAC,EAACA,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEC,SAAS,KAAIH,OAAO,CAACI,IAAI,CAACF,SAAS,CAACC,SAAS;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["export const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n"],"names":["getIndexOfFirstChildOverflowingParent","element","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","child","Array","from","children","right","left","width"],"mappings":"MAGaA,qCAAqC,GAAG,CAACC,OAAoB,EAAEC,QAAQ,GAAG,CAAC;EACpF,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,kBAAkB,GAAkB,IAAI;EAC5C,MAAMC,UAAU,GAAGJ,OAAO,CAACK,qBAAqB,EAAE;EAElD,KAAK,MAAMC,KAAK,IAAIC,KAAK,CAACC,IAAI,CAACR,OAAO,CAACS,QAAQ,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGJ,KAAK,CAACD,qBAAqB,EAAE,CAACK,KAAK,GAAGN,UAAU,CAACO,IAAI;IACnE,MAAMC,KAAK,GAAGR,UAAU,CAACQ,KAAK,GAAGX,QAAQ;IAEzC,IAAIS,KAAK,GAAGE,KAAK,EAAE;MACfT,kBAAkB,GAAGD,KAAK;MAC1B;;IAEJA,KAAK,EAAE;;EAGX,OAAOC,kBAAkB;AAC7B;;;;"}
|
1
|
+
{"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["export const isOverflowing = (element: HTMLElement | null) =>\r\n element !== null ? element.scrollWidth > element.offsetWidth : false;\r\n\r\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\r\n let index = 0;\r\n let boundaryChildIndex: number | null = null;\r\n const clientRect = element.getBoundingClientRect();\r\n\r\n for (const child of Array.from(element.children)) {\r\n const right = child.getBoundingClientRect().right - clientRect.left;\r\n const width = clientRect.width - overscan;\r\n\r\n if (right > width) {\r\n boundaryChildIndex = index;\r\n break;\r\n }\r\n index++;\r\n }\r\n\r\n return boundaryChildIndex;\r\n};\r\n"],"names":["getIndexOfFirstChildOverflowingParent","element","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","child","Array","from","children","right","left","width"],"mappings":"MAGaA,qCAAqC,GAAG,CAACC,OAAoB,EAAEC,QAAQ,GAAG,CAAC;EACpF,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,kBAAkB,GAAkB,IAAI;EAC5C,MAAMC,UAAU,GAAGJ,OAAO,CAACK,qBAAqB,EAAE;EAElD,KAAK,MAAMC,KAAK,IAAIC,KAAK,CAACC,IAAI,CAACR,OAAO,CAACS,QAAQ,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGJ,KAAK,CAACD,qBAAqB,EAAE,CAACK,KAAK,GAAGN,UAAU,CAACO,IAAI;IACnE,MAAMC,KAAK,GAAGR,UAAU,CAACQ,KAAK,GAAGX,QAAQ;IAEzC,IAAIS,KAAK,GAAGE,KAAK,EAAE;MACfT,kBAAkB,GAAGD,KAAK;MAC1B;;IAEJA,KAAK,EAAE;;EAGX,OAAOC,kBAAkB;AAC7B;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDropTarget.js","sources":["../../../../../../../src/utils/hooks/useDropTarget.ts"],"sourcesContent":["import React from 'react';\n\nexport type useDropTarget = [\n boolean,\n (\n | undefined\n | {\n onDragEnter: React.DragEventHandler;\n onDragLeave: React.DragEventHandler;\n onDragOver: React.DragEventHandler;\n onDrop: React.DragEventHandler;\n }\n )\n];\n\nexport const useDropTarget = (onDrop: React.DragEventHandler | undefined): useDropTarget => {\n const [isDraggedOver, setDraggedOver] = React.useState(false);\n\n const handleDragEnter = React.useCallback((event: React.DragEvent<HTMLElement>) => {\n event.preventDefault();\n setDraggedOver(true);\n }, []);\n\n const handleDragLeave = React.useCallback((event: React.DragEvent<HTMLElement>) => {\n event.preventDefault();\n\n if (event.target === event.currentTarget) {\n setDraggedOver(false);\n }\n }, []);\n\n const handleDragOver = React.useCallback((event: React.DragEvent<HTMLElement>) => {\n event.preventDefault();\n }, []);\n\n const handleDrop = React.useCallback(\n (event: React.DragEvent<HTMLElement>) => {\n event.preventDefault();\n event.persist();\n\n setDraggedOver(false);\n\n if (onDrop) {\n onDrop(event);\n }\n },\n [onDrop]\n );\n\n const props = onDrop\n ? {\n onDragEnter: handleDragEnter,\n onDragLeave: handleDragLeave,\n onDragOver: handleDragOver,\n onDrop: handleDrop,\n }\n : undefined;\n\n return [isDraggedOver, props];\n};\n"],"names":["useDropTarget","onDrop","isDraggedOver","setDraggedOver","React","useState","handleDragEnter","useCallback","event","preventDefault","handleDragLeave","target","currentTarget","handleDragOver","handleDrop","persist","props","onDragEnter","onDragLeave","onDragOver","undefined"],"mappings":";;MAeaA,aAAa,GAAIC,MAA0C;EACpE,MAAM,CAACC,aAAa,EAAEC,cAAc,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EAE7D,MAAMC,eAAe,GAAGF,cAAK,CAACG,WAAW,CAAEC,KAAmC;IAC1EA,KAAK,CAACC,cAAc,EAAE;IACtBN,cAAc,CAAC,IAAI,CAAC;GACvB,EAAE,EAAE,CAAC;EAEN,MAAMO,eAAe,GAAGN,cAAK,CAACG,WAAW,CAAEC,KAAmC;IAC1EA,KAAK,CAACC,cAAc,EAAE;IAEtB,IAAID,KAAK,CAACG,MAAM,KAAKH,KAAK,CAACI,aAAa,EAAE;MACtCT,cAAc,CAAC,KAAK,CAAC;;GAE5B,EAAE,EAAE,CAAC;EAEN,MAAMU,cAAc,GAAGT,cAAK,CAACG,WAAW,CAAEC,KAAmC;IACzEA,KAAK,CAACC,cAAc,EAAE;GACzB,EAAE,EAAE,CAAC;EAEN,MAAMK,UAAU,GAAGV,cAAK,CAACG,WAAW,CAC/BC,KAAmC;IAChCA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACO,OAAO,EAAE;IAEfZ,cAAc,CAAC,KAAK,CAAC;IAErB,IAAIF,MAAM,EAAE;MACRA,MAAM,CAACO,KAAK,CAAC;;GAEpB,EACD,CAACP,MAAM,CAAC,CACX;EAED,MAAMe,KAAK,GAAGf,MAAM,GACd;IACIgB,WAAW,EAAEX,eAAe;IAC5BY,WAAW,EAAER,eAAe;IAC5BS,UAAU,EAAEN,cAAc;IAC1BZ,MAAM,EAAEa;GACX,GACDM,SAAS;EAEf,OAAO,CAAClB,aAAa,EAAEc,KAAK,CAAC;AACjC;;;;"}
|
1
|
+
{"version":3,"file":"useDropTarget.js","sources":["../../../../../../../src/utils/hooks/useDropTarget.ts"],"sourcesContent":["import React from 'react';\r\n\r\nexport type useDropTarget = [\r\n boolean,\r\n (\r\n | undefined\r\n | {\r\n onDragEnter: React.DragEventHandler;\r\n onDragLeave: React.DragEventHandler;\r\n onDragOver: React.DragEventHandler;\r\n onDrop: React.DragEventHandler;\r\n }\r\n )\r\n];\r\n\r\nexport const useDropTarget = (onDrop: React.DragEventHandler | undefined): useDropTarget => {\r\n const [isDraggedOver, setDraggedOver] = React.useState(false);\r\n\r\n const handleDragEnter = React.useCallback((event: React.DragEvent<HTMLElement>) => {\r\n event.preventDefault();\r\n setDraggedOver(true);\r\n }, []);\r\n\r\n const handleDragLeave = React.useCallback((event: React.DragEvent<HTMLElement>) => {\r\n event.preventDefault();\r\n\r\n if (event.target === event.currentTarget) {\r\n setDraggedOver(false);\r\n }\r\n }, []);\r\n\r\n const handleDragOver = React.useCallback((event: React.DragEvent<HTMLElement>) => {\r\n event.preventDefault();\r\n }, []);\r\n\r\n const handleDrop = React.useCallback(\r\n (event: React.DragEvent<HTMLElement>) => {\r\n event.preventDefault();\r\n event.persist();\r\n\r\n setDraggedOver(false);\r\n\r\n if (onDrop) {\r\n onDrop(event);\r\n }\r\n },\r\n [onDrop]\r\n );\r\n\r\n const props = onDrop\r\n ? {\r\n onDragEnter: handleDragEnter,\r\n onDragLeave: handleDragLeave,\r\n onDragOver: handleDragOver,\r\n onDrop: handleDrop,\r\n }\r\n : undefined;\r\n\r\n return [isDraggedOver, props];\r\n};\r\n"],"names":["useDropTarget","onDrop","isDraggedOver","setDraggedOver","React","useState","handleDragEnter","useCallback","event","preventDefault","handleDragLeave","target","currentTarget","handleDragOver","handleDrop","persist","props","onDragEnter","onDragLeave","onDragOver","undefined"],"mappings":";;MAeaA,aAAa,GAAIC,MAA0C;EACpE,MAAM,CAACC,aAAa,EAAEC,cAAc,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EAE7D,MAAMC,eAAe,GAAGF,cAAK,CAACG,WAAW,CAAEC,KAAmC;IAC1EA,KAAK,CAACC,cAAc,EAAE;IACtBN,cAAc,CAAC,IAAI,CAAC;GACvB,EAAE,EAAE,CAAC;EAEN,MAAMO,eAAe,GAAGN,cAAK,CAACG,WAAW,CAAEC,KAAmC;IAC1EA,KAAK,CAACC,cAAc,EAAE;IAEtB,IAAID,KAAK,CAACG,MAAM,KAAKH,KAAK,CAACI,aAAa,EAAE;MACtCT,cAAc,CAAC,KAAK,CAAC;;GAE5B,EAAE,EAAE,CAAC;EAEN,MAAMU,cAAc,GAAGT,cAAK,CAACG,WAAW,CAAEC,KAAmC;IACzEA,KAAK,CAACC,cAAc,EAAE;GACzB,EAAE,EAAE,CAAC;EAEN,MAAMK,UAAU,GAAGV,cAAK,CAACG,WAAW,CAC/BC,KAAmC;IAChCA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACO,OAAO,EAAE;IAEfZ,cAAc,CAAC,KAAK,CAAC;IAErB,IAAIF,MAAM,EAAE;MACRA,MAAM,CAACO,KAAK,CAAC;;GAEpB,EACD,CAACP,MAAM,CAAC,CACX;EAED,MAAMe,KAAK,GAAGf,MAAM,GACd;IACIgB,WAAW,EAAEX,eAAe;IAC5BY,WAAW,EAAER,eAAe;IAC5BS,UAAU,EAAEN,cAAc;IAC1BZ,MAAM,EAAEa;GACX,GACDM,SAAS;EAEf,OAAO,CAAClB,aAAa,EAAEc,KAAK,CAAC;AACjC;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useListKeyboardNavigation.js","sources":["../../../../../../../src/utils/hooks/useListKeyboardNavigation.ts"],"sourcesContent":["import React from 'react';\nimport { Orientation } from '../../types';\n\nexport const getNextIndexFromKey = (\n key: string,\n length: number,\n index: number | undefined,\n direction: Orientation = 'vertical'\n): number | undefined => {\n const previousKey = direction === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\n const nextKey = direction === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\n\n switch (key) {\n case previousKey:\n return index !== undefined ? (index - 1 < 0 ? 0 : index - 1) : index;\n\n case nextKey:\n return index !== undefined ? (index + 1 >= length ? index : index + 1) : index;\n\n case 'Home':\n return 0;\n\n case 'End':\n return length - 1;\n\n default:\n return;\n }\n};\n\nexport type useListKeyboardNavigationOptions = {\n direction?: Orientation;\n initialIndex?: number;\n};\n\nexport const useListKeyboardNavigation = (\n length = 0,\n options: useListKeyboardNavigationOptions = {\n direction: 'vertical',\n }\n): [number | undefined, (index: number | undefined) => void, (event: React.KeyboardEvent<HTMLElement>) => number | undefined] => {\n const [index, setIndex] = React.useState<number | undefined>(options.initialIndex);\n\n const getNextIndex = (event: React.KeyboardEvent<HTMLElement>): number | undefined => {\n const nextIndex = getNextIndexFromKey(event.key, length, index, options.direction);\n\n if (nextIndex !== undefined) {\n event.preventDefault();\n }\n\n return nextIndex;\n };\n\n return [index, setIndex, getNextIndex];\n};\n"],"names":["getNextIndexFromKey","key","length","index","direction","previousKey","nextKey","undefined","useListKeyboardNavigation","options","setIndex","React","useState","initialIndex","getNextIndex","event","nextIndex","preventDefault"],"mappings":";;MAGaA,mBAAmB,GAAG,CAC/BC,GAAW,EACXC,MAAc,EACdC,KAAyB,EACzBC,YAAyB,UAAU;EAEnC,MAAMC,WAAW,GAAGD,SAAS,KAAK,YAAY,GAAG,WAAW,GAAG,SAAS;EACxE,MAAME,OAAO,GAAGF,SAAS,KAAK,YAAY,GAAG,YAAY,GAAG,WAAW;EAEvE,QAAQH,GAAG;IACP,KAAKI,WAAW;MACZ,OAAOF,KAAK,KAAKI,SAAS,GAAIJ,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAC,GAAIA,KAAK;IAExE,KAAKG,OAAO;MACR,OAAOH,KAAK,KAAKI,SAAS,GAAIJ,KAAK,GAAG,CAAC,IAAID,MAAM,GAAGC,KAAK,GAAGA,KAAK,GAAG,CAAC,GAAIA,KAAK;IAElF,KAAK,MAAM;MACP,OAAO,CAAC;IAEZ,KAAK,KAAK;MACN,OAAOD,MAAM,GAAG,CAAC;IAErB;MACI;;AAEZ;MAOaM,yBAAyB,GAAG,CACrCN,MAAM,GAAG,CAAC,EACVO,UAA4C;EACxCL,SAAS,EAAE;CACd;EAED,MAAM,CAACD,KAAK,EAAEO,QAAQ,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAqBH,OAAO,CAACI,YAAY,CAAC;EAElF,MAAMC,YAAY,GAAIC,KAAuC;IACzD,MAAMC,SAAS,GAAGhB,mBAAmB,CAACe,KAAK,CAACd,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAEM,OAAO,CAACL,SAAS,CAAC;IAElF,IAAIY,SAAS,KAAKT,SAAS,EAAE;MACzBQ,KAAK,CAACE,cAAc,EAAE;;IAG1B,OAAOD,SAAS;GACnB;EAED,OAAO,CAACb,KAAK,EAAEO,QAAQ,EAAEI,YAAY,CAAC;AAC1C;;;;"}
|
1
|
+
{"version":3,"file":"useListKeyboardNavigation.js","sources":["../../../../../../../src/utils/hooks/useListKeyboardNavigation.ts"],"sourcesContent":["import React from 'react';\r\nimport { Orientation } from '../../types';\r\n\r\nexport const getNextIndexFromKey = (\r\n key: string,\r\n length: number,\r\n index: number | undefined,\r\n direction: Orientation = 'vertical'\r\n): number | undefined => {\r\n const previousKey = direction === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\r\n const nextKey = direction === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\r\n\r\n switch (key) {\r\n case previousKey:\r\n return index !== undefined ? (index - 1 < 0 ? 0 : index - 1) : index;\r\n\r\n case nextKey:\r\n return index !== undefined ? (index + 1 >= length ? index : index + 1) : index;\r\n\r\n case 'Home':\r\n return 0;\r\n\r\n case 'End':\r\n return length - 1;\r\n\r\n default:\r\n return;\r\n }\r\n};\r\n\r\nexport type useListKeyboardNavigationOptions = {\r\n direction?: Orientation;\r\n initialIndex?: number;\r\n};\r\n\r\nexport const useListKeyboardNavigation = (\r\n length = 0,\r\n options: useListKeyboardNavigationOptions = {\r\n direction: 'vertical',\r\n }\r\n): [number | undefined, (index: number | undefined) => void, (event: React.KeyboardEvent<HTMLElement>) => number | undefined] => {\r\n const [index, setIndex] = React.useState<number | undefined>(options.initialIndex);\r\n\r\n const getNextIndex = (event: React.KeyboardEvent<HTMLElement>): number | undefined => {\r\n const nextIndex = getNextIndexFromKey(event.key, length, index, options.direction);\r\n\r\n if (nextIndex !== undefined) {\r\n event.preventDefault();\r\n }\r\n\r\n return nextIndex;\r\n };\r\n\r\n return [index, setIndex, getNextIndex];\r\n};\r\n"],"names":["getNextIndexFromKey","key","length","index","direction","previousKey","nextKey","undefined","useListKeyboardNavigation","options","setIndex","React","useState","initialIndex","getNextIndex","event","nextIndex","preventDefault"],"mappings":";;MAGaA,mBAAmB,GAAG,CAC/BC,GAAW,EACXC,MAAc,EACdC,KAAyB,EACzBC,YAAyB,UAAU;EAEnC,MAAMC,WAAW,GAAGD,SAAS,KAAK,YAAY,GAAG,WAAW,GAAG,SAAS;EACxE,MAAME,OAAO,GAAGF,SAAS,KAAK,YAAY,GAAG,YAAY,GAAG,WAAW;EAEvE,QAAQH,GAAG;IACP,KAAKI,WAAW;MACZ,OAAOF,KAAK,KAAKI,SAAS,GAAIJ,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAC,GAAIA,KAAK;IAExE,KAAKG,OAAO;MACR,OAAOH,KAAK,KAAKI,SAAS,GAAIJ,KAAK,GAAG,CAAC,IAAID,MAAM,GAAGC,KAAK,GAAGA,KAAK,GAAG,CAAC,GAAIA,KAAK;IAElF,KAAK,MAAM;MACP,OAAO,CAAC;IAEZ,KAAK,KAAK;MACN,OAAOD,MAAM,GAAG,CAAC;IAErB;MACI;;AAEZ;MAOaM,yBAAyB,GAAG,CACrCN,MAAM,GAAG,CAAC,EACVO,UAA4C;EACxCL,SAAS,EAAE;CACd;EAED,MAAM,CAACD,KAAK,EAAEO,QAAQ,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAqBH,OAAO,CAACI,YAAY,CAAC;EAElF,MAAMC,YAAY,GAAIC,KAAuC;IACzD,MAAMC,SAAS,GAAGhB,mBAAmB,CAACe,KAAK,CAACd,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAEM,OAAO,CAACL,SAAS,CAAC;IAElF,IAAIY,SAAS,KAAKT,SAAS,EAAE;MACzBQ,KAAK,CAACE,cAAc,EAAE;;IAG1B,OAAOD,SAAS;GACnB;EAED,OAAO,CAACb,KAAK,EAAEO,QAAQ,EAAEI,YAAY,CAAC;AAC1C;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useListScrollTo.js","sources":["../../../../../../../src/utils/hooks/useListScrollTo.ts"],"sourcesContent":["const scrollToChildElement = (parent: HTMLElement, child: HTMLElement): void => {\n const clientHeight = parent.clientHeight;\n\n if (parent.scrollHeight > clientHeight) {\n const scrollTop = parent.scrollTop;\n const scrollBottom = clientHeight + scrollTop;\n const childBottom = child.offsetTop + child.offsetHeight;\n\n if (childBottom > scrollBottom) {\n parent.scrollTop = childBottom - clientHeight;\n } else if (child.offsetTop < scrollTop) {\n parent.scrollTop = child.offsetTop;\n }\n }\n};\n\nexport const useListScrollTo = (internalRef: any, itemRefs: any[]): any => {\n const scrollTo = (index: number | undefined): void => {\n if (internalRef && internalRef.current) {\n if (index !== undefined) {\n const activeRef = itemRefs[index];\n\n if (activeRef && activeRef.current) {\n scrollToChildElement(internalRef.current, activeRef.current);\n }\n } else {\n internalRef.current.scrollTop = 0;\n }\n }\n };\n\n return { scrollTo };\n};\n"],"names":["scrollToChildElement","parent","child","clientHeight","scrollHeight","scrollTop","scrollBottom","childBottom","offsetTop","offsetHeight","useListScrollTo","internalRef","itemRefs","scrollTo","index","current","undefined","activeRef"],"mappings":"AAAA,MAAMA,oBAAoB,GAAG,CAACC,MAAmB,EAAEC,KAAkB;EACjE,MAAMC,YAAY,GAAGF,MAAM,CAACE,YAAY;EAExC,IAAIF,MAAM,CAACG,YAAY,GAAGD,YAAY,EAAE;IACpC,MAAME,SAAS,GAAGJ,MAAM,CAACI,SAAS;IAClC,MAAMC,YAAY,GAAGH,YAAY,GAAGE,SAAS;IAC7C,MAAME,WAAW,GAAGL,KAAK,CAACM,SAAS,GAAGN,KAAK,CAACO,YAAY;IAExD,IAAIF,WAAW,GAAGD,YAAY,EAAE;MAC5BL,MAAM,CAACI,SAAS,GAAGE,WAAW,GAAGJ,YAAY;KAChD,MAAM,IAAID,KAAK,CAACM,SAAS,GAAGH,SAAS,EAAE;MACpCJ,MAAM,CAACI,SAAS,GAAGH,KAAK,CAACM,SAAS;;;AAG9C,CAAC;MAEYE,eAAe,GAAG,CAACC,WAAgB,EAAEC,QAAe;EAC7D,MAAMC,QAAQ,GAAIC,KAAyB;IACvC,IAAIH,WAAW,IAAIA,WAAW,CAACI,OAAO,EAAE;MACpC,IAAID,KAAK,KAAKE,SAAS,EAAE;QACrB,MAAMC,SAAS,GAAGL,QAAQ,CAACE,KAAK,CAAC;QAEjC,IAAIG,SAAS,IAAIA,SAAS,CAACF,OAAO,EAAE;UAChCf,oBAAoB,CAACW,WAAW,CAACI,OAAO,EAAEE,SAAS,CAACF,OAAO,CAAC;;OAEnE,MAAM;QACHJ,WAAW,CAACI,OAAO,CAACV,SAAS,GAAG,CAAC;;;GAG5C;EAED,OAAO;IAAEQ;GAAU;AACvB;;;;"}
|
1
|
+
{"version":3,"file":"useListScrollTo.js","sources":["../../../../../../../src/utils/hooks/useListScrollTo.ts"],"sourcesContent":["const scrollToChildElement = (parent: HTMLElement, child: HTMLElement): void => {\r\n const clientHeight = parent.clientHeight;\r\n\r\n if (parent.scrollHeight > clientHeight) {\r\n const scrollTop = parent.scrollTop;\r\n const scrollBottom = clientHeight + scrollTop;\r\n const childBottom = child.offsetTop + child.offsetHeight;\r\n\r\n if (childBottom > scrollBottom) {\r\n parent.scrollTop = childBottom - clientHeight;\r\n } else if (child.offsetTop < scrollTop) {\r\n parent.scrollTop = child.offsetTop;\r\n }\r\n }\r\n};\r\n\r\nexport const useListScrollTo = (internalRef: any, itemRefs: any[]): any => {\r\n const scrollTo = (index: number | undefined): void => {\r\n if (internalRef && internalRef.current) {\r\n if (index !== undefined) {\r\n const activeRef = itemRefs[index];\r\n\r\n if (activeRef && activeRef.current) {\r\n scrollToChildElement(internalRef.current, activeRef.current);\r\n }\r\n } else {\r\n internalRef.current.scrollTop = 0;\r\n }\r\n }\r\n };\r\n\r\n return { scrollTo };\r\n};\r\n"],"names":["scrollToChildElement","parent","child","clientHeight","scrollHeight","scrollTop","scrollBottom","childBottom","offsetTop","offsetHeight","useListScrollTo","internalRef","itemRefs","scrollTo","index","current","undefined","activeRef"],"mappings":"AAAA,MAAMA,oBAAoB,GAAG,CAACC,MAAmB,EAAEC,KAAkB;EACjE,MAAMC,YAAY,GAAGF,MAAM,CAACE,YAAY;EAExC,IAAIF,MAAM,CAACG,YAAY,GAAGD,YAAY,EAAE;IACpC,MAAME,SAAS,GAAGJ,MAAM,CAACI,SAAS;IAClC,MAAMC,YAAY,GAAGH,YAAY,GAAGE,SAAS;IAC7C,MAAME,WAAW,GAAGL,KAAK,CAACM,SAAS,GAAGN,KAAK,CAACO,YAAY;IAExD,IAAIF,WAAW,GAAGD,YAAY,EAAE;MAC5BL,MAAM,CAACI,SAAS,GAAGE,WAAW,GAAGJ,YAAY;KAChD,MAAM,IAAID,KAAK,CAACM,SAAS,GAAGH,SAAS,EAAE;MACpCJ,MAAM,CAACI,SAAS,GAAGH,KAAK,CAACM,SAAS;;;AAG9C,CAAC;MAEYE,eAAe,GAAG,CAACC,WAAgB,EAAEC,QAAe;EAC7D,MAAMC,QAAQ,GAAIC,KAAyB;IACvC,IAAIH,WAAW,IAAIA,WAAW,CAACI,OAAO,EAAE;MACpC,IAAID,KAAK,KAAKE,SAAS,EAAE;QACrB,MAAMC,SAAS,GAAGL,QAAQ,CAACE,KAAK,CAAC;QAEjC,IAAIG,SAAS,IAAIA,SAAS,CAACF,OAAO,EAAE;UAChCf,oBAAoB,CAACW,WAAW,CAACI,OAAO,EAAEE,SAAS,CAACF,OAAO,CAAC;;OAEnE,MAAM;QACHJ,WAAW,CAACI,OAAO,CAACV,SAAS,GAAG,CAAC;;;GAG5C;EAED,OAAO;IAAEQ;GAAU;AACvB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useOnClickOutside.js","sources":["../../../../../../../src/utils/hooks/useOnClickOutside.ts"],"sourcesContent":["import React from 'react';\n\nexport const useOnClickOutside = (\n ref: React.RefObject<HTMLElement> | React.RefObject<HTMLElement>[],\n callback: (event: MouseEvent | TouchEvent) => void\n): void => {\n React.useEffect(() => {\n const listener = (event: MouseEvent | TouchEvent): void => {\n const refs = !Array.isArray(ref) ? [ref] : ref;\n if (refs.some(currentRef => !currentRef.current || currentRef.current.contains(event.target as Node))) {\n return;\n }\n callback(event);\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, callback]);\n};\n"],"names":["useOnClickOutside","ref","callback","React","useEffect","listener","event","refs","Array","isArray","some","currentRef","current","contains","target","document","addEventListener","removeEventListener"],"mappings":";;MAEaA,iBAAiB,GAAG,CAC7BC,GAAkE,EAClEC,QAAkD;EAElDC,cAAK,CAACC,SAAS,CAAC;IACZ,MAAMC,QAAQ,GAAIC,KAA8B;MAC5C,MAAMC,IAAI,GAAG,CAACC,KAAK,CAACC,OAAO,CAACR,GAAG,CAAC,GAAG,CAACA,GAAG,CAAC,GAAGA,GAAG;MAC9C,IAAIM,IAAI,CAACG,IAAI,CAACC,UAAU,IAAI,CAACA,UAAU,CAACC,OAAO,IAAID,UAAU,CAACC,OAAO,CAACC,QAAQ,CAACP,KAAK,CAACQ,MAAc,CAAC,CAAC,EAAE;QACnG;;MAEJZ,QAAQ,CAACI,KAAK,CAAC;KAClB;IAEDS,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEX,QAAQ,CAAC;IAChDU,QAAQ,CAACC,gBAAgB,CAAC,YAAY,EAAEX,QAAQ,CAAC;IAEjD,OAAO;MACHU,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEZ,QAAQ,CAAC;MACnDU,QAAQ,CAACE,mBAAmB,CAAC,YAAY,EAAEZ,QAAQ,CAAC;KACvD;GACJ,EAAE,CAACJ,GAAG,EAAEC,QAAQ,CAAC,CAAC;AACvB;;;;"}
|
1
|
+
{"version":3,"file":"useOnClickOutside.js","sources":["../../../../../../../src/utils/hooks/useOnClickOutside.ts"],"sourcesContent":["import React from 'react';\r\n\r\nexport const useOnClickOutside = (\r\n ref: React.RefObject<HTMLElement> | React.RefObject<HTMLElement>[],\r\n callback: (event: MouseEvent | TouchEvent) => void\r\n): void => {\r\n React.useEffect(() => {\r\n const listener = (event: MouseEvent | TouchEvent): void => {\r\n const refs = !Array.isArray(ref) ? [ref] : ref;\r\n if (refs.some(currentRef => !currentRef.current || currentRef.current.contains(event.target as Node))) {\r\n return;\r\n }\r\n callback(event);\r\n };\r\n\r\n document.addEventListener('mousedown', listener);\r\n document.addEventListener('touchstart', listener);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', listener);\r\n document.removeEventListener('touchstart', listener);\r\n };\r\n }, [ref, callback]);\r\n};\r\n"],"names":["useOnClickOutside","ref","callback","React","useEffect","listener","event","refs","Array","isArray","some","currentRef","current","contains","target","document","addEventListener","removeEventListener"],"mappings":";;MAEaA,iBAAiB,GAAG,CAC7BC,GAAkE,EAClEC,QAAkD;EAElDC,cAAK,CAACC,SAAS,CAAC;IACZ,MAAMC,QAAQ,GAAIC,KAA8B;MAC5C,MAAMC,IAAI,GAAG,CAACC,KAAK,CAACC,OAAO,CAACR,GAAG,CAAC,GAAG,CAACA,GAAG,CAAC,GAAGA,GAAG;MAC9C,IAAIM,IAAI,CAACG,IAAI,CAACC,UAAU,IAAI,CAACA,UAAU,CAACC,OAAO,IAAID,UAAU,CAACC,OAAO,CAACC,QAAQ,CAACP,KAAK,CAACQ,MAAc,CAAC,CAAC,EAAE;QACnG;;MAEJZ,QAAQ,CAACI,KAAK,CAAC;KAClB;IAEDS,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEX,QAAQ,CAAC;IAChDU,QAAQ,CAACC,gBAAgB,CAAC,YAAY,EAAEX,QAAQ,CAAC;IAEjD,OAAO;MACHU,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEZ,QAAQ,CAAC;MACnDU,QAAQ,CAACE,mBAAmB,CAAC,YAAY,EAAEZ,QAAQ,CAAC;KACvD;GACJ,EAAE,CAACJ,GAAG,EAAEC,QAAQ,CAAC,CAAC;AACvB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useTimer.js","sources":["../../../../../../../src/utils/hooks/useTimer.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface Timer {\n running: boolean;\n start: () => void;\n pause: () => void;\n resume: () => void;\n}\n\ntype Tracker = {\n remaining: number;\n started: number | null;\n};\n\nexport default function useTimer(duration = 0, callback: () => void): Timer {\n const timer = React.useRef<number>();\n const [tracker, setTracker] = React.useState<Tracker>({\n remaining: duration,\n started: null,\n });\n\n React.useEffect(() => {\n if (duration) {\n if (tracker.started) {\n timer.current = window.setTimeout(callback, tracker.remaining);\n } else {\n clearTimeout(timer.current);\n }\n }\n\n return () => {\n clearTimeout(timer.current);\n };\n }, [tracker.started]);\n\n return {\n running: !!tracker.started,\n start: () => {\n setTracker({\n remaining: duration,\n started: Date.now(),\n });\n },\n pause: () => {\n if (tracker.started) {\n setTracker({\n remaining: tracker.remaining - (Date.now() - tracker.started),\n started: null,\n });\n }\n },\n resume: () => {\n if (tracker.remaining && !tracker.started) {\n setTracker({\n remaining: tracker.remaining,\n started: Date.now(),\n });\n }\n },\n };\n}\n"],"names":["useTimer","duration","callback","timer","React","tracker","setTracker","remaining","started","current","window","setTimeout","clearTimeout","running","start","Date","now","pause","resume"],"mappings":";;SAcwBA,QAAQ,CAACC,QAAQ,GAAG,CAAC,EAAEC,QAAoB;EAC/D,MAAMC,KAAK,GAAGC,MAAY,EAAU;EACpC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGF,QAAc,CAAU;IAClDG,SAAS,EAAEN,QAAQ;IACnBO,OAAO,EAAE;GACZ,CAAC;EAEFJ,SAAe,CAAC;IACZ,IAAIH,QAAQ,EAAE;MACV,IAAII,OAAO,CAACG,OAAO,EAAE;QACjBL,KAAK,CAACM,OAAO,GAAGC,MAAM,CAACC,UAAU,CAACT,QAAQ,EAAEG,OAAO,CAACE,SAAS,CAAC;OACjE,MAAM;QACHK,YAAY,CAACT,KAAK,CAACM,OAAO,CAAC;;;IAInC,OAAO;MACHG,YAAY,CAACT,KAAK,CAACM,OAAO,CAAC;KAC9B;GACJ,EAAE,CAACJ,OAAO,CAACG,OAAO,CAAC,CAAC;EAErB,OAAO;IACHK,OAAO,EAAE,CAAC,CAACR,OAAO,CAACG,OAAO;IAC1BM,KAAK,EAAE;MACHR,UAAU,CAAC;QACPC,SAAS,EAAEN,QAAQ;QACnBO,OAAO,EAAEO,IAAI,CAACC,GAAG;OACpB,CAAC;KACL;IACDC,KAAK,EAAE;MACH,IAAIZ,OAAO,CAACG,OAAO,EAAE;QACjBF,UAAU,CAAC;UACPC,SAAS,EAAEF,OAAO,CAACE,SAAS,IAAIQ,IAAI,CAACC,GAAG,EAAE,GAAGX,OAAO,CAACG,OAAO,CAAC;UAC7DA,OAAO,EAAE;SACZ,CAAC;;KAET;IACDU,MAAM,EAAE;MACJ,IAAIb,OAAO,CAACE,SAAS,IAAI,CAACF,OAAO,CAACG,OAAO,EAAE;QACvCF,UAAU,CAAC;UACPC,SAAS,EAAEF,OAAO,CAACE,SAAS;UAC5BC,OAAO,EAAEO,IAAI,CAACC,GAAG;SACpB,CAAC;;;GAGb;AACL;;;;"}
|
1
|
+
{"version":3,"file":"useTimer.js","sources":["../../../../../../../src/utils/hooks/useTimer.ts"],"sourcesContent":["import * as React from 'react';\r\n\r\nexport interface Timer {\r\n running: boolean;\r\n start: () => void;\r\n pause: () => void;\r\n resume: () => void;\r\n}\r\n\r\ntype Tracker = {\r\n remaining: number;\r\n started: number | null;\r\n};\r\n\r\nexport default function useTimer(duration = 0, callback: () => void): Timer {\r\n const timer = React.useRef<number>();\r\n const [tracker, setTracker] = React.useState<Tracker>({\r\n remaining: duration,\r\n started: null,\r\n });\r\n\r\n React.useEffect(() => {\r\n if (duration) {\r\n if (tracker.started) {\r\n timer.current = window.setTimeout(callback, tracker.remaining);\r\n } else {\r\n clearTimeout(timer.current);\r\n }\r\n }\r\n\r\n return () => {\r\n clearTimeout(timer.current);\r\n };\r\n }, [tracker.started]);\r\n\r\n return {\r\n running: !!tracker.started,\r\n start: () => {\r\n setTracker({\r\n remaining: duration,\r\n started: Date.now(),\r\n });\r\n },\r\n pause: () => {\r\n if (tracker.started) {\r\n setTracker({\r\n remaining: tracker.remaining - (Date.now() - tracker.started),\r\n started: null,\r\n });\r\n }\r\n },\r\n resume: () => {\r\n if (tracker.remaining && !tracker.started) {\r\n setTracker({\r\n remaining: tracker.remaining,\r\n started: Date.now(),\r\n });\r\n }\r\n },\r\n };\r\n}\r\n"],"names":["useTimer","duration","callback","timer","React","tracker","setTracker","remaining","started","current","window","setTimeout","clearTimeout","running","start","Date","now","pause","resume"],"mappings":";;SAcwBA,QAAQ,CAACC,QAAQ,GAAG,CAAC,EAAEC,QAAoB;EAC/D,MAAMC,KAAK,GAAGC,MAAY,EAAU;EACpC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGF,QAAc,CAAU;IAClDG,SAAS,EAAEN,QAAQ;IACnBO,OAAO,EAAE;GACZ,CAAC;EAEFJ,SAAe,CAAC;IACZ,IAAIH,QAAQ,EAAE;MACV,IAAII,OAAO,CAACG,OAAO,EAAE;QACjBL,KAAK,CAACM,OAAO,GAAGC,MAAM,CAACC,UAAU,CAACT,QAAQ,EAAEG,OAAO,CAACE,SAAS,CAAC;OACjE,MAAM;QACHK,YAAY,CAACT,KAAK,CAACM,OAAO,CAAC;;;IAInC,OAAO;MACHG,YAAY,CAACT,KAAK,CAACM,OAAO,CAAC;KAC9B;GACJ,EAAE,CAACJ,OAAO,CAACG,OAAO,CAAC,CAAC;EAErB,OAAO;IACHK,OAAO,EAAE,CAAC,CAACR,OAAO,CAACG,OAAO;IAC1BM,KAAK,EAAE;MACHR,UAAU,CAAC;QACPC,SAAS,EAAEN,QAAQ;QACnBO,OAAO,EAAEO,IAAI,CAACC,GAAG;OACpB,CAAC;KACL;IACDC,KAAK,EAAE;MACH,IAAIZ,OAAO,CAACG,OAAO,EAAE;QACjBF,UAAU,CAAC;UACPC,SAAS,EAAEF,OAAO,CAACE,SAAS,IAAIQ,IAAI,CAACC,GAAG,EAAE,GAAGX,OAAO,CAACG,OAAO,CAAC;UAC7DA,OAAO,EAAE;SACZ,CAAC;;KAET;IACDU,MAAM,EAAE;MACJ,IAAIb,OAAO,CAACE,SAAS,IAAI,CAACF,OAAO,CAACG,OAAO,EAAE;QACvCF,UAAU,CAAC;UACPC,SAAS,EAAEF,OAAO,CAACE,SAAS;UAC5BC,OAAO,EAAEO,IAAI,CAACC,GAAG;SACpB,CAAC;;;GAGb;AACL;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"input.js","sources":["../../../../../../src/utils/input.ts"],"sourcesContent":["// returns a custom event compatible with all browsers\nexport const createCustomEvent = (eventType: string) => {\n let customEvent;\n\n if (typeof Event === 'function') {\n customEvent = new Event(eventType, { bubbles: true });\n } else {\n customEvent = document.createEvent('Event');\n customEvent.initEvent(eventType, true, true);\n }\n return customEvent;\n};\n\n// returns a custom keyboard event compatible with all browsers\nexport const createCustomKeyboardEvent = (event: React.KeyboardEvent<HTMLInputElement>) => {\n let customKeyboardEvent;\n\n if (typeof KeyboardEvent === 'function') {\n customKeyboardEvent = new KeyboardEvent(event.type, event as any);\n } else {\n customKeyboardEvent = document.createEvent('Event') as any;\n customKeyboardEvent.initEvent(event.type, true, true);\n customKeyboardEvent.key = event.key;\n customKeyboardEvent.charCode = event.charCode;\n }\n\n return customKeyboardEvent;\n};\n\nexport const setInputValueByRef = (input: HTMLInputElement | null, value: string | undefined, event = 'change'): void => {\n if (!input) {\n return;\n }\n\n const previousValue = input.value;\n input.value = value || '';\n\n const tracker = (input as any)._valueTracker;\n\n if (tracker) {\n tracker.setValue(previousValue);\n }\n\n // 'change' instead of 'input', see https://github.com/facebook/react/issues/11488#issuecomment-381590324\n input.dispatchEvent(createCustomEvent(event));\n};\n"],"names":["createCustomEvent","eventType","customEvent","Event","bubbles","document","createEvent","initEvent","createCustomKeyboardEvent","event","customKeyboardEvent","KeyboardEvent","type","key","charCode","setInputValueByRef","input","value","previousValue","tracker","_valueTracker","setValue","dispatchEvent"],"mappings":"AAAA;MACaA,iBAAiB,GAAIC,SAAiB;EAC/C,IAAIC,WAAW;EAEf,IAAI,OAAOC,KAAK,KAAK,UAAU,EAAE;IAC7BD,WAAW,GAAG,IAAIC,KAAK,CAACF,SAAS,EAAE;MAAEG,OAAO,EAAE;KAAM,CAAC;GACxD,MAAM;IACHF,WAAW,GAAGG,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAC;IAC3CJ,WAAW,CAACK,SAAS,CAACN,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;;EAEhD,OAAOC,WAAW;AACtB;AAEA;MACaM,yBAAyB,GAAIC,KAA4C;EAClF,IAAIC,mBAAmB;EAEvB,IAAI,OAAOC,aAAa,KAAK,UAAU,EAAE;IACrCD,mBAAmB,GAAG,IAAIC,aAAa,CAACF,KAAK,CAACG,IAAI,EAAEH,KAAY,CAAC;GACpE,MAAM;IACHC,mBAAmB,GAAGL,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAQ;IAC1DI,mBAAmB,CAACH,SAAS,CAACE,KAAK,CAACG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACrDF,mBAAmB,CAACG,GAAG,GAAGJ,KAAK,CAACI,GAAG;IACnCH,mBAAmB,CAACI,QAAQ,GAAGL,KAAK,CAACK,QAAQ;;EAGjD,OAAOJ,mBAAmB;AAC9B;MAEaK,kBAAkB,GAAG,CAACC,KAA8B,EAAEC,KAAyB,EAAER,KAAK,GAAG,QAAQ;EAC1G,IAAI,CAACO,KAAK,EAAE;IACR;;EAGJ,MAAME,aAAa,GAAGF,KAAK,CAACC,KAAK;EACjCD,KAAK,CAACC,KAAK,GAAGA,KAAK,IAAI,EAAE;EAEzB,MAAME,OAAO,GAAIH,KAAa,CAACI,aAAa;EAE5C,IAAID,OAAO,EAAE;IACTA,OAAO,CAACE,QAAQ,CAACH,aAAa,CAAC;;;EAInCF,KAAK,CAACM,aAAa,CAACtB,iBAAiB,CAACS,KAAK,CAAC,CAAC;AACjD;;;;"}
|
1
|
+
{"version":3,"file":"input.js","sources":["../../../../../../src/utils/input.ts"],"sourcesContent":["// returns a custom event compatible with all browsers\r\nexport const createCustomEvent = (eventType: string) => {\r\n let customEvent;\r\n\r\n if (typeof Event === 'function') {\r\n customEvent = new Event(eventType, { bubbles: true });\r\n } else {\r\n customEvent = document.createEvent('Event');\r\n customEvent.initEvent(eventType, true, true);\r\n }\r\n return customEvent;\r\n};\r\n\r\n// returns a custom keyboard event compatible with all browsers\r\nexport const createCustomKeyboardEvent = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n let customKeyboardEvent;\r\n\r\n if (typeof KeyboardEvent === 'function') {\r\n customKeyboardEvent = new KeyboardEvent(event.type, event as any);\r\n } else {\r\n customKeyboardEvent = document.createEvent('Event') as any;\r\n customKeyboardEvent.initEvent(event.type, true, true);\r\n customKeyboardEvent.key = event.key;\r\n customKeyboardEvent.charCode = event.charCode;\r\n }\r\n\r\n return customKeyboardEvent;\r\n};\r\n\r\nexport const setInputValueByRef = (input: HTMLInputElement | null, value: string | undefined, event = 'change'): void => {\r\n if (!input) {\r\n return;\r\n }\r\n\r\n const previousValue = input.value;\r\n input.value = value || '';\r\n\r\n const tracker = (input as any)._valueTracker;\r\n\r\n if (tracker) {\r\n tracker.setValue(previousValue);\r\n }\r\n\r\n // 'change' instead of 'input', see https://github.com/facebook/react/issues/11488#issuecomment-381590324\r\n input.dispatchEvent(createCustomEvent(event));\r\n};\r\n"],"names":["createCustomEvent","eventType","customEvent","Event","bubbles","document","createEvent","initEvent","createCustomKeyboardEvent","event","customKeyboardEvent","KeyboardEvent","type","key","charCode","setInputValueByRef","input","value","previousValue","tracker","_valueTracker","setValue","dispatchEvent"],"mappings":"AAAA;MACaA,iBAAiB,GAAIC,SAAiB;EAC/C,IAAIC,WAAW;EAEf,IAAI,OAAOC,KAAK,KAAK,UAAU,EAAE;IAC7BD,WAAW,GAAG,IAAIC,KAAK,CAACF,SAAS,EAAE;MAAEG,OAAO,EAAE;KAAM,CAAC;GACxD,MAAM;IACHF,WAAW,GAAGG,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAC;IAC3CJ,WAAW,CAACK,SAAS,CAACN,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;;EAEhD,OAAOC,WAAW;AACtB;AAEA;MACaM,yBAAyB,GAAIC,KAA4C;EAClF,IAAIC,mBAAmB;EAEvB,IAAI,OAAOC,aAAa,KAAK,UAAU,EAAE;IACrCD,mBAAmB,GAAG,IAAIC,aAAa,CAACF,KAAK,CAACG,IAAI,EAAEH,KAAY,CAAC;GACpE,MAAM;IACHC,mBAAmB,GAAGL,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAQ;IAC1DI,mBAAmB,CAACH,SAAS,CAACE,KAAK,CAACG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACrDF,mBAAmB,CAACG,GAAG,GAAGJ,KAAK,CAACI,GAAG;IACnCH,mBAAmB,CAACI,QAAQ,GAAGL,KAAK,CAACK,QAAQ;;EAGjD,OAAOJ,mBAAmB;AAC9B;MAEaK,kBAAkB,GAAG,CAACC,KAA8B,EAAEC,KAAyB,EAAER,KAAK,GAAG,QAAQ;EAC1G,IAAI,CAACO,KAAK,EAAE;IACR;;EAGJ,MAAME,aAAa,GAAGF,KAAK,CAACC,KAAK;EACjCD,KAAK,CAACC,KAAK,GAAGA,KAAK,IAAI,EAAE;EAEzB,MAAME,OAAO,GAAIH,KAAa,CAACI,aAAa;EAE5C,IAAID,OAAO,EAAE;IACTA,OAAO,CAACE,QAAQ,CAACH,aAAa,CAAC;;;EAInCF,KAAK,CAACM,aAAa,CAACtB,iBAAiB,CAACS,KAAK,CAAC,CAAC;AACjD;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mergeRefs.js","sources":["../../../../../../src/utils/mergeRefs.ts"],"sourcesContent":["import React from 'react';\n\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref != null) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n });\n };\n}\n"],"names":["mergeRefs","refs","value","forEach","ref","current"],"mappings":"SAEgBA,SAAS,CAAUC,IAA2D;EAC1F,OAAOC,KAAK;IACRD,IAAI,CAACE,OAAO,CAACC,GAAG;MACZ,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC3BA,GAAG,CAACF,KAAK,CAAC;OACb,MAAM,IAAIE,GAAG,IAAI,IAAI,EAAE;QACnBA,GAAwC,CAACC,OAAO,GAAGH,KAAK;;KAEhE,CAAC;GACL;AACL;;;;"}
|
1
|
+
{"version":3,"file":"mergeRefs.js","sources":["../../../../../../src/utils/mergeRefs.ts"],"sourcesContent":["import React from 'react';\r\n\r\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\r\n return value => {\r\n refs.forEach(ref => {\r\n if (typeof ref === 'function') {\r\n ref(value);\r\n } else if (ref != null) {\r\n (ref as React.MutableRefObject<T | null>).current = value;\r\n }\r\n });\r\n };\r\n}\r\n"],"names":["mergeRefs","refs","value","forEach","ref","current"],"mappings":"SAEgBA,SAAS,CAAUC,IAA2D;EAC1F,OAAOC,KAAK;IACRD,IAAI,CAACE,OAAO,CAACC,GAAG;MACZ,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC3BA,GAAG,CAACF,KAAK,CAAC;OACb,MAAM,IAAIE,GAAG,IAAI,IAAI,EAAE;QACnBA,GAAwC,CAACC,OAAO,GAAGH,KAAK;;KAEhE,CAAC;GACL;AACL;;;;"}
|