@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":"index.js","sources":["../../../../../../../../src/components/Icon/components/index.tsx"],"sourcesContent":["import AccountPreview from './AccountPreview';\nimport AccountingYearCancel from './AccountingYearCancel';\nimport AccountingYear from './AccountingYear';\nimport Accounting from './Accounting';\nimport ArrowBottom from './ArrowBottom';\nimport ArrowDown from './ArrowDown';\nimport ArrowEnd from './ArrowEnd';\nimport ArrowLeft from './ArrowLeft';\nimport ArrowRight from './ArrowRight';\nimport ArrowStart from './ArrowStart';\nimport ArrowTop from './ArrowTop';\nimport ArrowUp from './ArrowUp';\nimport AttachAuto from './AttachAuto';\nimport AttachCancel from './AttachCancel';\nimport Attach from './Attach';\nimport AutotextInsert from './AutotextInsert';\nimport Autotext from './Autotext';\nimport BasicTabs from './BasicTabs';\nimport Basic from './Basic';\nimport BellSolid from './BellSolid';\nimport Book from './Book';\nimport Booking from './Booking';\nimport Budget from './Budget';\nimport Calendar from './Calendar';\nimport CashAccount from './CashAccount';\nimport CashReports from './CashReports';\nimport ChatSolid from './ChatSolid';\nimport Chat from './Chat';\nimport ChevronDownDouble from './ChevronDownDouble';\nimport ChevronDownSolid from './ChevronDownSolid';\nimport ChevronDown from './ChevronDown';\nimport ChevronLeftDouble from './ChevronLeftDouble';\nimport ChevronLeftSolid from './ChevronLeftSolid';\nimport ChevronLeft from './ChevronLeft';\nimport ChevronRightDouble from './ChevronRightDouble';\nimport ChevronRightSolid from './ChevronRightSolid';\nimport ChevronRight from './ChevronRight';\nimport ChevronUpDouble from './ChevronUpDouble';\nimport ChevronUpSolid from './ChevronUpSolid';\nimport ChevronUp from './ChevronUp';\nimport CircleClose from './CircleClose';\nimport CircleMinus from './CircleMinus';\nimport CirclePlus from './CirclePlus';\nimport CircleTick from './CircleTick';\nimport ClampOpen from './ClampOpen';\nimport Clamp from './Clamp';\nimport Close from './Close';\nimport ConnectionEnable from './ConnectionEnable';\nimport ConnectionRevoke from './ConnectionRevoke';\nimport Contacts from './Contacts';\nimport Copy from './Copy';\nimport Courses from './Courses';\nimport Credit from './Credit';\nimport DeletePermanently from './DeletePermanently';\nimport Delete from './Delete';\nimport Depecriate from './Depecriate';\nimport Developer from './Developer';\nimport DistributionTemplate from './DistributionTemplate';\nimport DocumentApprove from './DocumentApprove';\nimport DocumentCreateEntry from './DocumentCreateEntry';\nimport DocumentCut from './DocumentCut';\nimport DocumentError from './DocumentError';\nimport DocumentIsolatePage from './DocumentIsolatePage';\nimport DocumentMerge from './DocumentMerge';\nimport DocumentMove from './DocumentMove';\nimport DocumentPreview from './DocumentPreview';\nimport DocumentReceived from './DocumentReceived';\nimport DocumentRejectedRequest from './DocumentRejectedRequest';\nimport DocumentSplit from './DocumentSplit';\nimport DocumentTime from './DocumentTime';\nimport Document from './Document';\nimport Download from './Download';\nimport Drag from './Drag';\nimport ECopedia from './ECopedia';\nimport ESignature from './ESignature';\nimport Edit from './Edit';\nimport EllipsisHorizontal from './EllipsisHorizontal';\nimport EllipsisVertical from './EllipsisVertical';\nimport EntriesOnAccount from './EntriesOnAccount';\nimport EntriesOpen from './EntriesOpen';\nimport EntriesWarning from './EntriesWarning';\nimport EntryTypeCustomerInvoice from './EntryTypeCustomerInvoice';\nimport EntryTypeCustomerPayment from './EntryTypeCustomerPayment';\nimport EntryTypeJournalEntry from './EntryTypeJournalEntry';\nimport EntryTypeManualCustomerInvoice from './EntryTypeManualCustomerInvoice';\nimport EntryTypeSupplierInvoice from './EntryTypeSupplierInvoice';\nimport EntryTypeSupplierPayment from './EntryTypeSupplierPayment';\nimport EnvelopeApproved from './EnvelopeApproved';\nimport Envelope from './Envelope';\nimport ExpandView from './ExpandView';\nimport Expenses from './Expenses';\nimport ExportToExcel from './ExportToExcel';\nimport ExportToPdf from './ExportToPdf';\nimport Export from './Export';\nimport FilterSolid from './FilterSolid';\nimport Filter from './Filter';\nimport GraphSolid from './GraphSolid';\nimport Hash from './Hash';\nimport Home from './Home';\nimport Images from './Images';\nimport Import from './Import';\nimport InboxEinvoicing from './InboxEinvoicing';\nimport InboxScanning from './InboxScanning';\nimport InboxSmart from './InboxSmart';\nimport Inbox from './Inbox';\nimport Info from './Info';\nimport InventoryMatrix from './InventoryMatrix';\nimport Inventory from './Inventory';\nimport JournalPro from './JournalPro';\nimport LayoutBoth from './LayoutBoth';\nimport LayoutFirst from './LayoutFirst';\nimport LayoutLast from './LayoutLast';\nimport LayoutNone from './LayoutNone';\nimport Layout from './Layout';\nimport LedgerCardCustomerReminder from './LedgerCardCustomerReminder';\nimport LedgerCardManualCustomerInvoice from './LedgerCardManualCustomerInvoice';\nimport LedgerCardObsoleteStock from './LedgerCardObsoleteStock';\nimport LedgerCardOpeningEntry from './LedgerCardOpeningEntry';\nimport LedgerCardReservedEntry from './LedgerCardReservedEntry';\nimport LedgerCardShrinkagePilferage from './LedgerCardShrinkagePilferage';\nimport LedgerCardStockAdjustment from './LedgerCardStockAdjustment';\nimport LedgerCardTransferredOpeningEntry from './LedgerCardTransferredOpeningEntry';\nimport LedgerCard from './LedgerCard';\nimport Lightbulb from './Lightbulb';\nimport Line from './Line';\nimport ListBulleted from './ListBulleted';\nimport ListSearch from './ListSearch';\nimport List from './List';\nimport LockOpen from './LockOpen';\nimport LogOut from './LogOut';\nimport Log from './Log';\nimport Market from './Market';\nimport MatchAmount from './MatchAmount';\nimport MatchEntries from './MatchEntries';\nimport Menu from './Menu';\nimport Mileage from './Mileage';\nimport ModalResize from './ModalResize';\nimport ModalShrink from './ModalShrink';\nimport MoreSolid from './MoreSolid';\nimport More from './More';\nimport Move from './Move';\nimport NavigationList from './NavigationList';\nimport NoteFollowUp from './NoteFollowUp';\nimport NoteRead from './NoteRead';\nimport Note from './Note';\nimport Numbers from './Numbers';\nimport PartnerApi from './PartnerApi';\nimport Period from './Period';\nimport PersonChange from './PersonChange';\nimport PersonMinus from './PersonMinus';\nimport PersonPlus from './PersonPlus';\nimport PersonTick from './PersonTick';\nimport Play from './Play';\nimport PlusMinus from './PlusMinus';\nimport Print from './Print';\nimport ProcessPayment from './ProcessPayment';\nimport ProductLedgerCard from './ProductLedgerCard';\nimport Profile from './Profile';\nimport ProjectCards from './ProjectCards';\nimport Projects from './Projects';\nimport Quicklinks from './Quicklinks';\nimport RatingBankruptcy from './RatingBankruptcy';\nimport RatingPaymentProblems from './RatingPaymentProblems';\nimport Reconciled from './Reconciled';\nimport Refresh from './Refresh';\nimport ReportSolid from './ReportSolid';\nimport Report from './Report';\nimport Restore from './Restore';\nimport RotateLeft from './RotateLeft';\nimport RotateRight from './RotateRight';\nimport Sales from './Sales';\nimport SearchBold from './SearchBold';\nimport Search from './Search';\nimport SecureTick from './SecureTick';\nimport Secure from './Secure';\nimport SettingsSolid from './SettingsSolid';\nimport Settings from './Settings';\nimport Shortcuts from './Shortcuts';\nimport ShowAll from './ShowAll';\nimport ShowLess from './ShowLess';\nimport ShowMore from './ShowMore';\nimport ShowTemplate from './ShowTemplate';\nimport Sliders from './Sliders';\nimport Smartpay from './Smartpay';\nimport SortBy from './SortBy';\nimport Spinner from './Spinner';\nimport StarSolid from './StarSolid';\nimport Star from './Star';\nimport Subscriptions from './Subscriptions';\nimport SystemEntries from './SystemEntries';\nimport Tag from './Tag';\nimport TemplateOverride from './TemplateOverride';\nimport Templates from './Templates';\nimport ThumbBoth from './ThumbBoth';\nimport ThumbDownSolid from './ThumbDownSolid';\nimport ThumbDown from './ThumbDown';\nimport ThumbUpSolid from './ThumbUpSolid';\nimport ThumbUp from './ThumbUp';\nimport Tick from './Tick';\nimport Time from './Time';\nimport TransferCancel from './TransferCancel';\nimport TransferLocked from './TransferLocked';\nimport Transfer from './Transfer';\nimport Undo from './Undo';\nimport Undock from './Undock';\nimport Unreconciled from './Unreconciled';\nimport Warning from './Warning';\nimport Webshop from './Webshop';\nimport Website from './Website';\nimport Workflow from './Workflow';\nimport Zoom from './Zoom';\n\nexport const icons: Record<\n IconName,\n React.ForwardRefExoticComponent<React.SVGAttributes<SVGSVGElement> & React.RefAttributes<SVGSVGElement>>\n> = {\n 'account-preview': AccountPreview,\n 'accounting-year-cancel': AccountingYearCancel,\n 'accounting-year': AccountingYear,\n accounting: Accounting,\n 'arrow-bottom': ArrowBottom,\n 'arrow-down': ArrowDown,\n 'arrow-end': ArrowEnd,\n 'arrow-left': ArrowLeft,\n 'arrow-right': ArrowRight,\n 'arrow-start': ArrowStart,\n 'arrow-top': ArrowTop,\n 'arrow-up': ArrowUp,\n 'attach-auto': AttachAuto,\n 'attach-cancel': AttachCancel,\n attach: Attach,\n 'autotext-insert': AutotextInsert,\n autotext: Autotext,\n 'basic-tabs': BasicTabs,\n basic: Basic,\n 'bell-solid': BellSolid,\n book: Book,\n booking: Booking,\n budget: Budget,\n calendar: Calendar,\n 'cash-account': CashAccount,\n 'cash-reports': CashReports,\n 'chat-solid': ChatSolid,\n chat: Chat,\n 'chevron-down-double': ChevronDownDouble,\n 'chevron-down-solid': ChevronDownSolid,\n 'chevron-down': ChevronDown,\n 'chevron-left-double': ChevronLeftDouble,\n 'chevron-left-solid': ChevronLeftSolid,\n 'chevron-left': ChevronLeft,\n 'chevron-right-double': ChevronRightDouble,\n 'chevron-right-solid': ChevronRightSolid,\n 'chevron-right': ChevronRight,\n 'chevron-up-double': ChevronUpDouble,\n 'chevron-up-solid': ChevronUpSolid,\n 'chevron-up': ChevronUp,\n 'circle-close': CircleClose,\n 'circle-minus': CircleMinus,\n 'circle-plus': CirclePlus,\n 'circle-tick': CircleTick,\n 'clamp-open': ClampOpen,\n clamp: Clamp,\n close: Close,\n 'connection-enable': ConnectionEnable,\n 'connection-revoke': ConnectionRevoke,\n contacts: Contacts,\n copy: Copy,\n courses: Courses,\n credit: Credit,\n 'delete-permanently': DeletePermanently,\n delete: Delete,\n depecriate: Depecriate,\n developer: Developer,\n 'distribution-template': DistributionTemplate,\n 'document-approve': DocumentApprove,\n 'document-create-entry': DocumentCreateEntry,\n 'document-cut': DocumentCut,\n 'document-error': DocumentError,\n 'document-isolate-page': DocumentIsolatePage,\n 'document-merge': DocumentMerge,\n 'document-move': DocumentMove,\n 'document-preview': DocumentPreview,\n 'document-received': DocumentReceived,\n 'document-rejected-request': DocumentRejectedRequest,\n 'document-split': DocumentSplit,\n 'document-time': DocumentTime,\n document: Document,\n download: Download,\n drag: Drag,\n 'e-copedia': ECopedia,\n 'e-signature': ESignature,\n edit: Edit,\n 'ellipsis-horizontal': EllipsisHorizontal,\n 'ellipsis-vertical': EllipsisVertical,\n 'entries-on-account': EntriesOnAccount,\n 'entries-open': EntriesOpen,\n 'entries-warning': EntriesWarning,\n 'entry-type-customer-invoice': EntryTypeCustomerInvoice,\n 'entry-type-customer-payment': EntryTypeCustomerPayment,\n 'entry-type-journal-entry': EntryTypeJournalEntry,\n 'entry-type-manual-customer-invoice': EntryTypeManualCustomerInvoice,\n 'entry-type-supplier-invoice': EntryTypeSupplierInvoice,\n 'entry-type-supplier-payment': EntryTypeSupplierPayment,\n 'envelope-approved': EnvelopeApproved,\n envelope: Envelope,\n 'expand-view': ExpandView,\n expenses: Expenses,\n 'export-to-excel': ExportToExcel,\n 'export-to-pdf': ExportToPdf,\n export: Export,\n 'filter-solid': FilterSolid,\n filter: Filter,\n 'graph-solid': GraphSolid,\n hash: Hash,\n home: Home,\n images: Images,\n import: Import,\n 'inbox-einvoicing': InboxEinvoicing,\n 'inbox-scanning': InboxScanning,\n 'inbox-smart': InboxSmart,\n inbox: Inbox,\n info: Info,\n 'inventory-matrix': InventoryMatrix,\n inventory: Inventory,\n 'journal-pro': JournalPro,\n 'layout-both': LayoutBoth,\n 'layout-first': LayoutFirst,\n 'layout-last': LayoutLast,\n 'layout-none': LayoutNone,\n layout: Layout,\n 'ledger-card-customer-reminder': LedgerCardCustomerReminder,\n 'ledger-card-manual-customer-invoice': LedgerCardManualCustomerInvoice,\n 'ledger-card-obsolete-stock': LedgerCardObsoleteStock,\n 'ledger-card-opening-entry': LedgerCardOpeningEntry,\n 'ledger-card-reserved-entry': LedgerCardReservedEntry,\n 'ledger-card-shrinkage-pilferage': LedgerCardShrinkagePilferage,\n 'ledger-card-stock-adjustment': LedgerCardStockAdjustment,\n 'ledger-card-transferred-opening-entry': LedgerCardTransferredOpeningEntry,\n 'ledger-card': LedgerCard,\n lightbulb: Lightbulb,\n line: Line,\n 'list-bulleted': ListBulleted,\n 'list-search': ListSearch,\n list: List,\n 'lock-open': LockOpen,\n 'log-out': LogOut,\n log: Log,\n market: Market,\n 'match-amount': MatchAmount,\n 'match-entries': MatchEntries,\n menu: Menu,\n mileage: Mileage,\n 'modal-resize': ModalResize,\n 'modal-shrink': ModalShrink,\n 'more-solid': MoreSolid,\n more: More,\n move: Move,\n 'navigation-list': NavigationList,\n 'note-follow-up': NoteFollowUp,\n 'note-read': NoteRead,\n note: Note,\n numbers: Numbers,\n 'partner-api': PartnerApi,\n period: Period,\n 'person-change': PersonChange,\n 'person-minus': PersonMinus,\n 'person-plus': PersonPlus,\n 'person-tick': PersonTick,\n play: Play,\n 'plus-minus': PlusMinus,\n print: Print,\n 'process-payment': ProcessPayment,\n 'product-ledger-card': ProductLedgerCard,\n profile: Profile,\n 'project-cards': ProjectCards,\n projects: Projects,\n quicklinks: Quicklinks,\n 'rating-bankruptcy': RatingBankruptcy,\n 'rating-payment-problems': RatingPaymentProblems,\n reconciled: Reconciled,\n refresh: Refresh,\n 'report-solid': ReportSolid,\n report: Report,\n restore: Restore,\n 'rotate-left': RotateLeft,\n 'rotate-right': RotateRight,\n sales: Sales,\n 'search-bold': SearchBold,\n search: Search,\n 'secure-tick': SecureTick,\n secure: Secure,\n 'settings-solid': SettingsSolid,\n settings: Settings,\n shortcuts: Shortcuts,\n 'show-all': ShowAll,\n 'show-less': ShowLess,\n 'show-more': ShowMore,\n 'show-template': ShowTemplate,\n sliders: Sliders,\n smartpay: Smartpay,\n 'sort-by': SortBy,\n spinner: Spinner,\n 'star-solid': StarSolid,\n star: Star,\n subscriptions: Subscriptions,\n 'system-entries': SystemEntries,\n tag: Tag,\n 'template-override': TemplateOverride,\n templates: Templates,\n 'thumb-both': ThumbBoth,\n 'thumb-down-solid': ThumbDownSolid,\n 'thumb-down': ThumbDown,\n 'thumb-up-solid': ThumbUpSolid,\n 'thumb-up': ThumbUp,\n tick: Tick,\n time: Time,\n 'transfer-cancel': TransferCancel,\n 'transfer-locked': TransferLocked,\n transfer: Transfer,\n undo: Undo,\n undock: Undock,\n unreconciled: Unreconciled,\n warning: Warning,\n webshop: Webshop,\n website: Website,\n workflow: Workflow,\n zoom: Zoom,\n};\n\n// the prop extraction tool can't handle this\n//export type IconName = keyof typeof icons;\nexport type IconName =\n | 'account-preview'\n | 'accounting-year-cancel'\n | 'accounting-year'\n | 'accounting'\n | 'arrow-bottom'\n | 'arrow-down'\n | 'arrow-end'\n | 'arrow-left'\n | 'arrow-right'\n | 'arrow-start'\n | 'arrow-top'\n | 'arrow-up'\n | 'attach-auto'\n | 'attach-cancel'\n | 'attach'\n | 'autotext-insert'\n | 'autotext'\n | 'basic-tabs'\n | 'basic'\n | 'bell-solid'\n | 'book'\n | 'booking'\n | 'budget'\n | 'calendar'\n | 'cash-account'\n | 'cash-reports'\n | 'chat-solid'\n | 'chat'\n | 'chevron-down-double'\n | 'chevron-down-solid'\n | 'chevron-down'\n | 'chevron-left-double'\n | 'chevron-left-solid'\n | 'chevron-left'\n | 'chevron-right-double'\n | 'chevron-right-solid'\n | 'chevron-right'\n | 'chevron-up-double'\n | 'chevron-up-solid'\n | 'chevron-up'\n | 'circle-close'\n | 'circle-minus'\n | 'circle-plus'\n | 'circle-tick'\n | 'clamp-open'\n | 'clamp'\n | 'close'\n | 'connection-enable'\n | 'connection-revoke'\n | 'contacts'\n | 'copy'\n | 'courses'\n | 'credit'\n | 'delete-permanently'\n | 'delete'\n | 'depecriate'\n | 'developer'\n | 'distribution-template'\n | 'document-approve'\n | 'document-create-entry'\n | 'document-cut'\n | 'document-error'\n | 'document-isolate-page'\n | 'document-merge'\n | 'document-move'\n | 'document-preview'\n | 'document-received'\n | 'document-rejected-request'\n | 'document-split'\n | 'document-time'\n | 'document'\n | 'download'\n | 'drag'\n | 'e-copedia'\n | 'e-signature'\n | 'edit'\n | 'ellipsis-horizontal'\n | 'ellipsis-vertical'\n | 'entries-on-account'\n | 'entries-open'\n | 'entries-warning'\n | 'entry-type-customer-invoice'\n | 'entry-type-customer-payment'\n | 'entry-type-journal-entry'\n | 'entry-type-manual-customer-invoice'\n | 'entry-type-supplier-invoice'\n | 'entry-type-supplier-payment'\n | 'envelope-approved'\n | 'envelope'\n | 'expand-view'\n | 'expenses'\n | 'export-to-excel'\n | 'export-to-pdf'\n | 'export'\n | 'filter-solid'\n | 'filter'\n | 'graph-solid'\n | 'hash'\n | 'home'\n | 'images'\n | 'import'\n | 'inbox-einvoicing'\n | 'inbox-scanning'\n | 'inbox-smart'\n | 'inbox'\n | 'info'\n | 'inventory-matrix'\n | 'inventory'\n | 'journal-pro'\n | 'layout-both'\n | 'layout-first'\n | 'layout-last'\n | 'layout-none'\n | 'layout'\n | 'ledger-card-customer-reminder'\n | 'ledger-card-manual-customer-invoice'\n | 'ledger-card-obsolete-stock'\n | 'ledger-card-opening-entry'\n | 'ledger-card-reserved-entry'\n | 'ledger-card-shrinkage-pilferage'\n | 'ledger-card-stock-adjustment'\n | 'ledger-card-transferred-opening-entry'\n | 'ledger-card'\n | 'lightbulb'\n | 'line'\n | 'list-bulleted'\n | 'list-search'\n | 'list'\n | 'lock-open'\n | 'log-out'\n | 'log'\n | 'market'\n | 'match-amount'\n | 'match-entries'\n | 'menu'\n | 'mileage'\n | 'modal-resize'\n | 'modal-shrink'\n | 'more-solid'\n | 'more'\n | 'move'\n | 'navigation-list'\n | 'note-follow-up'\n | 'note-read'\n | 'note'\n | 'numbers'\n | 'partner-api'\n | 'period'\n | 'person-change'\n | 'person-minus'\n | 'person-plus'\n | 'person-tick'\n | 'play'\n | 'plus-minus'\n | 'print'\n | 'process-payment'\n | 'product-ledger-card'\n | 'profile'\n | 'project-cards'\n | 'projects'\n | 'quicklinks'\n | 'rating-bankruptcy'\n | 'rating-payment-problems'\n | 'reconciled'\n | 'refresh'\n | 'report-solid'\n | 'report'\n | 'restore'\n | 'rotate-left'\n | 'rotate-right'\n | 'sales'\n | 'search-bold'\n | 'search'\n | 'secure-tick'\n | 'secure'\n | 'settings-solid'\n | 'settings'\n | 'shortcuts'\n | 'show-all'\n | 'show-less'\n | 'show-more'\n | 'show-template'\n | 'sliders'\n | 'smartpay'\n | 'sort-by'\n | 'spinner'\n | 'star-solid'\n | 'star'\n | 'subscriptions'\n | 'system-entries'\n | 'tag'\n | 'template-override'\n | 'templates'\n | 'thumb-both'\n | 'thumb-down-solid'\n | 'thumb-down'\n | 'thumb-up-solid'\n | 'thumb-up'\n | 'tick'\n | 'time'\n | 'transfer-cancel'\n | 'transfer-locked'\n | 'transfer'\n | 'undo'\n | 'undock'\n | 'unreconciled'\n | 'warning'\n | 'webshop'\n | 'website'\n | 'workflow'\n | 'zoom';\n"],"names":["icons","AccountPreview","AccountingYearCancel","AccountingYear","accounting","Accounting","ArrowBottom","ArrowDown","ArrowEnd","ArrowLeft","ArrowRight","ArrowStart","ArrowTop","ArrowUp","AttachAuto","AttachCancel","attach","Attach","AutotextInsert","autotext","Autotext","BasicTabs","basic","Basic","BellSolid","book","Book","booking","Booking","budget","Budget","calendar","Calendar","CashAccount","CashReports","ChatSolid","chat","Chat","ChevronDownDouble","ChevronDownSolid","ChevronDown","ChevronLeftDouble","ChevronLeftSolid","ChevronLeft","ChevronRightDouble","ChevronRightSolid","ChevronRight","ChevronUpDouble","ChevronUpSolid","ChevronUp","CircleClose","CircleMinus","CirclePlus","CircleTick","ClampOpen","clamp","Clamp","close","Close","ConnectionEnable","ConnectionRevoke","contacts","Contacts","copy","Copy","courses","Courses","credit","Credit","DeletePermanently","delete","Delete","depecriate","Depecriate","developer","Developer","DistributionTemplate","DocumentApprove","DocumentCreateEntry","DocumentCut","DocumentError","DocumentIsolatePage","DocumentMerge","DocumentMove","DocumentPreview","DocumentReceived","DocumentRejectedRequest","DocumentSplit","DocumentTime","document","Document","download","Download","drag","Drag","ECopedia","ESignature","edit","Edit","EllipsisHorizontal","EllipsisVertical","EntriesOnAccount","EntriesOpen","EntriesWarning","EntryTypeCustomerInvoice","EntryTypeCustomerPayment","EntryTypeJournalEntry","EntryTypeManualCustomerInvoice","EntryTypeSupplierInvoice","EntryTypeSupplierPayment","EnvelopeApproved","envelope","Envelope","ExpandView","expenses","Expenses","ExportToExcel","ExportToPdf","export","Export","FilterSolid","filter","Filter","GraphSolid","hash","Hash","home","Home","images","Images","import","Import","InboxEinvoicing","InboxScanning","InboxSmart","inbox","Inbox","info","Info","InventoryMatrix","inventory","Inventory","JournalPro","LayoutBoth","LayoutFirst","LayoutLast","LayoutNone","layout","Layout","LedgerCardCustomerReminder","LedgerCardManualCustomerInvoice","LedgerCardObsoleteStock","LedgerCardOpeningEntry","LedgerCardReservedEntry","LedgerCardShrinkagePilferage","LedgerCardStockAdjustment","LedgerCardTransferredOpeningEntry","LedgerCard","lightbulb","Lightbulb","line","Line","ListBulleted","ListSearch","list","List","LockOpen","LogOut","log","Log","market","Market","MatchAmount","MatchEntries","menu","Menu","mileage","Mileage","ModalResize","ModalShrink","MoreSolid","more","More","move","Move","NavigationList","NoteFollowUp","NoteRead","note","Note","numbers","Numbers","PartnerApi","period","Period","PersonChange","PersonMinus","PersonPlus","PersonTick","play","Play","PlusMinus","print","Print","ProcessPayment","ProductLedgerCard","profile","Profile","ProjectCards","projects","Projects","quicklinks","Quicklinks","RatingBankruptcy","RatingPaymentProblems","reconciled","Reconciled","refresh","Refresh","ReportSolid","report","Report","restore","Restore","RotateLeft","RotateRight","sales","Sales","SearchBold","search","Search","SecureTick","secure","Secure","SettingsSolid","settings","Settings","shortcuts","Shortcuts","ShowAll","ShowLess","ShowMore","ShowTemplate","sliders","Sliders","smartpay","Smartpay","SortBy","spinner","Spinner","StarSolid","star","Star","subscriptions","Subscriptions","SystemEntries","tag","Tag","TemplateOverride","templates","Templates","ThumbBoth","ThumbDownSolid","ThumbDown","ThumbUpSolid","ThumbUp","tick","Tick","time","Time","TransferCancel","TransferLocked","transfer","Transfer","undo","Undo","undock","Undock","unreconciled","Unreconciled","warning","Warning","webshop","Webshop","website","Website","workflow","Workflow","zoom","Zoom"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../src/components/Icon/components/index.tsx"],"sourcesContent":["import AccountPreview from './AccountPreview';\r\nimport AccountingYearCancel from './AccountingYearCancel';\r\nimport AccountingYear from './AccountingYear';\r\nimport Accounting from './Accounting';\r\nimport ArrowBottom from './ArrowBottom';\r\nimport ArrowDown from './ArrowDown';\r\nimport ArrowEnd from './ArrowEnd';\r\nimport ArrowLeft from './ArrowLeft';\r\nimport ArrowRight from './ArrowRight';\r\nimport ArrowStart from './ArrowStart';\r\nimport ArrowTop from './ArrowTop';\r\nimport ArrowUp from './ArrowUp';\r\nimport AttachAuto from './AttachAuto';\r\nimport AttachCancel from './AttachCancel';\r\nimport Attach from './Attach';\r\nimport AutotextInsert from './AutotextInsert';\r\nimport Autotext from './Autotext';\r\nimport BasicTabs from './BasicTabs';\r\nimport Basic from './Basic';\r\nimport BellSolid from './BellSolid';\r\nimport Book from './Book';\r\nimport Booking from './Booking';\r\nimport Budget from './Budget';\r\nimport Calendar from './Calendar';\r\nimport CashAccount from './CashAccount';\r\nimport CashReports from './CashReports';\r\nimport ChatSolid from './ChatSolid';\r\nimport Chat from './Chat';\r\nimport ChevronDownDouble from './ChevronDownDouble';\r\nimport ChevronDownSolid from './ChevronDownSolid';\r\nimport ChevronDown from './ChevronDown';\r\nimport ChevronLeftDouble from './ChevronLeftDouble';\r\nimport ChevronLeftSolid from './ChevronLeftSolid';\r\nimport ChevronLeft from './ChevronLeft';\r\nimport ChevronRightDouble from './ChevronRightDouble';\r\nimport ChevronRightSolid from './ChevronRightSolid';\r\nimport ChevronRight from './ChevronRight';\r\nimport ChevronUpDouble from './ChevronUpDouble';\r\nimport ChevronUpSolid from './ChevronUpSolid';\r\nimport ChevronUp from './ChevronUp';\r\nimport CircleClose from './CircleClose';\r\nimport CircleMinus from './CircleMinus';\r\nimport CirclePlus from './CirclePlus';\r\nimport CircleTick from './CircleTick';\r\nimport ClampOpen from './ClampOpen';\r\nimport Clamp from './Clamp';\r\nimport Close from './Close';\r\nimport ConnectionEnable from './ConnectionEnable';\r\nimport ConnectionRevoke from './ConnectionRevoke';\r\nimport Contacts from './Contacts';\r\nimport Copy from './Copy';\r\nimport Courses from './Courses';\r\nimport Credit from './Credit';\r\nimport DeletePermanently from './DeletePermanently';\r\nimport Delete from './Delete';\r\nimport Depecriate from './Depecriate';\r\nimport Developer from './Developer';\r\nimport DistributionTemplate from './DistributionTemplate';\r\nimport DocumentApprove from './DocumentApprove';\r\nimport DocumentCreateEntry from './DocumentCreateEntry';\r\nimport DocumentCut from './DocumentCut';\r\nimport DocumentError from './DocumentError';\r\nimport DocumentIsolatePage from './DocumentIsolatePage';\r\nimport DocumentMerge from './DocumentMerge';\r\nimport DocumentMove from './DocumentMove';\r\nimport DocumentPreview from './DocumentPreview';\r\nimport DocumentReceived from './DocumentReceived';\r\nimport DocumentRejectedRequest from './DocumentRejectedRequest';\r\nimport DocumentSplit from './DocumentSplit';\r\nimport DocumentTime from './DocumentTime';\r\nimport Document from './Document';\r\nimport Download from './Download';\r\nimport Drag from './Drag';\r\nimport ECopedia from './ECopedia';\r\nimport ESignature from './ESignature';\r\nimport Edit from './Edit';\r\nimport EllipsisHorizontal from './EllipsisHorizontal';\r\nimport EllipsisVertical from './EllipsisVertical';\r\nimport EntriesOnAccount from './EntriesOnAccount';\r\nimport EntriesOpen from './EntriesOpen';\r\nimport EntriesWarning from './EntriesWarning';\r\nimport EntryTypeCustomerInvoice from './EntryTypeCustomerInvoice';\r\nimport EntryTypeCustomerPayment from './EntryTypeCustomerPayment';\r\nimport EntryTypeJournalEntry from './EntryTypeJournalEntry';\r\nimport EntryTypeManualCustomerInvoice from './EntryTypeManualCustomerInvoice';\r\nimport EntryTypeSupplierInvoice from './EntryTypeSupplierInvoice';\r\nimport EntryTypeSupplierPayment from './EntryTypeSupplierPayment';\r\nimport EnvelopeApproved from './EnvelopeApproved';\r\nimport Envelope from './Envelope';\r\nimport ExpandView from './ExpandView';\r\nimport Expenses from './Expenses';\r\nimport ExportToExcel from './ExportToExcel';\r\nimport ExportToPdf from './ExportToPdf';\r\nimport Export from './Export';\r\nimport FilterSolid from './FilterSolid';\r\nimport Filter from './Filter';\r\nimport GraphSolid from './GraphSolid';\r\nimport Hash from './Hash';\r\nimport Home from './Home';\r\nimport Images from './Images';\r\nimport Import from './Import';\r\nimport InboxEinvoicing from './InboxEinvoicing';\r\nimport InboxScanning from './InboxScanning';\r\nimport InboxSmart from './InboxSmart';\r\nimport Inbox from './Inbox';\r\nimport Info from './Info';\r\nimport InventoryMatrix from './InventoryMatrix';\r\nimport Inventory from './Inventory';\r\nimport JournalPro from './JournalPro';\r\nimport LayoutBoth from './LayoutBoth';\r\nimport LayoutFirst from './LayoutFirst';\r\nimport LayoutLast from './LayoutLast';\r\nimport LayoutNone from './LayoutNone';\r\nimport Layout from './Layout';\r\nimport LedgerCardCustomerReminder from './LedgerCardCustomerReminder';\r\nimport LedgerCardManualCustomerInvoice from './LedgerCardManualCustomerInvoice';\r\nimport LedgerCardObsoleteStock from './LedgerCardObsoleteStock';\r\nimport LedgerCardOpeningEntry from './LedgerCardOpeningEntry';\r\nimport LedgerCardReservedEntry from './LedgerCardReservedEntry';\r\nimport LedgerCardShrinkagePilferage from './LedgerCardShrinkagePilferage';\r\nimport LedgerCardStockAdjustment from './LedgerCardStockAdjustment';\r\nimport LedgerCardTransferredOpeningEntry from './LedgerCardTransferredOpeningEntry';\r\nimport LedgerCard from './LedgerCard';\r\nimport Lightbulb from './Lightbulb';\r\nimport Line from './Line';\r\nimport ListBulleted from './ListBulleted';\r\nimport ListSearch from './ListSearch';\r\nimport List from './List';\r\nimport LockOpen from './LockOpen';\r\nimport LogOut from './LogOut';\r\nimport Log from './Log';\r\nimport Market from './Market';\r\nimport MatchAmount from './MatchAmount';\r\nimport MatchEntries from './MatchEntries';\r\nimport Menu from './Menu';\r\nimport Mileage from './Mileage';\r\nimport ModalResize from './ModalResize';\r\nimport ModalShrink from './ModalShrink';\r\nimport MoreSolid from './MoreSolid';\r\nimport More from './More';\r\nimport Move from './Move';\r\nimport NavigationList from './NavigationList';\r\nimport NoteFollowUp from './NoteFollowUp';\r\nimport NoteRead from './NoteRead';\r\nimport Note from './Note';\r\nimport Numbers from './Numbers';\r\nimport PartnerApi from './PartnerApi';\r\nimport Period from './Period';\r\nimport PersonChange from './PersonChange';\r\nimport PersonMinus from './PersonMinus';\r\nimport PersonPlus from './PersonPlus';\r\nimport PersonTick from './PersonTick';\r\nimport Play from './Play';\r\nimport PlusMinus from './PlusMinus';\r\nimport Print from './Print';\r\nimport ProcessPayment from './ProcessPayment';\r\nimport ProductLedgerCard from './ProductLedgerCard';\r\nimport Profile from './Profile';\r\nimport ProjectCards from './ProjectCards';\r\nimport Projects from './Projects';\r\nimport Quicklinks from './Quicklinks';\r\nimport RatingBankruptcy from './RatingBankruptcy';\r\nimport RatingPaymentProblems from './RatingPaymentProblems';\r\nimport Reconciled from './Reconciled';\r\nimport Refresh from './Refresh';\r\nimport ReportSolid from './ReportSolid';\r\nimport Report from './Report';\r\nimport Restore from './Restore';\r\nimport RotateLeft from './RotateLeft';\r\nimport RotateRight from './RotateRight';\r\nimport Sales from './Sales';\r\nimport SearchBold from './SearchBold';\r\nimport Search from './Search';\r\nimport SecureTick from './SecureTick';\r\nimport Secure from './Secure';\r\nimport SettingsSolid from './SettingsSolid';\r\nimport Settings from './Settings';\r\nimport Shortcuts from './Shortcuts';\r\nimport ShowAll from './ShowAll';\r\nimport ShowLess from './ShowLess';\r\nimport ShowMore from './ShowMore';\r\nimport ShowTemplate from './ShowTemplate';\r\nimport Sliders from './Sliders';\r\nimport Smartpay from './Smartpay';\r\nimport SortBy from './SortBy';\r\nimport Spinner from './Spinner';\r\nimport StarSolid from './StarSolid';\r\nimport Star from './Star';\r\nimport Subscriptions from './Subscriptions';\r\nimport SystemEntries from './SystemEntries';\r\nimport Tag from './Tag';\r\nimport TemplateOverride from './TemplateOverride';\r\nimport Templates from './Templates';\r\nimport ThumbBoth from './ThumbBoth';\r\nimport ThumbDownSolid from './ThumbDownSolid';\r\nimport ThumbDown from './ThumbDown';\r\nimport ThumbUpSolid from './ThumbUpSolid';\r\nimport ThumbUp from './ThumbUp';\r\nimport Tick from './Tick';\r\nimport Time from './Time';\r\nimport TransferCancel from './TransferCancel';\r\nimport TransferLocked from './TransferLocked';\r\nimport Transfer from './Transfer';\r\nimport Undo from './Undo';\r\nimport Undock from './Undock';\r\nimport Unreconciled from './Unreconciled';\r\nimport Warning from './Warning';\r\nimport Webshop from './Webshop';\r\nimport Website from './Website';\r\nimport Workflow from './Workflow';\r\nimport Zoom from './Zoom';\r\n\r\nexport const icons: Record<\r\n IconName,\r\n React.ForwardRefExoticComponent<React.SVGAttributes<SVGSVGElement> & React.RefAttributes<SVGSVGElement>>\r\n> = {\r\n 'account-preview': AccountPreview,\r\n 'accounting-year-cancel': AccountingYearCancel,\r\n 'accounting-year': AccountingYear,\r\n accounting: Accounting,\r\n 'arrow-bottom': ArrowBottom,\r\n 'arrow-down': ArrowDown,\r\n 'arrow-end': ArrowEnd,\r\n 'arrow-left': ArrowLeft,\r\n 'arrow-right': ArrowRight,\r\n 'arrow-start': ArrowStart,\r\n 'arrow-top': ArrowTop,\r\n 'arrow-up': ArrowUp,\r\n 'attach-auto': AttachAuto,\r\n 'attach-cancel': AttachCancel,\r\n attach: Attach,\r\n 'autotext-insert': AutotextInsert,\r\n autotext: Autotext,\r\n 'basic-tabs': BasicTabs,\r\n basic: Basic,\r\n 'bell-solid': BellSolid,\r\n book: Book,\r\n booking: Booking,\r\n budget: Budget,\r\n calendar: Calendar,\r\n 'cash-account': CashAccount,\r\n 'cash-reports': CashReports,\r\n 'chat-solid': ChatSolid,\r\n chat: Chat,\r\n 'chevron-down-double': ChevronDownDouble,\r\n 'chevron-down-solid': ChevronDownSolid,\r\n 'chevron-down': ChevronDown,\r\n 'chevron-left-double': ChevronLeftDouble,\r\n 'chevron-left-solid': ChevronLeftSolid,\r\n 'chevron-left': ChevronLeft,\r\n 'chevron-right-double': ChevronRightDouble,\r\n 'chevron-right-solid': ChevronRightSolid,\r\n 'chevron-right': ChevronRight,\r\n 'chevron-up-double': ChevronUpDouble,\r\n 'chevron-up-solid': ChevronUpSolid,\r\n 'chevron-up': ChevronUp,\r\n 'circle-close': CircleClose,\r\n 'circle-minus': CircleMinus,\r\n 'circle-plus': CirclePlus,\r\n 'circle-tick': CircleTick,\r\n 'clamp-open': ClampOpen,\r\n clamp: Clamp,\r\n close: Close,\r\n 'connection-enable': ConnectionEnable,\r\n 'connection-revoke': ConnectionRevoke,\r\n contacts: Contacts,\r\n copy: Copy,\r\n courses: Courses,\r\n credit: Credit,\r\n 'delete-permanently': DeletePermanently,\r\n delete: Delete,\r\n depecriate: Depecriate,\r\n developer: Developer,\r\n 'distribution-template': DistributionTemplate,\r\n 'document-approve': DocumentApprove,\r\n 'document-create-entry': DocumentCreateEntry,\r\n 'document-cut': DocumentCut,\r\n 'document-error': DocumentError,\r\n 'document-isolate-page': DocumentIsolatePage,\r\n 'document-merge': DocumentMerge,\r\n 'document-move': DocumentMove,\r\n 'document-preview': DocumentPreview,\r\n 'document-received': DocumentReceived,\r\n 'document-rejected-request': DocumentRejectedRequest,\r\n 'document-split': DocumentSplit,\r\n 'document-time': DocumentTime,\r\n document: Document,\r\n download: Download,\r\n drag: Drag,\r\n 'e-copedia': ECopedia,\r\n 'e-signature': ESignature,\r\n edit: Edit,\r\n 'ellipsis-horizontal': EllipsisHorizontal,\r\n 'ellipsis-vertical': EllipsisVertical,\r\n 'entries-on-account': EntriesOnAccount,\r\n 'entries-open': EntriesOpen,\r\n 'entries-warning': EntriesWarning,\r\n 'entry-type-customer-invoice': EntryTypeCustomerInvoice,\r\n 'entry-type-customer-payment': EntryTypeCustomerPayment,\r\n 'entry-type-journal-entry': EntryTypeJournalEntry,\r\n 'entry-type-manual-customer-invoice': EntryTypeManualCustomerInvoice,\r\n 'entry-type-supplier-invoice': EntryTypeSupplierInvoice,\r\n 'entry-type-supplier-payment': EntryTypeSupplierPayment,\r\n 'envelope-approved': EnvelopeApproved,\r\n envelope: Envelope,\r\n 'expand-view': ExpandView,\r\n expenses: Expenses,\r\n 'export-to-excel': ExportToExcel,\r\n 'export-to-pdf': ExportToPdf,\r\n export: Export,\r\n 'filter-solid': FilterSolid,\r\n filter: Filter,\r\n 'graph-solid': GraphSolid,\r\n hash: Hash,\r\n home: Home,\r\n images: Images,\r\n import: Import,\r\n 'inbox-einvoicing': InboxEinvoicing,\r\n 'inbox-scanning': InboxScanning,\r\n 'inbox-smart': InboxSmart,\r\n inbox: Inbox,\r\n info: Info,\r\n 'inventory-matrix': InventoryMatrix,\r\n inventory: Inventory,\r\n 'journal-pro': JournalPro,\r\n 'layout-both': LayoutBoth,\r\n 'layout-first': LayoutFirst,\r\n 'layout-last': LayoutLast,\r\n 'layout-none': LayoutNone,\r\n layout: Layout,\r\n 'ledger-card-customer-reminder': LedgerCardCustomerReminder,\r\n 'ledger-card-manual-customer-invoice': LedgerCardManualCustomerInvoice,\r\n 'ledger-card-obsolete-stock': LedgerCardObsoleteStock,\r\n 'ledger-card-opening-entry': LedgerCardOpeningEntry,\r\n 'ledger-card-reserved-entry': LedgerCardReservedEntry,\r\n 'ledger-card-shrinkage-pilferage': LedgerCardShrinkagePilferage,\r\n 'ledger-card-stock-adjustment': LedgerCardStockAdjustment,\r\n 'ledger-card-transferred-opening-entry': LedgerCardTransferredOpeningEntry,\r\n 'ledger-card': LedgerCard,\r\n lightbulb: Lightbulb,\r\n line: Line,\r\n 'list-bulleted': ListBulleted,\r\n 'list-search': ListSearch,\r\n list: List,\r\n 'lock-open': LockOpen,\r\n 'log-out': LogOut,\r\n log: Log,\r\n market: Market,\r\n 'match-amount': MatchAmount,\r\n 'match-entries': MatchEntries,\r\n menu: Menu,\r\n mileage: Mileage,\r\n 'modal-resize': ModalResize,\r\n 'modal-shrink': ModalShrink,\r\n 'more-solid': MoreSolid,\r\n more: More,\r\n move: Move,\r\n 'navigation-list': NavigationList,\r\n 'note-follow-up': NoteFollowUp,\r\n 'note-read': NoteRead,\r\n note: Note,\r\n numbers: Numbers,\r\n 'partner-api': PartnerApi,\r\n period: Period,\r\n 'person-change': PersonChange,\r\n 'person-minus': PersonMinus,\r\n 'person-plus': PersonPlus,\r\n 'person-tick': PersonTick,\r\n play: Play,\r\n 'plus-minus': PlusMinus,\r\n print: Print,\r\n 'process-payment': ProcessPayment,\r\n 'product-ledger-card': ProductLedgerCard,\r\n profile: Profile,\r\n 'project-cards': ProjectCards,\r\n projects: Projects,\r\n quicklinks: Quicklinks,\r\n 'rating-bankruptcy': RatingBankruptcy,\r\n 'rating-payment-problems': RatingPaymentProblems,\r\n reconciled: Reconciled,\r\n refresh: Refresh,\r\n 'report-solid': ReportSolid,\r\n report: Report,\r\n restore: Restore,\r\n 'rotate-left': RotateLeft,\r\n 'rotate-right': RotateRight,\r\n sales: Sales,\r\n 'search-bold': SearchBold,\r\n search: Search,\r\n 'secure-tick': SecureTick,\r\n secure: Secure,\r\n 'settings-solid': SettingsSolid,\r\n settings: Settings,\r\n shortcuts: Shortcuts,\r\n 'show-all': ShowAll,\r\n 'show-less': ShowLess,\r\n 'show-more': ShowMore,\r\n 'show-template': ShowTemplate,\r\n sliders: Sliders,\r\n smartpay: Smartpay,\r\n 'sort-by': SortBy,\r\n spinner: Spinner,\r\n 'star-solid': StarSolid,\r\n star: Star,\r\n subscriptions: Subscriptions,\r\n 'system-entries': SystemEntries,\r\n tag: Tag,\r\n 'template-override': TemplateOverride,\r\n templates: Templates,\r\n 'thumb-both': ThumbBoth,\r\n 'thumb-down-solid': ThumbDownSolid,\r\n 'thumb-down': ThumbDown,\r\n 'thumb-up-solid': ThumbUpSolid,\r\n 'thumb-up': ThumbUp,\r\n tick: Tick,\r\n time: Time,\r\n 'transfer-cancel': TransferCancel,\r\n 'transfer-locked': TransferLocked,\r\n transfer: Transfer,\r\n undo: Undo,\r\n undock: Undock,\r\n unreconciled: Unreconciled,\r\n warning: Warning,\r\n webshop: Webshop,\r\n website: Website,\r\n workflow: Workflow,\r\n zoom: Zoom,\r\n};\r\n\r\n// the prop extraction tool can't handle this\r\n//export type IconName = keyof typeof icons;\r\nexport type IconName =\r\n | 'account-preview'\r\n | 'accounting-year-cancel'\r\n | 'accounting-year'\r\n | 'accounting'\r\n | 'arrow-bottom'\r\n | 'arrow-down'\r\n | 'arrow-end'\r\n | 'arrow-left'\r\n | 'arrow-right'\r\n | 'arrow-start'\r\n | 'arrow-top'\r\n | 'arrow-up'\r\n | 'attach-auto'\r\n | 'attach-cancel'\r\n | 'attach'\r\n | 'autotext-insert'\r\n | 'autotext'\r\n | 'basic-tabs'\r\n | 'basic'\r\n | 'bell-solid'\r\n | 'book'\r\n | 'booking'\r\n | 'budget'\r\n | 'calendar'\r\n | 'cash-account'\r\n | 'cash-reports'\r\n | 'chat-solid'\r\n | 'chat'\r\n | 'chevron-down-double'\r\n | 'chevron-down-solid'\r\n | 'chevron-down'\r\n | 'chevron-left-double'\r\n | 'chevron-left-solid'\r\n | 'chevron-left'\r\n | 'chevron-right-double'\r\n | 'chevron-right-solid'\r\n | 'chevron-right'\r\n | 'chevron-up-double'\r\n | 'chevron-up-solid'\r\n | 'chevron-up'\r\n | 'circle-close'\r\n | 'circle-minus'\r\n | 'circle-plus'\r\n | 'circle-tick'\r\n | 'clamp-open'\r\n | 'clamp'\r\n | 'close'\r\n | 'connection-enable'\r\n | 'connection-revoke'\r\n | 'contacts'\r\n | 'copy'\r\n | 'courses'\r\n | 'credit'\r\n | 'delete-permanently'\r\n | 'delete'\r\n | 'depecriate'\r\n | 'developer'\r\n | 'distribution-template'\r\n | 'document-approve'\r\n | 'document-create-entry'\r\n | 'document-cut'\r\n | 'document-error'\r\n | 'document-isolate-page'\r\n | 'document-merge'\r\n | 'document-move'\r\n | 'document-preview'\r\n | 'document-received'\r\n | 'document-rejected-request'\r\n | 'document-split'\r\n | 'document-time'\r\n | 'document'\r\n | 'download'\r\n | 'drag'\r\n | 'e-copedia'\r\n | 'e-signature'\r\n | 'edit'\r\n | 'ellipsis-horizontal'\r\n | 'ellipsis-vertical'\r\n | 'entries-on-account'\r\n | 'entries-open'\r\n | 'entries-warning'\r\n | 'entry-type-customer-invoice'\r\n | 'entry-type-customer-payment'\r\n | 'entry-type-journal-entry'\r\n | 'entry-type-manual-customer-invoice'\r\n | 'entry-type-supplier-invoice'\r\n | 'entry-type-supplier-payment'\r\n | 'envelope-approved'\r\n | 'envelope'\r\n | 'expand-view'\r\n | 'expenses'\r\n | 'export-to-excel'\r\n | 'export-to-pdf'\r\n | 'export'\r\n | 'filter-solid'\r\n | 'filter'\r\n | 'graph-solid'\r\n | 'hash'\r\n | 'home'\r\n | 'images'\r\n | 'import'\r\n | 'inbox-einvoicing'\r\n | 'inbox-scanning'\r\n | 'inbox-smart'\r\n | 'inbox'\r\n | 'info'\r\n | 'inventory-matrix'\r\n | 'inventory'\r\n | 'journal-pro'\r\n | 'layout-both'\r\n | 'layout-first'\r\n | 'layout-last'\r\n | 'layout-none'\r\n | 'layout'\r\n | 'ledger-card-customer-reminder'\r\n | 'ledger-card-manual-customer-invoice'\r\n | 'ledger-card-obsolete-stock'\r\n | 'ledger-card-opening-entry'\r\n | 'ledger-card-reserved-entry'\r\n | 'ledger-card-shrinkage-pilferage'\r\n | 'ledger-card-stock-adjustment'\r\n | 'ledger-card-transferred-opening-entry'\r\n | 'ledger-card'\r\n | 'lightbulb'\r\n | 'line'\r\n | 'list-bulleted'\r\n | 'list-search'\r\n | 'list'\r\n | 'lock-open'\r\n | 'log-out'\r\n | 'log'\r\n | 'market'\r\n | 'match-amount'\r\n | 'match-entries'\r\n | 'menu'\r\n | 'mileage'\r\n | 'modal-resize'\r\n | 'modal-shrink'\r\n | 'more-solid'\r\n | 'more'\r\n | 'move'\r\n | 'navigation-list'\r\n | 'note-follow-up'\r\n | 'note-read'\r\n | 'note'\r\n | 'numbers'\r\n | 'partner-api'\r\n | 'period'\r\n | 'person-change'\r\n | 'person-minus'\r\n | 'person-plus'\r\n | 'person-tick'\r\n | 'play'\r\n | 'plus-minus'\r\n | 'print'\r\n | 'process-payment'\r\n | 'product-ledger-card'\r\n | 'profile'\r\n | 'project-cards'\r\n | 'projects'\r\n | 'quicklinks'\r\n | 'rating-bankruptcy'\r\n | 'rating-payment-problems'\r\n | 'reconciled'\r\n | 'refresh'\r\n | 'report-solid'\r\n | 'report'\r\n | 'restore'\r\n | 'rotate-left'\r\n | 'rotate-right'\r\n | 'sales'\r\n | 'search-bold'\r\n | 'search'\r\n | 'secure-tick'\r\n | 'secure'\r\n | 'settings-solid'\r\n | 'settings'\r\n | 'shortcuts'\r\n | 'show-all'\r\n | 'show-less'\r\n | 'show-more'\r\n | 'show-template'\r\n | 'sliders'\r\n | 'smartpay'\r\n | 'sort-by'\r\n | 'spinner'\r\n | 'star-solid'\r\n | 'star'\r\n | 'subscriptions'\r\n | 'system-entries'\r\n | 'tag'\r\n | 'template-override'\r\n | 'templates'\r\n | 'thumb-both'\r\n | 'thumb-down-solid'\r\n | 'thumb-down'\r\n | 'thumb-up-solid'\r\n | 'thumb-up'\r\n | 'tick'\r\n | 'time'\r\n | 'transfer-cancel'\r\n | 'transfer-locked'\r\n | 'transfer'\r\n | 'undo'\r\n | 'undock'\r\n | 'unreconciled'\r\n | 'warning'\r\n | 'webshop'\r\n | 'website'\r\n | 'workflow'\r\n | 'zoom';\r\n"],"names":["icons","AccountPreview","AccountingYearCancel","AccountingYear","accounting","Accounting","ArrowBottom","ArrowDown","ArrowEnd","ArrowLeft","ArrowRight","ArrowStart","ArrowTop","ArrowUp","AttachAuto","AttachCancel","attach","Attach","AutotextInsert","autotext","Autotext","BasicTabs","basic","Basic","BellSolid","book","Book","booking","Booking","budget","Budget","calendar","Calendar","CashAccount","CashReports","ChatSolid","chat","Chat","ChevronDownDouble","ChevronDownSolid","ChevronDown","ChevronLeftDouble","ChevronLeftSolid","ChevronLeft","ChevronRightDouble","ChevronRightSolid","ChevronRight","ChevronUpDouble","ChevronUpSolid","ChevronUp","CircleClose","CircleMinus","CirclePlus","CircleTick","ClampOpen","clamp","Clamp","close","Close","ConnectionEnable","ConnectionRevoke","contacts","Contacts","copy","Copy","courses","Courses","credit","Credit","DeletePermanently","delete","Delete","depecriate","Depecriate","developer","Developer","DistributionTemplate","DocumentApprove","DocumentCreateEntry","DocumentCut","DocumentError","DocumentIsolatePage","DocumentMerge","DocumentMove","DocumentPreview","DocumentReceived","DocumentRejectedRequest","DocumentSplit","DocumentTime","document","Document","download","Download","drag","Drag","ECopedia","ESignature","edit","Edit","EllipsisHorizontal","EllipsisVertical","EntriesOnAccount","EntriesOpen","EntriesWarning","EntryTypeCustomerInvoice","EntryTypeCustomerPayment","EntryTypeJournalEntry","EntryTypeManualCustomerInvoice","EntryTypeSupplierInvoice","EntryTypeSupplierPayment","EnvelopeApproved","envelope","Envelope","ExpandView","expenses","Expenses","ExportToExcel","ExportToPdf","export","Export","FilterSolid","filter","Filter","GraphSolid","hash","Hash","home","Home","images","Images","import","Import","InboxEinvoicing","InboxScanning","InboxSmart","inbox","Inbox","info","Info","InventoryMatrix","inventory","Inventory","JournalPro","LayoutBoth","LayoutFirst","LayoutLast","LayoutNone","layout","Layout","LedgerCardCustomerReminder","LedgerCardManualCustomerInvoice","LedgerCardObsoleteStock","LedgerCardOpeningEntry","LedgerCardReservedEntry","LedgerCardShrinkagePilferage","LedgerCardStockAdjustment","LedgerCardTransferredOpeningEntry","LedgerCard","lightbulb","Lightbulb","line","Line","ListBulleted","ListSearch","list","List","LockOpen","LogOut","log","Log","market","Market","MatchAmount","MatchEntries","menu","Menu","mileage","Mileage","ModalResize","ModalShrink","MoreSolid","more","More","move","Move","NavigationList","NoteFollowUp","NoteRead","note","Note","numbers","Numbers","PartnerApi","period","Period","PersonChange","PersonMinus","PersonPlus","PersonTick","play","Play","PlusMinus","print","Print","ProcessPayment","ProductLedgerCard","profile","Profile","ProjectCards","projects","Projects","quicklinks","Quicklinks","RatingBankruptcy","RatingPaymentProblems","reconciled","Reconciled","refresh","Refresh","ReportSolid","report","Report","restore","Restore","RotateLeft","RotateRight","sales","Sales","SearchBold","search","Search","SecureTick","secure","Secure","SettingsSolid","settings","Settings","shortcuts","Shortcuts","ShowAll","ShowLess","ShowMore","ShowTemplate","sliders","Sliders","smartpay","Smartpay","SortBy","spinner","Spinner","StarSolid","star","Star","subscriptions","Subscriptions","SystemEntries","tag","Tag","TemplateOverride","templates","Templates","ThumbBoth","ThumbDownSolid","ThumbDown","ThumbUpSolid","ThumbUp","tick","Tick","time","Time","TransferCancel","TransferLocked","transfer","Transfer","undo","Undo","undock","Undock","unreconciled","Unreconciled","warning","Warning","webshop","Webshop","website","Website","workflow","Workflow","zoom","Zoom"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"IconButton.js","sources":["../../../../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport * as ButtonPrimitive from '../../primitives/Button';\nimport { Icon, IconName } from '../Icon/Icon';\nimport { getAppearanceClasses, getButtonClasses, createButtonWithTooltip, createButtonWithOverlays } from '../Button/util';\nimport { Appearance } from '../../types';\nimport { DialogProps, HangerProps, MenuProps, PopoverProps } from '../..';\n\nexport type IconButtonProps = Omit<ButtonPrimitive.ButtonProps, 'children'> & {\n /** Appearance will change the style of the button */\n appearance?: Appearance;\n /**\n * Dialog component associated with the button, clicking the button will open the dialog.\n * *Note* that `onClick` event on button won't be handled, as in this case, the purpose of\n * the button should be only to open the associated dialog when clicked.\n */\n dialog?: (props: Partial<DialogProps>) => JSX.Element;\n /** Hanger component associated with the button. */\n hanger?: (props: Partial<HangerProps>) => JSX.Element;\n /** Set which icon should be rendered within button */\n icon: IconName; // this dynamic type causes the type extraction for props to fail\n /** Menu component associated with the button. */\n menu?: (props: Partial<MenuProps>) => JSX.Element;\n /**\n * Popover component associated with the button, clicking the button will open the popover.\n * *Note* that `onClick` event on button won't be handled, as in this case, the purpose of\n * the button should be only to open the associated popover when clicked.\n */\n popover?: (props: Partial<PopoverProps>) => JSX.Element;\n /**\n * Set whether the button is rounded.\n * Default value is `false`\n */\n rounded?: boolean;\n /** A tooltip to show when hovering over the button */\n tooltip?: string;\n};\n\nexport const Base = React.forwardRef(function IconButtonBase(\n props: IconButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\n) {\n const { icon, rounded = false, ...otherProps } = props;\n\n const className = cn(\n 'w-8',\n getButtonClasses(),\n getAppearanceClasses(otherProps.appearance, true),\n {\n 'rounded-full': rounded,\n rounded: !rounded,\n 'cursor-not-allowed opacity-50': props.disabled,\n 'focus:yt-focus active:focus:yt-focus': !props.disabled,\n },\n props.className\n );\n\n if (!icon) {\n return null;\n }\n\n return createButtonWithTooltip(\n { ...otherProps, children: <Icon name={icon} className=\"m-0 p-0\" />, 'data-taco': 'icon-button' },\n className,\n ref\n );\n});\n\nexport const IconButton = React.forwardRef(function Button(\n props: IconButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\n) {\n const { dialog, hanger, menu, popover, ...buttonProps } = props;\n const button = <Base {...buttonProps} ref={ref} />;\n\n return createButtonWithOverlays({ dialog, hanger, menu, popover }, button);\n});\n"],"names":["Base","React","IconButtonBase","props","ref","icon","rounded","otherProps","className","cn","getButtonClasses","getAppearanceClasses","appearance","disabled","createButtonWithTooltip","children","Icon","name","IconButton","Button","dialog","hanger","menu","popover","buttonProps","button","createButtonWithOverlays"],"mappings":";;;;;MAsCaA,IAAI,gBAAGC,UAAgB,CAAC,SAASC,cAAc,CACxDC,KAAsB,EACtBC,GAAqD;EAErD,MAAM;IAAEC,IAAI;IAAEC,OAAO,GAAG,KAAK;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAEtD,MAAMK,SAAS,GAAGC,EAAE,CAChB,KAAK,EACLC,gBAAgB,EAAE,EAClBC,oBAAoB,CAACJ,UAAU,CAACK,UAAU,EAAE,IAAI,CAAC,EACjD;IACI,cAAc,EAAEN,OAAO;IACvBA,OAAO,EAAE,CAACA,OAAO;IACjB,+BAA+B,EAAEH,KAAK,CAACU,QAAQ;IAC/C,sCAAsC,EAAE,CAACV,KAAK,CAACU;GAClD,EACDV,KAAK,CAACK,SAAS,CAClB;EAED,IAAI,CAACH,IAAI,EAAE;IACP,OAAO,IAAI;;EAGf,OAAOS,uBAAuB,CAC1B;IAAE,GAAGP,UAAU;IAAEQ,QAAQ,eAAEd,cAACe,IAAI;MAACC,IAAI,EAAEZ,IAAI;MAAEG,SAAS,EAAC;MAAY;IAAE,WAAW,EAAE;GAAe,EACjGA,SAAS,EACTJ,GAAG,CACN;AACL,CAAC;MAEYc,UAAU,gBAAGjB,UAAgB,CAAC,SAASkB,MAAM,CACtDhB,KAAsB,EACtBC,GAAqD;EAErD,MAAM;IAAEgB,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAE,GAAGC;GAAa,GAAGrB,KAAK;EAC/D,MAAMsB,MAAM,gBAAGxB,cAACD,IAAI,oBAAKwB,WAAW;IAAEpB,GAAG,EAAEA;KAAO;EAElD,OAAOsB,wBAAwB,CAAC;IAAEN,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;GAAS,EAAEE,MAAM,CAAC;AAC9E,CAAC;;;;"}
|
1
|
+
{"version":3,"file":"IconButton.js","sources":["../../../../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport * as ButtonPrimitive from '../../primitives/Button';\r\nimport { Icon, IconName } from '../Icon/Icon';\r\nimport { getAppearanceClasses, getButtonClasses, createButtonWithTooltip, createButtonWithOverlays } from '../Button/util';\r\nimport { Appearance } from '../../types';\r\nimport { DialogProps, HangerProps, MenuProps, PopoverProps } from '../..';\r\n\r\nexport type IconButtonProps = Omit<ButtonPrimitive.ButtonProps, 'children'> & {\r\n /** Appearance will change the style of the button */\r\n appearance?: Appearance;\r\n /**\r\n * Dialog component associated with the button, clicking the button will open the dialog.\r\n * *Note* that `onClick` event on button won't be handled, as in this case, the purpose of\r\n * the button should be only to open the associated dialog when clicked.\r\n */\r\n dialog?: (props: Partial<DialogProps>) => JSX.Element;\r\n /** Hanger component associated with the button. */\r\n hanger?: (props: Partial<HangerProps>) => JSX.Element;\r\n /** Set which icon should be rendered within button */\r\n icon: IconName; // this dynamic type causes the type extraction for props to fail\r\n /** Menu component associated with the button. */\r\n menu?: (props: Partial<MenuProps>) => JSX.Element;\r\n /**\r\n * Popover component associated with the button, clicking the button will open the popover.\r\n * *Note* that `onClick` event on button won't be handled, as in this case, the purpose of\r\n * the button should be only to open the associated popover when clicked.\r\n */\r\n popover?: (props: Partial<PopoverProps>) => JSX.Element;\r\n /**\r\n * Set whether the button is rounded.\r\n * Default value is `false`\r\n */\r\n rounded?: boolean;\r\n /** A tooltip to show when hovering over the button */\r\n tooltip?: string;\r\n};\r\n\r\nexport const Base = React.forwardRef(function IconButtonBase(\r\n props: IconButtonProps,\r\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\r\n) {\r\n const { icon, rounded = false, ...otherProps } = props;\r\n\r\n const className = cn(\r\n 'w-8',\r\n getButtonClasses(),\r\n getAppearanceClasses(otherProps.appearance, true),\r\n {\r\n 'rounded-full': rounded,\r\n rounded: !rounded,\r\n 'cursor-not-allowed opacity-50': props.disabled,\r\n 'focus:yt-focus active:focus:yt-focus': !props.disabled,\r\n },\r\n props.className\r\n );\r\n\r\n if (!icon) {\r\n return null;\r\n }\r\n\r\n return createButtonWithTooltip(\r\n { ...otherProps, children: <Icon name={icon} className=\"m-0 p-0\" />, 'data-taco': 'icon-button' },\r\n className,\r\n ref\r\n );\r\n});\r\n\r\nexport const IconButton = React.forwardRef(function Button(\r\n props: IconButtonProps,\r\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\r\n) {\r\n const { dialog, hanger, menu, popover, ...buttonProps } = props;\r\n const button = <Base {...buttonProps} ref={ref} />;\r\n\r\n return createButtonWithOverlays({ dialog, hanger, menu, popover }, button);\r\n});\r\n"],"names":["Base","React","IconButtonBase","props","ref","icon","rounded","otherProps","className","cn","getButtonClasses","getAppearanceClasses","appearance","disabled","createButtonWithTooltip","children","Icon","name","IconButton","Button","dialog","hanger","menu","popover","buttonProps","button","createButtonWithOverlays"],"mappings":";;;;;MAsCaA,IAAI,gBAAGC,UAAgB,CAAC,SAASC,cAAc,CACxDC,KAAsB,EACtBC,GAAqD;EAErD,MAAM;IAAEC,IAAI;IAAEC,OAAO,GAAG,KAAK;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAEtD,MAAMK,SAAS,GAAGC,EAAE,CAChB,KAAK,EACLC,gBAAgB,EAAE,EAClBC,oBAAoB,CAACJ,UAAU,CAACK,UAAU,EAAE,IAAI,CAAC,EACjD;IACI,cAAc,EAAEN,OAAO;IACvBA,OAAO,EAAE,CAACA,OAAO;IACjB,+BAA+B,EAAEH,KAAK,CAACU,QAAQ;IAC/C,sCAAsC,EAAE,CAACV,KAAK,CAACU;GAClD,EACDV,KAAK,CAACK,SAAS,CAClB;EAED,IAAI,CAACH,IAAI,EAAE;IACP,OAAO,IAAI;;EAGf,OAAOS,uBAAuB,CAC1B;IAAE,GAAGP,UAAU;IAAEQ,QAAQ,eAAEd,cAACe,IAAI;MAACC,IAAI,EAAEZ,IAAI;MAAEG,SAAS,EAAC;MAAY;IAAE,WAAW,EAAE;GAAe,EACjGA,SAAS,EACTJ,GAAG,CACN;AACL,CAAC;MAEYc,UAAU,gBAAGjB,UAAgB,CAAC,SAASkB,MAAM,CACtDhB,KAAsB,EACtBC,GAAqD;EAErD,MAAM;IAAEgB,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAE,GAAGC;GAAa,GAAGrB,KAAK;EAC/D,MAAMsB,MAAM,gBAAGxB,cAACD,IAAI,oBAAKwB,WAAW;IAAEpB,GAAG,EAAEA;KAAO;EAElD,OAAOsB,wBAAwB,CAAC;IAAEN,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;GAAS,EAAEE,MAAM,CAAC;AAC9E,CAAC;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../../../../../src/components/Input/Input.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName } from '../Icon/Icon';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { getButtonStateClasses, getInputClasses } from './util';\n\nexport type InputProps = React.InputHTMLAttributes<HTMLInputElement> & {\n /** Shows a button within the input field */\n button?: React.ReactElement;\n /** Shows an icon within the input field */\n icon?: IconName | JSX.Element;\n /** Draws attention to the input by changing its style and making it visually prominent */\n highlighted?: boolean;\n /* Whether the input is in an invalid state */\n invalid?: boolean;\n};\n\nexport const Input = React.forwardRef(function Input(props: InputProps, ref: React.Ref<HTMLInputElement>) {\n const { button, icon, highlighted, invalid, onKeyDown, autoFocus, ...otherProps } = props;\n const inputRef = useMergedRef<HTMLInputElement>(ref);\n const hasContainer = button || icon;\n const className = cn(\n getInputClasses(props),\n 'min-h-[theme(spacing.8)] pointer-events-all',\n {\n 'pr-8': !!hasContainer,\n },\n !hasContainer && otherProps.className\n );\n\n React.useEffect(() => {\n if (autoFocus && inputRef.current) {\n inputRef.current.focus();\n }\n }, []);\n\n // home and end keys only navigate to the start/end of input value if the input container does not scroll\n // if it has scroll height then the browser reverts to native scrolling behaviour only\n // so we manually override it to ensure _our_ desired behaviour remains intact\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (!event.shiftKey && (event.key === 'Home' || event.key === 'End')) {\n event.preventDefault();\n const position = event.key === 'End' ? event.currentTarget.value.length : 0;\n event.currentTarget.setSelectionRange(position, position);\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n const input = <input {...otherProps} className={className} data-taco=\"input\" onKeyDown={handleKeyDown} ref={inputRef} />;\n\n if (hasContainer) {\n let extra: any;\n\n if (button) {\n const disabled = button.props.disabled || otherProps.disabled;\n const buttonClassName = cn(\n 'items-center flex justify-center border absolute rounded-l-none rounded-r right-0 h-full focus:rounded focus:outline-none',\n {\n [getButtonStateClasses(invalid)]: !props.disabled,\n },\n button.props.className\n );\n extra = React.cloneElement(button, {\n className: buttonClassName,\n disabled,\n });\n } else if (icon) {\n const iconClassName = cn(\n 'items-center flex justify-center absolute pointer-events-none mr-1 p-px right-0 w-5 top-1/2 -translate-y-1/2',\n {\n 'text-grey-dark': props.disabled,\n 'text-grey-darkest': !props.disabled,\n }\n );\n extra =\n typeof icon === 'string' ? (\n <Icon className={iconClassName} name={icon} />\n ) : (\n React.cloneElement(icon, { className: cn(iconClassName, icon.props.className) })\n );\n }\n\n const containerClassName = cn('bg-white inline-flex relative rounded w-full', otherProps.className);\n\n return (\n <div className={containerClassName} data-taco=\"input-container\">\n {input}\n {extra}\n </div>\n );\n }\n\n return input;\n});\n"],"names":["Input","React","props","ref","button","icon","highlighted","invalid","onKeyDown","autoFocus","otherProps","inputRef","useMergedRef","hasContainer","className","cn","getInputClasses","current","focus","handleKeyDown","event","shiftKey","key","preventDefault","position","currentTarget","value","length","setSelectionRange","input","extra","disabled","buttonClassName","getButtonStateClasses","iconClassName","Icon","name","containerClassName"],"mappings":";;;;;;MAiBaA,KAAK,gBAAGC,UAAgB,CAAC,SAASD,KAAK,CAACE,KAAiB,EAAEC,GAAgC;EACpG,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,WAAW;IAAEC,OAAO;IAAEC,SAAS;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGR,KAAK;EACzF,MAAMS,QAAQ,GAAGC,YAAY,CAAmBT,GAAG,CAAC;EACpD,MAAMU,YAAY,GAAGT,MAAM,IAAIC,IAAI;EACnC,MAAMS,SAAS,GAAGC,EAAE,CAChBC,eAAe,CAACd,KAAK,CAAC,EACtB,6CAA6C,EAC7C;IACI,MAAM,EAAE,CAAC,CAACW;GACb,EACD,CAACA,YAAY,IAAIH,UAAU,CAACI,SAAS,CACxC;EAEDb,SAAe,CAAC;IACZ,IAAIQ,SAAS,IAAIE,QAAQ,CAACM,OAAO,EAAE;MAC/BN,QAAQ,CAACM,OAAO,CAACC,KAAK,EAAE;;GAE/B,EAAE,EAAE,CAAC;;;;EAKN,MAAMC,aAAa,GAAIC,KAA4C;IAC/D,IAAI,CAACA,KAAK,CAACC,QAAQ,KAAKD,KAAK,CAACE,GAAG,KAAK,MAAM,IAAIF,KAAK,CAACE,GAAG,KAAK,KAAK,CAAC,EAAE;MAClEF,KAAK,CAACG,cAAc,EAAE;MACtB,MAAMC,QAAQ,GAAGJ,KAAK,CAACE,GAAG,KAAK,KAAK,GAAGF,KAAK,CAACK,aAAa,CAACC,KAAK,CAACC,MAAM,GAAG,CAAC;MAC3EP,KAAK,CAACK,aAAa,CAACG,iBAAiB,CAACJ,QAAQ,EAAEA,QAAQ,CAAC;;IAG7D,IAAIhB,SAAS,EAAE;MACXA,SAAS,CAACY,KAAK,CAAC;;GAEvB;EAED,MAAMS,KAAK,gBAAG5B,yCAAWS,UAAU;IAAEI,SAAS,EAAEA,SAAS;iBAAY,OAAO;IAACN,SAAS,EAAEW,aAAa;IAAEhB,GAAG,EAAEQ;KAAY;EAExH,IAAIE,YAAY,EAAE;IACd,IAAIiB,KAAU;IAEd,IAAI1B,MAAM,EAAE;MACR,MAAM2B,QAAQ,GAAG3B,MAAM,CAACF,KAAK,CAAC6B,QAAQ,IAAIrB,UAAU,CAACqB,QAAQ;MAC7D,MAAMC,eAAe,GAAGjB,EAAE,CACtB,2HAA2H,EAC3H;QACI,CAACkB,qBAAqB,CAAC1B,OAAO,CAAC,GAAG,CAACL,KAAK,CAAC6B;OAC5C,EACD3B,MAAM,CAACF,KAAK,CAACY,SAAS,CACzB;MACDgB,KAAK,gBAAG7B,YAAkB,CAACG,MAAM,EAAE;QAC/BU,SAAS,EAAEkB,eAAe;QAC1BD;OACH,CAAC;KACL,MAAM,IAAI1B,IAAI,EAAE;MACb,MAAM6B,aAAa,GAAGnB,EAAE,CACpB,8GAA8G,EAC9G;QACI,gBAAgB,EAAEb,KAAK,CAAC6B,QAAQ;QAChC,mBAAmB,EAAE,CAAC7B,KAAK,CAAC6B;OAC/B,CACJ;MACDD,KAAK,GACD,OAAOzB,IAAI,KAAK,QAAQ,gBACpBJ,cAACkC,IAAI;QAACrB,SAAS,EAAEoB,aAAa;QAAEE,IAAI,EAAE/B;QAAQ,gBAE9CJ,YAAkB,CAACI,IAAI,EAAE;QAAES,SAAS,EAAEC,EAAE,CAACmB,aAAa,EAAE7B,IAAI,CAACH,KAAK,CAACY,SAAS;OAAG,CAClF;;IAGT,MAAMuB,kBAAkB,GAAGtB,EAAE,CAAC,8CAA8C,EAAEL,UAAU,CAACI,SAAS,CAAC;IAEnG,oBACIb;MAAKa,SAAS,EAAEuB,kBAAkB;mBAAY;OACzCR,KAAK,EACLC,KAAK,CACJ;;EAId,OAAOD,KAAK;AAChB,CAAC;;;;"}
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../../../../../src/components/Input/Input.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { Icon, IconName } from '../Icon/Icon';\r\nimport { useMergedRef } from '../../hooks/useMergedRef';\r\nimport { getButtonStateClasses, getInputClasses } from './util';\r\n\r\nexport type InputProps = React.InputHTMLAttributes<HTMLInputElement> & {\r\n /** Shows a button within the input field */\r\n button?: React.ReactElement;\r\n /** Shows an icon within the input field */\r\n icon?: IconName | JSX.Element;\r\n /** Draws attention to the input by changing its style and making it visually prominent */\r\n highlighted?: boolean;\r\n /* Whether the input is in an invalid state */\r\n invalid?: boolean;\r\n};\r\n\r\nexport const Input = React.forwardRef(function Input(props: InputProps, ref: React.Ref<HTMLInputElement>) {\r\n const { button, icon, highlighted, invalid, onKeyDown, autoFocus, ...otherProps } = props;\r\n const inputRef = useMergedRef<HTMLInputElement>(ref);\r\n const hasContainer = button || icon;\r\n const className = cn(\r\n getInputClasses(props),\r\n 'min-h-[theme(spacing.8)] pointer-events-all',\r\n {\r\n 'pr-8': !!hasContainer,\r\n },\r\n !hasContainer && otherProps.className\r\n );\r\n\r\n React.useEffect(() => {\r\n if (autoFocus && inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, []);\r\n\r\n // home and end keys only navigate to the start/end of input value if the input container does not scroll\r\n // if it has scroll height then the browser reverts to native scrolling behaviour only\r\n // so we manually override it to ensure _our_ desired behaviour remains intact\r\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (!event.shiftKey && (event.key === 'Home' || event.key === 'End')) {\r\n event.preventDefault();\r\n const position = event.key === 'End' ? event.currentTarget.value.length : 0;\r\n event.currentTarget.setSelectionRange(position, position);\r\n }\r\n\r\n if (onKeyDown) {\r\n onKeyDown(event);\r\n }\r\n };\r\n\r\n const input = <input {...otherProps} className={className} data-taco=\"input\" onKeyDown={handleKeyDown} ref={inputRef} />;\r\n\r\n if (hasContainer) {\r\n let extra: any;\r\n\r\n if (button) {\r\n const disabled = button.props.disabled || otherProps.disabled;\r\n const buttonClassName = cn(\r\n 'items-center flex justify-center border absolute rounded-l-none rounded-r right-0 h-full focus:rounded focus:outline-none',\r\n {\r\n [getButtonStateClasses(invalid)]: !props.disabled,\r\n },\r\n button.props.className\r\n );\r\n extra = React.cloneElement(button, {\r\n className: buttonClassName,\r\n disabled,\r\n });\r\n } else if (icon) {\r\n const iconClassName = cn(\r\n 'items-center flex justify-center absolute pointer-events-none mr-1 p-px right-0 w-5 top-1/2 -translate-y-1/2',\r\n {\r\n 'text-grey-dark': props.disabled,\r\n 'text-grey-darkest': !props.disabled,\r\n }\r\n );\r\n extra =\r\n typeof icon === 'string' ? (\r\n <Icon className={iconClassName} name={icon} />\r\n ) : (\r\n React.cloneElement(icon, { className: cn(iconClassName, icon.props.className) })\r\n );\r\n }\r\n\r\n const containerClassName = cn('bg-white inline-flex relative rounded w-full', otherProps.className);\r\n\r\n return (\r\n <div className={containerClassName} data-taco=\"input-container\">\r\n {input}\r\n {extra}\r\n </div>\r\n );\r\n }\r\n\r\n return input;\r\n});\r\n"],"names":["Input","React","props","ref","button","icon","highlighted","invalid","onKeyDown","autoFocus","otherProps","inputRef","useMergedRef","hasContainer","className","cn","getInputClasses","current","focus","handleKeyDown","event","shiftKey","key","preventDefault","position","currentTarget","value","length","setSelectionRange","input","extra","disabled","buttonClassName","getButtonStateClasses","iconClassName","Icon","name","containerClassName"],"mappings":";;;;;;MAiBaA,KAAK,gBAAGC,UAAgB,CAAC,SAASD,KAAK,CAACE,KAAiB,EAAEC,GAAgC;EACpG,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,WAAW;IAAEC,OAAO;IAAEC,SAAS;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGR,KAAK;EACzF,MAAMS,QAAQ,GAAGC,YAAY,CAAmBT,GAAG,CAAC;EACpD,MAAMU,YAAY,GAAGT,MAAM,IAAIC,IAAI;EACnC,MAAMS,SAAS,GAAGC,EAAE,CAChBC,eAAe,CAACd,KAAK,CAAC,EACtB,6CAA6C,EAC7C;IACI,MAAM,EAAE,CAAC,CAACW;GACb,EACD,CAACA,YAAY,IAAIH,UAAU,CAACI,SAAS,CACxC;EAEDb,SAAe,CAAC;IACZ,IAAIQ,SAAS,IAAIE,QAAQ,CAACM,OAAO,EAAE;MAC/BN,QAAQ,CAACM,OAAO,CAACC,KAAK,EAAE;;GAE/B,EAAE,EAAE,CAAC;;;;EAKN,MAAMC,aAAa,GAAIC,KAA4C;IAC/D,IAAI,CAACA,KAAK,CAACC,QAAQ,KAAKD,KAAK,CAACE,GAAG,KAAK,MAAM,IAAIF,KAAK,CAACE,GAAG,KAAK,KAAK,CAAC,EAAE;MAClEF,KAAK,CAACG,cAAc,EAAE;MACtB,MAAMC,QAAQ,GAAGJ,KAAK,CAACE,GAAG,KAAK,KAAK,GAAGF,KAAK,CAACK,aAAa,CAACC,KAAK,CAACC,MAAM,GAAG,CAAC;MAC3EP,KAAK,CAACK,aAAa,CAACG,iBAAiB,CAACJ,QAAQ,EAAEA,QAAQ,CAAC;;IAG7D,IAAIhB,SAAS,EAAE;MACXA,SAAS,CAACY,KAAK,CAAC;;GAEvB;EAED,MAAMS,KAAK,gBAAG5B,yCAAWS,UAAU;IAAEI,SAAS,EAAEA,SAAS;iBAAY,OAAO;IAACN,SAAS,EAAEW,aAAa;IAAEhB,GAAG,EAAEQ;KAAY;EAExH,IAAIE,YAAY,EAAE;IACd,IAAIiB,KAAU;IAEd,IAAI1B,MAAM,EAAE;MACR,MAAM2B,QAAQ,GAAG3B,MAAM,CAACF,KAAK,CAAC6B,QAAQ,IAAIrB,UAAU,CAACqB,QAAQ;MAC7D,MAAMC,eAAe,GAAGjB,EAAE,CACtB,2HAA2H,EAC3H;QACI,CAACkB,qBAAqB,CAAC1B,OAAO,CAAC,GAAG,CAACL,KAAK,CAAC6B;OAC5C,EACD3B,MAAM,CAACF,KAAK,CAACY,SAAS,CACzB;MACDgB,KAAK,gBAAG7B,YAAkB,CAACG,MAAM,EAAE;QAC/BU,SAAS,EAAEkB,eAAe;QAC1BD;OACH,CAAC;KACL,MAAM,IAAI1B,IAAI,EAAE;MACb,MAAM6B,aAAa,GAAGnB,EAAE,CACpB,8GAA8G,EAC9G;QACI,gBAAgB,EAAEb,KAAK,CAAC6B,QAAQ;QAChC,mBAAmB,EAAE,CAAC7B,KAAK,CAAC6B;OAC/B,CACJ;MACDD,KAAK,GACD,OAAOzB,IAAI,KAAK,QAAQ,gBACpBJ,cAACkC,IAAI;QAACrB,SAAS,EAAEoB,aAAa;QAAEE,IAAI,EAAE/B;QAAQ,gBAE9CJ,YAAkB,CAACI,IAAI,EAAE;QAAES,SAAS,EAAEC,EAAE,CAACmB,aAAa,EAAE7B,IAAI,CAACH,KAAK,CAACY,SAAS;OAAG,CAClF;;IAGT,MAAMuB,kBAAkB,GAAGtB,EAAE,CAAC,8CAA8C,EAAEL,UAAU,CAACI,SAAS,CAAC;IAEnG,oBACIb;MAAKa,SAAS,EAAEuB,kBAAkB;mBAAY;OACzCR,KAAK,EACLC,KAAK,CACJ;;EAId,OAAOD,KAAK;AAChB,CAAC;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../../../../src/components/Input/util.ts"],"sourcesContent":["import cn from 'classnames';\n\nexport const getInputClasses = props => {\n const disabled = props.disabled || !!props['aria-disabled'];\n const readOnly = props.readOnly || !!props['aria-readonly'];\n const invalid = props.invalid || !!props['aria-invalid'];\n\n return cn(\n 'peer bg-white text-black text-sm border font-normal not-italic no-underline rounded inline-flex leading-6 px-2 relative w-full text-ellipsis flex items-center min-h-[theme(spacing.8)]',\n {\n 'cursor-not-allowed text-black bg-grey border-grey-dark': readOnly,\n 'border-grey text-opacity-25 cursor-not-allowed': disabled,\n 'bg-[rgba(255,255,0,0.075)]': props.highlighted && disabled,\n 'bg-[rgba(255,255,0,0.2)]': props.highlighted && !disabled,\n 'border-grey-dark': !invalid,\n 'hover:shadow-[0_0_0.1rem_theme(colors.grey.darker)] focus:border-blue-light focus:yt-focus active:border-blue-dark':\n !disabled && !readOnly,\n 'border-red hover:shadow-[0_0_0.15rem_theme(colors.red.DEFAULT)] focus:border-red-light focus:yt-focus-red active:border-red-dark':\n invalid && !disabled && !readOnly,\n }\n );\n};\n\nexport const getButtonStateClasses = (invalid: boolean | undefined): string => {\n if (invalid) {\n return '!border-red focus:!border-red-light focus:yt-focus-red peer-focus:!border-red-light peer-focus:peer-active:!border-red-dark';\n }\n\n return '!border-grey-dark focus:!border-blue-light peer-focus:!border-blue-light peer-focus:peer-active:!border-blue-dark';\n};\n"],"names":["getInputClasses","props","disabled","readOnly","invalid","cn","highlighted","getButtonStateClasses"],"mappings":";;MAEaA,eAAe,GAAGC,KAAK;EAChC,MAAMC,QAAQ,GAAGD,KAAK,CAACC,QAAQ,IAAI,CAAC,CAACD,KAAK,CAAC,eAAe,CAAC;EAC3D,MAAME,QAAQ,GAAGF,KAAK,CAACE,QAAQ,IAAI,CAAC,CAACF,KAAK,CAAC,eAAe,CAAC;EAC3D,MAAMG,OAAO,GAAGH,KAAK,CAACG,OAAO,IAAI,CAAC,CAACH,KAAK,CAAC,cAAc,CAAC;EAExD,OAAOI,EAAE,CACL,yLAAyL,EACzL;IACI,wDAAwD,EAAEF,QAAQ;IAClE,gDAAgD,EAAED,QAAQ;IAC1D,4BAA4B,EAAED,KAAK,CAACK,WAAW,IAAIJ,QAAQ;IAC3D,0BAA0B,EAAED,KAAK,CAACK,WAAW,IAAI,CAACJ,QAAQ;IAC1D,kBAAkB,EAAE,CAACE,OAAO;IAC5B,oHAAoH,EAChH,CAACF,QAAQ,IAAI,CAACC,QAAQ;IAC1B,kIAAkI,EAC9HC,OAAO,IAAI,CAACF,QAAQ,IAAI,CAACC;GAChC,CACJ;AACL;MAEaI,qBAAqB,GAAIH,OAA4B;EAC9D,IAAIA,OAAO,EAAE;IACT,OAAO,6HAA6H;;EAGxI,OAAO,mHAAmH;AAC9H;;;;"}
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../../../../src/components/Input/util.ts"],"sourcesContent":["import cn from 'classnames';\r\n\r\nexport const getInputClasses = props => {\r\n const disabled = props.disabled || !!props['aria-disabled'];\r\n const readOnly = props.readOnly || !!props['aria-readonly'];\r\n const invalid = props.invalid || !!props['aria-invalid'];\r\n\r\n return cn(\r\n 'peer bg-white text-black text-sm border font-normal not-italic no-underline rounded inline-flex leading-6 px-2 relative w-full text-ellipsis flex items-center min-h-[theme(spacing.8)]',\r\n {\r\n 'cursor-not-allowed text-black bg-grey border-grey-dark': readOnly,\r\n 'border-grey text-opacity-25 cursor-not-allowed': disabled,\r\n 'bg-[rgba(255,255,0,0.075)]': props.highlighted && disabled,\r\n 'bg-[rgba(255,255,0,0.2)]': props.highlighted && !disabled,\r\n 'border-grey-dark': !invalid,\r\n 'hover:shadow-[0_0_0.1rem_theme(colors.grey.darker)] focus:border-blue-light focus:yt-focus active:border-blue-dark':\r\n !disabled && !readOnly,\r\n 'border-red hover:shadow-[0_0_0.15rem_theme(colors.red.DEFAULT)] focus:border-red-light focus:yt-focus-red active:border-red-dark':\r\n invalid && !disabled && !readOnly,\r\n }\r\n );\r\n};\r\n\r\nexport const getButtonStateClasses = (invalid: boolean | undefined): string => {\r\n if (invalid) {\r\n return '!border-red focus:!border-red-light focus:yt-focus-red peer-focus:!border-red-light peer-focus:peer-active:!border-red-dark';\r\n }\r\n\r\n return '!border-grey-dark focus:!border-blue-light peer-focus:!border-blue-light peer-focus:peer-active:!border-blue-dark';\r\n};\r\n"],"names":["getInputClasses","props","disabled","readOnly","invalid","cn","highlighted","getButtonStateClasses"],"mappings":";;MAEaA,eAAe,GAAGC,KAAK;EAChC,MAAMC,QAAQ,GAAGD,KAAK,CAACC,QAAQ,IAAI,CAAC,CAACD,KAAK,CAAC,eAAe,CAAC;EAC3D,MAAME,QAAQ,GAAGF,KAAK,CAACE,QAAQ,IAAI,CAAC,CAACF,KAAK,CAAC,eAAe,CAAC;EAC3D,MAAMG,OAAO,GAAGH,KAAK,CAACG,OAAO,IAAI,CAAC,CAACH,KAAK,CAAC,cAAc,CAAC;EAExD,OAAOI,EAAE,CACL,yLAAyL,EACzL;IACI,wDAAwD,EAAEF,QAAQ;IAClE,gDAAgD,EAAED,QAAQ;IAC1D,4BAA4B,EAAED,KAAK,CAACK,WAAW,IAAIJ,QAAQ;IAC3D,0BAA0B,EAAED,KAAK,CAACK,WAAW,IAAI,CAACJ,QAAQ;IAC1D,kBAAkB,EAAE,CAACE,OAAO;IAC5B,oHAAoH,EAChH,CAACF,QAAQ,IAAI,CAACC,QAAQ;IAC1B,kIAAkI,EAC9HC,OAAO,IAAI,CAACF,QAAQ,IAAI,CAACC;GAChC,CACJ;AACL;MAEaI,qBAAqB,GAAIH,OAA4B;EAC9D,IAAIA,OAAO,EAAE;IACT,OAAO,6HAA6H;;EAGxI,OAAO,mHAAmH;AAC9H;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ScrollableList.js","sources":["../../../../../../../src/components/Listbox/ScrollableList.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { getNextIndexFromKey } from '../../utils/hooks/useListKeyboardNavigation';\nimport { useListScrollTo } from '../../utils/hooks/useListScrollTo';\nimport './ScrollableList.css';\nimport { Spinner } from '../Spinner/Spinner';\nimport { useLocalization } from '../Provider/Provider';\nimport { Checkbox } from '../Checkbox/Checkbox';\nimport { getInputClasses } from '../Input/util';\n\nexport type ScrollableListItemValue = string | number | boolean | null;\n\nexport type ScrollableListItem = {\n /**\n * Set whether the item is disabled.\n * This will both change the style and make the item unselectable\n */\n disabled?: boolean;\n /* Specifies whether the item has child items -- intended for internal use only */\n hasChildren?: boolean;\n /** Place an icon before the item's text */\n icon?: React.ReactElement;\n /* The index path to the item -- intended for internal use only */\n path?: string;\n /** Text describing the item */\n text: string | JSX.Element;\n /** Value of the item */\n value: ScrollableListItemValue;\n /** Child items to show hierarchical data */\n children?: ScrollableListItem[];\n};\n\n/** @internal */\nexport type ScrollableListProps = Omit<\n React.HTMLAttributes<HTMLUListElement>,\n 'defaultValue' | 'id' | 'onChange' | 'onClick' | 'onKeyDown'\n> & {\n /** Data indicating the options in scrollable list */\n data: ScrollableListItem[];\n /** Sets the list to be disabled */\n disabled?: boolean;\n /** Draws attention to the scrollable list by changing its style and making it visually prominent */\n highlighted?: boolean;\n /** Set an id for the scrollable list */\n id: string;\n /* Whether the input is in an invalid state */\n invalid?: boolean;\n /**\n * Shows a loading indicator with a text next to it.\n * Read more about how to provide the text in `Provider` component.\n */\n loading?: boolean;\n /**\n * Handler called when current active/selected option changes in a scrollable list.\n * @param index indicates the index of the current active option\n */\n onChange: (index: number) => void;\n /** Handler called when option is clicked */\n onClick?: (event: React.MouseEvent<HTMLLIElement>, index: number) => void;\n /**\n * Set whether the selected item should be scrolled into view when listbox is focused.\n * Default value is `false`\n */\n scrollOnFocus?: boolean;\n /** Handler called when a key is pressed */\n onKeyDown?: (event: React.KeyboardEvent<HTMLUListElement>, index: number | undefined) => void;\n /* Sets the list to read only mode */\n readOnly?: boolean;\n /**\n * Value of the scrollable list representing the selected item.\n * It needs to be an existing value from the provided data.\n */\n value: number | undefined;\n /**\n * Allows to select multiple items from the list\n */\n multiselect?: boolean;\n /**\n * Contains the currently selected values when multiselect mode is ON.\n */\n selectedIndexes?: number[];\n /**\n * True when all available (not disabled) options are selected\n */\n allOptionsSelected?: boolean;\n};\n\n/** @internal */\nexport type ScrollableListPropsWithRef = ScrollableListProps & React.RefAttributes<HTMLUListElement>;\n\nexport const getId = (id: string, value: ScrollableListItemValue): string => `${id}_${value}`;\n\nconst getNextEnabledItem = (\n event: React.KeyboardEvent<HTMLElement>,\n data: ScrollableListItem[],\n index: number | undefined\n): number | undefined => {\n const nextIndex = getNextIndexFromKey(event.key, data.length, index);\n\n if (nextIndex) {\n if (nextIndex === index) {\n return index;\n } else if (data[nextIndex] && data[nextIndex].disabled) {\n return getNextEnabledItem(event, data, nextIndex);\n }\n }\n\n return nextIndex;\n};\n\nexport const ScrollableList = React.forwardRef(function ScrollableList(\n props: ScrollableListProps,\n ref: React.Ref<HTMLUListElement>\n) {\n const {\n data,\n disabled,\n highlighted,\n id,\n invalid: _,\n loading,\n onChange: setCurrentIndex,\n onClick,\n onFocus,\n onKeyDown,\n readOnly,\n scrollOnFocus = false,\n value: currentIndex,\n multiselect,\n selectedIndexes = [],\n allOptionsSelected = false,\n ...otherProps\n } = props;\n const listRef = useMergedRef<HTMLUListElement>(ref);\n const itemRefs = React.useMemo(() => data.map(() => React.createRef<HTMLLIElement>()), [data]);\n const { texts } = useLocalization();\n const { scrollTo } = useListScrollTo(listRef, itemRefs);\n\n React.useEffect(() => {\n if (currentIndex && itemRefs[currentIndex]?.current) {\n itemRefs[currentIndex].current?.scrollIntoView({\n block: 'center',\n });\n }\n }, []);\n\n React.useEffect(() => {\n scrollTo(currentIndex);\n }, [currentIndex]);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLUListElement>): void => {\n const nextIndex = getNextEnabledItem(event, data, currentIndex);\n\n if (nextIndex !== undefined && nextIndex !== currentIndex) {\n event.preventDefault();\n scrollTo(nextIndex);\n setCurrentIndex(nextIndex);\n }\n\n if (onKeyDown) {\n event.persist();\n const index = nextIndex !== undefined ? nextIndex : currentIndex;\n onKeyDown(event, index);\n }\n };\n\n const handleClick = (index: number) => (event: React.MouseEvent<HTMLLIElement>) => {\n setCurrentIndex(index);\n\n if (onClick) {\n event.persist();\n onClick(event, index);\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLUListElement>): void => {\n if (scrollOnFocus) {\n scrollTo(currentIndex);\n }\n\n if (onFocus) {\n event.persist();\n onFocus(event);\n }\n };\n\n const getOptionCheckedState = (optionValue: string, index: number): boolean => {\n if (optionValue === '#ALL-OPTIONS#') {\n return allOptionsSelected;\n } else if (!optionValue || !selectedIndexes) {\n return false;\n } else {\n return selectedIndexes.findIndex(i => i === index) !== -1;\n }\n };\n\n const list: React.HTMLAttributes<HTMLUListElement> &\n React.RefAttributes<HTMLUListElement> & { disabled?: boolean; readOnly?: boolean } = {\n ...otherProps,\n className: cn(\n 'inline-flex flex-col list-none !p-0 m-0 overflow-y-auto h-auto',\n getInputClasses(props),\n {\n 'yt-list--multiselect': multiselect,\n 'pointer-events-none': disabled,\n 'cursor-not-allowed': disabled || readOnly,\n },\n otherProps.className\n ),\n disabled,\n id,\n onFocus: !disabled && !readOnly ? handleFocus : undefined,\n onKeyDown: !disabled && !readOnly ? handleKeyDown : undefined,\n readOnly,\n ref: listRef,\n role: 'listbox',\n tabIndex: otherProps.tabIndex || 0,\n };\n\n const options = data.map((option, index) => {\n const depth = option.path ? option.path.split('.').length - 1 : 0;\n\n return {\n 'aria-selected': multiselect ? getOptionCheckedState(String(option.value), index) : currentIndex === index,\n 'data-focused': currentIndex === index,\n children: option.text,\n className: cn(\n 'flex items-center px-3 w-full cursor-pointer bg-white flex-[0_0_2rem] focus:wcag-blue focus:border-blue',\n {\n 'sticky top-0 font-bold': depth === 0 && !!option.hasChildren,\n }\n ),\n disabled: option.disabled,\n icon: option.icon,\n id: getId(id, option.value),\n key: getId(id, option.value),\n onClick: !disabled && !readOnly ? handleClick(index) : undefined,\n ref: itemRefs[index],\n role: 'option',\n style:\n depth > 0\n ? {\n paddingLeft: `${depth + 1}rem`,\n }\n : undefined,\n };\n });\n\n return (\n <ul {...list} data-taco=\"scrollable-list\">\n {loading ? (\n <li className=\"yt-list__empty\">\n <span>\n <Spinner delay={0} />\n </span>\n <span>{texts.listbox.loading}</span>\n </li>\n ) : options.length ? (\n options.map(({ children, icon, ...optionProps }) => (\n <li {...optionProps}>\n {icon}\n <span className=\"flex-grow truncate text-left\">{children}</span>\n {multiselect && (\n <Checkbox\n checked={optionProps['aria-selected']}\n onChange={() => null}\n className=\"pointer-events-none ml-2 self-center p-px\"\n />\n )}\n </li>\n ))\n ) : (\n <li className=\"yt-list__empty\">\n <span>{texts.listbox.empty}</span>\n </li>\n )}\n </ul>\n );\n});\n"],"names":["getId","id","value","getNextEnabledItem","event","data","index","nextIndex","getNextIndexFromKey","key","length","disabled","ScrollableList","React","props","ref","highlighted","invalid","_","loading","onChange","setCurrentIndex","onClick","onFocus","onKeyDown","readOnly","scrollOnFocus","currentIndex","multiselect","selectedIndexes","allOptionsSelected","otherProps","listRef","useMergedRef","itemRefs","map","texts","useLocalization","scrollTo","useListScrollTo","current","scrollIntoView","block","handleKeyDown","undefined","preventDefault","persist","handleClick","handleFocus","getOptionCheckedState","optionValue","findIndex","i","list","className","cn","getInputClasses","role","tabIndex","options","option","depth","path","split","String","children","text","hasChildren","icon","style","paddingLeft","Spinner","delay","listbox","optionProps","Checkbox","checked","empty"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ScrollableList.js","sources":["../../../../../../../src/components/Listbox/ScrollableList.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport { useMergedRef } from '../../hooks/useMergedRef';\r\nimport { getNextIndexFromKey } from '../../utils/hooks/useListKeyboardNavigation';\r\nimport { useListScrollTo } from '../../utils/hooks/useListScrollTo';\r\nimport './ScrollableList.css';\r\nimport { Spinner } from '../Spinner/Spinner';\r\nimport { useLocalization } from '../Provider/Provider';\r\nimport { Checkbox } from '../Checkbox/Checkbox';\r\nimport { getInputClasses } from '../Input/util';\r\n\r\nexport type ScrollableListItemValue = string | number | boolean | null;\r\n\r\nexport type ScrollableListItem = {\r\n /**\r\n * Set whether the item is disabled.\r\n * This will both change the style and make the item unselectable\r\n */\r\n disabled?: boolean;\r\n /* Specifies whether the item has child items -- intended for internal use only */\r\n hasChildren?: boolean;\r\n /** Place an icon before the item's text */\r\n icon?: React.ReactElement;\r\n /* The index path to the item -- intended for internal use only */\r\n path?: string;\r\n /** Text describing the item */\r\n text: string | JSX.Element;\r\n /** Value of the item */\r\n value: ScrollableListItemValue;\r\n /** Child items to show hierarchical data */\r\n children?: ScrollableListItem[];\r\n};\r\n\r\n/** @internal */\r\nexport type ScrollableListProps = Omit<\r\n React.HTMLAttributes<HTMLUListElement>,\r\n 'defaultValue' | 'id' | 'onChange' | 'onClick' | 'onKeyDown'\r\n> & {\r\n /** Data indicating the options in scrollable list */\r\n data: ScrollableListItem[];\r\n /** Sets the list to be disabled */\r\n disabled?: boolean;\r\n /** Draws attention to the scrollable list by changing its style and making it visually prominent */\r\n highlighted?: boolean;\r\n /** Set an id for the scrollable list */\r\n id: string;\r\n /* Whether the input is in an invalid state */\r\n invalid?: boolean;\r\n /**\r\n * Shows a loading indicator with a text next to it.\r\n * Read more about how to provide the text in `Provider` component.\r\n */\r\n loading?: boolean;\r\n /**\r\n * Handler called when current active/selected option changes in a scrollable list.\r\n * @param index indicates the index of the current active option\r\n */\r\n onChange: (index: number) => void;\r\n /** Handler called when option is clicked */\r\n onClick?: (event: React.MouseEvent<HTMLLIElement>, index: number) => void;\r\n /**\r\n * Set whether the selected item should be scrolled into view when listbox is focused.\r\n * Default value is `false`\r\n */\r\n scrollOnFocus?: boolean;\r\n /** Handler called when a key is pressed */\r\n onKeyDown?: (event: React.KeyboardEvent<HTMLUListElement>, index: number | undefined) => void;\r\n /* Sets the list to read only mode */\r\n readOnly?: boolean;\r\n /**\r\n * Value of the scrollable list representing the selected item.\r\n * It needs to be an existing value from the provided data.\r\n */\r\n value: number | undefined;\r\n /**\r\n * Allows to select multiple items from the list\r\n */\r\n multiselect?: boolean;\r\n /**\r\n * Contains the currently selected values when multiselect mode is ON.\r\n */\r\n selectedIndexes?: number[];\r\n /**\r\n * True when all available (not disabled) options are selected\r\n */\r\n allOptionsSelected?: boolean;\r\n};\r\n\r\n/** @internal */\r\nexport type ScrollableListPropsWithRef = ScrollableListProps & React.RefAttributes<HTMLUListElement>;\r\n\r\nexport const getId = (id: string, value: ScrollableListItemValue): string => `${id}_${value}`;\r\n\r\nconst getNextEnabledItem = (\r\n event: React.KeyboardEvent<HTMLElement>,\r\n data: ScrollableListItem[],\r\n index: number | undefined\r\n): number | undefined => {\r\n const nextIndex = getNextIndexFromKey(event.key, data.length, index);\r\n\r\n if (nextIndex) {\r\n if (nextIndex === index) {\r\n return index;\r\n } else if (data[nextIndex] && data[nextIndex].disabled) {\r\n return getNextEnabledItem(event, data, nextIndex);\r\n }\r\n }\r\n\r\n return nextIndex;\r\n};\r\n\r\nexport const ScrollableList = React.forwardRef(function ScrollableList(\r\n props: ScrollableListProps,\r\n ref: React.Ref<HTMLUListElement>\r\n) {\r\n const {\r\n data,\r\n disabled,\r\n highlighted,\r\n id,\r\n invalid: _,\r\n loading,\r\n onChange: setCurrentIndex,\r\n onClick,\r\n onFocus,\r\n onKeyDown,\r\n readOnly,\r\n scrollOnFocus = false,\r\n value: currentIndex,\r\n multiselect,\r\n selectedIndexes = [],\r\n allOptionsSelected = false,\r\n ...otherProps\r\n } = props;\r\n const listRef = useMergedRef<HTMLUListElement>(ref);\r\n const itemRefs = React.useMemo(() => data.map(() => React.createRef<HTMLLIElement>()), [data]);\r\n const { texts } = useLocalization();\r\n const { scrollTo } = useListScrollTo(listRef, itemRefs);\r\n\r\n React.useEffect(() => {\r\n if (currentIndex && itemRefs[currentIndex]?.current) {\r\n itemRefs[currentIndex].current?.scrollIntoView({\r\n block: 'center',\r\n });\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n scrollTo(currentIndex);\r\n }, [currentIndex]);\r\n\r\n const handleKeyDown = (event: React.KeyboardEvent<HTMLUListElement>): void => {\r\n const nextIndex = getNextEnabledItem(event, data, currentIndex);\r\n\r\n if (nextIndex !== undefined && nextIndex !== currentIndex) {\r\n event.preventDefault();\r\n scrollTo(nextIndex);\r\n setCurrentIndex(nextIndex);\r\n }\r\n\r\n if (onKeyDown) {\r\n event.persist();\r\n const index = nextIndex !== undefined ? nextIndex : currentIndex;\r\n onKeyDown(event, index);\r\n }\r\n };\r\n\r\n const handleClick = (index: number) => (event: React.MouseEvent<HTMLLIElement>) => {\r\n setCurrentIndex(index);\r\n\r\n if (onClick) {\r\n event.persist();\r\n onClick(event, index);\r\n }\r\n };\r\n\r\n const handleFocus = (event: React.FocusEvent<HTMLUListElement>): void => {\r\n if (scrollOnFocus) {\r\n scrollTo(currentIndex);\r\n }\r\n\r\n if (onFocus) {\r\n event.persist();\r\n onFocus(event);\r\n }\r\n };\r\n\r\n const getOptionCheckedState = (optionValue: string, index: number): boolean => {\r\n if (optionValue === '#ALL-OPTIONS#') {\r\n return allOptionsSelected;\r\n } else if (!optionValue || !selectedIndexes) {\r\n return false;\r\n } else {\r\n return selectedIndexes.findIndex(i => i === index) !== -1;\r\n }\r\n };\r\n\r\n const list: React.HTMLAttributes<HTMLUListElement> &\r\n React.RefAttributes<HTMLUListElement> & { disabled?: boolean; readOnly?: boolean } = {\r\n ...otherProps,\r\n className: cn(\r\n 'inline-flex flex-col list-none !p-0 m-0 overflow-y-auto h-auto',\r\n getInputClasses(props),\r\n {\r\n 'yt-list--multiselect': multiselect,\r\n 'pointer-events-none': disabled,\r\n 'cursor-not-allowed': disabled || readOnly,\r\n },\r\n otherProps.className\r\n ),\r\n disabled,\r\n id,\r\n onFocus: !disabled && !readOnly ? handleFocus : undefined,\r\n onKeyDown: !disabled && !readOnly ? handleKeyDown : undefined,\r\n readOnly,\r\n ref: listRef,\r\n role: 'listbox',\r\n tabIndex: otherProps.tabIndex || 0,\r\n };\r\n\r\n const options = data.map((option, index) => {\r\n const depth = option.path ? option.path.split('.').length - 1 : 0;\r\n\r\n return {\r\n 'aria-selected': multiselect ? getOptionCheckedState(String(option.value), index) : currentIndex === index,\r\n 'data-focused': currentIndex === index,\r\n children: option.text,\r\n className: cn(\r\n 'flex items-center px-3 w-full cursor-pointer bg-white flex-[0_0_2rem] focus:wcag-blue focus:border-blue',\r\n {\r\n 'sticky top-0 font-bold': depth === 0 && !!option.hasChildren,\r\n }\r\n ),\r\n disabled: option.disabled,\r\n icon: option.icon,\r\n id: getId(id, option.value),\r\n key: getId(id, option.value),\r\n onClick: !disabled && !readOnly ? handleClick(index) : undefined,\r\n ref: itemRefs[index],\r\n role: 'option',\r\n style:\r\n depth > 0\r\n ? {\r\n paddingLeft: `${depth + 1}rem`,\r\n }\r\n : undefined,\r\n };\r\n });\r\n\r\n return (\r\n <ul {...list} data-taco=\"scrollable-list\">\r\n {loading ? (\r\n <li className=\"yt-list__empty\">\r\n <span>\r\n <Spinner delay={0} />\r\n </span>\r\n <span>{texts.listbox.loading}</span>\r\n </li>\r\n ) : options.length ? (\r\n options.map(({ children, icon, ...optionProps }) => (\r\n <li {...optionProps}>\r\n {icon}\r\n <span className=\"flex-grow truncate text-left\">{children}</span>\r\n {multiselect && (\r\n <Checkbox\r\n checked={optionProps['aria-selected']}\r\n onChange={() => null}\r\n className=\"pointer-events-none ml-2 self-center p-px\"\r\n />\r\n )}\r\n </li>\r\n ))\r\n ) : (\r\n <li className=\"yt-list__empty\">\r\n <span>{texts.listbox.empty}</span>\r\n </li>\r\n )}\r\n </ul>\r\n );\r\n});\r\n"],"names":["getId","id","value","getNextEnabledItem","event","data","index","nextIndex","getNextIndexFromKey","key","length","disabled","ScrollableList","React","props","ref","highlighted","invalid","_","loading","onChange","setCurrentIndex","onClick","onFocus","onKeyDown","readOnly","scrollOnFocus","currentIndex","multiselect","selectedIndexes","allOptionsSelected","otherProps","listRef","useMergedRef","itemRefs","map","texts","useLocalization","scrollTo","useListScrollTo","current","scrollIntoView","block","handleKeyDown","undefined","preventDefault","persist","handleClick","handleFocus","getOptionCheckedState","optionValue","findIndex","i","list","className","cn","getInputClasses","role","tabIndex","options","option","depth","path","split","String","children","text","hasChildren","icon","style","paddingLeft","Spinner","delay","listbox","optionProps","Checkbox","checked","empty"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useListbox.js","sources":["../../../../../../../src/components/Listbox/useListbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { ListboxProps } from './Listbox';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { setInputValueByRef, getIndexFromValue, findByValue, getActiveDescendant, useFlattenedData, sanitizeItem } from './util';\nimport { ScrollableListProps } from './ScrollableList';\nimport { useTypeahead } from './useTypeahead';\n\ntype useListbox = {\n list: ScrollableListProps;\n input: Omit<React.HTMLAttributes<HTMLInputElement>, 'defaultValue'>;\n};\n\nexport const useListbox = (\n {\n data: externalData = [],\n defaultValue,\n disabled,\n emptyValue,\n id: nativeId,\n invalid,\n name,\n onChange,\n onFocus,\n onKeyDown,\n value = emptyValue,\n ...otherProps\n }: ListboxProps,\n ref: React.Ref<HTMLInputElement>\n): useListbox => {\n const data = useFlattenedData(emptyValue !== undefined ? [{ text: '', value: emptyValue }, ...externalData] : externalData);\n const id = React.useMemo(() => nativeId || uuid(), [nativeId]);\n const inputRef = useMergedRef<HTMLInputElement>(ref);\n const currentIndex = value !== undefined ? getIndexFromValue(data, value) : undefined;\n const { getNextIndex } = useTypeahead({ data, currentIndex });\n\n const setInputValueByIndex = (index: number | undefined): void => {\n if (index !== undefined) {\n const option = data[index];\n\n if (option && !option.disabled) {\n setInputValueByRef(inputRef.current, option.value);\n }\n }\n };\n\n const handleListboxChange = (index: number): void => {\n setInputValueByIndex(index);\n };\n\n React.useEffect(() => {\n if (data.length && currentIndex === undefined) {\n if (defaultValue !== undefined) {\n const defaultValueIndex = getIndexFromValue(data, defaultValue);\n\n if (defaultValueIndex !== undefined) {\n setInputValueByIndex(defaultValueIndex);\n }\n } else {\n setInputValueByIndex(0);\n }\n }\n }, [data]);\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\n const charKey = event.key;\n\n // event.key always returns the whole string (String.fromCharCode(event.keyCode) does not)\n // We need to filter out only alphabetical or numeric letters, that's why that condition has been changed\n if (charKey.length === 1 && /(\\w)/g.test(charKey)) {\n const nextIndex = getNextIndex(charKey);\n\n if (nextIndex > -1 && nextIndex !== currentIndex) {\n setInputValueByIndex(nextIndex);\n }\n return;\n }\n\n if (onKeyDown) {\n event.persist();\n onKeyDown(event);\n }\n };\n\n const handleListboxFocus = (event: React.FocusEvent<HTMLElement>): void => {\n if (currentIndex === undefined && data.length) {\n setInputValueByIndex(0);\n }\n\n if (onFocus) {\n event.persist();\n onFocus(event);\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n event.persist();\n\n if (onChange) {\n const item = findByValue(data, event.target.value);\n (event as any).detail = sanitizeItem(item);\n\n const indexes = item?.path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n (event as any).detail.parents = indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(data.find(i => i.path === lastPath));\n });\n }\n\n onChange(event);\n }\n };\n\n const list: ScrollableListProps = {\n ...otherProps,\n 'aria-activedescendant': getActiveDescendant(data, currentIndex, id),\n data,\n disabled,\n id,\n invalid,\n onChange: handleListboxChange,\n onFocus: handleListboxFocus,\n onKeyDown: handleListboxKeyDown,\n scrollOnFocus: true,\n tabIndex: disabled ? -1 : otherProps.tabIndex ? otherProps.tabIndex : 0,\n value: currentIndex,\n };\n\n const input = {\n name,\n onChange: handleInputChange,\n ref: inputRef,\n tabIndex: -1,\n value: value ?? '',\n };\n\n return { list, input };\n};\n"],"names":["useListbox","data","externalData","defaultValue","disabled","emptyValue","id","nativeId","invalid","name","onChange","onFocus","onKeyDown","value","otherProps","ref","useFlattenedData","undefined","text","React","uuid","inputRef","useMergedRef","currentIndex","getIndexFromValue","getNextIndex","useTypeahead","setInputValueByIndex","index","option","setInputValueByRef","current","handleListboxChange","length","defaultValueIndex","handleListboxKeyDown","event","charKey","key","test","nextIndex","persist","handleListboxFocus","handleInputChange","item","findByValue","target","detail","sanitizeItem","indexes","path","split","pop","lastPath","parents","map","i","join","find","list","getActiveDescendant","scrollOnFocus","tabIndex","input"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useListbox.js","sources":["../../../../../../../src/components/Listbox/useListbox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { ListboxProps } from './Listbox';\r\nimport { useMergedRef } from '../../hooks/useMergedRef';\r\nimport { setInputValueByRef, getIndexFromValue, findByValue, getActiveDescendant, useFlattenedData, sanitizeItem } from './util';\r\nimport { ScrollableListProps } from './ScrollableList';\r\nimport { useTypeahead } from './useTypeahead';\r\n\r\ntype useListbox = {\r\n list: ScrollableListProps;\r\n input: Omit<React.HTMLAttributes<HTMLInputElement>, 'defaultValue'>;\r\n};\r\n\r\nexport const useListbox = (\r\n {\r\n data: externalData = [],\r\n defaultValue,\r\n disabled,\r\n emptyValue,\r\n id: nativeId,\r\n invalid,\r\n name,\r\n onChange,\r\n onFocus,\r\n onKeyDown,\r\n value = emptyValue,\r\n ...otherProps\r\n }: ListboxProps,\r\n ref: React.Ref<HTMLInputElement>\r\n): useListbox => {\r\n const data = useFlattenedData(emptyValue !== undefined ? [{ text: '', value: emptyValue }, ...externalData] : externalData);\r\n const id = React.useMemo(() => nativeId || uuid(), [nativeId]);\r\n const inputRef = useMergedRef<HTMLInputElement>(ref);\r\n const currentIndex = value !== undefined ? getIndexFromValue(data, value) : undefined;\r\n const { getNextIndex } = useTypeahead({ data, currentIndex });\r\n\r\n const setInputValueByIndex = (index: number | undefined): void => {\r\n if (index !== undefined) {\r\n const option = data[index];\r\n\r\n if (option && !option.disabled) {\r\n setInputValueByRef(inputRef.current, option.value);\r\n }\r\n }\r\n };\r\n\r\n const handleListboxChange = (index: number): void => {\r\n setInputValueByIndex(index);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (data.length && currentIndex === undefined) {\r\n if (defaultValue !== undefined) {\r\n const defaultValueIndex = getIndexFromValue(data, defaultValue);\r\n\r\n if (defaultValueIndex !== undefined) {\r\n setInputValueByIndex(defaultValueIndex);\r\n }\r\n } else {\r\n setInputValueByIndex(0);\r\n }\r\n }\r\n }, [data]);\r\n\r\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\r\n const charKey = event.key;\r\n\r\n // event.key always returns the whole string (String.fromCharCode(event.keyCode) does not)\r\n // We need to filter out only alphabetical or numeric letters, that's why that condition has been changed\r\n if (charKey.length === 1 && /(\\w)/g.test(charKey)) {\r\n const nextIndex = getNextIndex(charKey);\r\n\r\n if (nextIndex > -1 && nextIndex !== currentIndex) {\r\n setInputValueByIndex(nextIndex);\r\n }\r\n return;\r\n }\r\n\r\n if (onKeyDown) {\r\n event.persist();\r\n onKeyDown(event);\r\n }\r\n };\r\n\r\n const handleListboxFocus = (event: React.FocusEvent<HTMLElement>): void => {\r\n if (currentIndex === undefined && data.length) {\r\n setInputValueByIndex(0);\r\n }\r\n\r\n if (onFocus) {\r\n event.persist();\r\n onFocus(event);\r\n }\r\n };\r\n\r\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\r\n event.persist();\r\n\r\n if (onChange) {\r\n const item = findByValue(data, event.target.value);\r\n (event as any).detail = sanitizeItem(item);\r\n\r\n const indexes = item?.path?.split('.') ?? [];\r\n\r\n if (indexes.length > 1) {\r\n // we don't want to map the current item\r\n indexes.pop();\r\n // we need to rebuild the path as we map\r\n let lastPath: string;\r\n\r\n (event as any).detail.parents = indexes.map(i => {\r\n lastPath = lastPath ? [lastPath, i].join('.') : i;\r\n return sanitizeItem(data.find(i => i.path === lastPath));\r\n });\r\n }\r\n\r\n onChange(event);\r\n }\r\n };\r\n\r\n const list: ScrollableListProps = {\r\n ...otherProps,\r\n 'aria-activedescendant': getActiveDescendant(data, currentIndex, id),\r\n data,\r\n disabled,\r\n id,\r\n invalid,\r\n onChange: handleListboxChange,\r\n onFocus: handleListboxFocus,\r\n onKeyDown: handleListboxKeyDown,\r\n scrollOnFocus: true,\r\n tabIndex: disabled ? -1 : otherProps.tabIndex ? otherProps.tabIndex : 0,\r\n value: currentIndex,\r\n };\r\n\r\n const input = {\r\n name,\r\n onChange: handleInputChange,\r\n ref: inputRef,\r\n tabIndex: -1,\r\n value: value ?? '',\r\n };\r\n\r\n return { list, input };\r\n};\r\n"],"names":["useListbox","data","externalData","defaultValue","disabled","emptyValue","id","nativeId","invalid","name","onChange","onFocus","onKeyDown","value","otherProps","ref","useFlattenedData","undefined","text","React","uuid","inputRef","useMergedRef","currentIndex","getIndexFromValue","getNextIndex","useTypeahead","setInputValueByIndex","index","option","setInputValueByRef","current","handleListboxChange","length","defaultValueIndex","handleListboxKeyDown","event","charKey","key","test","nextIndex","persist","handleListboxFocus","handleInputChange","item","findByValue","target","detail","sanitizeItem","indexes","path","split","pop","lastPath","parents","map","i","join","find","list","getActiveDescendant","scrollOnFocus","tabIndex","input"],"mappings":";;;;;;MAaaA,UAAU,GAAG,CACtB;EACIC,IAAI,EAAEC,YAAY,GAAG,EAAE;EACvBC,YAAY;EACZC,QAAQ;EACRC,UAAU;EACVC,EAAE,EAAEC,QAAQ;EACZC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPC,SAAS;EACTC,KAAK,GAAGR,UAAU;EAClB,GAAGS;CACQ,EACfC,GAAgC;EAEhC,MAAMd,IAAI,GAAGe,gBAAgB,CAACX,UAAU,KAAKY,SAAS,GAAG,CAAC;IAAEC,IAAI,EAAE,EAAE;IAAEL,KAAK,EAAER;GAAY,EAAE,GAAGH,YAAY,CAAC,GAAGA,YAAY,CAAC;EAC3H,MAAMI,EAAE,GAAGa,OAAa,CAAC,MAAMZ,QAAQ,IAAIa,EAAI,EAAE,EAAE,CAACb,QAAQ,CAAC,CAAC;EAC9D,MAAMc,QAAQ,GAAGC,YAAY,CAAmBP,GAAG,CAAC;EACpD,MAAMQ,YAAY,GAAGV,KAAK,KAAKI,SAAS,GAAGO,iBAAiB,CAACvB,IAAI,EAAEY,KAAK,CAAC,GAAGI,SAAS;EACrF,MAAM;IAAEQ;GAAc,GAAGC,YAAY,CAAC;IAAEzB,IAAI;IAAEsB;GAAc,CAAC;EAE7D,MAAMI,oBAAoB,GAAIC,KAAyB;IACnD,IAAIA,KAAK,KAAKX,SAAS,EAAE;MACrB,MAAMY,MAAM,GAAG5B,IAAI,CAAC2B,KAAK,CAAC;MAE1B,IAAIC,MAAM,IAAI,CAACA,MAAM,CAACzB,QAAQ,EAAE;QAC5B0B,kBAAkB,CAACT,QAAQ,CAACU,OAAO,EAAEF,MAAM,CAAChB,KAAK,CAAC;;;GAG7D;EAED,MAAMmB,mBAAmB,GAAIJ,KAAa;IACtCD,oBAAoB,CAACC,KAAK,CAAC;GAC9B;EAEDT,SAAe,CAAC;IACZ,IAAIlB,IAAI,CAACgC,MAAM,IAAIV,YAAY,KAAKN,SAAS,EAAE;MAC3C,IAAId,YAAY,KAAKc,SAAS,EAAE;QAC5B,MAAMiB,iBAAiB,GAAGV,iBAAiB,CAACvB,IAAI,EAAEE,YAAY,CAAC;QAE/D,IAAI+B,iBAAiB,KAAKjB,SAAS,EAAE;UACjCU,oBAAoB,CAACO,iBAAiB,CAAC;;OAE9C,MAAM;QACHP,oBAAoB,CAAC,CAAC,CAAC;;;GAGlC,EAAE,CAAC1B,IAAI,CAAC,CAAC;EAEV,MAAMkC,oBAAoB,GAAIC,KAAuC;IACjE,MAAMC,OAAO,GAAGD,KAAK,CAACE,GAAG;;;IAIzB,IAAID,OAAO,CAACJ,MAAM,KAAK,CAAC,IAAI,OAAO,CAACM,IAAI,CAACF,OAAO,CAAC,EAAE;MAC/C,MAAMG,SAAS,GAAGf,YAAY,CAACY,OAAO,CAAC;MAEvC,IAAIG,SAAS,GAAG,CAAC,CAAC,IAAIA,SAAS,KAAKjB,YAAY,EAAE;QAC9CI,oBAAoB,CAACa,SAAS,CAAC;;MAEnC;;IAGJ,IAAI5B,SAAS,EAAE;MACXwB,KAAK,CAACK,OAAO,EAAE;MACf7B,SAAS,CAACwB,KAAK,CAAC;;GAEvB;EAED,MAAMM,kBAAkB,GAAIN,KAAoC;IAC5D,IAAIb,YAAY,KAAKN,SAAS,IAAIhB,IAAI,CAACgC,MAAM,EAAE;MAC3CN,oBAAoB,CAAC,CAAC,CAAC;;IAG3B,IAAIhB,OAAO,EAAE;MACTyB,KAAK,CAACK,OAAO,EAAE;MACf9B,OAAO,CAACyB,KAAK,CAAC;;GAErB;EAED,MAAMO,iBAAiB,GAAIP,KAA0C;IACjEA,KAAK,CAACK,OAAO,EAAE;IAEf,IAAI/B,QAAQ,EAAE;MAAA;MACV,MAAMkC,IAAI,GAAGC,WAAW,CAAC5C,IAAI,EAAEmC,KAAK,CAACU,MAAM,CAACjC,KAAK,CAAC;MACjDuB,KAAa,CAACW,MAAM,GAAGC,YAAY,CAACJ,IAAI,CAAC;MAE1C,MAAMK,OAAO,uBAAGL,IAAI,aAAJA,IAAI,qCAAJA,IAAI,CAAEM,IAAI,+CAAV,WAAYC,KAAK,CAAC,GAAG,CAAC,+DAAI,EAAE;MAE5C,IAAIF,OAAO,CAAChB,MAAM,GAAG,CAAC,EAAE;;QAEpBgB,OAAO,CAACG,GAAG,EAAE;;QAEb,IAAIC,QAAgB;QAEnBjB,KAAa,CAACW,MAAM,CAACO,OAAO,GAAGL,OAAO,CAACM,GAAG,CAACC,CAAC;UACzCH,QAAQ,GAAGA,QAAQ,GAAG,CAACA,QAAQ,EAAEG,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGD,CAAC;UACjD,OAAOR,YAAY,CAAC/C,IAAI,CAACyD,IAAI,CAACF,CAAC,IAAIA,CAAC,CAACN,IAAI,KAAKG,QAAQ,CAAC,CAAC;SAC3D,CAAC;;MAGN3C,QAAQ,CAAC0B,KAAK,CAAC;;GAEtB;EAED,MAAMuB,IAAI,GAAwB;IAC9B,GAAG7C,UAAU;IACb,uBAAuB,EAAE8C,mBAAmB,CAAC3D,IAAI,EAAEsB,YAAY,EAAEjB,EAAE,CAAC;IACpEL,IAAI;IACJG,QAAQ;IACRE,EAAE;IACFE,OAAO;IACPE,QAAQ,EAAEsB,mBAAmB;IAC7BrB,OAAO,EAAE+B,kBAAkB;IAC3B9B,SAAS,EAAEuB,oBAAoB;IAC/B0B,aAAa,EAAE,IAAI;IACnBC,QAAQ,EAAE1D,QAAQ,GAAG,CAAC,CAAC,GAAGU,UAAU,CAACgD,QAAQ,GAAGhD,UAAU,CAACgD,QAAQ,GAAG,CAAC;IACvEjD,KAAK,EAAEU;GACV;EAED,MAAMwC,KAAK,GAAG;IACVtD,IAAI;IACJC,QAAQ,EAAEiC,iBAAiB;IAC3B5B,GAAG,EAAEM,QAAQ;IACbyC,QAAQ,EAAE,CAAC,CAAC;IACZjD,KAAK,EAAEA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI;GACnB;EAED,OAAO;IAAE8C,IAAI;IAAEI;GAAO;AAC1B;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useMultiListbox.js","sources":["../../../../../../../src/components/Listbox/useMultiListbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { useLocalization } from '../Provider/Provider';\nimport { ListboxProps } from './Listbox';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { setInputValueByRef, getIndexFromValue, getSelectedIndexesFromValue, findByValue, getActiveDescendant } from './util';\nimport { ScrollableListProps, ScrollableListItem, ScrollableListItemValue } from './ScrollableList';\nimport { useTypeahead } from './useTypeahead';\n\ntype useListbox = {\n list: ScrollableListProps;\n input: Omit<React.HTMLAttributes<HTMLInputElement>, 'defaultValue'>;\n};\n\nexport const useMultiListbox = (\n {\n data: externalData = [],\n defaultValue,\n disabled,\n emptyValue: _,\n id: nativeId,\n name,\n onClick,\n onChange,\n onFocus,\n onKeyDown,\n value,\n ...otherProps\n }: ListboxProps,\n ref: React.Ref<HTMLInputElement>\n): useListbox => {\n const { texts } = useLocalization();\n const id = React.useMemo(() => nativeId || uuid(), [nativeId]);\n const inputRef = useMergedRef<HTMLInputElement>(ref);\n const data = React.useMemo(() => {\n return [{ text: texts.listbox.allOption, value: '#ALL-OPTIONS#' }, ...externalData];\n }, [externalData]);\n const [currentIndex, setCurrentIndex] = React.useState(getIndexFromValue(data, value) || 0);\n const [allOptionsSelected, setAllOptionsSelected] = React.useState(false);\n const { getNextIndex } = useTypeahead({ data, currentIndex });\n const [selectedIndexes, setSelectedIndexes] = React.useState(getSelectedIndexesFromValue(data, value));\n\n React.useEffect(() => {\n if (defaultValue && !value) {\n setInputValueByRef(inputRef.current, defaultValue.toString());\n }\n }, []);\n\n React.useEffect(() => {\n const selectableItemsCount = data.filter(item => !item.disabled).length - 1;\n\n if (selectableItemsCount === selectedIndexes.length) {\n setAllOptionsSelected(true);\n } else {\n setAllOptionsSelected(false);\n }\n }, [selectedIndexes, data]);\n\n const setInputValueByIndex = (index: number | undefined): void => {\n if (index !== undefined) {\n const option = data[index];\n\n if (option && !option.disabled) {\n let newInputValue: ScrollableListItemValue = '';\n const currentInputValue = inputRef.current?.value;\n const currentValuesArray = currentInputValue?.split(',') || [];\n const optionAlreadySelected = currentValuesArray.findIndex(val => val === String(option.value)) !== -1;\n\n // Handling the select_all option\n if (option.value === '#ALL-OPTIONS#') {\n if (!allOptionsSelected) {\n newInputValue = data\n .filter((option, index) => index !== 0 && !option.disabled)\n .map(option => option.value)\n .join(',');\n } else {\n newInputValue = '';\n }\n } else {\n // Handling rest options\n if (optionAlreadySelected) {\n newInputValue = currentValuesArray.filter(val => val !== String(option.value)).join(',');\n } else {\n newInputValue = currentInputValue ? `${currentInputValue},${option.value}` : option.value;\n }\n }\n\n setInputValueByRef(inputRef.current, newInputValue);\n }\n }\n };\n\n const handleListboxClick = (event: React.MouseEvent<HTMLLIElement>, index: number): void => {\n event.preventDefault();\n\n if (!data[index].disabled) {\n setCurrentIndex(index);\n setInputValueByIndex(index);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>, index?: number): void => {\n const charKey = event.key;\n\n // event.key always returns the whole string (String.fromCharCode(event.keyCode) does not)\n // We need to filter out only alphabetical or numeric letters, that's why that condition has been changed\n if (charKey.length === 1 && /(\\w)/g.test(charKey)) {\n const nextIndex = getNextIndex(charKey);\n\n if (nextIndex > -1 && nextIndex !== currentIndex) {\n setCurrentIndex(nextIndex);\n }\n return;\n }\n\n switch (event.key) {\n case ' ': {\n event.preventDefault();\n setInputValueByIndex(index);\n break;\n }\n\n case 'Enter': {\n setInputValueByIndex(index);\n break;\n }\n\n default:\n }\n setCurrentIndex(index !== undefined ? index : 0);\n\n if (onKeyDown) {\n event.persist();\n onKeyDown(event);\n }\n };\n\n const handleListboxFocus = (event: React.FocusEvent<HTMLElement>): void => {\n if (onFocus) {\n event.persist();\n onFocus(event);\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n event.persist();\n\n setSelectedIndexes(getSelectedIndexesFromValue(data, event.target.value));\n\n if (onChange) {\n const detail: ScrollableListItem[] = [];\n const valuesArray = event.target.value.split(',');\n\n valuesArray.forEach(val => {\n const item = findByValue(data, val);\n if (item) {\n detail.push(item);\n }\n });\n (event as any).detail = detail;\n\n onChange(event);\n }\n };\n\n const list = {\n ...otherProps,\n 'aria-activedescendant': getActiveDescendant(data, currentIndex, id),\n 'aria-multiselectable': true,\n data,\n disabled,\n id,\n onChange: () => null,\n onClick: handleListboxClick,\n onFocus: handleListboxFocus,\n onKeyDown: handleListboxKeyDown,\n scrollOnFocus: false,\n tabIndex: disabled ? -1 : otherProps.tabIndex ? otherProps.tabIndex : 0,\n value: currentIndex,\n selectedIndexes,\n multiselect: true,\n allOptionsSelected,\n };\n\n const input = {\n name,\n onChange: handleInputChange,\n ref: inputRef,\n tabIndex: -1,\n value: value ?? '',\n };\n\n return { list, input };\n};\n"],"names":["useMultiListbox","data","externalData","defaultValue","disabled","emptyValue","_","id","nativeId","name","onClick","onChange","onFocus","onKeyDown","value","otherProps","ref","texts","useLocalization","React","uuid","inputRef","useMergedRef","text","listbox","allOption","currentIndex","setCurrentIndex","getIndexFromValue","allOptionsSelected","setAllOptionsSelected","getNextIndex","useTypeahead","selectedIndexes","setSelectedIndexes","getSelectedIndexesFromValue","setInputValueByRef","current","toString","selectableItemsCount","filter","item","length","setInputValueByIndex","index","undefined","option","newInputValue","currentInputValue","currentValuesArray","split","optionAlreadySelected","findIndex","val","String","map","join","handleListboxClick","event","preventDefault","handleListboxKeyDown","charKey","key","test","nextIndex","persist","handleListboxFocus","handleInputChange","target","detail","valuesArray","forEach","findByValue","push","list","getActiveDescendant","scrollOnFocus","tabIndex","multiselect","input"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useMultiListbox.js","sources":["../../../../../../../src/components/Listbox/useMultiListbox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { useLocalization } from '../Provider/Provider';\r\nimport { ListboxProps } from './Listbox';\r\nimport { useMergedRef } from '../../hooks/useMergedRef';\r\nimport { setInputValueByRef, getIndexFromValue, getSelectedIndexesFromValue, findByValue, getActiveDescendant } from './util';\r\nimport { ScrollableListProps, ScrollableListItem, ScrollableListItemValue } from './ScrollableList';\r\nimport { useTypeahead } from './useTypeahead';\r\n\r\ntype useListbox = {\r\n list: ScrollableListProps;\r\n input: Omit<React.HTMLAttributes<HTMLInputElement>, 'defaultValue'>;\r\n};\r\n\r\nexport const useMultiListbox = (\r\n {\r\n data: externalData = [],\r\n defaultValue,\r\n disabled,\r\n emptyValue: _,\r\n id: nativeId,\r\n name,\r\n onClick,\r\n onChange,\r\n onFocus,\r\n onKeyDown,\r\n value,\r\n ...otherProps\r\n }: ListboxProps,\r\n ref: React.Ref<HTMLInputElement>\r\n): useListbox => {\r\n const { texts } = useLocalization();\r\n const id = React.useMemo(() => nativeId || uuid(), [nativeId]);\r\n const inputRef = useMergedRef<HTMLInputElement>(ref);\r\n const data = React.useMemo(() => {\r\n return [{ text: texts.listbox.allOption, value: '#ALL-OPTIONS#' }, ...externalData];\r\n }, [externalData]);\r\n const [currentIndex, setCurrentIndex] = React.useState(getIndexFromValue(data, value) || 0);\r\n const [allOptionsSelected, setAllOptionsSelected] = React.useState(false);\r\n const { getNextIndex } = useTypeahead({ data, currentIndex });\r\n const [selectedIndexes, setSelectedIndexes] = React.useState(getSelectedIndexesFromValue(data, value));\r\n\r\n React.useEffect(() => {\r\n if (defaultValue && !value) {\r\n setInputValueByRef(inputRef.current, defaultValue.toString());\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const selectableItemsCount = data.filter(item => !item.disabled).length - 1;\r\n\r\n if (selectableItemsCount === selectedIndexes.length) {\r\n setAllOptionsSelected(true);\r\n } else {\r\n setAllOptionsSelected(false);\r\n }\r\n }, [selectedIndexes, data]);\r\n\r\n const setInputValueByIndex = (index: number | undefined): void => {\r\n if (index !== undefined) {\r\n const option = data[index];\r\n\r\n if (option && !option.disabled) {\r\n let newInputValue: ScrollableListItemValue = '';\r\n const currentInputValue = inputRef.current?.value;\r\n const currentValuesArray = currentInputValue?.split(',') || [];\r\n const optionAlreadySelected = currentValuesArray.findIndex(val => val === String(option.value)) !== -1;\r\n\r\n // Handling the select_all option\r\n if (option.value === '#ALL-OPTIONS#') {\r\n if (!allOptionsSelected) {\r\n newInputValue = data\r\n .filter((option, index) => index !== 0 && !option.disabled)\r\n .map(option => option.value)\r\n .join(',');\r\n } else {\r\n newInputValue = '';\r\n }\r\n } else {\r\n // Handling rest options\r\n if (optionAlreadySelected) {\r\n newInputValue = currentValuesArray.filter(val => val !== String(option.value)).join(',');\r\n } else {\r\n newInputValue = currentInputValue ? `${currentInputValue},${option.value}` : option.value;\r\n }\r\n }\r\n\r\n setInputValueByRef(inputRef.current, newInputValue);\r\n }\r\n }\r\n };\r\n\r\n const handleListboxClick = (event: React.MouseEvent<HTMLLIElement>, index: number): void => {\r\n event.preventDefault();\r\n\r\n if (!data[index].disabled) {\r\n setCurrentIndex(index);\r\n setInputValueByIndex(index);\r\n }\r\n\r\n if (onClick) {\r\n onClick(event);\r\n }\r\n };\r\n\r\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>, index?: number): void => {\r\n const charKey = event.key;\r\n\r\n // event.key always returns the whole string (String.fromCharCode(event.keyCode) does not)\r\n // We need to filter out only alphabetical or numeric letters, that's why that condition has been changed\r\n if (charKey.length === 1 && /(\\w)/g.test(charKey)) {\r\n const nextIndex = getNextIndex(charKey);\r\n\r\n if (nextIndex > -1 && nextIndex !== currentIndex) {\r\n setCurrentIndex(nextIndex);\r\n }\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case ' ': {\r\n event.preventDefault();\r\n setInputValueByIndex(index);\r\n break;\r\n }\r\n\r\n case 'Enter': {\r\n setInputValueByIndex(index);\r\n break;\r\n }\r\n\r\n default:\r\n }\r\n setCurrentIndex(index !== undefined ? index : 0);\r\n\r\n if (onKeyDown) {\r\n event.persist();\r\n onKeyDown(event);\r\n }\r\n };\r\n\r\n const handleListboxFocus = (event: React.FocusEvent<HTMLElement>): void => {\r\n if (onFocus) {\r\n event.persist();\r\n onFocus(event);\r\n }\r\n };\r\n\r\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\r\n event.persist();\r\n\r\n setSelectedIndexes(getSelectedIndexesFromValue(data, event.target.value));\r\n\r\n if (onChange) {\r\n const detail: ScrollableListItem[] = [];\r\n const valuesArray = event.target.value.split(',');\r\n\r\n valuesArray.forEach(val => {\r\n const item = findByValue(data, val);\r\n if (item) {\r\n detail.push(item);\r\n }\r\n });\r\n (event as any).detail = detail;\r\n\r\n onChange(event);\r\n }\r\n };\r\n\r\n const list = {\r\n ...otherProps,\r\n 'aria-activedescendant': getActiveDescendant(data, currentIndex, id),\r\n 'aria-multiselectable': true,\r\n data,\r\n disabled,\r\n id,\r\n onChange: () => null,\r\n onClick: handleListboxClick,\r\n onFocus: handleListboxFocus,\r\n onKeyDown: handleListboxKeyDown,\r\n scrollOnFocus: false,\r\n tabIndex: disabled ? -1 : otherProps.tabIndex ? otherProps.tabIndex : 0,\r\n value: currentIndex,\r\n selectedIndexes,\r\n multiselect: true,\r\n allOptionsSelected,\r\n };\r\n\r\n const input = {\r\n name,\r\n onChange: handleInputChange,\r\n ref: inputRef,\r\n tabIndex: -1,\r\n value: value ?? '',\r\n };\r\n\r\n return { list, input };\r\n};\r\n"],"names":["useMultiListbox","data","externalData","defaultValue","disabled","emptyValue","_","id","nativeId","name","onClick","onChange","onFocus","onKeyDown","value","otherProps","ref","texts","useLocalization","React","uuid","inputRef","useMergedRef","text","listbox","allOption","currentIndex","setCurrentIndex","getIndexFromValue","allOptionsSelected","setAllOptionsSelected","getNextIndex","useTypeahead","selectedIndexes","setSelectedIndexes","getSelectedIndexesFromValue","setInputValueByRef","current","toString","selectableItemsCount","filter","item","length","setInputValueByIndex","index","undefined","option","newInputValue","currentInputValue","currentValuesArray","split","optionAlreadySelected","findIndex","val","String","map","join","handleListboxClick","event","preventDefault","handleListboxKeyDown","charKey","key","test","nextIndex","persist","handleListboxFocus","handleInputChange","target","detail","valuesArray","forEach","findByValue","push","list","getActiveDescendant","scrollOnFocus","tabIndex","multiselect","input"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../../../../src/components/Listbox/util.ts"],"sourcesContent":["import React from 'react';\nimport { ScrollableListItem, ScrollableListItemValue, getId } from './ScrollableList';\nimport { setInputValueByRef as setInputValueByRefBase } from '../../utils/input';\n\nconst getValue = (value: ScrollableListItemValue | undefined): string => String(value ?? '');\n\nexport const setInputValueByRef = (input: HTMLInputElement | null, value: ScrollableListItemValue, event = 'change'): void => {\n setInputValueByRefBase(input, getValue(value), event);\n};\n\nexport const getIndexFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number | undefined => {\n const index = data.findIndex(option => getValue(option.value) === getValue(value));\n return index > -1 ? index : undefined;\n};\n\nexport const getSelectedIndexesFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number[] => {\n if (typeof value !== 'string') return [];\n\n return value\n .split(',')\n .map(v => data.findIndex(o => String(o.value) === v))\n .filter(v => v !== -1);\n};\n\nexport const findByValue = (data: ScrollableListItem[], value: ScrollableListItemValue): ScrollableListItem | undefined => {\n return data.find(option => getValue(option.value) === getValue(value));\n};\n\nexport const searchForString = (child: JSX.Element | string, value: string, strategy = 'includes'): boolean => {\n try {\n if (typeof child !== 'string' && child.props?.children) {\n if (Array.isArray(child.props?.children)) {\n return !!child.props.children.find((subChild: JSX.Element | string) =>\n searchForString(subChild, value, strategy)\n );\n }\n\n return searchForString(child.props?.children, value, strategy);\n } else {\n return child.toString().toLowerCase()[strategy](String(value).toLowerCase());\n }\n } catch {\n return false;\n }\n};\n\nconst getIndexInRangeByValue = (\n data: ScrollableListItem[],\n query: string,\n firstIndex: number,\n lastIndex: number = data.length\n): number => {\n const index = data.slice(firstIndex, lastIndex).findIndex(option => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, query, 'startsWith');\n });\n\n return index > -1 ? index + firstIndex : -1;\n};\n\nexport const findNextIndexByValue = (data: ScrollableListItem[], query: string, activeIndex: number | undefined): number => {\n const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;\n let index = getIndexInRangeByValue(data, query, firstIndex);\n\n if (index === -1) {\n index = getIndexInRangeByValue(data, query, 0, activeIndex);\n }\n\n return index;\n};\n\nexport const getActiveDescendant = (data: ScrollableListItem[], currentIndex: number | undefined, id: string): any => {\n return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;\n};\n\nexport const useFlattenedData = (data: ScrollableListItem[]): ScrollableListItem[] => {\n return React.useMemo(() => {\n const items: ScrollableListItem[] = [];\n\n const flatten = (item: ScrollableListItem, path: number, parentPath?: string, parentDisabled?: boolean) => {\n const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;\n const isItemDisabled = parentDisabled || item.disabled;\n\n items.push({\n ...item,\n disabled: isItemDisabled,\n path: currentPath,\n hasChildren: !!item.children,\n });\n\n if (item.children) {\n item.children.forEach((childItem: ScrollableListItem, childPath: number) =>\n flatten(childItem, childPath, currentPath, isItemDisabled)\n );\n }\n };\n\n data.forEach((item, index) => {\n flatten(item, index);\n });\n\n return items;\n }, [data]);\n};\n\nexport const sanitizeItem = (item: ScrollableListItem | undefined) => {\n if (item) {\n const { hasChildren: _1, path: _2, ...rest } = item;\n return rest;\n }\n\n return undefined;\n};\n\nexport const getOptionParents = (data: ScrollableListItem[], path?: string) => {\n const indexes = path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n return indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(data.find((i: ScrollableListItem) => i.path === lastPath));\n });\n }\n\n return null;\n};\n\nexport const filterData = (data: ScrollableListItem[], value: ScrollableListItemValue = ''): ScrollableListItem[] => {\n if (value === '' || value === null) {\n return data;\n }\n\n const filteredOptionValues = new Set();\n const shouldFilterOption = (option: ScrollableListItem): boolean => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, String(value));\n };\n\n data.forEach(option => {\n if (shouldFilterOption(option)) {\n const parents = getOptionParents(data, option.path);\n\n filteredOptionValues.add(option.value);\n\n if (parents !== null) {\n parents.forEach(option => filteredOptionValues.add(option?.value));\n }\n }\n });\n\n return data.filter(({ value }) => filteredOptionValues.has(value));\n};\n"],"names":["getValue","value","String","setInputValueByRef","input","event","setInputValueByRefBase","getIndexFromValue","data","index","findIndex","option","undefined","getSelectedIndexesFromValue","split","map","v","o","filter","findByValue","find","searchForString","child","strategy","props","children","Array","isArray","subChild","toString","toLowerCase","getIndexInRangeByValue","query","firstIndex","lastIndex","length","slice","disabled","text","findNextIndexByValue","activeIndex","getActiveDescendant","currentIndex","id","getId","useFlattenedData","React","useMemo","items","flatten","item","path","parentPath","parentDisabled","currentPath","isItemDisabled","push","hasChildren","forEach","childItem","childPath","sanitizeItem","_1","_2","rest","getOptionParents","indexes","pop","lastPath","i","join","filterData","filteredOptionValues","Set","shouldFilterOption","parents","add","has"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../../../../src/components/Listbox/util.ts"],"sourcesContent":["import React from 'react';\r\nimport { ScrollableListItem, ScrollableListItemValue, getId } from './ScrollableList';\r\nimport { setInputValueByRef as setInputValueByRefBase } from '../../utils/input';\r\n\r\nconst getValue = (value: ScrollableListItemValue | undefined): string => String(value ?? '');\r\n\r\nexport const setInputValueByRef = (input: HTMLInputElement | null, value: ScrollableListItemValue, event = 'change'): void => {\r\n setInputValueByRefBase(input, getValue(value), event);\r\n};\r\n\r\nexport const getIndexFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number | undefined => {\r\n const index = data.findIndex(option => getValue(option.value) === getValue(value));\r\n return index > -1 ? index : undefined;\r\n};\r\n\r\nexport const getSelectedIndexesFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number[] => {\r\n if (typeof value !== 'string') return [];\r\n\r\n return value\r\n .split(',')\r\n .map(v => data.findIndex(o => String(o.value) === v))\r\n .filter(v => v !== -1);\r\n};\r\n\r\nexport const findByValue = (data: ScrollableListItem[], value: ScrollableListItemValue): ScrollableListItem | undefined => {\r\n return data.find(option => getValue(option.value) === getValue(value));\r\n};\r\n\r\nexport const searchForString = (child: JSX.Element | string, value: string, strategy = 'includes'): boolean => {\r\n try {\r\n if (typeof child !== 'string' && child.props?.children) {\r\n if (Array.isArray(child.props?.children)) {\r\n return !!child.props.children.find((subChild: JSX.Element | string) =>\r\n searchForString(subChild, value, strategy)\r\n );\r\n }\r\n\r\n return searchForString(child.props?.children, value, strategy);\r\n } else {\r\n return child.toString().toLowerCase()[strategy](String(value).toLowerCase());\r\n }\r\n } catch {\r\n return false;\r\n }\r\n};\r\n\r\nconst getIndexInRangeByValue = (\r\n data: ScrollableListItem[],\r\n query: string,\r\n firstIndex: number,\r\n lastIndex: number = data.length\r\n): number => {\r\n const index = data.slice(firstIndex, lastIndex).findIndex(option => {\r\n if (option.disabled) {\r\n return false;\r\n }\r\n\r\n return searchForString(option.text, query, 'startsWith');\r\n });\r\n\r\n return index > -1 ? index + firstIndex : -1;\r\n};\r\n\r\nexport const findNextIndexByValue = (data: ScrollableListItem[], query: string, activeIndex: number | undefined): number => {\r\n const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;\r\n let index = getIndexInRangeByValue(data, query, firstIndex);\r\n\r\n if (index === -1) {\r\n index = getIndexInRangeByValue(data, query, 0, activeIndex);\r\n }\r\n\r\n return index;\r\n};\r\n\r\nexport const getActiveDescendant = (data: ScrollableListItem[], currentIndex: number | undefined, id: string): any => {\r\n return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;\r\n};\r\n\r\nexport const useFlattenedData = (data: ScrollableListItem[]): ScrollableListItem[] => {\r\n return React.useMemo(() => {\r\n const items: ScrollableListItem[] = [];\r\n\r\n const flatten = (item: ScrollableListItem, path: number, parentPath?: string, parentDisabled?: boolean) => {\r\n const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;\r\n const isItemDisabled = parentDisabled || item.disabled;\r\n\r\n items.push({\r\n ...item,\r\n disabled: isItemDisabled,\r\n path: currentPath,\r\n hasChildren: !!item.children,\r\n });\r\n\r\n if (item.children) {\r\n item.children.forEach((childItem: ScrollableListItem, childPath: number) =>\r\n flatten(childItem, childPath, currentPath, isItemDisabled)\r\n );\r\n }\r\n };\r\n\r\n data.forEach((item, index) => {\r\n flatten(item, index);\r\n });\r\n\r\n return items;\r\n }, [data]);\r\n};\r\n\r\nexport const sanitizeItem = (item: ScrollableListItem | undefined) => {\r\n if (item) {\r\n const { hasChildren: _1, path: _2, ...rest } = item;\r\n return rest;\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nexport const getOptionParents = (data: ScrollableListItem[], path?: string) => {\r\n const indexes = path?.split('.') ?? [];\r\n\r\n if (indexes.length > 1) {\r\n // we don't want to map the current item\r\n indexes.pop();\r\n // we need to rebuild the path as we map\r\n let lastPath: string;\r\n\r\n return indexes.map(i => {\r\n lastPath = lastPath ? [lastPath, i].join('.') : i;\r\n return sanitizeItem(data.find((i: ScrollableListItem) => i.path === lastPath));\r\n });\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const filterData = (data: ScrollableListItem[], value: ScrollableListItemValue = ''): ScrollableListItem[] => {\r\n if (value === '' || value === null) {\r\n return data;\r\n }\r\n\r\n const filteredOptionValues = new Set();\r\n const shouldFilterOption = (option: ScrollableListItem): boolean => {\r\n if (option.disabled) {\r\n return false;\r\n }\r\n\r\n return searchForString(option.text, String(value));\r\n };\r\n\r\n data.forEach(option => {\r\n if (shouldFilterOption(option)) {\r\n const parents = getOptionParents(data, option.path);\r\n\r\n filteredOptionValues.add(option.value);\r\n\r\n if (parents !== null) {\r\n parents.forEach(option => filteredOptionValues.add(option?.value));\r\n }\r\n }\r\n });\r\n\r\n return data.filter(({ value }) => filteredOptionValues.has(value));\r\n};\r\n"],"names":["getValue","value","String","setInputValueByRef","input","event","setInputValueByRefBase","getIndexFromValue","data","index","findIndex","option","undefined","getSelectedIndexesFromValue","split","map","v","o","filter","findByValue","find","searchForString","child","strategy","props","children","Array","isArray","subChild","toString","toLowerCase","getIndexInRangeByValue","query","firstIndex","lastIndex","length","slice","disabled","text","findNextIndexByValue","activeIndex","getActiveDescendant","currentIndex","id","getId","useFlattenedData","React","useMemo","items","flatten","item","path","parentPath","parentDisabled","currentPath","isItemDisabled","push","hasChildren","forEach","childItem","childPath","sanitizeItem","_1","_2","rest","getOptionParents","indexes","pop","lastPath","i","join","filterData","filteredOptionValues","Set","shouldFilterOption","parents","add","has"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../../../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { MenuContext } from './Context';\nimport { Content, MenuContentProps } from './components/Content';\nimport { Item, MenuItemProps } from './components/Item';\nimport { Link, MenuLinkItemProps } from './components/Link';\nimport { Trigger, MenuTriggerProps } from './components/Trigger';\nimport { Checkbox, MenuCheckboxItemProps } from './components/Checkbox';\nimport { ForwardedMenuRadioGroupWithStatics, RadioGroup } from './components/RadioGroup';\nimport { Separator } from './components/Separator';\nimport { Header, MenuHeaderProps } from './components/Header';\n\nexport type MenuProps = {\n children: React.ReactNode;\n id?: string;\n /** A trigger to be used for the menu, should not be set if `children` already contains a trigger */\n trigger?: JSX.Element;\n};\nexport type ForwardedMenuWithStatics = React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLElement>> & {\n Trigger: React.ForwardRefExoticComponent<MenuTriggerProps>;\n Content: React.ForwardRefExoticComponent<MenuContentProps>;\n Item: React.ForwardRefExoticComponent<MenuItemProps>;\n Link: React.ForwardRefExoticComponent<MenuLinkItemProps>;\n Checkbox: React.ForwardRefExoticComponent<MenuCheckboxItemProps>;\n Separator: React.FunctionComponent;\n Header: React.ForwardRefExoticComponent<MenuHeaderProps>;\n RadioGroup: ForwardedMenuRadioGroupWithStatics;\n};\n\nexport const Menu = React.forwardRef<HTMLButtonElement, MenuProps>(function Menu(externalProps, ref) {\n const { children, trigger, ...props } = externalProps;\n const [open, setOpen] = React.useState(false);\n const [indented, setIndented] = React.useState(false);\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\n\n const context = React.useMemo(\n () => ({\n indented,\n registerIndentation: () => setIndented(true),\n minWidth,\n setMinWidth: (width: number) => setMinWidth(width),\n close: () => setOpen(false),\n }),\n [indented, minWidth]\n );\n\n return (\n <MenuContext.Provider value={context}>\n <DropdownMenuPrimitive.Root {...props} modal={false} open={open} onOpenChange={setOpen}>\n {trigger && <Trigger ref={ref}>{trigger}</Trigger>}\n {children}\n </DropdownMenuPrimitive.Root>\n </MenuContext.Provider>\n );\n}) as ForwardedMenuWithStatics;\nMenu.Trigger = Trigger;\nMenu.Content = Content;\nMenu.Item = Item;\nMenu.Link = Link;\nMenu.Checkbox = Checkbox;\nMenu.Separator = Separator;\nMenu.Header = Header;\nMenu.RadioGroup = RadioGroup;\n"],"names":["Menu","React","externalProps","ref","children","trigger","props","open","setOpen","indented","setIndented","minWidth","setMinWidth","undefined","context","registerIndentation","width","close","MenuContext","Provider","value","DropdownMenuPrimitive","modal","onOpenChange","Trigger","Content","Item","Link","Checkbox","Separator","Header","RadioGroup"],"mappings":";;;;;;;;;;;;MA6BaA,IAAI,gBAAGC,UAAgB,CAA+B,SAASD,IAAI,CAACE,aAAa,EAAEC,GAAG;EAC/F,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAE,GAAGC;GAAO,GAAGJ,aAAa;EACrD,MAAM,CAACK,IAAI,EAAEC,OAAO,CAAC,GAAGP,QAAc,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACQ,QAAQ,EAAEC,WAAW,CAAC,GAAGT,QAAc,CAAC,KAAK,CAAC;EACrD,MAAM,CAACU,QAAQ,EAAEC,WAAW,CAAC,GAAGX,QAAc,CAAqBY,SAAS,CAAC;EAE7E,MAAMC,OAAO,GAAGb,OAAa,CACzB,OAAO;IACHQ,QAAQ;IACRM,mBAAmB,EAAE,MAAML,WAAW,CAAC,IAAI,CAAC;IAC5CC,QAAQ;IACRC,WAAW,EAAGI,KAAa,IAAKJ,WAAW,CAACI,KAAK,CAAC;IAClDC,KAAK,EAAE,MAAMT,OAAO,CAAC,KAAK;GAC7B,CAAC,EACF,CAACC,QAAQ,EAAEE,QAAQ,CAAC,CACvB;EAED,oBACIV,cAACiB,WAAW,CAACC,QAAQ;IAACC,KAAK,EAAEN;kBACzBb,cAACoB,IAA0B,oBAAKf,KAAK;IAAEgB,KAAK,EAAE,KAAK;IAAEf,IAAI,EAAEA,IAAI;IAAEgB,YAAY,EAAEf;MAC1EH,OAAO,iBAAIJ,cAACuB,OAAO;IAACrB,GAAG,EAAEA;KAAME,OAAO,CAAW,EACjDD,QAAQ,CACgB,CACV;AAE/B,CAAC;AACDJ,IAAI,CAACwB,OAAO,GAAGA,OAAO;AACtBxB,IAAI,CAACyB,OAAO,GAAGA,OAAO;AACtBzB,IAAI,CAAC0B,IAAI,GAAGA,IAAI;AAChB1B,IAAI,CAAC2B,IAAI,GAAGA,IAAI;AAChB3B,IAAI,CAAC4B,QAAQ,GAAGA,QAAQ;AACxB5B,IAAI,CAAC6B,SAAS,GAAGA,SAAS;AAC1B7B,IAAI,CAAC8B,MAAM,GAAGA,MAAM;AACpB9B,IAAI,CAAC+B,UAAU,GAAGA,UAAU;;;;"}
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { MenuContext } from './Context';\r\nimport { Content, MenuContentProps } from './components/Content';\r\nimport { Item, MenuItemProps } from './components/Item';\r\nimport { Link, MenuLinkItemProps } from './components/Link';\r\nimport { Trigger, MenuTriggerProps } from './components/Trigger';\r\nimport { Checkbox, MenuCheckboxItemProps } from './components/Checkbox';\r\nimport { ForwardedMenuRadioGroupWithStatics, RadioGroup } from './components/RadioGroup';\r\nimport { Separator } from './components/Separator';\r\nimport { Header, MenuHeaderProps } from './components/Header';\r\n\r\nexport type MenuProps = {\r\n children: React.ReactNode;\r\n id?: string;\r\n /** A trigger to be used for the menu, should not be set if `children` already contains a trigger */\r\n trigger?: JSX.Element;\r\n};\r\nexport type ForwardedMenuWithStatics = React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLElement>> & {\r\n Trigger: React.ForwardRefExoticComponent<MenuTriggerProps>;\r\n Content: React.ForwardRefExoticComponent<MenuContentProps>;\r\n Item: React.ForwardRefExoticComponent<MenuItemProps>;\r\n Link: React.ForwardRefExoticComponent<MenuLinkItemProps>;\r\n Checkbox: React.ForwardRefExoticComponent<MenuCheckboxItemProps>;\r\n Separator: React.FunctionComponent;\r\n Header: React.ForwardRefExoticComponent<MenuHeaderProps>;\r\n RadioGroup: ForwardedMenuRadioGroupWithStatics;\r\n};\r\n\r\nexport const Menu = React.forwardRef<HTMLButtonElement, MenuProps>(function Menu(externalProps, ref) {\r\n const { children, trigger, ...props } = externalProps;\r\n const [open, setOpen] = React.useState(false);\r\n const [indented, setIndented] = React.useState(false);\r\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\r\n\r\n const context = React.useMemo(\r\n () => ({\r\n indented,\r\n registerIndentation: () => setIndented(true),\r\n minWidth,\r\n setMinWidth: (width: number) => setMinWidth(width),\r\n close: () => setOpen(false),\r\n }),\r\n [indented, minWidth]\r\n );\r\n\r\n return (\r\n <MenuContext.Provider value={context}>\r\n <DropdownMenuPrimitive.Root {...props} modal={false} open={open} onOpenChange={setOpen}>\r\n {trigger && <Trigger ref={ref}>{trigger}</Trigger>}\r\n {children}\r\n </DropdownMenuPrimitive.Root>\r\n </MenuContext.Provider>\r\n );\r\n}) as ForwardedMenuWithStatics;\r\nMenu.Trigger = Trigger;\r\nMenu.Content = Content;\r\nMenu.Item = Item;\r\nMenu.Link = Link;\r\nMenu.Checkbox = Checkbox;\r\nMenu.Separator = Separator;\r\nMenu.Header = Header;\r\nMenu.RadioGroup = RadioGroup;\r\n"],"names":["Menu","React","externalProps","ref","children","trigger","props","open","setOpen","indented","setIndented","minWidth","setMinWidth","undefined","context","registerIndentation","width","close","MenuContext","Provider","value","DropdownMenuPrimitive","modal","onOpenChange","Trigger","Content","Item","Link","Checkbox","Separator","Header","RadioGroup"],"mappings":";;;;;;;;;;;;MA6BaA,IAAI,gBAAGC,UAAgB,CAA+B,SAASD,IAAI,CAACE,aAAa,EAAEC,GAAG;EAC/F,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAE,GAAGC;GAAO,GAAGJ,aAAa;EACrD,MAAM,CAACK,IAAI,EAAEC,OAAO,CAAC,GAAGP,QAAc,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACQ,QAAQ,EAAEC,WAAW,CAAC,GAAGT,QAAc,CAAC,KAAK,CAAC;EACrD,MAAM,CAACU,QAAQ,EAAEC,WAAW,CAAC,GAAGX,QAAc,CAAqBY,SAAS,CAAC;EAE7E,MAAMC,OAAO,GAAGb,OAAa,CACzB,OAAO;IACHQ,QAAQ;IACRM,mBAAmB,EAAE,MAAML,WAAW,CAAC,IAAI,CAAC;IAC5CC,QAAQ;IACRC,WAAW,EAAGI,KAAa,IAAKJ,WAAW,CAACI,KAAK,CAAC;IAClDC,KAAK,EAAE,MAAMT,OAAO,CAAC,KAAK;GAC7B,CAAC,EACF,CAACC,QAAQ,EAAEE,QAAQ,CAAC,CACvB;EAED,oBACIV,cAACiB,WAAW,CAACC,QAAQ;IAACC,KAAK,EAAEN;kBACzBb,cAACoB,IAA0B,oBAAKf,KAAK;IAAEgB,KAAK,EAAE,KAAK;IAAEf,IAAI,EAAEA,IAAI;IAAEgB,YAAY,EAAEf;MAC1EH,OAAO,iBAAIJ,cAACuB,OAAO;IAACrB,GAAG,EAAEA;KAAME,OAAO,CAAW,EACjDD,QAAQ,CACgB,CACV;AAE/B,CAAC;AACDJ,IAAI,CAACwB,OAAO,GAAGA,OAAO;AACtBxB,IAAI,CAACyB,OAAO,GAAGA,OAAO;AACtBzB,IAAI,CAAC0B,IAAI,GAAGA,IAAI;AAChB1B,IAAI,CAAC2B,IAAI,GAAGA,IAAI;AAChB3B,IAAI,CAAC4B,QAAQ,GAAGA,QAAQ;AACxB5B,IAAI,CAAC6B,SAAS,GAAGA,SAAS;AAC1B7B,IAAI,CAAC8B,MAAM,GAAGA,MAAM;AACpB9B,IAAI,CAAC+B,UAAU,GAAGA,UAAU;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../../../../../../../../src/components/Menu/components/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Icon } from '../../Icon/Icon';\nimport { useItemStyling } from './Item';\n\nexport type MenuCheckboxItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n /* Whether the checkbox item is disabled */\n disabled?: boolean;\n /* The current checked state (controlled) */\n checked: boolean;\n /* Handler called when the checked state changes */\n onChange: (checked: boolean | 'indeterminate') => void;\n};\n\nexport const Checkbox = React.forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(props, ref) {\n const { checked, children, onChange, ...otherProps } = props;\n const className = useItemStyling({\n disabled: props.disabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <DropdownMenuPrimitive.CheckboxItem\n {...otherProps}\n checked={checked}\n className={className}\n onCheckedChange={onChange}\n ref={ref}>\n <DropdownMenuPrimitive.ItemIndicator className=\"absolute left-0 ml-1.5\">\n <Icon name=\"tick\" className=\"-ml-px !h-4 !w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n});\n"],"names":["Checkbox","React","MenuCheckboxItem","props","ref","checked","children","onChange","otherProps","className","useItemStyling","disabled","indented","DropdownMenuPrimitive","onCheckedChange","Icon","name"],"mappings":";;;;;MAcaA,QAAQ,gBAAGC,UAAgB,CAAwC,SAASC,gBAAgB,CAACC,KAAK,EAAEC,GAAG;EAChH,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAC5D,MAAMM,SAAS,GAAGC,cAAc,CAAC;IAC7BC,QAAQ,EAAER,KAAK,CAACQ,QAAQ;IACxBC,QAAQ,EAAE,IAAI;IACdH,SAAS,EAAEN,KAAK,CAACM;GACpB,CAAC;EAEF,oBACIR,cAACY,YAAkC,oBAC3BL,UAAU;IACdH,OAAO,EAAEA,OAAO;IAChBI,SAAS,EAAEA,SAAS;IACpBK,eAAe,EAAEP,QAAQ;IACzBH,GAAG,EAAEA;mBACLH,cAACY,aAAmC;IAACJ,SAAS,EAAC;kBAC3CR,cAACc,IAAI;IAACC,IAAI,EAAC,MAAM;IAACP,SAAS,EAAC;IAAqB,CACf,EACrCH,QAAQ,CACwB;AAE7C,CAAC;;;;"}
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../../../../../../src/components/Menu/components/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { Icon } from '../../Icon/Icon';\r\nimport { useItemStyling } from './Item';\r\n\r\nexport type MenuCheckboxItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\r\n /* Whether the checkbox item is disabled */\r\n disabled?: boolean;\r\n /* The current checked state (controlled) */\r\n checked: boolean;\r\n /* Handler called when the checked state changes */\r\n onChange: (checked: boolean | 'indeterminate') => void;\r\n};\r\n\r\nexport const Checkbox = React.forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(props, ref) {\r\n const { checked, children, onChange, ...otherProps } = props;\r\n const className = useItemStyling({\r\n disabled: props.disabled,\r\n indented: true,\r\n className: props.className,\r\n });\r\n\r\n return (\r\n <DropdownMenuPrimitive.CheckboxItem\r\n {...otherProps}\r\n checked={checked}\r\n className={className}\r\n onCheckedChange={onChange}\r\n ref={ref}>\r\n <DropdownMenuPrimitive.ItemIndicator className=\"absolute left-0 ml-1.5\">\r\n <Icon name=\"tick\" className=\"-ml-px !h-4 !w-4\" />\r\n </DropdownMenuPrimitive.ItemIndicator>\r\n {children}\r\n </DropdownMenuPrimitive.CheckboxItem>\r\n );\r\n});\r\n"],"names":["Checkbox","React","MenuCheckboxItem","props","ref","checked","children","onChange","otherProps","className","useItemStyling","disabled","indented","DropdownMenuPrimitive","onCheckedChange","Icon","name"],"mappings":";;;;;MAcaA,QAAQ,gBAAGC,UAAgB,CAAwC,SAASC,gBAAgB,CAACC,KAAK,EAAEC,GAAG;EAChH,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAC5D,MAAMM,SAAS,GAAGC,cAAc,CAAC;IAC7BC,QAAQ,EAAER,KAAK,CAACQ,QAAQ;IACxBC,QAAQ,EAAE,IAAI;IACdH,SAAS,EAAEN,KAAK,CAACM;GACpB,CAAC;EAEF,oBACIR,cAACY,YAAkC,oBAC3BL,UAAU;IACdH,OAAO,EAAEA,OAAO;IAChBI,SAAS,EAAEA,SAAS;IACpBK,eAAe,EAAEP,QAAQ;IACzBH,GAAG,EAAEA;mBACLH,cAACY,aAAmC;IAACJ,SAAS,EAAC;kBAC3CR,cAACc,IAAI;IAACC,IAAI,EAAC,MAAM;IAACP,SAAS,EAAC;IAAqB,CACf,EACrCH,QAAQ,CACwB;AAE7C,CAAC;;;;"}
|