@economic/taco 1.0.5 → 1.0.8
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 +84 -84
- package/dist/components/Card/Card.d.ts +14 -0
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +35 -0
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/esm/components/Accordion/Accordion.js +93 -0
- package/dist/esm/components/Accordion/Accordion.js.map +1 -0
- package/dist/esm/components/Backdrop/Backdrop.js +13 -0
- package/dist/esm/components/Backdrop/Backdrop.js.map +1 -0
- package/dist/esm/components/Badge/Badge.js +32 -0
- package/dist/esm/components/Badge/Badge.js.map +1 -0
- package/dist/esm/components/Banner/Banner.js +24 -0
- package/dist/esm/components/Banner/Banner.js.map +1 -0
- package/dist/esm/components/Banner/util.js +36 -0
- package/dist/esm/components/Banner/util.js.map +1 -0
- package/dist/esm/components/Button/Button.js +36 -0
- package/dist/esm/components/Button/Button.js.map +1 -0
- package/dist/esm/components/Button/util.js +82 -0
- package/dist/esm/components/Button/util.js.map +1 -0
- package/dist/esm/components/Calendar/Calendar.js +152 -0
- package/dist/esm/components/Calendar/Calendar.js.map +1 -0
- package/dist/esm/components/Card/Card.js +75 -0
- package/dist/esm/components/Card/Card.js.map +1 -0
- package/dist/esm/components/Checkbox/Checkbox.js +58 -0
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/esm/components/Combobox/Combobox.js +89 -0
- package/dist/esm/components/Combobox/Combobox.js.map +1 -0
- package/dist/esm/components/Combobox/useCombobox.js +305 -0
- package/dist/esm/components/Combobox/useCombobox.js.map +1 -0
- package/dist/esm/components/Datepicker/Datepicker.js +75 -0
- package/dist/esm/components/Datepicker/Datepicker.js.map +1 -0
- package/dist/esm/components/Datepicker/useDatepicker.js +95 -0
- package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -0
- package/dist/esm/components/Dialog/Context.js +26 -0
- package/dist/esm/components/Dialog/Context.js.map +1 -0
- package/dist/esm/components/Dialog/Dialog.js +98 -0
- package/dist/esm/components/Dialog/Dialog.js.map +1 -0
- package/dist/esm/components/Dialog/components/Content.js +140 -0
- package/dist/esm/components/Dialog/components/Content.js.map +1 -0
- package/dist/esm/components/Dialog/components/Drawer.js +42 -0
- package/dist/esm/components/Dialog/components/Drawer.js.map +1 -0
- package/dist/esm/components/Dialog/components/Extra.js +15 -0
- package/dist/esm/components/Dialog/components/Extra.js.map +1 -0
- package/dist/esm/components/Dialog/components/Trigger.js +15 -0
- package/dist/esm/components/Dialog/components/Trigger.js.map +1 -0
- package/dist/esm/components/Field/Field.js +33 -0
- package/dist/esm/components/Field/Field.js.map +1 -0
- package/dist/esm/components/Form/Form.js +22 -0
- package/dist/esm/components/Form/Form.js.map +1 -0
- package/dist/esm/components/Group/Group.js +20 -0
- package/dist/esm/components/Group/Group.js.map +1 -0
- package/dist/esm/components/Hanger/Hanger.js +104 -0
- package/dist/esm/components/Hanger/Hanger.js.map +1 -0
- package/dist/esm/components/HoverCard/HoverCard.js +33 -0
- package/dist/esm/components/HoverCard/HoverCard.js.map +1 -0
- package/dist/esm/components/Icon/Icon.js +30 -0
- package/dist/esm/components/Icon/Icon.js.map +1 -0
- package/dist/esm/components/Icon/components/AccountPreview.js +18 -0
- package/dist/esm/components/Icon/components/AccountPreview.js.map +1 -0
- package/dist/esm/components/Icon/components/Accounting.js +18 -0
- package/dist/esm/components/Icon/components/Accounting.js.map +1 -0
- package/dist/esm/components/Icon/components/AccountingYear.js +18 -0
- package/dist/esm/components/Icon/components/AccountingYear.js.map +1 -0
- package/dist/esm/components/Icon/components/AccountingYearCancel.js +18 -0
- package/dist/esm/components/Icon/components/AccountingYearCancel.js.map +1 -0
- package/dist/esm/components/Icon/components/ArrowBottom.js +18 -0
- package/dist/esm/components/Icon/components/ArrowBottom.js.map +1 -0
- package/dist/esm/components/Icon/components/ArrowDown.js +18 -0
- package/dist/esm/components/Icon/components/ArrowDown.js.map +1 -0
- package/dist/esm/components/Icon/components/ArrowEnd.js +18 -0
- package/dist/esm/components/Icon/components/ArrowEnd.js.map +1 -0
- package/dist/esm/components/Icon/components/ArrowLeft.js +18 -0
- package/dist/esm/components/Icon/components/ArrowLeft.js.map +1 -0
- package/dist/esm/components/Icon/components/ArrowRight.js +18 -0
- package/dist/esm/components/Icon/components/ArrowRight.js.map +1 -0
- package/dist/esm/components/Icon/components/ArrowStart.js +18 -0
- package/dist/esm/components/Icon/components/ArrowStart.js.map +1 -0
- package/dist/esm/components/Icon/components/ArrowTop.js +18 -0
- package/dist/esm/components/Icon/components/ArrowTop.js.map +1 -0
- package/dist/esm/components/Icon/components/ArrowUp.js +18 -0
- package/dist/esm/components/Icon/components/ArrowUp.js.map +1 -0
- package/dist/esm/components/Icon/components/Attach.js +18 -0
- package/dist/esm/components/Icon/components/Attach.js.map +1 -0
- package/dist/esm/components/Icon/components/AttachAuto.js +18 -0
- package/dist/esm/components/Icon/components/AttachAuto.js.map +1 -0
- package/dist/esm/components/Icon/components/AttachCancel.js +18 -0
- package/dist/esm/components/Icon/components/AttachCancel.js.map +1 -0
- package/dist/esm/components/Icon/components/Autotext.js +18 -0
- package/dist/esm/components/Icon/components/Autotext.js.map +1 -0
- package/dist/esm/components/Icon/components/AutotextInsert.js +18 -0
- package/dist/esm/components/Icon/components/AutotextInsert.js.map +1 -0
- package/dist/esm/components/Icon/components/Basic.js +18 -0
- package/dist/esm/components/Icon/components/Basic.js.map +1 -0
- package/dist/esm/components/Icon/components/BasicTabs.js +18 -0
- package/dist/esm/components/Icon/components/BasicTabs.js.map +1 -0
- package/dist/esm/components/Icon/components/BellSolid.js +18 -0
- package/dist/esm/components/Icon/components/BellSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/Book.js +18 -0
- package/dist/esm/components/Icon/components/Book.js.map +1 -0
- package/dist/esm/components/Icon/components/Booking.js +18 -0
- package/dist/esm/components/Icon/components/Booking.js.map +1 -0
- package/dist/esm/components/Icon/components/Budget.js +18 -0
- package/dist/esm/components/Icon/components/Budget.js.map +1 -0
- package/dist/esm/components/Icon/components/Calendar.js +18 -0
- package/dist/esm/components/Icon/components/Calendar.js.map +1 -0
- package/dist/esm/components/Icon/components/CashAccount.js +17 -0
- package/dist/esm/components/Icon/components/CashAccount.js.map +1 -0
- package/dist/esm/components/Icon/components/CashReports.js +18 -0
- package/dist/esm/components/Icon/components/CashReports.js.map +1 -0
- package/dist/esm/components/Icon/components/Chat.js +18 -0
- package/dist/esm/components/Icon/components/Chat.js.map +1 -0
- package/dist/esm/components/Icon/components/ChatSolid.js +18 -0
- package/dist/esm/components/Icon/components/ChatSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronDown.js +18 -0
- package/dist/esm/components/Icon/components/ChevronDown.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronDownDouble.js +18 -0
- package/dist/esm/components/Icon/components/ChevronDownDouble.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronDownSolid.js +18 -0
- package/dist/esm/components/Icon/components/ChevronDownSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronLeft.js +18 -0
- package/dist/esm/components/Icon/components/ChevronLeft.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronLeftDouble.js +18 -0
- package/dist/esm/components/Icon/components/ChevronLeftDouble.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronRight.js +18 -0
- package/dist/esm/components/Icon/components/ChevronRight.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronRightDouble.js +18 -0
- package/dist/esm/components/Icon/components/ChevronRightDouble.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronUp.js +18 -0
- package/dist/esm/components/Icon/components/ChevronUp.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronUpDouble.js +18 -0
- package/dist/esm/components/Icon/components/ChevronUpDouble.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronUpSolid.js +18 -0
- package/dist/esm/components/Icon/components/ChevronUpSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/CircleClose.js +19 -0
- package/dist/esm/components/Icon/components/CircleClose.js.map +1 -0
- package/dist/esm/components/Icon/components/CircleMinus.js +18 -0
- package/dist/esm/components/Icon/components/CircleMinus.js.map +1 -0
- package/dist/esm/components/Icon/components/CirclePlus.js +18 -0
- package/dist/esm/components/Icon/components/CirclePlus.js.map +1 -0
- package/dist/esm/components/Icon/components/CircleTick.js +18 -0
- package/dist/esm/components/Icon/components/CircleTick.js.map +1 -0
- package/dist/esm/components/Icon/components/Clamp.js +18 -0
- package/dist/esm/components/Icon/components/Clamp.js.map +1 -0
- package/dist/esm/components/Icon/components/ClampOpen.js +18 -0
- package/dist/esm/components/Icon/components/ClampOpen.js.map +1 -0
- package/dist/esm/components/Icon/components/Close.js +18 -0
- package/dist/esm/components/Icon/components/Close.js.map +1 -0
- package/dist/esm/components/Icon/components/ConnectionEnable.js +17 -0
- package/dist/esm/components/Icon/components/ConnectionEnable.js.map +1 -0
- package/dist/esm/components/Icon/components/ConnectionRevoke.js +17 -0
- package/dist/esm/components/Icon/components/ConnectionRevoke.js.map +1 -0
- package/dist/esm/components/Icon/components/Contacts.js +18 -0
- package/dist/esm/components/Icon/components/Contacts.js.map +1 -0
- package/dist/esm/components/Icon/components/Copy.js +18 -0
- package/dist/esm/components/Icon/components/Copy.js.map +1 -0
- package/dist/esm/components/Icon/components/Courses.js +17 -0
- package/dist/esm/components/Icon/components/Courses.js.map +1 -0
- package/dist/esm/components/Icon/components/Credit.js +18 -0
- package/dist/esm/components/Icon/components/Credit.js.map +1 -0
- package/dist/esm/components/Icon/components/Delete.js +18 -0
- package/dist/esm/components/Icon/components/Delete.js.map +1 -0
- package/dist/esm/components/Icon/components/DeletePermanently.js +18 -0
- package/dist/esm/components/Icon/components/DeletePermanently.js.map +1 -0
- package/dist/esm/components/Icon/components/Depecriate.js +18 -0
- package/dist/esm/components/Icon/components/Depecriate.js.map +1 -0
- package/dist/esm/components/Icon/components/Developer.js +18 -0
- package/dist/esm/components/Icon/components/Developer.js.map +1 -0
- package/dist/esm/components/Icon/components/DistributionTemplate.js +18 -0
- package/dist/esm/components/Icon/components/DistributionTemplate.js.map +1 -0
- package/dist/esm/components/Icon/components/Document.js +17 -0
- package/dist/esm/components/Icon/components/Document.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentApprove.js +18 -0
- package/dist/esm/components/Icon/components/DocumentApprove.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentCreateEntry.js +18 -0
- package/dist/esm/components/Icon/components/DocumentCreateEntry.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentCut.js +18 -0
- package/dist/esm/components/Icon/components/DocumentCut.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentError.js +18 -0
- package/dist/esm/components/Icon/components/DocumentError.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentIsolatePage.js +18 -0
- package/dist/esm/components/Icon/components/DocumentIsolatePage.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentMerge.js +18 -0
- package/dist/esm/components/Icon/components/DocumentMerge.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentMove.js +18 -0
- package/dist/esm/components/Icon/components/DocumentMove.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentPreview.js +18 -0
- package/dist/esm/components/Icon/components/DocumentPreview.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentReceived.js +17 -0
- package/dist/esm/components/Icon/components/DocumentReceived.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentRejectedRequest.js +17 -0
- package/dist/esm/components/Icon/components/DocumentRejectedRequest.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentSplit.js +18 -0
- package/dist/esm/components/Icon/components/DocumentSplit.js.map +1 -0
- package/dist/esm/components/Icon/components/DocumentTime.js +18 -0
- package/dist/esm/components/Icon/components/DocumentTime.js.map +1 -0
- package/dist/esm/components/Icon/components/Download.js +18 -0
- package/dist/esm/components/Icon/components/Download.js.map +1 -0
- package/dist/esm/components/Icon/components/Drag.js +18 -0
- package/dist/esm/components/Icon/components/Drag.js.map +1 -0
- package/dist/esm/components/Icon/components/ECopedia.js +18 -0
- package/dist/esm/components/Icon/components/ECopedia.js.map +1 -0
- package/dist/esm/components/Icon/components/ESignature.js +18 -0
- package/dist/esm/components/Icon/components/ESignature.js.map +1 -0
- package/dist/esm/components/Icon/components/Edit.js +18 -0
- package/dist/esm/components/Icon/components/Edit.js.map +1 -0
- package/dist/esm/components/Icon/components/EllipsisHorizontal.js +18 -0
- package/dist/esm/components/Icon/components/EllipsisHorizontal.js.map +1 -0
- package/dist/esm/components/Icon/components/EllipsisVertical.js +18 -0
- package/dist/esm/components/Icon/components/EllipsisVertical.js.map +1 -0
- package/dist/esm/components/Icon/components/EntriesOnAccount.js +18 -0
- package/dist/esm/components/Icon/components/EntriesOnAccount.js.map +1 -0
- package/dist/esm/components/Icon/components/EntriesOpen.js +18 -0
- package/dist/esm/components/Icon/components/EntriesOpen.js.map +1 -0
- package/dist/esm/components/Icon/components/EntriesWarning.js +18 -0
- package/dist/esm/components/Icon/components/EntriesWarning.js.map +1 -0
- package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js +18 -0
- package/dist/esm/components/Icon/components/EntryTypeCustomerInvoice.js.map +1 -0
- package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js +18 -0
- package/dist/esm/components/Icon/components/EntryTypeCustomerPayment.js.map +1 -0
- package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js +18 -0
- package/dist/esm/components/Icon/components/EntryTypeJournalEntry.js.map +1 -0
- package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js +18 -0
- package/dist/esm/components/Icon/components/EntryTypeManualCustomerInvoice.js.map +1 -0
- package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js +18 -0
- package/dist/esm/components/Icon/components/EntryTypeSupplierInvoice.js.map +1 -0
- package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js +18 -0
- package/dist/esm/components/Icon/components/EntryTypeSupplierPayment.js.map +1 -0
- package/dist/esm/components/Icon/components/Envelope.js +18 -0
- package/dist/esm/components/Icon/components/Envelope.js.map +1 -0
- package/dist/esm/components/Icon/components/EnvelopeApproved.js +18 -0
- package/dist/esm/components/Icon/components/EnvelopeApproved.js.map +1 -0
- package/dist/esm/components/Icon/components/ExpandView.js +18 -0
- package/dist/esm/components/Icon/components/ExpandView.js.map +1 -0
- package/dist/esm/components/Icon/components/Expenses.js +18 -0
- package/dist/esm/components/Icon/components/Expenses.js.map +1 -0
- package/dist/esm/components/Icon/components/Export.js +18 -0
- package/dist/esm/components/Icon/components/Export.js.map +1 -0
- package/dist/esm/components/Icon/components/ExportToExcel.js +18 -0
- package/dist/esm/components/Icon/components/ExportToExcel.js.map +1 -0
- package/dist/esm/components/Icon/components/ExportToPdf.js +18 -0
- package/dist/esm/components/Icon/components/ExportToPdf.js.map +1 -0
- package/dist/esm/components/Icon/components/Filter.js +18 -0
- package/dist/esm/components/Icon/components/Filter.js.map +1 -0
- package/dist/esm/components/Icon/components/FilterSolid.js +18 -0
- package/dist/esm/components/Icon/components/FilterSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/GraphSolid.js +18 -0
- package/dist/esm/components/Icon/components/GraphSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/Hash.js +18 -0
- package/dist/esm/components/Icon/components/Hash.js.map +1 -0
- package/dist/esm/components/Icon/components/Home.js +18 -0
- package/dist/esm/components/Icon/components/Home.js.map +1 -0
- package/dist/esm/components/Icon/components/Images.js +18 -0
- package/dist/esm/components/Icon/components/Images.js.map +1 -0
- package/dist/esm/components/Icon/components/Import.js +18 -0
- package/dist/esm/components/Icon/components/Import.js.map +1 -0
- package/dist/esm/components/Icon/components/Inbox.js +20 -0
- package/dist/esm/components/Icon/components/Inbox.js.map +1 -0
- package/dist/esm/components/Icon/components/InboxEinvoicing.js +20 -0
- package/dist/esm/components/Icon/components/InboxEinvoicing.js.map +1 -0
- package/dist/esm/components/Icon/components/InboxScanning.js +20 -0
- package/dist/esm/components/Icon/components/InboxScanning.js.map +1 -0
- package/dist/esm/components/Icon/components/InboxSmart.js +20 -0
- package/dist/esm/components/Icon/components/InboxSmart.js.map +1 -0
- package/dist/esm/components/Icon/components/Info.js +18 -0
- package/dist/esm/components/Icon/components/Info.js.map +1 -0
- package/dist/esm/components/Icon/components/Inventory.js +18 -0
- package/dist/esm/components/Icon/components/Inventory.js.map +1 -0
- package/dist/esm/components/Icon/components/InventoryMatrix.js +18 -0
- package/dist/esm/components/Icon/components/InventoryMatrix.js.map +1 -0
- package/dist/esm/components/Icon/components/JournalPro.js +18 -0
- package/dist/esm/components/Icon/components/JournalPro.js.map +1 -0
- package/dist/esm/components/Icon/components/Layout.js +18 -0
- package/dist/esm/components/Icon/components/Layout.js.map +1 -0
- package/dist/esm/components/Icon/components/LayoutBoth.js +18 -0
- package/dist/esm/components/Icon/components/LayoutBoth.js.map +1 -0
- package/dist/esm/components/Icon/components/LayoutFirst.js +18 -0
- package/dist/esm/components/Icon/components/LayoutFirst.js.map +1 -0
- package/dist/esm/components/Icon/components/LayoutLast.js +18 -0
- package/dist/esm/components/Icon/components/LayoutLast.js.map +1 -0
- package/dist/esm/components/Icon/components/LayoutNone.js +18 -0
- package/dist/esm/components/Icon/components/LayoutNone.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCard.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCard.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCardCustomerReminder.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCardManualCustomerInvoice.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCardObsoleteStock.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCardOpeningEntry.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCardReservedEntry.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCardShrinkagePilferage.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCardStockAdjustment.js.map +1 -0
- package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js +18 -0
- package/dist/esm/components/Icon/components/LedgerCardTransferredOpeningEntry.js.map +1 -0
- package/dist/esm/components/Icon/components/Lightbulb.js +18 -0
- package/dist/esm/components/Icon/components/Lightbulb.js.map +1 -0
- package/dist/esm/components/Icon/components/Line.js +18 -0
- package/dist/esm/components/Icon/components/Line.js.map +1 -0
- package/dist/esm/components/Icon/components/List.js +18 -0
- package/dist/esm/components/Icon/components/List.js.map +1 -0
- package/dist/esm/components/Icon/components/ListBulleted.js +18 -0
- package/dist/esm/components/Icon/components/ListBulleted.js.map +1 -0
- package/dist/esm/components/Icon/components/ListSearch.js +18 -0
- package/dist/esm/components/Icon/components/ListSearch.js.map +1 -0
- package/dist/esm/components/Icon/components/LockOpen.js +18 -0
- package/dist/esm/components/Icon/components/LockOpen.js.map +1 -0
- package/dist/esm/components/Icon/components/Log.js +18 -0
- package/dist/esm/components/Icon/components/Log.js.map +1 -0
- package/dist/esm/components/Icon/components/Market.js +18 -0
- package/dist/esm/components/Icon/components/Market.js.map +1 -0
- package/dist/esm/components/Icon/components/MatchAmount.js +18 -0
- package/dist/esm/components/Icon/components/MatchAmount.js.map +1 -0
- package/dist/esm/components/Icon/components/MatchEntries.js +18 -0
- package/dist/esm/components/Icon/components/MatchEntries.js.map +1 -0
- package/dist/esm/components/Icon/components/Mileage.js +18 -0
- package/dist/esm/components/Icon/components/Mileage.js.map +1 -0
- package/dist/esm/components/Icon/components/ModalResize.js +18 -0
- package/dist/esm/components/Icon/components/ModalResize.js.map +1 -0
- package/dist/esm/components/Icon/components/ModalShrink.js +18 -0
- package/dist/esm/components/Icon/components/ModalShrink.js.map +1 -0
- package/dist/esm/components/Icon/components/More.js +18 -0
- package/dist/esm/components/Icon/components/More.js.map +1 -0
- package/dist/esm/components/Icon/components/MoreSolid.js +18 -0
- package/dist/esm/components/Icon/components/MoreSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/Move.js +18 -0
- package/dist/esm/components/Icon/components/Move.js.map +1 -0
- package/dist/esm/components/Icon/components/NavigationList.js +18 -0
- package/dist/esm/components/Icon/components/NavigationList.js.map +1 -0
- package/dist/esm/components/Icon/components/Note.js +18 -0
- package/dist/esm/components/Icon/components/Note.js.map +1 -0
- package/dist/esm/components/Icon/components/NoteFollowUp.js +18 -0
- package/dist/esm/components/Icon/components/NoteFollowUp.js.map +1 -0
- package/dist/esm/components/Icon/components/NoteRead.js +18 -0
- package/dist/esm/components/Icon/components/NoteRead.js.map +1 -0
- package/dist/esm/components/Icon/components/PartnerApi.js +18 -0
- package/dist/esm/components/Icon/components/PartnerApi.js.map +1 -0
- package/dist/esm/components/Icon/components/Period.js +18 -0
- package/dist/esm/components/Icon/components/Period.js.map +1 -0
- package/dist/esm/components/Icon/components/PersonChange.js +18 -0
- package/dist/esm/components/Icon/components/PersonChange.js.map +1 -0
- package/dist/esm/components/Icon/components/PersonMinus.js +18 -0
- package/dist/esm/components/Icon/components/PersonMinus.js.map +1 -0
- package/dist/esm/components/Icon/components/PersonPlus.js +18 -0
- package/dist/esm/components/Icon/components/PersonPlus.js.map +1 -0
- package/dist/esm/components/Icon/components/PersonTick.js +18 -0
- package/dist/esm/components/Icon/components/PersonTick.js.map +1 -0
- package/dist/esm/components/Icon/components/Play.js +18 -0
- package/dist/esm/components/Icon/components/Play.js.map +1 -0
- package/dist/esm/components/Icon/components/PlusMinus.js +18 -0
- package/dist/esm/components/Icon/components/PlusMinus.js.map +1 -0
- package/dist/esm/components/Icon/components/Print.js +18 -0
- package/dist/esm/components/Icon/components/Print.js.map +1 -0
- package/dist/esm/components/Icon/components/ProcessPayment.js +18 -0
- package/dist/esm/components/Icon/components/ProcessPayment.js.map +1 -0
- package/dist/esm/components/Icon/components/ProductLedgerCard.js +18 -0
- package/dist/esm/components/Icon/components/ProductLedgerCard.js.map +1 -0
- package/dist/esm/components/Icon/components/ProjectCards.js +18 -0
- package/dist/esm/components/Icon/components/ProjectCards.js.map +1 -0
- package/dist/esm/components/Icon/components/Projects.js +18 -0
- package/dist/esm/components/Icon/components/Projects.js.map +1 -0
- package/dist/esm/components/Icon/components/Quicklinks.js +18 -0
- package/dist/esm/components/Icon/components/Quicklinks.js.map +1 -0
- package/dist/esm/components/Icon/components/RatingBankruptcy.js +18 -0
- package/dist/esm/components/Icon/components/RatingBankruptcy.js.map +1 -0
- package/dist/esm/components/Icon/components/RatingPaymentProblems.js +18 -0
- package/dist/esm/components/Icon/components/RatingPaymentProblems.js.map +1 -0
- package/dist/esm/components/Icon/components/Reconciled.js +18 -0
- package/dist/esm/components/Icon/components/Reconciled.js.map +1 -0
- package/dist/esm/components/Icon/components/Refresh.js +17 -0
- package/dist/esm/components/Icon/components/Refresh.js.map +1 -0
- package/dist/esm/components/Icon/components/Report.js +18 -0
- package/dist/esm/components/Icon/components/Report.js.map +1 -0
- package/dist/esm/components/Icon/components/ReportSolid.js +18 -0
- package/dist/esm/components/Icon/components/ReportSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/Restore.js +18 -0
- package/dist/esm/components/Icon/components/Restore.js.map +1 -0
- package/dist/esm/components/Icon/components/RotateLeft.js +17 -0
- package/dist/esm/components/Icon/components/RotateLeft.js.map +1 -0
- package/dist/esm/components/Icon/components/RotateRight.js +17 -0
- package/dist/esm/components/Icon/components/RotateRight.js.map +1 -0
- package/dist/esm/components/Icon/components/Sales.js +18 -0
- package/dist/esm/components/Icon/components/Sales.js.map +1 -0
- package/dist/esm/components/Icon/components/Search.js +18 -0
- package/dist/esm/components/Icon/components/Search.js.map +1 -0
- package/dist/esm/components/Icon/components/SearchBold.js +18 -0
- package/dist/esm/components/Icon/components/SearchBold.js.map +1 -0
- package/dist/esm/components/Icon/components/Secure.js +18 -0
- package/dist/esm/components/Icon/components/Secure.js.map +1 -0
- package/dist/esm/components/Icon/components/SecureTick.js +18 -0
- package/dist/esm/components/Icon/components/SecureTick.js.map +1 -0
- package/dist/esm/components/Icon/components/Settings.js +18 -0
- package/dist/esm/components/Icon/components/Settings.js.map +1 -0
- package/dist/esm/components/Icon/components/SettingsSolid.js +18 -0
- package/dist/esm/components/Icon/components/SettingsSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/Shortcuts.js +18 -0
- package/dist/esm/components/Icon/components/Shortcuts.js.map +1 -0
- package/dist/esm/components/Icon/components/ShowAll.js +18 -0
- package/dist/esm/components/Icon/components/ShowAll.js.map +1 -0
- package/dist/esm/components/Icon/components/ShowLess.js +18 -0
- package/dist/esm/components/Icon/components/ShowLess.js.map +1 -0
- package/dist/esm/components/Icon/components/ShowMore.js +18 -0
- package/dist/esm/components/Icon/components/ShowMore.js.map +1 -0
- package/dist/esm/components/Icon/components/ShowTemplate.js +18 -0
- package/dist/esm/components/Icon/components/ShowTemplate.js.map +1 -0
- package/dist/esm/components/Icon/components/Sliders.js +18 -0
- package/dist/esm/components/Icon/components/Sliders.js.map +1 -0
- package/dist/esm/components/Icon/components/Smartpay.js +18 -0
- package/dist/esm/components/Icon/components/Smartpay.js.map +1 -0
- package/dist/esm/components/Icon/components/SortBy.js +18 -0
- package/dist/esm/components/Icon/components/SortBy.js.map +1 -0
- package/dist/esm/components/Icon/components/Spinner.js +21 -0
- package/dist/esm/components/Icon/components/Spinner.js.map +1 -0
- package/dist/esm/components/Icon/components/Star.js +18 -0
- package/dist/esm/components/Icon/components/Star.js.map +1 -0
- package/dist/esm/components/Icon/components/StarSolid.js +18 -0
- package/dist/esm/components/Icon/components/StarSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/Subscriptions.js +18 -0
- package/dist/esm/components/Icon/components/Subscriptions.js.map +1 -0
- package/dist/esm/components/Icon/components/SystemEntries.js +18 -0
- package/dist/esm/components/Icon/components/SystemEntries.js.map +1 -0
- package/dist/esm/components/Icon/components/Tag.js +18 -0
- package/dist/esm/components/Icon/components/Tag.js.map +1 -0
- package/dist/esm/components/Icon/components/TemplateOverride.js +18 -0
- package/dist/esm/components/Icon/components/TemplateOverride.js.map +1 -0
- package/dist/esm/components/Icon/components/Templates.js +18 -0
- package/dist/esm/components/Icon/components/Templates.js.map +1 -0
- package/dist/esm/components/Icon/components/ThumbBoth.js +18 -0
- package/dist/esm/components/Icon/components/ThumbBoth.js.map +1 -0
- package/dist/esm/components/Icon/components/ThumbDown.js +18 -0
- package/dist/esm/components/Icon/components/ThumbDown.js.map +1 -0
- package/dist/esm/components/Icon/components/ThumbDownSolid.js +18 -0
- package/dist/esm/components/Icon/components/ThumbDownSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/ThumbUp.js +18 -0
- package/dist/esm/components/Icon/components/ThumbUp.js.map +1 -0
- package/dist/esm/components/Icon/components/ThumbUpSolid.js +18 -0
- package/dist/esm/components/Icon/components/ThumbUpSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/Tick.js +18 -0
- package/dist/esm/components/Icon/components/Tick.js.map +1 -0
- package/dist/esm/components/Icon/components/Time.js +18 -0
- package/dist/esm/components/Icon/components/Time.js.map +1 -0
- package/dist/esm/components/Icon/components/Transfer.js +18 -0
- package/dist/esm/components/Icon/components/Transfer.js.map +1 -0
- package/dist/esm/components/Icon/components/TransferCancel.js +24 -0
- package/dist/esm/components/Icon/components/TransferCancel.js.map +1 -0
- package/dist/esm/components/Icon/components/TransferLocked.js +18 -0
- package/dist/esm/components/Icon/components/TransferLocked.js.map +1 -0
- package/dist/esm/components/Icon/components/Undock.js +18 -0
- package/dist/esm/components/Icon/components/Undock.js.map +1 -0
- package/dist/esm/components/Icon/components/Unreconciled.js +18 -0
- package/dist/esm/components/Icon/components/Unreconciled.js.map +1 -0
- package/dist/esm/components/Icon/components/Warning.js +17 -0
- package/dist/esm/components/Icon/components/Warning.js.map +1 -0
- package/dist/esm/components/Icon/components/Webshop.js +18 -0
- package/dist/esm/components/Icon/components/Webshop.js.map +1 -0
- package/dist/esm/components/Icon/components/Website.js +18 -0
- package/dist/esm/components/Icon/components/Website.js.map +1 -0
- package/dist/esm/components/Icon/components/Workflow.js +17 -0
- package/dist/esm/components/Icon/components/Workflow.js.map +1 -0
- package/dist/esm/components/Icon/components/Zoom.js +18 -0
- package/dist/esm/components/Icon/components/Zoom.js.map +1 -0
- package/dist/esm/components/Icon/components/index.js +414 -0
- package/dist/esm/components/Icon/components/index.js.map +1 -0
- package/dist/esm/components/IconButton/IconButton.js +35 -0
- package/dist/esm/components/IconButton/IconButton.js.map +1 -0
- package/dist/esm/components/Input/Input.js +85 -0
- package/dist/esm/components/Input/Input.js.map +1 -0
- package/dist/esm/components/Input/util.js +22 -0
- package/dist/esm/components/Input/util.js.map +1 -0
- package/dist/esm/components/Listbox/Listbox.js +58 -0
- package/dist/esm/components/Listbox/Listbox.js.map +1 -0
- package/dist/esm/components/Listbox/ScrollableList.js +193 -0
- package/dist/esm/components/Listbox/ScrollableList.js.map +1 -0
- package/dist/esm/components/Listbox/useListbox.js +154 -0
- package/dist/esm/components/Listbox/useListbox.js.map +1 -0
- package/dist/esm/components/Listbox/useMultiListbox.js +223 -0
- package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -0
- package/dist/esm/components/Listbox/useTypeahead.js +27 -0
- package/dist/esm/components/Listbox/useTypeahead.js.map +1 -0
- package/dist/esm/components/Listbox/util.js +187 -0
- package/dist/esm/components/Listbox/util.js.map +1 -0
- package/dist/esm/components/Menu/Context.js +9 -0
- package/dist/esm/components/Menu/Context.js.map +1 -0
- package/dist/esm/components/Menu/Menu.js +74 -0
- package/dist/esm/components/Menu/Menu.js.map +1 -0
- package/dist/esm/components/Menu/components/Checkbox.js +32 -0
- package/dist/esm/components/Menu/components/Checkbox.js.map +1 -0
- package/dist/esm/components/Menu/components/Content.js +53 -0
- package/dist/esm/components/Menu/components/Content.js.map +1 -0
- package/dist/esm/components/Menu/components/Header.js +38 -0
- package/dist/esm/components/Menu/components/Header.js.map +1 -0
- package/dist/esm/components/Menu/components/Item.js +141 -0
- package/dist/esm/components/Menu/components/Item.js.map +1 -0
- package/dist/esm/components/Menu/components/Link.js +40 -0
- package/dist/esm/components/Menu/components/Link.js.map +1 -0
- package/dist/esm/components/Menu/components/RadioGroup.js +50 -0
- package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -0
- package/dist/esm/components/Menu/components/Separator.js +35 -0
- package/dist/esm/components/Menu/components/Separator.js.map +1 -0
- package/dist/esm/components/Menu/components/Trigger.js +33 -0
- package/dist/esm/components/Menu/components/Trigger.js.map +1 -0
- package/dist/esm/components/Navigation/Navigation.js +134 -0
- package/dist/esm/components/Navigation/Navigation.js.map +1 -0
- package/dist/esm/components/Pagination/PageNumbers.js +55 -0
- package/dist/esm/components/Pagination/PageNumbers.js.map +1 -0
- package/dist/esm/components/Pagination/Pagination.js +120 -0
- package/dist/esm/components/Pagination/Pagination.js.map +1 -0
- package/dist/esm/components/Pagination/usePagination.js +29 -0
- package/dist/esm/components/Pagination/usePagination.js.map +1 -0
- package/dist/esm/components/Pagination/usePaginationShortcuts.js +50 -0
- package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -0
- package/dist/esm/components/Popover/Popover.js +89 -0
- package/dist/esm/components/Popover/Popover.js.map +1 -0
- package/dist/esm/components/Popover/Primitives.js +42 -0
- package/dist/esm/components/Popover/Primitives.js.map +1 -0
- package/dist/esm/components/Progress/Progress.js +36 -0
- package/dist/esm/components/Progress/Progress.js.map +1 -0
- package/dist/esm/components/Provider/Provider.js +110 -0
- package/dist/esm/components/Provider/Provider.js.map +1 -0
- package/dist/esm/components/RadioGroup/RadioGroup.js +119 -0
- package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/esm/components/SearchInput/SearchInput.js +96 -0
- package/dist/esm/components/SearchInput/SearchInput.js.map +1 -0
- package/dist/esm/components/Select/Select.js +101 -0
- package/dist/esm/components/Select/Select.js.map +1 -0
- package/dist/esm/components/Select/useSelect.js +230 -0
- package/dist/esm/components/Select/useSelect.js.map +1 -0
- package/dist/esm/components/Spinner/Spinner.js +55 -0
- package/dist/esm/components/Spinner/Spinner.js.map +1 -0
- package/dist/esm/components/Switch/Switch.js +38 -0
- package/dist/esm/components/Switch/Switch.js.map +1 -0
- package/dist/esm/components/Table/components/BaseTable.js +55 -0
- package/dist/esm/components/Table/components/BaseTable.js.map +1 -0
- package/dist/esm/components/Table/components/PaginatedTable.js +20 -0
- package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -0
- package/dist/esm/components/Table/components/Table.js +63 -0
- package/dist/esm/components/Table/components/Table.js.map +1 -0
- package/dist/esm/components/Table/components/WindowedTable.js +202 -0
- package/dist/esm/components/Table/components/WindowedTable.js.map +1 -0
- package/dist/esm/components/Table/hooks/plugins/useRowActions.js +260 -0
- package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -0
- package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +133 -0
- package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -0
- package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +97 -0
- package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -0
- package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +118 -0
- package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -0
- package/dist/esm/components/Table/hooks/useRowCreation.js +141 -0
- package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -0
- package/dist/esm/components/Table/hooks/useTable.js +239 -0
- package/dist/esm/components/Table/hooks/useTable.js.map +1 -0
- package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +135 -0
- package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -0
- package/dist/esm/components/Table/util/renderColumn.js +40 -0
- package/dist/esm/components/Table/util/renderColumn.js.map +1 -0
- package/dist/esm/components/Table/util/renderRow.js +110 -0
- package/dist/esm/components/Table/util/renderRow.js.map +1 -0
- package/dist/esm/components/Table/util/rowIndexPath.js +59 -0
- package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -0
- package/dist/esm/components/Table/util/sortTypes.js +90 -0
- package/dist/esm/components/Table/util/sortTypes.js.map +1 -0
- package/dist/esm/components/Table/util.js +111 -0
- package/dist/esm/components/Table/util.js.map +1 -0
- package/dist/esm/components/Tabs/Tabs.js +71 -0
- package/dist/esm/components/Tabs/Tabs.js.map +1 -0
- package/dist/esm/components/Textarea/Textarea.js +37 -0
- package/dist/esm/components/Textarea/Textarea.js.map +1 -0
- package/dist/esm/components/Toast/Toast.js +80 -0
- package/dist/esm/components/Toast/Toast.js.map +1 -0
- package/dist/esm/components/Toast/Toaster.js +193 -0
- package/dist/esm/components/Toast/Toaster.js.map +1 -0
- package/dist/esm/components/Toast/util.js +46 -0
- package/dist/esm/components/Toast/util.js.map +1 -0
- package/dist/esm/components/Tooltip/Tooltip.js +33 -0
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/esm/components/Tour/Tour.js +148 -0
- package/dist/esm/components/Tour/Tour.js.map +1 -0
- package/dist/esm/components/Treeview/Treeview.js +83 -0
- package/dist/esm/components/Treeview/Treeview.js.map +1 -0
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +11 -0
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/esm/index.css +661 -0
- package/dist/esm/index.js +51 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/primitives/Button.js +25 -0
- package/dist/esm/primitives/Button.js.map +1 -0
- package/dist/esm/utils/date.js +98 -0
- package/dist/esm/utils/date.js.map +1 -0
- package/dist/esm/utils/hooks/useBoundingClientRectListener.js +50 -0
- package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -0
- package/dist/esm/utils/hooks/useDraggable.js +44 -0
- package/dist/esm/utils/hooks/useDraggable.js.map +1 -0
- package/dist/esm/utils/hooks/useDropTarget.js +41 -0
- package/dist/esm/utils/hooks/useDropTarget.js.map +1 -0
- package/dist/esm/utils/hooks/useListKeyboardNavigation.js +58 -0
- package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -0
- package/dist/esm/utils/hooks/useListScrollTo.js +38 -0
- package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -0
- package/dist/esm/utils/hooks/useOnClickOutside.js +27 -0
- package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -0
- package/dist/esm/utils/hooks/useProxiedRef.js +18 -0
- package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -0
- package/dist/esm/utils/hooks/useTimer.js +58 -0
- package/dist/esm/utils/hooks/useTimer.js.map +1 -0
- package/dist/esm/utils/input.js +53 -0
- package/dist/esm/utils/input.js.map +1 -0
- package/dist/esm/utils/mergeRefs.js +14 -0
- package/dist/esm/utils/mergeRefs.js.map +1 -0
- package/dist/esm/utils/taillwind.js +41 -0
- package/dist/esm/utils/taillwind.js.map +1 -0
- package/dist/index.css +661 -661
- package/dist/index.d.ts +1 -0
- package/dist/taco.cjs.development.js +1854 -1503
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +2 -0
- package/dist/taco.cjs.production.min.js.map +1 -0
- package/package.json +3 -3
- package/plugins/tailwindcss-aria-attributes.js +73 -73
- package/tailwind.config.js +297 -297
- package/types.json +531 -459
@@ -0,0 +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","rest","getOptionParents","indexes","pop","lastPath","i","join","filterData","filteredOptionValues","Set","shouldFilterOption","parents","add","has"],"mappings":"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"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { createContext, useContext } from 'react';
|
2
|
+
|
3
|
+
var MenuContext = /*#__PURE__*/createContext(undefined);
|
4
|
+
var useCurrentMenu = function useCurrentMenu() {
|
5
|
+
return useContext(MenuContext);
|
6
|
+
};
|
7
|
+
|
8
|
+
export { MenuContext, useCurrentMenu };
|
9
|
+
//# sourceMappingURL=Context.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Context.js","sources":["../../../../src/components/Menu/Context.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Appearance } from '../..';\n\nexport const MenuContext = React.createContext<\n | {\n appearance?: Appearance;\n setAppearance: (appearance: Appearance) => void;\n indented: boolean;\n registerIndentation: () => void;\n minWidth?: number;\n setMinWidth: (width: number) => void;\n close: () => void;\n }\n | undefined\n>(undefined);\n\nexport const useCurrentMenu = () => {\n return React.useContext(MenuContext);\n};\n"],"names":["MenuContext","React","undefined","useCurrentMenu"],"mappings":";;IAGaA,WAAW,gBAAGC,aAAA,CAWzBC,SAXyB;IAadC,cAAc,GAAG,SAAjBA,cAAiB;AAC1B,SAAOF,UAAA,CAAiBD,WAAjB,CAAP;AACH;;;;"}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
+
import { useState, useMemo, createElement } from 'react';
|
3
|
+
import { MenuContext } from './Context.js';
|
4
|
+
import { Root } from '@radix-ui/react-dropdown-menu';
|
5
|
+
import { Content } from './components/Content.js';
|
6
|
+
import { Item } from './components/Item.js';
|
7
|
+
import { Link } from './components/Link.js';
|
8
|
+
import { Trigger } from './components/Trigger.js';
|
9
|
+
import { Checkbox } from './components/Checkbox.js';
|
10
|
+
import { RadioGroup } from './components/RadioGroup.js';
|
11
|
+
import { Separator } from './components/Separator.js';
|
12
|
+
import { Header } from './components/Header.js';
|
13
|
+
|
14
|
+
var _excluded = ["appearance", "children", "trigger"];
|
15
|
+
var Menu = function Menu(externalProps) {
|
16
|
+
var externalAppearance = externalProps.appearance,
|
17
|
+
children = externalProps.children,
|
18
|
+
trigger = externalProps.trigger,
|
19
|
+
props = _objectWithoutPropertiesLoose(externalProps, _excluded);
|
20
|
+
|
21
|
+
var _React$useState = useState(false),
|
22
|
+
open = _React$useState[0],
|
23
|
+
setOpen = _React$useState[1];
|
24
|
+
|
25
|
+
var _React$useState2 = useState(externalAppearance !== null && externalAppearance !== void 0 ? externalAppearance : 'default'),
|
26
|
+
appearance = _React$useState2[0],
|
27
|
+
_setAppearance = _React$useState2[1];
|
28
|
+
|
29
|
+
var _React$useState3 = useState(false),
|
30
|
+
indented = _React$useState3[0],
|
31
|
+
setIndented = _React$useState3[1];
|
32
|
+
|
33
|
+
var _React$useState4 = useState(undefined),
|
34
|
+
minWidth = _React$useState4[0],
|
35
|
+
_setMinWidth = _React$useState4[1];
|
36
|
+
|
37
|
+
var context = useMemo(function () {
|
38
|
+
return {
|
39
|
+
appearance: appearance,
|
40
|
+
setAppearance: function setAppearance(appearance) {
|
41
|
+
return _setAppearance(appearance);
|
42
|
+
},
|
43
|
+
indented: indented,
|
44
|
+
registerIndentation: function registerIndentation() {
|
45
|
+
return setIndented(true);
|
46
|
+
},
|
47
|
+
minWidth: minWidth,
|
48
|
+
setMinWidth: function setMinWidth(width) {
|
49
|
+
return _setMinWidth(width);
|
50
|
+
},
|
51
|
+
close: function close() {
|
52
|
+
return setOpen(false);
|
53
|
+
}
|
54
|
+
};
|
55
|
+
}, [indented, minWidth, appearance]);
|
56
|
+
return createElement(MenuContext.Provider, {
|
57
|
+
value: context
|
58
|
+
}, createElement(Root, Object.assign({}, props, {
|
59
|
+
modal: false,
|
60
|
+
open: open,
|
61
|
+
onOpenChange: setOpen
|
62
|
+
}), trigger && createElement(Trigger, null, trigger), children));
|
63
|
+
};
|
64
|
+
Menu.Trigger = Trigger;
|
65
|
+
Menu.Content = Content;
|
66
|
+
Menu.Item = Item;
|
67
|
+
Menu.Link = Link;
|
68
|
+
Menu.Checkbox = Checkbox;
|
69
|
+
Menu.Separator = Separator;
|
70
|
+
Menu.Header = Header;
|
71
|
+
Menu.RadioGroup = RadioGroup;
|
72
|
+
|
73
|
+
export { Menu };
|
74
|
+
//# sourceMappingURL=Menu.js.map
|
@@ -0,0 +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 } from './components/Content';\nimport { Item } from './components/Item';\nimport { Link } from './components/Link';\nimport { Trigger } from './components/Trigger';\nimport { Checkbox } from './components/Checkbox';\nimport { RadioGroup } from './components/RadioGroup';\nimport { Separator } from './components/Separator';\nimport { Header } from './components/Header';\nimport { Appearance } from '../..';\n\nexport type MenuProps = {\n /** Appearance will change the style of the button */\n appearance?: Appearance;\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};\n\nexport const Menu = (externalProps: MenuProps): JSX.Element => {\n const { appearance: externalAppearance, children, trigger, ...props } = externalProps;\n const [open, setOpen] = React.useState(false);\n const [appearance, setAppearance] = React.useState<Appearance>(externalAppearance ?? 'default');\n const [indented, setIndented] = React.useState(false);\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\n\n const context = React.useMemo(\n () => ({\n appearance,\n setAppearance: (appearance: Appearance) => setAppearance(appearance),\n indented,\n registerIndentation: () => setIndented(true),\n minWidth,\n setMinWidth: (width: number) => setMinWidth(width),\n close: () => setOpen(false),\n }),\n [indented, minWidth, appearance]\n );\n\n return (\n <MenuContext.Provider value={context}>\n <DropdownMenuPrimitive.Root {...props} modal={false} open={open} onOpenChange={setOpen}>\n {trigger && <Trigger>{trigger}</Trigger>}\n {children}\n </DropdownMenuPrimitive.Root>\n </MenuContext.Provider>\n );\n};\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","externalProps","externalAppearance","appearance","children","trigger","props","React","open","setOpen","setAppearance","indented","setIndented","undefined","minWidth","setMinWidth","context","registerIndentation","width","close","MenuContext","Provider","value","DropdownMenuPrimitive","modal","onOpenChange","Trigger","Content","Item","Link","Checkbox","Separator","Header","RadioGroup"],"mappings":";;;;;;;;;;;;;;IAsBaA,IAAI,GAAG,SAAPA,IAAO,CAACC,aAAD;AAChB,MAAoBC,kBAApB,GAAwED,aAAxE,CAAQE,UAAR;AAAA,MAAwCC,QAAxC,GAAwEH,aAAxE,CAAwCG,QAAxC;AAAA,MAAkDC,OAAlD,GAAwEJ,aAAxE,CAAkDI,OAAlD;AAAA,MAA8DC,KAA9D,iCAAwEL,aAAxE;;AACA,wBAAwBM,QAAA,CAAe,KAAf,CAAxB;AAAA,MAAOC,IAAP;AAAA,MAAaC,OAAb;;AACA,yBAAoCF,QAAA,CAA2BL,kBAA3B,aAA2BA,kBAA3B,cAA2BA,kBAA3B,GAAiD,SAAjD,CAApC;AAAA,MAAOC,UAAP;AAAA,MAAmBO,cAAnB;;AACA,yBAAgCH,QAAA,CAAe,KAAf,CAAhC;AAAA,MAAOI,QAAP;AAAA,MAAiBC,WAAjB;;AACA,yBAAgCL,QAAA,CAAmCM,SAAnC,CAAhC;AAAA,MAAOC,QAAP;AAAA,MAAiBC,YAAjB;;AAEA,MAAMC,OAAO,GAAGT,OAAA,CACZ;AAAA,WAAO;AACHJ,MAAAA,UAAU,EAAVA,UADG;AAEHO,MAAAA,aAAa,EAAE,uBAACP,UAAD;AAAA,eAA4BO,cAAa,CAACP,UAAD,CAAzC;AAAA,OAFZ;AAGHQ,MAAAA,QAAQ,EAARA,QAHG;AAIHM,MAAAA,mBAAmB,EAAE;AAAA,eAAML,WAAW,CAAC,IAAD,CAAjB;AAAA,OAJlB;AAKHE,MAAAA,QAAQ,EAARA,QALG;AAMHC,MAAAA,WAAW,EAAE,qBAACG,KAAD;AAAA,eAAmBH,YAAW,CAACG,KAAD,CAA9B;AAAA,OANV;AAOHC,MAAAA,KAAK,EAAE;AAAA,eAAMV,OAAO,CAAC,KAAD,CAAb;AAAA;AAPJ,KAAP;AAAA,GADY,EAUZ,CAACE,QAAD,EAAWG,QAAX,EAAqBX,UAArB,CAVY,CAAhB;AAaA,SACII,aAAA,CAACa,WAAW,CAACC,QAAb;AAAsBC,IAAAA,KAAK,EAAEN;GAA7B,EACIT,aAAA,CAACgB,IAAD,oBAAgCjB;AAAOkB,IAAAA,KAAK,EAAE;AAAOhB,IAAAA,IAAI,EAAEA;AAAMiB,IAAAA,YAAY,EAAEhB;IAA/E,EACKJ,OAAO,IAAIE,aAAA,CAACmB,OAAD,MAAA,EAAUrB,OAAV,CADhB,EAEKD,QAFL,CADJ,CADJ;AAQH;AACDJ,IAAI,CAAC0B,OAAL,GAAeA,OAAf;AACA1B,IAAI,CAAC2B,OAAL,GAAeA,OAAf;AACA3B,IAAI,CAAC4B,IAAL,GAAYA,IAAZ;AACA5B,IAAI,CAAC6B,IAAL,GAAYA,IAAZ;AACA7B,IAAI,CAAC8B,QAAL,GAAgBA,QAAhB;AACA9B,IAAI,CAAC+B,SAAL,GAAiBA,SAAjB;AACA/B,IAAI,CAACgC,MAAL,GAAcA,MAAd;AACAhC,IAAI,CAACiC,UAAL,GAAkBA,UAAlB;;;;"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
+
import { createElement } from 'react';
|
3
|
+
import { Icon } from '../../Icon/Icon.js';
|
4
|
+
import { CheckboxItem, ItemIndicator } from '@radix-ui/react-dropdown-menu';
|
5
|
+
import { useItemStyling } from './Item.js';
|
6
|
+
|
7
|
+
var _excluded = ["checked", "children", "onChange"];
|
8
|
+
var Checkbox = function Checkbox(props) {
|
9
|
+
var checked = props.checked,
|
10
|
+
children = props.children,
|
11
|
+
onChange = props.onChange,
|
12
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
13
|
+
|
14
|
+
var className = useItemStyling({
|
15
|
+
disabled: props.disabled,
|
16
|
+
indented: true,
|
17
|
+
className: props.className
|
18
|
+
});
|
19
|
+
return createElement(CheckboxItem, Object.assign({}, otherProps, {
|
20
|
+
className: className,
|
21
|
+
checked: checked,
|
22
|
+
onCheckedChange: onChange
|
23
|
+
}), createElement(ItemIndicator, {
|
24
|
+
className: "absolute left-0 ml-1.5"
|
25
|
+
}, createElement(Icon, {
|
26
|
+
name: "tick",
|
27
|
+
className: "!h-4 !w-4 -ml-px"
|
28
|
+
})), children);
|
29
|
+
};
|
30
|
+
|
31
|
+
export { Checkbox };
|
32
|
+
//# sourceMappingURL=Checkbox.js.map
|
@@ -0,0 +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 = (props: MenuCheckboxItemProps) => {\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 {...otherProps} className={className} checked={checked} onCheckedChange={onChange}>\n <DropdownMenuPrimitive.ItemIndicator className=\"absolute left-0 ml-1.5\">\n <Icon name=\"tick\" className=\"!h-4 !w-4 -ml-px\" />\n </DropdownMenuPrimitive.ItemIndicator>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n};\n"],"names":["Checkbox","props","checked","children","onChange","otherProps","className","useItemStyling","disabled","indented","React","DropdownMenuPrimitive","onCheckedChange","Icon","name"],"mappings":";;;;;;;IAcaA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD;AACpB,MAAQC,OAAR,GAAuDD,KAAvD,CAAQC,OAAR;AAAA,MAAiBC,QAAjB,GAAuDF,KAAvD,CAAiBE,QAAjB;AAAA,MAA2BC,QAA3B,GAAuDH,KAAvD,CAA2BG,QAA3B;AAAA,MAAwCC,UAAxC,iCAAuDJ,KAAvD;;AACA,MAAMK,SAAS,GAAGC,cAAc,CAAC;AAC7BC,IAAAA,QAAQ,EAAEP,KAAK,CAACO,QADa;AAE7BC,IAAAA,QAAQ,EAAE,IAFmB;AAG7BH,IAAAA,SAAS,EAAEL,KAAK,CAACK;AAHY,GAAD,CAAhC;AAMA,SACII,aAAA,CAACC,YAAD,oBAAwCN;AAAYC,IAAAA,SAAS,EAAEA;AAAWJ,IAAAA,OAAO,EAAEA;AAASU,IAAAA,eAAe,EAAER;IAA7G,EACIM,aAAA,CAACC,aAAD;AAAqCL,IAAAA,SAAS,EAAC;GAA/C,EACII,aAAA,CAACG,IAAD;AAAMC,IAAAA,IAAI,EAAC;AAAOR,IAAAA,SAAS,EAAC;GAA5B,CADJ,CADJ,EAIKH,QAJL,CADJ;AAQH;;;;"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
+
import { forwardRef, createElement } from 'react';
|
3
|
+
import cn from 'classnames';
|
4
|
+
import { useProxiedRef } from '../../../utils/hooks/useProxiedRef.js';
|
5
|
+
import { useCurrentMenu } from '../Context.js';
|
6
|
+
import { Content as Content$1 } from '@radix-ui/react-dropdown-menu';
|
7
|
+
|
8
|
+
var _excluded = ["children", "placement"];
|
9
|
+
|
10
|
+
var getAppearanceClasses = function getAppearanceClasses(appearance) {
|
11
|
+
switch (appearance) {
|
12
|
+
case 'primary':
|
13
|
+
return 'wcag-blue border-blue';
|
14
|
+
|
15
|
+
case 'danger':
|
16
|
+
return 'wcag-red border-red';
|
17
|
+
|
18
|
+
case 'ghost':
|
19
|
+
return 'bg-white text-blue border-blue yt-shadow-blue';
|
20
|
+
|
21
|
+
case 'discrete':
|
22
|
+
return 'wcag-white border-grey yt-shadow';
|
23
|
+
|
24
|
+
case 'default':
|
25
|
+
default:
|
26
|
+
return 'wcag-grey-light border-grey';
|
27
|
+
}
|
28
|
+
};
|
29
|
+
|
30
|
+
var Content = /*#__PURE__*/forwardRef(function MenuContent(props, ref) {
|
31
|
+
var internalRef = useProxiedRef(ref);
|
32
|
+
var menu = useCurrentMenu();
|
33
|
+
|
34
|
+
var children = props.children,
|
35
|
+
side = props.placement,
|
36
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
37
|
+
|
38
|
+
var className = cn('border rounded block outline-none p-1', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance), props.className);
|
39
|
+
return createElement(Content$1, Object.assign({}, otherProps, {
|
40
|
+
align: "start",
|
41
|
+
className: className,
|
42
|
+
"data-taco": "menu",
|
43
|
+
side: side,
|
44
|
+
sideOffset: 2,
|
45
|
+
style: {
|
46
|
+
minWidth: menu === null || menu === void 0 ? void 0 : menu.minWidth
|
47
|
+
},
|
48
|
+
ref: internalRef
|
49
|
+
}), children);
|
50
|
+
});
|
51
|
+
|
52
|
+
export { Content };
|
53
|
+
//# sourceMappingURL=Content.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Content.js","sources":["../../../../../src/components/Menu/components/Content.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { Appearance, Placement } from '../../../types';\nimport { useProxiedRef } from '../../../utils/hooks/useProxiedRef';\nimport { useCurrentMenu } from '../Context';\n\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\n switch (appearance) {\n case 'primary':\n return 'wcag-blue border-blue';\n\n case 'danger':\n return 'wcag-red border-red';\n\n case 'ghost':\n return 'bg-white text-blue border-blue yt-shadow-blue';\n\n case 'discrete':\n return 'wcag-white border-grey yt-shadow';\n\n case 'default':\n default:\n return 'wcag-grey-light border-grey';\n }\n};\n\nexport type MenuContentProps = Omit<DropdownMenuPrimitive.DropdownMenuContentProps, 'children' | 'side'> & {\n children: React.ReactNode;\n /** Set the position of the Menu relative to its trigger. Default value is `bottom` */\n placement?: Placement;\n};\n\nexport const Content = React.forwardRef(function MenuContent(props: MenuContentProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useProxiedRef<any>(ref);\n const menu = useCurrentMenu();\n const { children, placement: side, ...otherProps } = props;\n const className = cn('border rounded block outline-none p-1', getAppearanceClasses(menu?.appearance), props.className);\n\n return (\n <DropdownMenuPrimitive.Content\n {...otherProps}\n align=\"start\"\n className={className}\n data-taco=\"menu\"\n side={side}\n sideOffset={2}\n style={{ minWidth: menu?.minWidth }}\n ref={internalRef}\n >\n {children}\n </DropdownMenuPrimitive.Content>\n );\n});\n"],"names":["getAppearanceClasses","appearance","Content","React","MenuContent","props","ref","internalRef","useProxiedRef","menu","useCurrentMenu","children","side","placement","otherProps","className","cn","DropdownMenuPrimitive","align","sideOffset","style","minWidth"],"mappings":";;;;;;;;;AAOA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,UAAD;AACzB,UAAQA,UAAR;AACI,SAAK,SAAL;AACI,aAAO,uBAAP;;AAEJ,SAAK,QAAL;AACI,aAAO,qBAAP;;AAEJ,SAAK,OAAL;AACI,aAAO,+CAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,kCAAP;;AAEJ,SAAK,SAAL;AACA;AACI,aAAO,6BAAP;AAfR;AAiBH,CAlBD;;IA0BaC,OAAO,gBAAGC,UAAA,CAAiB,SAASC,WAAT,CAAqBC,KAArB,EAA8CC,GAA9C;AACpC,MAAMC,WAAW,GAAGC,aAAa,CAAMF,GAAN,CAAjC;AACA,MAAMG,IAAI,GAAGC,cAAc,EAA3B;;AACA,MAAQC,QAAR,GAAqDN,KAArD,CAAQM,QAAR;AAAA,MAA6BC,IAA7B,GAAqDP,KAArD,CAAkBQ,SAAlB;AAAA,MAAsCC,UAAtC,iCAAqDT,KAArD;;AACA,MAAMU,SAAS,GAAGC,EAAE,CAAC,uCAAD,EAA0ChB,oBAAoB,CAACS,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAER,UAAP,CAA9D,EAAkFI,KAAK,CAACU,SAAxF,CAApB;AAEA,SACIZ,aAAA,CAACc,SAAD,oBACQH;AACJI,IAAAA,KAAK,EAAC;AACNH,IAAAA,SAAS,EAAEA;iBACD;AACVH,IAAAA,IAAI,EAAEA;AACNO,IAAAA,UAAU,EAAE;AACZC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,QAAQ,EAAEZ,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEY;AAAlB;AACPf,IAAAA,GAAG,EAAEC;IART,EAUKI,QAVL,CADJ;AAcH,CApBsB;;;;"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { createElement } from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { useCurrentMenu } from '../Context.js';
|
4
|
+
import { Label } from '@radix-ui/react-dropdown-menu';
|
5
|
+
|
6
|
+
var getAppearanceClasses = function getAppearanceClasses(appearance) {
|
7
|
+
switch (appearance) {
|
8
|
+
case 'primary':
|
9
|
+
return 'text-blue-lighest';
|
10
|
+
|
11
|
+
case 'danger':
|
12
|
+
return 'text-red-lightest';
|
13
|
+
|
14
|
+
case 'ghost':
|
15
|
+
return 'text-blue-light';
|
16
|
+
|
17
|
+
case 'discrete':
|
18
|
+
return 'text-grey-darkest';
|
19
|
+
|
20
|
+
case 'default':
|
21
|
+
default:
|
22
|
+
return 'text-grey-darkest';
|
23
|
+
}
|
24
|
+
};
|
25
|
+
|
26
|
+
var Header = function Header(props) {
|
27
|
+
var menu = useCurrentMenu();
|
28
|
+
var className = cn('flex items-center justify-start h-6 pr-1.5 text-xs', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance), {
|
29
|
+
'pl-7': menu === null || menu === void 0 ? void 0 : menu.indented,
|
30
|
+
'pl-1.5': !(menu !== null && menu !== void 0 && menu.indented)
|
31
|
+
}, props.className);
|
32
|
+
return createElement(Label, Object.assign({}, props, {
|
33
|
+
className: className
|
34
|
+
}));
|
35
|
+
};
|
36
|
+
|
37
|
+
export { Header };
|
38
|
+
//# sourceMappingURL=Header.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Header.js","sources":["../../../../../src/components/Menu/components/Header.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { useCurrentMenu } from '../Context';\nimport { Appearance } from '../../../types';\n\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\n switch (appearance) {\n case 'primary':\n return 'text-blue-lighest';\n\n case 'danger':\n return 'text-red-lightest';\n\n case 'ghost':\n return 'text-blue-light';\n\n case 'discrete':\n return 'text-grey-darkest';\n\n case 'default':\n default:\n return 'text-grey-darkest';\n }\n};\n\nexport type MenuHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const Header = (props: MenuHeaderProps) => {\n const menu = useCurrentMenu();\n const className = cn(\n 'flex items-center justify-start h-6 pr-1.5 text-xs',\n getAppearanceClasses(menu?.appearance),\n {\n 'pl-7': menu?.indented,\n 'pl-1.5': !menu?.indented,\n },\n props.className\n );\n\n return <DropdownMenuPrimitive.Label {...props} className={className} />;\n};\n"],"names":["getAppearanceClasses","appearance","Header","props","menu","useCurrentMenu","className","cn","indented","React","DropdownMenuPrimitive"],"mappings":";;;;;AAMA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,UAAD;AACzB,UAAQA,UAAR;AACI,SAAK,SAAL;AACI,aAAO,mBAAP;;AAEJ,SAAK,QAAL;AACI,aAAO,mBAAP;;AAEJ,SAAK,OAAL;AACI,aAAO,iBAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,mBAAP;;AAEJ,SAAK,SAAL;AACA;AACI,aAAO,mBAAP;AAfR;AAiBH,CAlBD;;IAsBaC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAClB,MAAMC,IAAI,GAAGC,cAAc,EAA3B;AACA,MAAMC,SAAS,GAAGC,EAAE,CAChB,oDADgB,EAEhBP,oBAAoB,CAACI,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEH,UAAP,CAFJ,EAGhB;AACI,YAAQG,IAAR,aAAQA,IAAR,uBAAQA,IAAI,CAAEI,QADlB;AAEI,cAAU,EAACJ,IAAD,aAACA,IAAD,eAACA,IAAI,CAAEI,QAAP;AAFd,GAHgB,EAOhBL,KAAK,CAACG,SAPU,CAApB;AAUA,SAAOG,aAAA,CAACC,KAAD,oBAAiCP;AAAOG,IAAAA,SAAS,EAAEA;IAAnD,CAAP;AACH;;;;"}
|
@@ -0,0 +1,141 @@
|
|
1
|
+
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
+
import { forwardRef, createElement, useEffect } from 'react';
|
3
|
+
import cn from 'classnames';
|
4
|
+
import { Icon as Icon$1 } from '../../Icon/Icon.js';
|
5
|
+
import { useCurrentMenu } from '../Context.js';
|
6
|
+
import { Item as Item$1 } from '@radix-ui/react-dropdown-menu';
|
7
|
+
|
8
|
+
var _excluded = ["dialog", "icon", "onClick", "shortcut"];
|
9
|
+
var Icon = function Icon(_ref) {
|
10
|
+
var name = _ref.name;
|
11
|
+
return createElement("span", {
|
12
|
+
className: "absolute left-0 ml-1"
|
13
|
+
}, createElement(Icon$1, {
|
14
|
+
className: "-ml-px -mt-px !h-5 !w-5",
|
15
|
+
name: name
|
16
|
+
}));
|
17
|
+
};
|
18
|
+
|
19
|
+
var getAppearanceClasses = function getAppearanceClasses(appearance) {
|
20
|
+
switch (appearance) {
|
21
|
+
case 'primary':
|
22
|
+
return 'wcag-blue aria-disabled:text-blue-dark hover:wcag-blue-light focus:wcag-blue-light';
|
23
|
+
|
24
|
+
case 'danger':
|
25
|
+
return 'wcag-red aria-disabled:text-red-dark hover:wcag-red-light focus:wcag-red-light';
|
26
|
+
|
27
|
+
case 'ghost':
|
28
|
+
return 'text-blue aria-disabled:text-grey hover:wcag-blue focus:wcag-blue';
|
29
|
+
|
30
|
+
case 'discrete':
|
31
|
+
return 'text-black aria-disabled:text-grey hover:wcag-blue-lightest focus:wcag-blue-lightest';
|
32
|
+
|
33
|
+
case 'default':
|
34
|
+
default:
|
35
|
+
return 'wcag-grey-light aria-disabled:text-grey-darker hover:wcag-grey-dark focus:wcag-grey-dark';
|
36
|
+
}
|
37
|
+
};
|
38
|
+
|
39
|
+
var useItemStyling = function useItemStyling(_ref2) {
|
40
|
+
var disabled = _ref2.disabled,
|
41
|
+
indented = _ref2.indented,
|
42
|
+
className = _ref2.className;
|
43
|
+
var menu = useCurrentMenu();
|
44
|
+
useEffect(function () {
|
45
|
+
if (indented && !(menu !== null && menu !== void 0 && menu.indented)) {
|
46
|
+
menu === null || menu === void 0 ? void 0 : menu.registerIndentation();
|
47
|
+
}
|
48
|
+
}, [indented]);
|
49
|
+
return cn('flex items-center justify-start h-7 pr-1.5 relative rounded w-full focus:outline-none group', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance), {
|
50
|
+
'pl-7': menu === null || menu === void 0 ? void 0 : menu.indented,
|
51
|
+
'pl-1.5': !(menu !== null && menu !== void 0 && menu.indented),
|
52
|
+
'cursor-pointer': !disabled,
|
53
|
+
'cursor-not-allowed': disabled
|
54
|
+
}, className);
|
55
|
+
};
|
56
|
+
var Shortcut = function Shortcut(props) {
|
57
|
+
var menu = useCurrentMenu();
|
58
|
+
var appearance;
|
59
|
+
|
60
|
+
switch (menu === null || menu === void 0 ? void 0 : menu.appearance) {
|
61
|
+
case 'primary':
|
62
|
+
appearance = 'text-blue-lightest group-focus:text-black';
|
63
|
+
break;
|
64
|
+
|
65
|
+
case 'danger':
|
66
|
+
appearance = 'text-red-lightest group-focus:text-white';
|
67
|
+
break;
|
68
|
+
|
69
|
+
case 'ghost':
|
70
|
+
appearance = 'text-blue-light group-focus:text-blue-lightest';
|
71
|
+
break;
|
72
|
+
|
73
|
+
case 'discrete':
|
74
|
+
appearance = 'text-grey-darker group-focus:text-blue-light';
|
75
|
+
break;
|
76
|
+
|
77
|
+
case 'default':
|
78
|
+
default:
|
79
|
+
appearance = 'text-grey-darkest';
|
80
|
+
break;
|
81
|
+
}
|
82
|
+
|
83
|
+
var className = cn('ml-auto pl-3', appearance);
|
84
|
+
return createElement("span", Object.assign({}, props, {
|
85
|
+
className: className
|
86
|
+
}));
|
87
|
+
};
|
88
|
+
var Item = /*#__PURE__*/forwardRef(function MenuItem(props, ref) {
|
89
|
+
var _props$disabled;
|
90
|
+
|
91
|
+
var dialog = props.dialog,
|
92
|
+
icon = props.icon,
|
93
|
+
onClick = props.onClick,
|
94
|
+
shortcut = props.shortcut,
|
95
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
96
|
+
|
97
|
+
var className = useItemStyling({
|
98
|
+
disabled: props.disabled,
|
99
|
+
indented: !!icon,
|
100
|
+
className: props.className
|
101
|
+
});
|
102
|
+
var disabled = (_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : props['aria-disabled'];
|
103
|
+
var handleClick; // radix has a bug that does not disable clicks when disabled is set on items
|
104
|
+
|
105
|
+
if (disabled) {
|
106
|
+
handleClick = function handleClick(event) {
|
107
|
+
event.preventDefault();
|
108
|
+
event.stopPropagation();
|
109
|
+
};
|
110
|
+
}
|
111
|
+
|
112
|
+
var handleSelect = function handleSelect(event) {
|
113
|
+
if (onClick) {
|
114
|
+
onClick(event);
|
115
|
+
}
|
116
|
+
|
117
|
+
if (props['aria-haspopup'] || typeof dialog === 'function') {
|
118
|
+
event.preventDefault();
|
119
|
+
}
|
120
|
+
};
|
121
|
+
|
122
|
+
var button = createElement(Item$1, Object.assign({}, otherProps, {
|
123
|
+
className: className,
|
124
|
+
onClick: handleClick,
|
125
|
+
onSelect: handleSelect,
|
126
|
+
ref: ref
|
127
|
+
}), icon && createElement(Icon, {
|
128
|
+
name: icon
|
129
|
+
}), props.children, shortcut && createElement(Shortcut, null, shortcut));
|
130
|
+
|
131
|
+
if (typeof dialog === 'function') {
|
132
|
+
button = dialog({
|
133
|
+
trigger: button
|
134
|
+
});
|
135
|
+
}
|
136
|
+
|
137
|
+
return button;
|
138
|
+
});
|
139
|
+
|
140
|
+
export { Icon, Item, Shortcut, useItemStyling };
|
141
|
+
//# sourceMappingURL=Item.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Item.js","sources":["../../../../../src/components/Menu/components/Item.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { IconName } from '../../Icon/Icon';\nimport { Icon as IconPrimitive } from '../../Icon/Icon';\nimport { useCurrentMenu } from '../Context';\nimport { Appearance } from '../../../types';\nimport { DialogProps } from '../../Dialog/Dialog';\n\nexport const Icon = ({ name }) => (\n <span className=\"absolute left-0 ml-1\">\n <IconPrimitive className=\"-ml-px -mt-px !h-5 !w-5\" name={name} />\n </span>\n);\n\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\n switch (appearance) {\n case 'primary':\n return 'wcag-blue aria-disabled:text-blue-dark hover:wcag-blue-light focus:wcag-blue-light';\n\n case 'danger':\n return 'wcag-red aria-disabled:text-red-dark hover:wcag-red-light focus:wcag-red-light';\n\n case 'ghost':\n return 'text-blue aria-disabled:text-grey hover:wcag-blue focus:wcag-blue';\n\n case 'discrete':\n return 'text-black aria-disabled:text-grey hover:wcag-blue-lightest focus:wcag-blue-lightest';\n\n case 'default':\n default:\n return 'wcag-grey-light aria-disabled:text-grey-darker hover:wcag-grey-dark focus:wcag-grey-dark';\n }\n};\n\nexport const useItemStyling = ({ disabled, indented, className }) => {\n const menu = useCurrentMenu();\n\n React.useEffect(() => {\n if (indented && !menu?.indented) {\n menu?.registerIndentation();\n }\n }, [indented]);\n\n return cn(\n 'flex items-center justify-start h-7 pr-1.5 relative rounded w-full focus:outline-none group',\n getAppearanceClasses(menu?.appearance),\n {\n 'pl-7': menu?.indented,\n 'pl-1.5': !menu?.indented,\n 'cursor-pointer': !disabled,\n 'cursor-not-allowed': disabled,\n },\n className\n );\n};\n\nexport const Shortcut = props => {\n const menu = useCurrentMenu();\n let appearance;\n\n switch (menu?.appearance) {\n case 'primary':\n appearance = 'text-blue-lightest group-focus:text-black';\n break;\n\n case 'danger':\n appearance = 'text-red-lightest group-focus:text-white';\n break;\n\n case 'ghost':\n appearance = 'text-blue-light group-focus:text-blue-lightest';\n break;\n\n case 'discrete':\n appearance = 'text-grey-darker group-focus:text-blue-light';\n break;\n\n case 'default':\n default:\n appearance = 'text-grey-darkest';\n break;\n }\n\n const className = cn('ml-auto pl-3', appearance);\n\n return <span {...props} className={className} />;\n};\n\nexport type MenuItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n dialog?: (props: Partial<DialogProps>) => JSX.Element;\n disabled?: boolean;\n icon?: IconName;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n shortcut?: string;\n};\n\nexport const Item = React.forwardRef(function MenuItem(props: MenuItemProps, ref: React.Ref<HTMLDivElement>) {\n const { dialog, icon, onClick, shortcut, ...otherProps } = props;\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const disabled = props.disabled ?? props['aria-disabled'];\n\n let handleClick;\n\n // radix has a bug that does not disable clicks when disabled is set on items\n if (disabled) {\n handleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n };\n }\n\n const handleSelect = event => {\n if (onClick) {\n onClick(event);\n }\n\n if (props['aria-haspopup'] || typeof dialog === 'function') {\n event.preventDefault();\n }\n };\n\n let button = (\n <DropdownMenuPrimitive.Item {...otherProps} className={className} onClick={handleClick} onSelect={handleSelect} ref={ref}>\n {icon && <Icon name={icon} />}\n {props.children}\n {shortcut && <Shortcut>{shortcut}</Shortcut>}\n </DropdownMenuPrimitive.Item>\n );\n\n if (typeof dialog === 'function') {\n button = dialog({ trigger: button });\n }\n\n return button;\n});\n"],"names":["Icon","name","React","className","IconPrimitive","getAppearanceClasses","appearance","useItemStyling","disabled","indented","menu","useCurrentMenu","registerIndentation","cn","Shortcut","props","Item","MenuItem","ref","dialog","icon","onClick","shortcut","otherProps","handleClick","event","preventDefault","stopPropagation","handleSelect","button","DropdownMenuPrimitive","onSelect","children","trigger"],"mappings":"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"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
+
import { forwardRef, createElement } from 'react';
|
3
|
+
import { useCurrentMenu } from '../Context.js';
|
4
|
+
import { Item } from '@radix-ui/react-dropdown-menu';
|
5
|
+
import { useItemStyling, Icon } from './Item.js';
|
6
|
+
|
7
|
+
var _excluded = ["href", "icon", "onClick"];
|
8
|
+
var Link = /*#__PURE__*/forwardRef(function MenuLink(props, ref) {
|
9
|
+
var href = props.href,
|
10
|
+
icon = props.icon,
|
11
|
+
onClick = props.onClick,
|
12
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
13
|
+
|
14
|
+
var menu = useCurrentMenu();
|
15
|
+
var className = useItemStyling({
|
16
|
+
disabled: props.disabled,
|
17
|
+
indented: !!icon,
|
18
|
+
className: props.className
|
19
|
+
});
|
20
|
+
|
21
|
+
var handleClick = function handleClick(event) {
|
22
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
23
|
+
menu === null || menu === void 0 ? void 0 : menu.close();
|
24
|
+
};
|
25
|
+
|
26
|
+
return createElement(Item, Object.assign({}, otherProps, {
|
27
|
+
asChild: true,
|
28
|
+
className: className,
|
29
|
+
ref: ref,
|
30
|
+
onClick: handleClick
|
31
|
+
}), createElement("a", {
|
32
|
+
href: href,
|
33
|
+
target: "_blank"
|
34
|
+
}, icon && createElement(Icon, {
|
35
|
+
name: icon
|
36
|
+
}), props.children));
|
37
|
+
});
|
38
|
+
|
39
|
+
export { Link };
|
40
|
+
//# sourceMappingURL=Link.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Link.js","sources":["../../../../../src/components/Menu/components/Link.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { IconName } from '../../Icon/Icon';\nimport { Icon, useItemStyling } from './Item';\nimport { useCurrentMenu } from '../Context';\n\nexport type MenuLinkItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n disabled?: boolean;\n icon?: IconName;\n href: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n};\n\nexport const Link = React.forwardRef(function MenuLink(props: MenuLinkItemProps, ref: React.Ref<HTMLDivElement>) {\n const { href, icon, onClick, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = event => {\n onClick?.(event);\n menu?.close();\n };\n\n return (\n <DropdownMenuPrimitive.Item {...otherProps} asChild className={className} ref={ref} onClick={handleClick}>\n <a href={href} target=\"_blank\">\n {icon && <Icon name={icon} />}\n {props.children}\n </a>\n </DropdownMenuPrimitive.Item>\n );\n});\n"],"names":["Link","React","MenuLink","props","ref","href","icon","onClick","otherProps","menu","useCurrentMenu","className","useItemStyling","disabled","indented","handleClick","event","close","DropdownMenuPrimitive","asChild","target","Icon","name","children"],"mappings":";;;;;;;IAaaA,IAAI,gBAAGC,UAAA,CAAiB,SAASC,QAAT,CAAkBC,KAAlB,EAA4CC,GAA5C;AACjC,MAAQC,IAAR,GAA+CF,KAA/C,CAAQE,IAAR;AAAA,MAAcC,IAAd,GAA+CH,KAA/C,CAAcG,IAAd;AAAA,MAAoBC,OAApB,GAA+CJ,KAA/C,CAAoBI,OAApB;AAAA,MAAgCC,UAAhC,iCAA+CL,KAA/C;;AACA,MAAMM,IAAI,GAAGC,cAAc,EAA3B;AAEA,MAAMC,SAAS,GAAGC,cAAc,CAAC;AAC7BC,IAAAA,QAAQ,EAAEV,KAAK,CAACU,QADa;AAE7BC,IAAAA,QAAQ,EAAE,CAAC,CAACR,IAFiB;AAG7BK,IAAAA,SAAS,EAAER,KAAK,CAACQ;AAHY,GAAD,CAAhC;;AAMA,MAAMI,WAAW,GAA4C,SAAvDA,WAAuD,CAAAC,KAAK;AAC9DT,IAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGS,KAAH,CAAP;AACAP,IAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEQ,KAAN;AACH,GAHD;;AAKA,SACIhB,aAAA,CAACiB,IAAD,oBAAgCV;AAAYW,IAAAA,OAAO;AAACR,IAAAA,SAAS,EAAEA;AAAWP,IAAAA,GAAG,EAAEA;AAAKG,IAAAA,OAAO,EAAEQ;IAA7F,EACId,aAAA,IAAA;AAAGI,IAAAA,IAAI,EAAEA;AAAMe,IAAAA,MAAM,EAAC;GAAtB,EACKd,IAAI,IAAIL,aAAA,CAACoB,IAAD;AAAMC,IAAAA,IAAI,EAAEhB;GAAZ,CADb,EAEKH,KAAK,CAACoB,QAFX,CADJ,CADJ;AAQH,CAvBmB;;;;"}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
+
import { createElement, useContext, createContext } from 'react';
|
3
|
+
import cn from 'classnames';
|
4
|
+
import { RadioGroup as RadioGroup$1, RadioItem as RadioItem$1, ItemIndicator } from '@radix-ui/react-dropdown-menu';
|
5
|
+
import { useItemStyling } from './Item.js';
|
6
|
+
import { useRadioGroup, getRadioGroupItemValueAsString } from '../../RadioGroup/RadioGroup.js';
|
7
|
+
|
8
|
+
var _excluded = ["children", "value"];
|
9
|
+
var RadioItem = function RadioItem(props) {
|
10
|
+
var context = useContext(MenuRadioGroupContext);
|
11
|
+
|
12
|
+
var children = props.children,
|
13
|
+
value = props.value,
|
14
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
15
|
+
|
16
|
+
var disabled = context.disabled || props.disabled;
|
17
|
+
var className = useItemStyling({
|
18
|
+
disabled: disabled,
|
19
|
+
indented: true,
|
20
|
+
className: props.className
|
21
|
+
});
|
22
|
+
return createElement(RadioItem$1, Object.assign({}, otherProps, {
|
23
|
+
className: className,
|
24
|
+
disabled: disabled,
|
25
|
+
value: getRadioGroupItemValueAsString(value)
|
26
|
+
}), createElement(ItemIndicator, {
|
27
|
+
className: "absolute left-0 ml-1.5"
|
28
|
+
}, createElement("span", {
|
29
|
+
className: "flex h-1.5 w-1.5 ml-1 rounded-full bg-current "
|
30
|
+
})), children);
|
31
|
+
};
|
32
|
+
var MenuRadioGroupContext = /*#__PURE__*/createContext({
|
33
|
+
disabled: false
|
34
|
+
});
|
35
|
+
var RadioGroup = function RadioGroup(props) {
|
36
|
+
var _useRadioGroup = useRadioGroup(props),
|
37
|
+
context = _useRadioGroup.context,
|
38
|
+
otherProps = _useRadioGroup.props;
|
39
|
+
|
40
|
+
var className = cn('flex flex-col', props.className);
|
41
|
+
return createElement(MenuRadioGroupContext.Provider, {
|
42
|
+
value: context
|
43
|
+
}, createElement(RadioGroup$1, Object.assign({}, otherProps, {
|
44
|
+
className: className
|
45
|
+
})));
|
46
|
+
};
|
47
|
+
RadioGroup.Item = RadioItem;
|
48
|
+
|
49
|
+
export { RadioGroup, RadioItem };
|
50
|
+
//# sourceMappingURL=RadioGroup.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"RadioGroup.js","sources":["../../../../../src/components/Menu/components/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { getRadioGroupItemValueAsString, RadioGroupItemProps, RadioGroupProps, useRadioGroup } from '../../RadioGroup/RadioGroup';\nimport { useItemStyling } from './Item';\n\nexport type MenuRadioGroupItemProps = RadioGroupItemProps<HTMLDivElement>;\n\nexport const RadioItem = (props: MenuRadioGroupItemProps) => {\n const context = React.useContext(MenuRadioGroupContext);\n const { children, value, ...otherProps } = props;\n const disabled = context.disabled || props.disabled;\n const className = useItemStyling({\n disabled: disabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <DropdownMenuPrimitive.RadioItem\n {...otherProps}\n className={className}\n disabled={disabled}\n value={getRadioGroupItemValueAsString(value)}\n >\n <DropdownMenuPrimitive.ItemIndicator className=\"absolute left-0 ml-1.5\">\n <span className=\"flex h-1.5 w-1.5 ml-1 rounded-full bg-current \" />\n </DropdownMenuPrimitive.ItemIndicator>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n};\n\nconst MenuRadioGroupContext = React.createContext({ disabled: false });\n\nexport type MenuRadioGroupProps = RadioGroupProps;\n\nexport const RadioGroup = (props: MenuRadioGroupProps) => {\n const { context, props: otherProps } = useRadioGroup(props);\n const className = cn('flex flex-col', props.className);\n\n return (\n <MenuRadioGroupContext.Provider value={context}>\n <DropdownMenuPrimitive.RadioGroup {...otherProps} className={className} />\n </MenuRadioGroupContext.Provider>\n );\n};\nRadioGroup.Item = RadioItem;\n"],"names":["RadioItem","props","context","React","MenuRadioGroupContext","children","value","otherProps","disabled","className","useItemStyling","indented","DropdownMenuPrimitive","getRadioGroupItemValueAsString","RadioGroup","useRadioGroup","cn","Provider","Item"],"mappings":";;;;;;;;IAQaA,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD;AACrB,MAAMC,OAAO,GAAGC,UAAA,CAAiBC,qBAAjB,CAAhB;;AACA,MAAQC,QAAR,GAA2CJ,KAA3C,CAAQI,QAAR;AAAA,MAAkBC,KAAlB,GAA2CL,KAA3C,CAAkBK,KAAlB;AAAA,MAA4BC,UAA5B,iCAA2CN,KAA3C;;AACA,MAAMO,QAAQ,GAAGN,OAAO,CAACM,QAAR,IAAoBP,KAAK,CAACO,QAA3C;AACA,MAAMC,SAAS,GAAGC,cAAc,CAAC;AAC7BF,IAAAA,QAAQ,EAAEA,QADmB;AAE7BG,IAAAA,QAAQ,EAAE,IAFmB;AAG7BF,IAAAA,SAAS,EAAER,KAAK,CAACQ;AAHY,GAAD,CAAhC;AAMA,SACIN,aAAA,CAACS,WAAD,oBACQL;AACJE,IAAAA,SAAS,EAAEA;AACXD,IAAAA,QAAQ,EAAEA;AACVF,IAAAA,KAAK,EAAEO,8BAA8B,CAACP,KAAD;IAJzC,EAMIH,aAAA,CAACS,aAAD;AAAqCH,IAAAA,SAAS,EAAC;GAA/C,EACIN,aAAA,OAAA;AAAMM,IAAAA,SAAS,EAAC;GAAhB,CADJ,CANJ,EASKJ,QATL,CADJ;AAaH;AAED,IAAMD,qBAAqB,gBAAGD,aAAA,CAAoB;AAAEK,EAAAA,QAAQ,EAAE;AAAZ,CAApB,CAA9B;IAIaM,UAAU,GAAG,SAAbA,UAAa,CAACb,KAAD;AACtB,uBAAuCc,aAAa,CAACd,KAAD,CAApD;AAAA,MAAQC,OAAR,kBAAQA,OAAR;AAAA,MAAwBK,UAAxB,kBAAiBN,KAAjB;;AACA,MAAMQ,SAAS,GAAGO,EAAE,CAAC,eAAD,EAAkBf,KAAK,CAACQ,SAAxB,CAApB;AAEA,SACIN,aAAA,CAACC,qBAAqB,CAACa,QAAvB;AAAgCX,IAAAA,KAAK,EAAEJ;GAAvC,EACIC,aAAA,CAACS,YAAD,oBAAsCL;AAAYE,IAAAA,SAAS,EAAEA;IAA7D,CADJ,CADJ;AAKH;AACDK,UAAU,CAACI,IAAX,GAAkBlB,SAAlB;;;;"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { createElement } from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { useCurrentMenu } from '../Context.js';
|
4
|
+
import { Separator as Separator$1 } from '@radix-ui/react-dropdown-menu';
|
5
|
+
|
6
|
+
var getAppearanceClasses = function getAppearanceClasses(appearance) {
|
7
|
+
switch (appearance) {
|
8
|
+
case 'primary':
|
9
|
+
return 'bg-blue-lighe';
|
10
|
+
|
11
|
+
case 'danger':
|
12
|
+
return 'bg-red-light';
|
13
|
+
|
14
|
+
case 'ghost':
|
15
|
+
return 'bg-blue-light';
|
16
|
+
|
17
|
+
case 'discrete':
|
18
|
+
return 'bg-grey-dark';
|
19
|
+
|
20
|
+
case 'default':
|
21
|
+
default:
|
22
|
+
return 'bg-grey-dark';
|
23
|
+
}
|
24
|
+
};
|
25
|
+
|
26
|
+
var Separator = function Separator() {
|
27
|
+
var menu = useCurrentMenu();
|
28
|
+
var className = cn('h-px my-1', getAppearanceClasses(menu === null || menu === void 0 ? void 0 : menu.appearance));
|
29
|
+
return createElement(Separator$1, {
|
30
|
+
className: className
|
31
|
+
});
|
32
|
+
};
|
33
|
+
|
34
|
+
export { Separator };
|
35
|
+
//# sourceMappingURL=Separator.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Separator.js","sources":["../../../../../src/components/Menu/components/Separator.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport cn from 'classnames';\nimport { useCurrentMenu } from '../Context';\nimport { Appearance } from '../../../types';\n\nconst getAppearanceClasses = (appearance: Appearance | undefined) => {\n switch (appearance) {\n case 'primary':\n return 'bg-blue-lighe';\n\n case 'danger':\n return 'bg-red-light';\n\n case 'ghost':\n return 'bg-blue-light';\n\n case 'discrete':\n return 'bg-grey-dark';\n\n case 'default':\n default:\n return 'bg-grey-dark';\n }\n};\n\nexport const Separator = () => {\n const menu = useCurrentMenu();\n const className = cn('h-px my-1', getAppearanceClasses(menu?.appearance));\n\n return <DropdownMenuPrimitive.Separator className={className} />;\n};\n"],"names":["getAppearanceClasses","appearance","Separator","menu","useCurrentMenu","className","cn","React","DropdownMenuPrimitive"],"mappings":";;;;;AAMA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,UAAD;AACzB,UAAQA,UAAR;AACI,SAAK,SAAL;AACI,aAAO,eAAP;;AAEJ,SAAK,QAAL;AACI,aAAO,cAAP;;AAEJ,SAAK,OAAL;AACI,aAAO,eAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,cAAP;;AAEJ,SAAK,SAAL;AACA;AACI,aAAO,cAAP;AAfR;AAiBH,CAlBD;;IAoBaC,SAAS,GAAG,SAAZA,SAAY;AACrB,MAAMC,IAAI,GAAGC,cAAc,EAA3B;AACA,MAAMC,SAAS,GAAGC,EAAE,CAAC,YAAD,EAAeN,oBAAoB,CAACG,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEF,UAAP,CAAnC,CAApB;AAEA,SAAOM,aAAA,CAACC,WAAD;AAAiCH,IAAAA,SAAS,EAAEA;GAA5C,CAAP;AACH;;;;"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { forwardRef, useEffect, createElement } from 'react';
|
2
|
+
import { useProxiedRef } from '../../../utils/hooks/useProxiedRef.js';
|
3
|
+
import { useCurrentMenu } from '../Context.js';
|
4
|
+
import { Trigger as Trigger$1 } from '@radix-ui/react-dropdown-menu';
|
5
|
+
|
6
|
+
var Trigger = /*#__PURE__*/forwardRef(function MenuTrigger(props, ref) {
|
7
|
+
var _props$children3, _props$children3$prop;
|
8
|
+
|
9
|
+
var menu = useCurrentMenu();
|
10
|
+
var internalRef = useProxiedRef(ref);
|
11
|
+
useEffect(function () {
|
12
|
+
if (internalRef.current) {
|
13
|
+
menu === null || menu === void 0 ? void 0 : menu.setMinWidth(internalRef.current.getBoundingClientRect().width);
|
14
|
+
}
|
15
|
+
}, [internalRef]); // set the appearance based on the trigger button
|
16
|
+
|
17
|
+
useEffect(function () {
|
18
|
+
var _props$children, _props$children$props;
|
19
|
+
|
20
|
+
if ((_props$children = props.children) !== null && _props$children !== void 0 && (_props$children$props = _props$children.props) !== null && _props$children$props !== void 0 && _props$children$props.appearance) {
|
21
|
+
var _props$children2, _props$children2$prop;
|
22
|
+
|
23
|
+
menu === null || menu === void 0 ? void 0 : menu.setAppearance((_props$children2 = props.children) === null || _props$children2 === void 0 ? void 0 : (_props$children2$prop = _props$children2.props) === null || _props$children2$prop === void 0 ? void 0 : _props$children2$prop.appearance);
|
24
|
+
}
|
25
|
+
}, [(_props$children3 = props.children) === null || _props$children3 === void 0 ? void 0 : (_props$children3$prop = _props$children3.props) === null || _props$children3$prop === void 0 ? void 0 : _props$children3$prop.appearance]);
|
26
|
+
return createElement(Trigger$1, Object.assign({}, props, {
|
27
|
+
asChild: true,
|
28
|
+
ref: internalRef
|
29
|
+
}));
|
30
|
+
});
|
31
|
+
|
32
|
+
export { Trigger };
|
33
|
+
//# sourceMappingURL=Trigger.js.map
|