@mrshmllw/smores-react 10.7.0-crumbs-feature-vite-bundling.2 → 10.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/Accordion.js +49 -0
- package/dist/Accordion/Accordion.js.map +1 -0
- package/dist/Accordion/index.js +2 -0
- package/dist/Accordion/index.js.map +1 -0
- package/dist/ActionDropdown/ActionDropdown.js +61 -0
- package/dist/ActionDropdown/ActionDropdown.js.map +1 -0
- package/dist/ActionDropdown/List.js +30 -0
- package/dist/ActionDropdown/List.js.map +1 -0
- package/dist/ActionDropdown/index.js +2 -0
- package/dist/ActionDropdown/index.js.map +1 -0
- package/dist/Badge/Badge.d.ts +2 -2
- package/dist/Badge/Badge.js +44 -0
- package/dist/Badge/Badge.js.map +1 -0
- package/dist/Badge/BadgeFallbackImage.d.ts +1 -1
- package/dist/Badge/BadgeFallbackImage.js +24 -0
- package/dist/Badge/BadgeFallbackImage.js.map +1 -0
- package/dist/Badge/index.d.ts +1 -1
- package/dist/Badge/index.js +2 -0
- package/dist/Badge/index.js.map +1 -0
- package/dist/BadgeList/BadgeList.d.ts +3 -3
- package/dist/BadgeList/BadgeList.js +77 -0
- package/dist/BadgeList/BadgeList.js.map +1 -0
- package/dist/BadgeList/index.d.ts +1 -1
- package/dist/BadgeList/index.js +2 -0
- package/dist/BadgeList/index.js.map +1 -0
- package/dist/Banner/BannerContainer.d.ts +1 -1
- package/dist/Banner/BannerContainer.js +43 -0
- package/dist/Banner/BannerContainer.js.map +1 -0
- package/dist/Banner/BannerItem.js +64 -0
- package/dist/Banner/BannerItem.js.map +1 -0
- package/dist/Banner/hooks.d.ts +1 -1
- package/dist/Banner/hooks.js +6 -0
- package/dist/Banner/hooks.js.map +1 -0
- package/dist/Banner/index.js +3 -0
- package/dist/Banner/index.js.map +1 -0
- package/dist/Banner/types.js +2 -0
- package/dist/Banner/types.js.map +1 -0
- package/dist/Box/Box.d.ts +2 -2
- package/dist/Box/Box.js +17 -0
- package/dist/Box/Box.js.map +1 -0
- package/dist/Box/index.js +2 -0
- package/dist/Box/index.js.map +1 -0
- package/dist/BrandCard/BrandCard.js +48 -0
- package/dist/BrandCard/BrandCard.js.map +1 -0
- package/dist/BrandCard/index.js +2 -0
- package/dist/BrandCard/index.js.map +1 -0
- package/dist/Button/Button.d.ts +1 -1
- package/dist/Button/Button.js +122 -0
- package/dist/Button/Button.js.map +1 -0
- package/dist/Button/index.js +2 -0
- package/dist/Button/index.js.map +1 -0
- package/dist/Card/Card.js +72 -0
- package/dist/Card/Card.js.map +1 -0
- package/dist/Card/index.js +2 -0
- package/dist/Card/index.js.map +1 -0
- package/dist/CheckBox/CheckBox.d.ts +1 -1
- package/dist/CheckBox/CheckBox.js +107 -0
- package/dist/CheckBox/CheckBox.js.map +1 -0
- package/dist/CheckBox/index.js +2 -0
- package/dist/CheckBox/index.js.map +1 -0
- package/dist/CheckBoxGroup/CheckBoxGroup.js +11 -0
- package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -0
- package/dist/CheckBoxGroup/index.js +2 -0
- package/dist/CheckBoxGroup/index.js.map +1 -0
- package/dist/Chip/Chip.d.ts +1 -1
- package/dist/Chip/Chip.js +53 -0
- package/dist/Chip/Chip.js.map +1 -0
- package/dist/Chip/index.js +2 -0
- package/dist/Chip/index.js.map +1 -0
- package/dist/CurrencyInput/CurrencyInput.d.ts +1 -1
- package/dist/CurrencyInput/CurrencyInput.js +51 -0
- package/dist/CurrencyInput/CurrencyInput.js.map +1 -0
- package/dist/CurrencyInput/index.js +2 -0
- package/dist/CurrencyInput/index.js.map +1 -0
- package/dist/Datepicker/Datepicker.js +133 -0
- package/dist/Datepicker/Datepicker.js.map +1 -0
- package/dist/Datepicker/DatesList.js +77 -0
- package/dist/Datepicker/DatesList.js.map +1 -0
- package/dist/Datepicker/index.js +2 -0
- package/dist/Datepicker/index.js.map +1 -0
- package/dist/Datepicker/types.js +2 -0
- package/dist/Datepicker/types.js.map +1 -0
- package/dist/Divider/Divider.js +18 -0
- package/dist/Divider/Divider.js.map +1 -0
- package/dist/Divider/index.js +2 -0
- package/dist/Divider/index.js.map +1 -0
- package/dist/Dropdown/Dropdown.d.ts +1 -1
- package/dist/Dropdown/Dropdown.js +98 -0
- package/dist/Dropdown/Dropdown.js.map +1 -0
- package/dist/Dropdown/index.js +2 -0
- package/dist/Dropdown/index.js.map +1 -0
- package/dist/Emoji/Emoji.js +8 -0
- package/dist/Emoji/Emoji.js.map +1 -0
- package/dist/Emoji/index.js +2 -0
- package/dist/Emoji/index.js.map +1 -0
- package/dist/Icon/Icon.js +25 -0
- package/dist/Icon/Icon.js.map +1 -0
- package/dist/Icon/iconFiles/Aa.d.ts +1 -1
- package/dist/Icon/iconFiles/Aa.js +9 -0
- package/dist/Icon/iconFiles/Aa.js.map +1 -0
- package/dist/Icon/iconFiles/AaInverted.d.ts +1 -1
- package/dist/Icon/iconFiles/AaInverted.js +9 -0
- package/dist/Icon/iconFiles/AaInverted.js.map +1 -0
- package/dist/Icon/iconFiles/AccidentalDamage.d.ts +1 -1
- package/dist/Icon/iconFiles/AccidentalDamage.js +5 -0
- package/dist/Icon/iconFiles/AccidentalDamage.js.map +1 -0
- package/dist/Icon/iconFiles/AccountBreakdown.d.ts +1 -1
- package/dist/Icon/iconFiles/AccountBreakdown.js +8 -0
- package/dist/Icon/iconFiles/AccountBreakdown.js.map +1 -0
- package/dist/Icon/iconFiles/AccountMlp.d.ts +1 -1
- package/dist/Icon/iconFiles/AccountMlp.js +6 -0
- package/dist/Icon/iconFiles/AccountMlp.js.map +1 -0
- package/dist/Icon/iconFiles/ActivityClipboard.d.ts +1 -1
- package/dist/Icon/iconFiles/ActivityClipboard.js +5 -0
- package/dist/Icon/iconFiles/ActivityClipboard.js.map +1 -0
- package/dist/Icon/iconFiles/AddOns.d.ts +1 -1
- package/dist/Icon/iconFiles/AddOns.js +5 -0
- package/dist/Icon/iconFiles/AddOns.js.map +1 -0
- package/dist/Icon/iconFiles/AddressMta.d.ts +1 -1
- package/dist/Icon/iconFiles/AddressMta.js +19 -0
- package/dist/Icon/iconFiles/AddressMta.js.map +1 -0
- package/dist/Icon/iconFiles/Ai.d.ts +1 -1
- package/dist/Icon/iconFiles/Ai.js +9 -0
- package/dist/Icon/iconFiles/Ai.js.map +1 -0
- package/dist/Icon/iconFiles/AlbumAudio.d.ts +1 -1
- package/dist/Icon/iconFiles/AlbumAudio.js +5 -0
- package/dist/Icon/iconFiles/AlbumAudio.js.map +1 -0
- package/dist/Icon/iconFiles/Alert.d.ts +1 -1
- package/dist/Icon/iconFiles/Alert.js +5 -0
- package/dist/Icon/iconFiles/Alert.js.map +1 -0
- package/dist/Icon/iconFiles/AlertEngine.d.ts +1 -1
- package/dist/Icon/iconFiles/AlertEngine.js +8 -0
- package/dist/Icon/iconFiles/AlertEngine.js.map +1 -0
- package/dist/Icon/iconFiles/Amex.d.ts +1 -1
- package/dist/Icon/iconFiles/Amex.js +10 -0
- package/dist/Icon/iconFiles/Amex.js.map +1 -0
- package/dist/Icon/iconFiles/ApplePay.d.ts +1 -1
- package/dist/Icon/iconFiles/ApplePay.js +8 -0
- package/dist/Icon/iconFiles/ApplePay.js.map +1 -0
- package/dist/Icon/iconFiles/ApprovedFile.d.ts +1 -1
- package/dist/Icon/iconFiles/ApprovedFile.js +6 -0
- package/dist/Icon/iconFiles/ApprovedFile.js.map +1 -0
- package/dist/Icon/iconFiles/Archive.d.ts +1 -1
- package/dist/Icon/iconFiles/Archive.js +5 -0
- package/dist/Icon/iconFiles/Archive.js.map +1 -0
- package/dist/Icon/iconFiles/Arrow.d.ts +1 -1
- package/dist/Icon/iconFiles/Arrow.js +5 -0
- package/dist/Icon/iconFiles/Arrow.js.map +1 -0
- package/dist/Icon/iconFiles/At.d.ts +1 -1
- package/dist/Icon/iconFiles/At.js +5 -0
- package/dist/Icon/iconFiles/At.js.map +1 -0
- package/dist/Icon/iconFiles/Axa.d.ts +1 -1
- package/dist/Icon/iconFiles/Axa.js +9 -0
- package/dist/Icon/iconFiles/Axa.js.map +1 -0
- package/dist/Icon/iconFiles/Bank.d.ts +1 -1
- package/dist/Icon/iconFiles/Bank.js +5 -0
- package/dist/Icon/iconFiles/Bank.js.map +1 -0
- package/dist/Icon/iconFiles/Basket.d.ts +1 -1
- package/dist/Icon/iconFiles/Basket.js +5 -0
- package/dist/Icon/iconFiles/Basket.js.map +1 -0
- package/dist/Icon/iconFiles/Bicycle.d.ts +1 -1
- package/dist/Icon/iconFiles/Bicycle.js +5 -0
- package/dist/Icon/iconFiles/Bicycle.js.map +1 -0
- package/dist/Icon/iconFiles/Boost.d.ts +1 -1
- package/dist/Icon/iconFiles/Boost.js +8 -0
- package/dist/Icon/iconFiles/Boost.js.map +1 -0
- package/dist/Icon/iconFiles/Breakdown.d.ts +1 -1
- package/dist/Icon/iconFiles/Breakdown.js +10 -0
- package/dist/Icon/iconFiles/Breakdown.js.map +1 -0
- package/dist/Icon/iconFiles/BreakdownAlt.d.ts +1 -1
- package/dist/Icon/iconFiles/BreakdownAlt.js +9 -0
- package/dist/Icon/iconFiles/BreakdownAlt.js.map +1 -0
- package/dist/Icon/iconFiles/Briefcase.d.ts +1 -1
- package/dist/Icon/iconFiles/Briefcase.js +5 -0
- package/dist/Icon/iconFiles/Briefcase.js.map +1 -0
- package/dist/Icon/iconFiles/Bullets.d.ts +1 -1
- package/dist/Icon/iconFiles/Bullets.js +8 -0
- package/dist/Icon/iconFiles/Bullets.js.map +1 -0
- package/dist/Icon/iconFiles/Burger.d.ts +1 -1
- package/dist/Icon/iconFiles/Burger.js +5 -0
- package/dist/Icon/iconFiles/Burger.js.map +1 -0
- package/dist/Icon/iconFiles/Calendar.d.ts +1 -1
- package/dist/Icon/iconFiles/Calendar.js +5 -0
- package/dist/Icon/iconFiles/Calendar.js.map +1 -0
- package/dist/Icon/iconFiles/Camera.d.ts +1 -1
- package/dist/Icon/iconFiles/Camera.js +5 -0
- package/dist/Icon/iconFiles/Camera.js.map +1 -0
- package/dist/Icon/iconFiles/Cancel.d.ts +1 -1
- package/dist/Icon/iconFiles/Cancel.js +9 -0
- package/dist/Icon/iconFiles/Cancel.js.map +1 -0
- package/dist/Icon/iconFiles/CancelBw.d.ts +1 -1
- package/dist/Icon/iconFiles/CancelBw.js +9 -0
- package/dist/Icon/iconFiles/CancelBw.js.map +1 -0
- package/dist/Icon/iconFiles/Car.d.ts +1 -1
- package/dist/Icon/iconFiles/Car.js +5 -0
- package/dist/Icon/iconFiles/Car.js.map +1 -0
- package/dist/Icon/iconFiles/CarMta.d.ts +1 -1
- package/dist/Icon/iconFiles/CarMta.js +10 -0
- package/dist/Icon/iconFiles/CarMta.js.map +1 -0
- package/dist/Icon/iconFiles/CarRepairs.d.ts +1 -1
- package/dist/Icon/iconFiles/CarRepairs.js +6 -0
- package/dist/Icon/iconFiles/CarRepairs.js.map +1 -0
- package/dist/Icon/iconFiles/CarReplacement.d.ts +1 -1
- package/dist/Icon/iconFiles/CarReplacement.js +7 -0
- package/dist/Icon/iconFiles/CarReplacement.js.map +1 -0
- package/dist/Icon/iconFiles/CarUsage.d.ts +1 -1
- package/dist/Icon/iconFiles/CarUsage.js +7 -0
- package/dist/Icon/iconFiles/CarUsage.js.map +1 -0
- package/dist/Icon/iconFiles/Card.d.ts +1 -1
- package/dist/Icon/iconFiles/Card.js +5 -0
- package/dist/Icon/iconFiles/Card.js.map +1 -0
- package/dist/Icon/iconFiles/Caret.d.ts +1 -1
- package/dist/Icon/iconFiles/Caret.js +5 -0
- package/dist/Icon/iconFiles/Caret.js.map +1 -0
- package/dist/Icon/iconFiles/CaretUp.d.ts +2 -2
- package/dist/Icon/iconFiles/CaretUp.js +7 -0
- package/dist/Icon/iconFiles/CaretUp.js.map +1 -0
- package/dist/Icon/iconFiles/Charge.d.ts +1 -1
- package/dist/Icon/iconFiles/Charge.js +8 -0
- package/dist/Icon/iconFiles/Charge.js.map +1 -0
- package/dist/Icon/iconFiles/Chat.d.ts +1 -1
- package/dist/Icon/iconFiles/Chat.js +5 -0
- package/dist/Icon/iconFiles/Chat.js.map +1 -0
- package/dist/Icon/iconFiles/ChatBubble.d.ts +1 -1
- package/dist/Icon/iconFiles/ChatBubble.js +7 -0
- package/dist/Icon/iconFiles/ChatBubble.js.map +1 -0
- package/dist/Icon/iconFiles/Checkout.d.ts +1 -1
- package/dist/Icon/iconFiles/Checkout.js +5 -0
- package/dist/Icon/iconFiles/Checkout.js.map +1 -0
- package/dist/Icon/iconFiles/CheckoutWithText.d.ts +1 -1
- package/dist/Icon/iconFiles/CheckoutWithText.js +21 -0
- package/dist/Icon/iconFiles/CheckoutWithText.js.map +1 -0
- package/dist/Icon/iconFiles/CircleTick.d.ts +1 -1
- package/dist/Icon/iconFiles/CircleTick.js +5 -0
- package/dist/Icon/iconFiles/CircleTick.js.map +1 -0
- package/dist/Icon/iconFiles/City.d.ts +1 -1
- package/dist/Icon/iconFiles/City.js +5 -0
- package/dist/Icon/iconFiles/City.js.map +1 -0
- package/dist/Icon/iconFiles/Claim.d.ts +1 -1
- package/dist/Icon/iconFiles/Claim.js +8 -0
- package/dist/Icon/iconFiles/Claim.js.map +1 -0
- package/dist/Icon/iconFiles/ClaimLine.d.ts +1 -1
- package/dist/Icon/iconFiles/ClaimLine.js +10 -0
- package/dist/Icon/iconFiles/ClaimLine.js.map +1 -0
- package/dist/Icon/iconFiles/Clipboard.d.ts +1 -1
- package/dist/Icon/iconFiles/Clipboard.js +6 -0
- package/dist/Icon/iconFiles/Clipboard.js.map +1 -0
- package/dist/Icon/iconFiles/ClipboardCheck.d.ts +1 -1
- package/dist/Icon/iconFiles/ClipboardCheck.js +5 -0
- package/dist/Icon/iconFiles/ClipboardCheck.js.map +1 -0
- package/dist/Icon/iconFiles/Clock.d.ts +1 -1
- package/dist/Icon/iconFiles/Clock.js +5 -0
- package/dist/Icon/iconFiles/Clock.js.map +1 -0
- package/dist/Icon/iconFiles/ClosePanel.d.ts +1 -1
- package/dist/Icon/iconFiles/ClosePanel.js +5 -0
- package/dist/Icon/iconFiles/ClosePanel.js.map +1 -0
- package/dist/Icon/iconFiles/Collapse.d.ts +1 -1
- package/dist/Icon/iconFiles/Collapse.js +5 -0
- package/dist/Icon/iconFiles/Collapse.js.map +1 -0
- package/dist/Icon/iconFiles/Confused.d.ts +1 -1
- package/dist/Icon/iconFiles/Confused.js +5 -0
- package/dist/Icon/iconFiles/Confused.js.map +1 -0
- package/dist/Icon/iconFiles/ConfusedBlue.d.ts +1 -1
- package/dist/Icon/iconFiles/ConfusedBlue.js +5 -0
- package/dist/Icon/iconFiles/ConfusedBlue.js.map +1 -0
- package/dist/Icon/iconFiles/ContactEmail.d.ts +1 -1
- package/dist/Icon/iconFiles/ContactEmail.js +5 -0
- package/dist/Icon/iconFiles/ContactEmail.js.map +1 -0
- package/dist/Icon/iconFiles/Copy.d.ts +1 -1
- package/dist/Icon/iconFiles/Copy.js +5 -0
- package/dist/Icon/iconFiles/Copy.js.map +1 -0
- package/dist/Icon/iconFiles/Crop.d.ts +1 -1
- package/dist/Icon/iconFiles/Crop.js +5 -0
- package/dist/Icon/iconFiles/Crop.js.map +1 -0
- package/dist/Icon/iconFiles/Cross.d.ts +1 -1
- package/dist/Icon/iconFiles/Cross.js +5 -0
- package/dist/Icon/iconFiles/Cross.js.map +1 -0
- package/dist/Icon/iconFiles/DashboardHigh.d.ts +1 -1
- package/dist/Icon/iconFiles/DashboardHigh.js +8 -0
- package/dist/Icon/iconFiles/DashboardHigh.js.map +1 -0
- package/dist/Icon/iconFiles/DirectDebit.d.ts +1 -1
- package/dist/Icon/iconFiles/DirectDebit.js +5 -0
- package/dist/Icon/iconFiles/DirectDebit.js.map +1 -0
- package/dist/Icon/iconFiles/DocDownload.d.ts +1 -1
- package/dist/Icon/iconFiles/DocDownload.js +5 -0
- package/dist/Icon/iconFiles/DocDownload.js.map +1 -0
- package/dist/Icon/iconFiles/DocUpload.d.ts +1 -1
- package/dist/Icon/iconFiles/DocUpload.js +5 -0
- package/dist/Icon/iconFiles/DocUpload.js.map +1 -0
- package/dist/Icon/iconFiles/Download.d.ts +1 -1
- package/dist/Icon/iconFiles/Download.js +5 -0
- package/dist/Icon/iconFiles/Download.js.map +1 -0
- package/dist/Icon/iconFiles/Earth.d.ts +1 -1
- package/dist/Icon/iconFiles/Earth.js +9 -0
- package/dist/Icon/iconFiles/Earth.js.map +1 -0
- package/dist/Icon/iconFiles/Edit.d.ts +1 -1
- package/dist/Icon/iconFiles/Edit.js +5 -0
- package/dist/Icon/iconFiles/Edit.js.map +1 -0
- package/dist/Icon/iconFiles/EditContact.d.ts +1 -1
- package/dist/Icon/iconFiles/EditContact.js +6 -0
- package/dist/Icon/iconFiles/EditContact.js.map +1 -0
- package/dist/Icon/iconFiles/EditOutline.d.ts +1 -1
- package/dist/Icon/iconFiles/EditOutline.js +5 -0
- package/dist/Icon/iconFiles/EditOutline.js.map +1 -0
- package/dist/Icon/iconFiles/EmailFilled.d.ts +1 -1
- package/dist/Icon/iconFiles/EmailFilled.js +5 -0
- package/dist/Icon/iconFiles/EmailFilled.js.map +1 -0
- package/dist/Icon/iconFiles/Engine.d.ts +1 -1
- package/dist/Icon/iconFiles/Engine.js +9 -0
- package/dist/Icon/iconFiles/Engine.js.map +1 -0
- package/dist/Icon/iconFiles/Europe.d.ts +1 -1
- package/dist/Icon/iconFiles/Europe.js +5 -0
- package/dist/Icon/iconFiles/Europe.js.map +1 -0
- package/dist/Icon/iconFiles/Excluded.d.ts +1 -1
- package/dist/Icon/iconFiles/Excluded.js +7 -0
- package/dist/Icon/iconFiles/Excluded.js.map +1 -0
- package/dist/Icon/iconFiles/Expand.d.ts +1 -1
- package/dist/Icon/iconFiles/Expand.js +5 -0
- package/dist/Icon/iconFiles/Expand.js.map +1 -0
- package/dist/Icon/iconFiles/Facebook.d.ts +1 -1
- package/dist/Icon/iconFiles/Facebook.js +5 -0
- package/dist/Icon/iconFiles/Facebook.js.map +1 -0
- package/dist/Icon/iconFiles/FallingItems.d.ts +1 -1
- package/dist/Icon/iconFiles/FallingItems.js +5 -0
- package/dist/Icon/iconFiles/FallingItems.js.map +1 -0
- package/dist/Icon/iconFiles/Fence.d.ts +1 -1
- package/dist/Icon/iconFiles/Fence.js +5 -0
- package/dist/Icon/iconFiles/Fence.js.map +1 -0
- package/dist/Icon/iconFiles/File.d.ts +1 -1
- package/dist/Icon/iconFiles/File.js +5 -0
- package/dist/Icon/iconFiles/File.js.map +1 -0
- package/dist/Icon/iconFiles/FileBadge2.d.ts +1 -1
- package/dist/Icon/iconFiles/FileBadge2.js +7 -0
- package/dist/Icon/iconFiles/FileBadge2.js.map +1 -0
- package/dist/Icon/iconFiles/FileCabinet.d.ts +1 -1
- package/dist/Icon/iconFiles/FileCabinet.js +10 -0
- package/dist/Icon/iconFiles/FileCabinet.js.map +1 -0
- package/dist/Icon/iconFiles/Filter.d.ts +1 -1
- package/dist/Icon/iconFiles/Filter.js +5 -0
- package/dist/Icon/iconFiles/Filter.js.map +1 -0
- package/dist/Icon/iconFiles/Fire.d.ts +1 -1
- package/dist/Icon/iconFiles/Fire.js +9 -0
- package/dist/Icon/iconFiles/Fire.js.map +1 -0
- package/dist/Icon/iconFiles/Flag.d.ts +1 -1
- package/dist/Icon/iconFiles/Flag.js +5 -0
- package/dist/Icon/iconFiles/Flag.js.map +1 -0
- package/dist/Icon/iconFiles/Folder.d.ts +1 -1
- package/dist/Icon/iconFiles/Folder.js +5 -0
- package/dist/Icon/iconFiles/Folder.js.map +1 -0
- package/dist/Icon/iconFiles/FraudAlert.d.ts +1 -1
- package/dist/Icon/iconFiles/FraudAlert.js +5 -0
- package/dist/Icon/iconFiles/FraudAlert.js.map +1 -0
- package/dist/Icon/iconFiles/FreezerFood.d.ts +1 -1
- package/dist/Icon/iconFiles/FreezerFood.js +5 -0
- package/dist/Icon/iconFiles/FreezerFood.js.map +1 -0
- package/dist/Icon/iconFiles/Fuel.d.ts +1 -1
- package/dist/Icon/iconFiles/Fuel.js +5 -0
- package/dist/Icon/iconFiles/Fuel.js.map +1 -0
- package/dist/Icon/iconFiles/Globe.d.ts +1 -1
- package/dist/Icon/iconFiles/Globe.js +5 -0
- package/dist/Icon/iconFiles/Globe.js.map +1 -0
- package/dist/Icon/iconFiles/GooglePlayBadge.d.ts +1 -1
- package/dist/Icon/iconFiles/GooglePlayBadge.js +94 -0
- package/dist/Icon/iconFiles/GooglePlayBadge.js.map +1 -0
- package/dist/Icon/iconFiles/Gpay.d.ts +1 -1
- package/dist/Icon/iconFiles/Gpay.js +12 -0
- package/dist/Icon/iconFiles/Gpay.js.map +1 -0
- package/dist/Icon/iconFiles/HelpAboutus.d.ts +1 -1
- package/dist/Icon/iconFiles/HelpAboutus.js +5 -0
- package/dist/Icon/iconFiles/HelpAboutus.js.map +1 -0
- package/dist/Icon/iconFiles/HelpBuypolicy.d.ts +1 -1
- package/dist/Icon/iconFiles/HelpBuypolicy.js +11 -0
- package/dist/Icon/iconFiles/HelpBuypolicy.js.map +1 -0
- package/dist/Icon/iconFiles/HelpCenter.d.ts +1 -1
- package/dist/Icon/iconFiles/HelpCenter.js +8 -0
- package/dist/Icon/iconFiles/HelpCenter.js.map +1 -0
- package/dist/Icon/iconFiles/HelpIdcheck.d.ts +1 -1
- package/dist/Icon/iconFiles/HelpIdcheck.js +13 -0
- package/dist/Icon/iconFiles/HelpIdcheck.js.map +1 -0
- package/dist/Icon/iconFiles/HelpManagePolicy.d.ts +1 -1
- package/dist/Icon/iconFiles/HelpManagePolicy.js +7 -0
- package/dist/Icon/iconFiles/HelpManagePolicy.js.map +1 -0
- package/dist/Icon/iconFiles/HelpNcd.d.ts +1 -1
- package/dist/Icon/iconFiles/HelpNcd.js +12 -0
- package/dist/Icon/iconFiles/HelpNcd.js.map +1 -0
- package/dist/Icon/iconFiles/HelpVerification.d.ts +1 -1
- package/dist/Icon/iconFiles/HelpVerification.js +6 -0
- package/dist/Icon/iconFiles/HelpVerification.js.map +1 -0
- package/dist/Icon/iconFiles/HomeExcluded.d.ts +1 -1
- package/dist/Icon/iconFiles/HomeExcluded.js +7 -0
- package/dist/Icon/iconFiles/HomeExcluded.js.map +1 -0
- package/dist/Icon/iconFiles/House.d.ts +1 -1
- package/dist/Icon/iconFiles/House.js +5 -0
- package/dist/Icon/iconFiles/House.js.map +1 -0
- package/dist/Icon/iconFiles/HouseTree.d.ts +1 -1
- package/dist/Icon/iconFiles/HouseTree.js +9 -0
- package/dist/Icon/iconFiles/HouseTree.js.map +1 -0
- package/dist/Icon/iconFiles/Id.d.ts +1 -1
- package/dist/Icon/iconFiles/Id.js +5 -0
- package/dist/Icon/iconFiles/Id.js.map +1 -0
- package/dist/Icon/iconFiles/Inbox.d.ts +1 -1
- package/dist/Icon/iconFiles/Inbox.js +7 -0
- package/dist/Icon/iconFiles/Inbox.js.map +1 -0
- package/dist/Icon/iconFiles/Included.d.ts +1 -1
- package/dist/Icon/iconFiles/Included.js +6 -0
- package/dist/Icon/iconFiles/Included.js.map +1 -0
- package/dist/Icon/iconFiles/Info.d.ts +1 -1
- package/dist/Icon/iconFiles/Info.js +5 -0
- package/dist/Icon/iconFiles/Info.js.map +1 -0
- package/dist/Icon/iconFiles/Injury.d.ts +1 -1
- package/dist/Icon/iconFiles/Injury.js +19 -0
- package/dist/Icon/iconFiles/Injury.js.map +1 -0
- package/dist/Icon/iconFiles/Instagram.d.ts +1 -1
- package/dist/Icon/iconFiles/Instagram.js +5 -0
- package/dist/Icon/iconFiles/Instagram.js.map +1 -0
- package/dist/Icon/iconFiles/Intercom.d.ts +1 -1
- package/dist/Icon/iconFiles/Intercom.js +5 -0
- package/dist/Icon/iconFiles/Intercom.js.map +1 -0
- package/dist/Icon/iconFiles/Intercom2.d.ts +1 -1
- package/dist/Icon/iconFiles/Intercom2.js +5 -0
- package/dist/Icon/iconFiles/Intercom2.js.map +1 -0
- package/dist/Icon/iconFiles/IosStoreBadge.d.ts +1 -1
- package/dist/Icon/iconFiles/IosStoreBadge.js +18 -0
- package/dist/Icon/iconFiles/IosStoreBadge.js.map +1 -0
- package/dist/Icon/iconFiles/Iphone.d.ts +1 -1
- package/dist/Icon/iconFiles/Iphone.js +5 -0
- package/dist/Icon/iconFiles/Iphone.js.map +1 -0
- package/dist/Icon/iconFiles/Jewellery.d.ts +1 -1
- package/dist/Icon/iconFiles/Jewellery.js +5 -0
- package/dist/Icon/iconFiles/Jewellery.js.map +1 -0
- package/dist/Icon/iconFiles/Key.d.ts +1 -1
- package/dist/Icon/iconFiles/Key.js +9 -0
- package/dist/Icon/iconFiles/Key.js.map +1 -0
- package/dist/Icon/iconFiles/Laptop.d.ts +1 -1
- package/dist/Icon/iconFiles/Laptop.js +5 -0
- package/dist/Icon/iconFiles/Laptop.js.map +1 -0
- package/dist/Icon/iconFiles/Leaks.d.ts +1 -1
- package/dist/Icon/iconFiles/Leaks.js +5 -0
- package/dist/Icon/iconFiles/Leaks.js.map +1 -0
- package/dist/Icon/iconFiles/Lightbulb.d.ts +1 -1
- package/dist/Icon/iconFiles/Lightbulb.js +6 -0
- package/dist/Icon/iconFiles/Lightbulb.js.map +1 -0
- package/dist/Icon/iconFiles/Link.d.ts +1 -1
- package/dist/Icon/iconFiles/Link.js +5 -0
- package/dist/Icon/iconFiles/Link.js.map +1 -0
- package/dist/Icon/iconFiles/Linkedin.d.ts +1 -1
- package/dist/Icon/iconFiles/Linkedin.js +5 -0
- package/dist/Icon/iconFiles/Linkedin.js.map +1 -0
- package/dist/Icon/iconFiles/LiveChat.d.ts +1 -1
- package/dist/Icon/iconFiles/LiveChat.js +8 -0
- package/dist/Icon/iconFiles/LiveChat.js.map +1 -0
- package/dist/Icon/iconFiles/LiveChat2.d.ts +1 -1
- package/dist/Icon/iconFiles/LiveChat2.js +7 -0
- package/dist/Icon/iconFiles/LiveChat2.js.map +1 -0
- package/dist/Icon/iconFiles/Location.d.ts +1 -1
- package/dist/Icon/iconFiles/Location.js +5 -0
- package/dist/Icon/iconFiles/Location.js.map +1 -0
- package/dist/Icon/iconFiles/LogOut.d.ts +1 -1
- package/dist/Icon/iconFiles/LogOut.js +6 -0
- package/dist/Icon/iconFiles/LogOut.js.map +1 -0
- package/dist/Icon/iconFiles/ManageDrivers.d.ts +1 -1
- package/dist/Icon/iconFiles/ManageDrivers.js +6 -0
- package/dist/Icon/iconFiles/ManageDrivers.js.map +1 -0
- package/dist/Icon/iconFiles/ManagePolicy.d.ts +1 -1
- package/dist/Icon/iconFiles/ManagePolicy.js +6 -0
- package/dist/Icon/iconFiles/ManagePolicy.js.map +1 -0
- package/dist/Icon/iconFiles/Marshmallow.d.ts +1 -1
- package/dist/Icon/iconFiles/Marshmallow.js +7 -0
- package/dist/Icon/iconFiles/Marshmallow.js.map +1 -0
- package/dist/Icon/iconFiles/Mastercard.d.ts +1 -1
- package/dist/Icon/iconFiles/Mastercard.js +9 -0
- package/dist/Icon/iconFiles/Mastercard.js.map +1 -0
- package/dist/Icon/iconFiles/Maximise.d.ts +1 -1
- package/dist/Icon/iconFiles/Maximise.js +9 -0
- package/dist/Icon/iconFiles/Maximise.js.map +1 -0
- package/dist/Icon/iconFiles/MaximiseWindow.d.ts +1 -1
- package/dist/Icon/iconFiles/MaximiseWindow.js +5 -0
- package/dist/Icon/iconFiles/MaximiseWindow.js.map +1 -0
- package/dist/Icon/iconFiles/Medical.d.ts +1 -1
- package/dist/Icon/iconFiles/Medical.js +5 -0
- package/dist/Icon/iconFiles/Medical.js.map +1 -0
- package/dist/Icon/iconFiles/Minimise.d.ts +1 -1
- package/dist/Icon/iconFiles/Minimise.js +5 -0
- package/dist/Icon/iconFiles/Minimise.js.map +1 -0
- package/dist/Icon/iconFiles/Minus.d.ts +1 -1
- package/dist/Icon/iconFiles/Minus.js +5 -0
- package/dist/Icon/iconFiles/Minus.js.map +1 -0
- package/dist/Icon/iconFiles/MinusCircle.d.ts +1 -1
- package/dist/Icon/iconFiles/MinusCircle.js +5 -0
- package/dist/Icon/iconFiles/MinusCircle.js.map +1 -0
- package/dist/Icon/iconFiles/MoneyBag.d.ts +1 -1
- package/dist/Icon/iconFiles/MoneyBag.js +5 -0
- package/dist/Icon/iconFiles/MoneyBag.js.map +1 -0
- package/dist/Icon/iconFiles/MoneyHeart.d.ts +1 -1
- package/dist/Icon/iconFiles/MoneyHeart.js +9 -0
- package/dist/Icon/iconFiles/MoneyHeart.js.map +1 -0
- package/dist/Icon/iconFiles/MoreDots.d.ts +1 -1
- package/dist/Icon/iconFiles/MoreDots.js +8 -0
- package/dist/Icon/iconFiles/MoreDots.js.map +1 -0
- package/dist/Icon/iconFiles/Mulsanne.d.ts +1 -1
- package/dist/Icon/iconFiles/Mulsanne.js +6 -0
- package/dist/Icon/iconFiles/Mulsanne.js.map +1 -0
- package/dist/Icon/iconFiles/NewWindow.d.ts +1 -1
- package/dist/Icon/iconFiles/NewWindow.js +5 -0
- package/dist/Icon/iconFiles/NewWindow.js.map +1 -0
- package/dist/Icon/iconFiles/NoExcess.d.ts +1 -1
- package/dist/Icon/iconFiles/NoExcess.js +5 -0
- package/dist/Icon/iconFiles/NoExcess.js.map +1 -0
- package/dist/Icon/iconFiles/Notes.d.ts +1 -1
- package/dist/Icon/iconFiles/Notes.js +5 -0
- package/dist/Icon/iconFiles/Notes.js.map +1 -0
- package/dist/Icon/iconFiles/Notification.d.ts +1 -1
- package/dist/Icon/iconFiles/Notification.js +6 -0
- package/dist/Icon/iconFiles/Notification.js.map +1 -0
- package/dist/Icon/iconFiles/Onfido.d.ts +1 -1
- package/dist/Icon/iconFiles/Onfido.js +9 -0
- package/dist/Icon/iconFiles/Onfido.js.map +1 -0
- package/dist/Icon/iconFiles/OpenPanel.d.ts +1 -1
- package/dist/Icon/iconFiles/OpenPanel.js +5 -0
- package/dist/Icon/iconFiles/OpenPanel.js.map +1 -0
- package/dist/Icon/iconFiles/Other.d.ts +1 -1
- package/dist/Icon/iconFiles/Other.js +5 -0
- package/dist/Icon/iconFiles/Other.js.map +1 -0
- package/dist/Icon/iconFiles/OutOfHome.d.ts +1 -1
- package/dist/Icon/iconFiles/OutOfHome.js +5 -0
- package/dist/Icon/iconFiles/OutOfHome.js.map +1 -0
- package/dist/Icon/iconFiles/Padlock.d.ts +1 -1
- package/dist/Icon/iconFiles/Padlock.js +5 -0
- package/dist/Icon/iconFiles/Padlock.js.map +1 -0
- package/dist/Icon/iconFiles/PadlockOutline.d.ts +1 -1
- package/dist/Icon/iconFiles/PadlockOutline.js +7 -0
- package/dist/Icon/iconFiles/PadlockOutline.js.map +1 -0
- package/dist/Icon/iconFiles/Paperclip.d.ts +1 -1
- package/dist/Icon/iconFiles/Paperclip.js +5 -0
- package/dist/Icon/iconFiles/Paperclip.js.map +1 -0
- package/dist/Icon/iconFiles/People.d.ts +1 -1
- package/dist/Icon/iconFiles/People.js +5 -0
- package/dist/Icon/iconFiles/People.js.map +1 -0
- package/dist/Icon/iconFiles/Person.d.ts +1 -1
- package/dist/Icon/iconFiles/Person.js +5 -0
- package/dist/Icon/iconFiles/Person.js.map +1 -0
- package/dist/Icon/iconFiles/PhoneFilled.d.ts +1 -1
- package/dist/Icon/iconFiles/PhoneFilled.js +5 -0
- package/dist/Icon/iconFiles/PhoneFilled.js.map +1 -0
- package/dist/Icon/iconFiles/PhoneOutline.d.ts +1 -1
- package/dist/Icon/iconFiles/PhoneOutline.js +5 -0
- package/dist/Icon/iconFiles/PhoneOutline.js.map +1 -0
- package/dist/Icon/iconFiles/Photo.d.ts +1 -1
- package/dist/Icon/iconFiles/Photo.js +5 -0
- package/dist/Icon/iconFiles/Photo.js.map +1 -0
- package/dist/Icon/iconFiles/PinCode.d.ts +1 -1
- package/dist/Icon/iconFiles/PinCode.js +9 -0
- package/dist/Icon/iconFiles/PinCode.js.map +1 -0
- package/dist/Icon/iconFiles/Plus.d.ts +1 -1
- package/dist/Icon/iconFiles/Plus.js +5 -0
- package/dist/Icon/iconFiles/Plus.js.map +1 -0
- package/dist/Icon/iconFiles/PlusCircle.d.ts +1 -1
- package/dist/Icon/iconFiles/PlusCircle.js +5 -0
- package/dist/Icon/iconFiles/PlusCircle.js.map +1 -0
- package/dist/Icon/iconFiles/Policy.d.ts +1 -1
- package/dist/Icon/iconFiles/Policy.js +5 -0
- package/dist/Icon/iconFiles/Policy.js.map +1 -0
- package/dist/Icon/iconFiles/PolicyDetails.d.ts +1 -1
- package/dist/Icon/iconFiles/PolicyDetails.js +15 -0
- package/dist/Icon/iconFiles/PolicyDetails.js.map +1 -0
- package/dist/Icon/iconFiles/PolicyDoc.d.ts +1 -1
- package/dist/Icon/iconFiles/PolicyDoc.js +7 -0
- package/dist/Icon/iconFiles/PolicyDoc.js.map +1 -0
- package/dist/Icon/iconFiles/PolicyDocs.d.ts +1 -1
- package/dist/Icon/iconFiles/PolicyDocs.js +9 -0
- package/dist/Icon/iconFiles/PolicyDocs.js.map +1 -0
- package/dist/Icon/iconFiles/PoundBold.d.ts +1 -1
- package/dist/Icon/iconFiles/PoundBold.js +5 -0
- package/dist/Icon/iconFiles/PoundBold.js.map +1 -0
- package/dist/Icon/iconFiles/PoundFilledCircle.d.ts +1 -1
- package/dist/Icon/iconFiles/PoundFilledCircle.js +6 -0
- package/dist/Icon/iconFiles/PoundFilledCircle.js.map +1 -0
- package/dist/Icon/iconFiles/PoundMedium.d.ts +1 -1
- package/dist/Icon/iconFiles/PoundMedium.js +5 -0
- package/dist/Icon/iconFiles/PoundMedium.js.map +1 -0
- package/dist/Icon/iconFiles/PoundOutline.d.ts +1 -1
- package/dist/Icon/iconFiles/PoundOutline.js +7 -0
- package/dist/Icon/iconFiles/PoundOutline.js.map +1 -0
- package/dist/Icon/iconFiles/PoundRegular.d.ts +1 -1
- package/dist/Icon/iconFiles/PoundRegular.js +5 -0
- package/dist/Icon/iconFiles/PoundRegular.js.map +1 -0
- package/dist/Icon/iconFiles/Premfina.d.ts +1 -1
- package/dist/Icon/iconFiles/Premfina.js +7 -0
- package/dist/Icon/iconFiles/Premfina.js.map +1 -0
- package/dist/Icon/iconFiles/Profile.d.ts +1 -1
- package/dist/Icon/iconFiles/Profile.js +5 -0
- package/dist/Icon/iconFiles/Profile.js.map +1 -0
- package/dist/Icon/iconFiles/Progress.d.ts +1 -1
- package/dist/Icon/iconFiles/Progress.js +5 -0
- package/dist/Icon/iconFiles/Progress.js.map +1 -0
- package/dist/Icon/iconFiles/Prohibited.d.ts +1 -1
- package/dist/Icon/iconFiles/Prohibited.js +5 -0
- package/dist/Icon/iconFiles/Prohibited.js.map +1 -0
- package/dist/Icon/iconFiles/Property.d.ts +1 -1
- package/dist/Icon/iconFiles/Property.js +9 -0
- package/dist/Icon/iconFiles/Property.js.map +1 -0
- package/dist/Icon/iconFiles/QuestionHelp.d.ts +1 -1
- package/dist/Icon/iconFiles/QuestionHelp.js +7 -0
- package/dist/Icon/iconFiles/QuestionHelp.js.map +1 -0
- package/dist/Icon/iconFiles/Rac.d.ts +1 -1
- package/dist/Icon/iconFiles/Rac.js +9 -0
- package/dist/Icon/iconFiles/Rac.js.map +1 -0
- package/dist/Icon/iconFiles/Ravelin.d.ts +1 -1
- package/dist/Icon/iconFiles/Ravelin.js +5 -0
- package/dist/Icon/iconFiles/Ravelin.js.map +1 -0
- package/dist/Icon/iconFiles/ReferAFriend.d.ts +1 -1
- package/dist/Icon/iconFiles/ReferAFriend.js +8 -0
- package/dist/Icon/iconFiles/ReferAFriend.js.map +1 -0
- package/dist/Icon/iconFiles/Refund.d.ts +1 -1
- package/dist/Icon/iconFiles/Refund.js +8 -0
- package/dist/Icon/iconFiles/Refund.js.map +1 -0
- package/dist/Icon/iconFiles/RegPlate.d.ts +1 -1
- package/dist/Icon/iconFiles/RegPlate.js +8 -0
- package/dist/Icon/iconFiles/RegPlate.js.map +1 -0
- package/dist/Icon/iconFiles/Renewal.d.ts +1 -1
- package/dist/Icon/iconFiles/Renewal.js +10 -0
- package/dist/Icon/iconFiles/Renewal.js.map +1 -0
- package/dist/Icon/iconFiles/RenewalLine.d.ts +1 -1
- package/dist/Icon/iconFiles/RenewalLine.js +5 -0
- package/dist/Icon/iconFiles/RenewalLine.js.map +1 -0
- package/dist/Icon/iconFiles/RepeatCharge.d.ts +1 -1
- package/dist/Icon/iconFiles/RepeatCharge.js +9 -0
- package/dist/Icon/iconFiles/RepeatCharge.js.map +1 -0
- package/dist/Icon/iconFiles/Reply.d.ts +1 -1
- package/dist/Icon/iconFiles/Reply.js +7 -0
- package/dist/Icon/iconFiles/Reply.js.map +1 -0
- package/dist/Icon/iconFiles/Return.d.ts +1 -1
- package/dist/Icon/iconFiles/Return.js +5 -0
- package/dist/Icon/iconFiles/Return.js.map +1 -0
- package/dist/Icon/iconFiles/ScheduleQuote.d.ts +1 -1
- package/dist/Icon/iconFiles/ScheduleQuote.js +9 -0
- package/dist/Icon/iconFiles/ScheduleQuote.js.map +1 -0
- package/dist/Icon/iconFiles/Search.d.ts +1 -1
- package/dist/Icon/iconFiles/Search.js +5 -0
- package/dist/Icon/iconFiles/Search.js.map +1 -0
- package/dist/Icon/iconFiles/Security.d.ts +1 -1
- package/dist/Icon/iconFiles/Security.js +5 -0
- package/dist/Icon/iconFiles/Security.js.map +1 -0
- package/dist/Icon/iconFiles/SendMessage.d.ts +1 -1
- package/dist/Icon/iconFiles/SendMessage.js +9 -0
- package/dist/Icon/iconFiles/SendMessage.js.map +1 -0
- package/dist/Icon/iconFiles/Settings.d.ts +1 -1
- package/dist/Icon/iconFiles/Settings.js +7 -0
- package/dist/Icon/iconFiles/Settings.js.map +1 -0
- package/dist/Icon/iconFiles/Shield.d.ts +1 -1
- package/dist/Icon/iconFiles/Shield.js +5 -0
- package/dist/Icon/iconFiles/Shield.js.map +1 -0
- package/dist/Icon/iconFiles/ShieldCheck.d.ts +1 -1
- package/dist/Icon/iconFiles/ShieldCheck.js +7 -0
- package/dist/Icon/iconFiles/ShieldCheck.js.map +1 -0
- package/dist/Icon/iconFiles/Shopping.d.ts +1 -1
- package/dist/Icon/iconFiles/Shopping.js +6 -0
- package/dist/Icon/iconFiles/Shopping.js.map +1 -0
- package/dist/Icon/iconFiles/Sofa.d.ts +1 -1
- package/dist/Icon/iconFiles/Sofa.js +5 -0
- package/dist/Icon/iconFiles/Sofa.js.map +1 -0
- package/dist/Icon/iconFiles/Stack.d.ts +1 -1
- package/dist/Icon/iconFiles/Stack.js +9 -0
- package/dist/Icon/iconFiles/Stack.js.map +1 -0
- package/dist/Icon/iconFiles/Storm.d.ts +1 -1
- package/dist/Icon/iconFiles/Storm.js +5 -0
- package/dist/Icon/iconFiles/Storm.js.map +1 -0
- package/dist/Icon/iconFiles/Stripe.d.ts +1 -1
- package/dist/Icon/iconFiles/Stripe.js +5 -0
- package/dist/Icon/iconFiles/Stripe.js.map +1 -0
- package/dist/Icon/iconFiles/Subsidence.d.ts +1 -1
- package/dist/Icon/iconFiles/Subsidence.js +7 -0
- package/dist/Icon/iconFiles/Subsidence.js.map +1 -0
- package/dist/Icon/iconFiles/Theft.d.ts +1 -1
- package/dist/Icon/iconFiles/Theft.js +5 -0
- package/dist/Icon/iconFiles/Theft.js.map +1 -0
- package/dist/Icon/iconFiles/ThumbsDown.d.ts +1 -1
- package/dist/Icon/iconFiles/ThumbsDown.js +7 -0
- package/dist/Icon/iconFiles/ThumbsDown.js.map +1 -0
- package/dist/Icon/iconFiles/ThumbsUp.d.ts +1 -1
- package/dist/Icon/iconFiles/ThumbsUp.js +7 -0
- package/dist/Icon/iconFiles/ThumbsUp.js.map +1 -0
- package/dist/Icon/iconFiles/Tick.d.ts +1 -1
- package/dist/Icon/iconFiles/Tick.js +5 -0
- package/dist/Icon/iconFiles/Tick.js.map +1 -0
- package/dist/Icon/iconFiles/TowTruck.d.ts +1 -1
- package/dist/Icon/iconFiles/TowTruck.js +5 -0
- package/dist/Icon/iconFiles/TowTruck.js.map +1 -0
- package/dist/Icon/iconFiles/TraceAndAccess.d.ts +1 -1
- package/dist/Icon/iconFiles/TraceAndAccess.js +5 -0
- package/dist/Icon/iconFiles/TraceAndAccess.js.map +1 -0
- package/dist/Icon/iconFiles/Training.d.ts +1 -1
- package/dist/Icon/iconFiles/Training.js +5 -0
- package/dist/Icon/iconFiles/Training.js.map +1 -0
- package/dist/Icon/iconFiles/Trash.d.ts +1 -1
- package/dist/Icon/iconFiles/Trash.js +5 -0
- package/dist/Icon/iconFiles/Trash.js.map +1 -0
- package/dist/Icon/iconFiles/Twitter.d.ts +1 -1
- package/dist/Icon/iconFiles/Twitter.js +5 -0
- package/dist/Icon/iconFiles/Twitter.js.map +1 -0
- package/dist/Icon/iconFiles/UpDown.d.ts +1 -1
- package/dist/Icon/iconFiles/UpDown.js +6 -0
- package/dist/Icon/iconFiles/UpDown.js.map +1 -0
- package/dist/Icon/iconFiles/Upload.d.ts +1 -1
- package/dist/Icon/iconFiles/Upload.js +5 -0
- package/dist/Icon/iconFiles/Upload.js.map +1 -0
- package/dist/Icon/iconFiles/UploadDocuments.d.ts +1 -1
- package/dist/Icon/iconFiles/UploadDocuments.js +10 -0
- package/dist/Icon/iconFiles/UploadDocuments.js.map +1 -0
- package/dist/Icon/iconFiles/UploadEmail.d.ts +1 -1
- package/dist/Icon/iconFiles/UploadEmail.js +5 -0
- package/dist/Icon/iconFiles/UploadEmail.js.map +1 -0
- package/dist/Icon/iconFiles/Vandalism.d.ts +1 -1
- package/dist/Icon/iconFiles/Vandalism.js +5 -0
- package/dist/Icon/iconFiles/Vandalism.js.map +1 -0
- package/dist/Icon/iconFiles/Village.d.ts +1 -1
- package/dist/Icon/iconFiles/Village.js +5 -0
- package/dist/Icon/iconFiles/Village.js.map +1 -0
- package/dist/Icon/iconFiles/Visa.d.ts +1 -1
- package/dist/Icon/iconFiles/Visa.js +9 -0
- package/dist/Icon/iconFiles/Visa.js.map +1 -0
- package/dist/Icon/iconFiles/Warning.d.ts +1 -1
- package/dist/Icon/iconFiles/Warning.js +5 -0
- package/dist/Icon/iconFiles/Warning.js.map +1 -0
- package/dist/Icon/iconFiles/WarningCircle.d.ts +1 -1
- package/dist/Icon/iconFiles/WarningCircle.js +6 -0
- package/dist/Icon/iconFiles/WarningCircle.js.map +1 -0
- package/dist/Icon/iconFiles/Watch.d.ts +1 -1
- package/dist/Icon/iconFiles/Watch.js +5 -0
- package/dist/Icon/iconFiles/Watch.js.map +1 -0
- package/dist/Icon/iconFiles/Wave.d.ts +1 -1
- package/dist/Icon/iconFiles/Wave.js +5 -0
- package/dist/Icon/iconFiles/Wave.js.map +1 -0
- package/dist/Icon/iconFiles/Wellbeing.d.ts +1 -1
- package/dist/Icon/iconFiles/Wellbeing.js +5 -0
- package/dist/Icon/iconFiles/Wellbeing.js.map +1 -0
- package/dist/Icon/iconFiles/WheelFlat.d.ts +1 -1
- package/dist/Icon/iconFiles/WheelFlat.js +9 -0
- package/dist/Icon/iconFiles/WheelFlat.js.map +1 -0
- package/dist/Icon/iconFiles/Windscreen.d.ts +1 -1
- package/dist/Icon/iconFiles/Windscreen.js +5 -0
- package/dist/Icon/iconFiles/Windscreen.js.map +1 -0
- package/dist/Icon/iconFiles/WindscreenRepair.d.ts +1 -1
- package/dist/Icon/iconFiles/WindscreenRepair.js +5 -0
- package/dist/Icon/iconFiles/WindscreenRepair.js.map +1 -0
- package/dist/Icon/iconFiles/WindscreenReplacement.d.ts +1 -1
- package/dist/Icon/iconFiles/WindscreenReplacement.js +5 -0
- package/dist/Icon/iconFiles/WindscreenReplacement.js.map +1 -0
- package/dist/Icon/iconsList.d.ts +2 -2
- package/dist/Icon/iconsList.js +438 -0
- package/dist/Icon/iconsList.js.map +1 -0
- package/dist/Icon/index.js +2 -0
- package/dist/Icon/index.js.map +1 -0
- package/dist/IconStrict/IconStrict.js +53 -0
- package/dist/IconStrict/IconStrict.js.map +1 -0
- package/dist/IconStrict/index.js +2 -0
- package/dist/IconStrict/index.js.map +1 -0
- package/dist/IconWrapper/IconWrapper.js +24 -0
- package/dist/IconWrapper/IconWrapper.js.map +1 -0
- package/dist/IconWrapper/index.js +2 -0
- package/dist/IconWrapper/index.js.map +1 -0
- package/dist/LabelledText/LabelledText.js +16 -0
- package/dist/LabelledText/LabelledText.js.map +1 -0
- package/dist/LabelledText/index.js +2 -0
- package/dist/LabelledText/index.js.map +1 -0
- package/dist/Link/Link.d.ts +1 -1
- package/dist/Link/Link.js +77 -0
- package/dist/Link/Link.js.map +1 -0
- package/dist/Link/index.js +2 -0
- package/dist/Link/index.js.map +1 -0
- package/dist/Loader/Loader.js +251 -0
- package/dist/Loader/Loader.js.map +1 -0
- package/dist/Loader/index.js +2 -0
- package/dist/Loader/index.js.map +1 -0
- package/dist/Logo/Logo.js +55 -0
- package/dist/Logo/Logo.js.map +1 -0
- package/dist/Logo/index.js +2 -0
- package/dist/Logo/index.js.map +1 -0
- package/dist/Modal/Modal.d.ts +1 -1
- package/dist/Modal/Modal.js +82 -0
- package/dist/Modal/Modal.js.map +1 -0
- package/dist/Modal/index.js +2 -0
- package/dist/Modal/index.js.map +1 -0
- package/dist/NumberInput/NumberInput.d.ts +1 -1
- package/dist/NumberInput/NumberInput.js +91 -0
- package/dist/NumberInput/NumberInput.js.map +1 -0
- package/dist/NumberInput/index.js +2 -0
- package/dist/NumberInput/index.js.map +1 -0
- package/dist/Pagination/Pagination.js +139 -0
- package/dist/Pagination/Pagination.js.map +1 -0
- package/dist/Pagination/index.js +2 -0
- package/dist/Pagination/index.js.map +1 -0
- package/dist/RadioGroup/RadioElement.d.ts +1 -1
- package/dist/RadioGroup/RadioElement.js +38 -0
- package/dist/RadioGroup/RadioElement.js.map +1 -0
- package/dist/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/RadioGroup/RadioGroup.js +44 -0
- package/dist/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/RadioGroup/RadioItem.d.ts +1 -1
- package/dist/RadioGroup/RadioItem.js +98 -0
- package/dist/RadioGroup/RadioItem.js.map +1 -0
- package/dist/RadioGroup/constants.js +2 -0
- package/dist/RadioGroup/constants.js.map +1 -0
- package/dist/RadioGroup/index.js +2 -0
- package/dist/RadioGroup/index.js.map +1 -0
- package/dist/RadioGroup/types.js +2 -0
- package/dist/RadioGroup/types.js.map +1 -0
- package/dist/RichText/RichText.d.ts +1 -1
- package/dist/RichText/RichText.js +35 -0
- package/dist/RichText/RichText.js.map +1 -0
- package/dist/RichText/index.js +2 -0
- package/dist/RichText/index.js.map +1 -0
- package/dist/RichTextEditor/RichTextEditor.js +88 -0
- package/dist/RichTextEditor/RichTextEditor.js.map +1 -0
- package/dist/RichTextEditor/index.js +2 -0
- package/dist/RichTextEditor/index.js.map +1 -0
- package/dist/RichTextEditor/plugins/AutoLinkPlugin.d.ts +1 -1
- package/dist/RichTextEditor/plugins/AutoLinkPlugin.js +28 -0
- package/dist/RichTextEditor/plugins/AutoLinkPlugin.js.map +1 -0
- package/dist/RichTextEditor/plugins/EditorDefaultUpdatePlugin.js +21 -0
- package/dist/RichTextEditor/plugins/EditorDefaultUpdatePlugin.js.map +1 -0
- package/dist/RichTextEditor/plugins/EditorUpdatePlugin.js +18 -0
- package/dist/RichTextEditor/plugins/EditorUpdatePlugin.js.map +1 -0
- package/dist/RichTextEditor/plugins/ToolbarPlugin.d.ts +1 -1
- package/dist/RichTextEditor/plugins/ToolbarPlugin.js +227 -0
- package/dist/RichTextEditor/plugins/ToolbarPlugin.js.map +1 -0
- package/dist/RichTextEditor/plugins/index.js +2 -0
- package/dist/RichTextEditor/plugins/index.js.map +1 -0
- package/dist/RichTextEditor/utils.js +15 -0
- package/dist/RichTextEditor/utils.js.map +1 -0
- package/dist/Row/Row.js +50 -0
- package/dist/Row/Row.js.map +1 -0
- package/dist/Row/index.js +2 -0
- package/dist/Row/index.js.map +1 -0
- package/dist/SearchInput/SearchInput.d.ts +3 -3
- package/dist/SearchInput/SearchInput.js +165 -0
- package/dist/SearchInput/SearchInput.js.map +1 -0
- package/dist/SearchInput/components/EmptyResults.js +11 -0
- package/dist/SearchInput/components/EmptyResults.js.map +1 -0
- package/dist/SearchInput/components/SearchOptions.js +96 -0
- package/dist/SearchInput/components/SearchOptions.js.map +1 -0
- package/dist/SearchInput/index.js +2 -0
- package/dist/SearchInput/index.js.map +1 -0
- package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +59 -0
- package/dist/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/SegmentedControl/ToggleButton.d.ts +1 -1
- package/dist/SegmentedControl/ToggleButton.js +32 -0
- package/dist/SegmentedControl/ToggleButton.js.map +1 -0
- package/dist/SegmentedControl/index.js +2 -0
- package/dist/SegmentedControl/index.js.map +1 -0
- package/dist/SliderInput/SliderInput.d.ts +1 -1
- package/dist/SliderInput/SliderInput.js +56 -0
- package/dist/SliderInput/SliderInput.js.map +1 -0
- package/dist/SliderInput/index.js +2 -0
- package/dist/SliderInput/index.js.map +1 -0
- package/dist/Snackbar/SnackbarContainer.d.ts +1 -1
- package/dist/Snackbar/SnackbarContainer.js +45 -0
- package/dist/Snackbar/SnackbarContainer.js.map +1 -0
- package/dist/Snackbar/SnackbarItem.js +26 -0
- package/dist/Snackbar/SnackbarItem.js.map +1 -0
- package/dist/Snackbar/hooks.d.ts +1 -1
- package/dist/Snackbar/hooks.js +6 -0
- package/dist/Snackbar/hooks.js.map +1 -0
- package/dist/Snackbar/index.js +3 -0
- package/dist/Snackbar/index.js.map +1 -0
- package/dist/Snackbar/types.js +2 -0
- package/dist/Snackbar/types.js.map +1 -0
- package/dist/SupportMessage/SupportMessage.js +86 -0
- package/dist/SupportMessage/SupportMessage.js.map +1 -0
- package/dist/SupportMessage/index.js +2 -0
- package/dist/SupportMessage/index.js.map +1 -0
- package/dist/Table/Table.d.ts +1 -1
- package/dist/Table/Table.js +31 -0
- package/dist/Table/Table.js.map +1 -0
- package/dist/Table/components/RowActions.d.ts +1 -1
- package/dist/Table/components/RowActions.js +59 -0
- package/dist/Table/components/RowActions.js.map +1 -0
- package/dist/Table/components/TableHeader.d.ts +1 -1
- package/dist/Table/components/TableHeader.js +8 -0
- package/dist/Table/components/TableHeader.js.map +1 -0
- package/dist/Table/components/TableRow.d.ts +1 -1
- package/dist/Table/components/TableRow.js +71 -0
- package/dist/Table/components/TableRow.js.map +1 -0
- package/dist/Table/components/commonComponents.d.ts +4 -4
- package/dist/Table/components/commonComponents.js +138 -0
- package/dist/Table/components/commonComponents.js.map +1 -0
- package/dist/Table/helpers.js +12 -0
- package/dist/Table/helpers.js.map +1 -0
- package/dist/Table/index.js +3 -0
- package/dist/Table/index.js.map +1 -0
- package/dist/Table/types.d.ts +1 -1
- package/dist/Table/types.js +2 -0
- package/dist/Table/types.js.map +1 -0
- package/dist/Tag/Tag.js +28 -0
- package/dist/Tag/Tag.js.map +1 -0
- package/dist/Tag/index.js +2 -0
- package/dist/Tag/index.js.map +1 -0
- package/dist/Text/Text.js +152 -0
- package/dist/Text/Text.js.map +1 -0
- package/dist/Text/fontMapping.js +87 -0
- package/dist/Text/fontMapping.js.map +1 -0
- package/dist/Text/index.js +2 -0
- package/dist/Text/index.js.map +1 -0
- package/dist/TextDateOfBirthInput/TextDateOfBirthInput.d.ts +1 -1
- package/dist/TextDateOfBirthInput/TextDateOfBirthInput.js +48 -0
- package/dist/TextDateOfBirthInput/TextDateOfBirthInput.js.map +1 -0
- package/dist/TextDateOfBirthInput/index.js +2 -0
- package/dist/TextDateOfBirthInput/index.js.map +1 -0
- package/dist/TextInput/TextInput.d.ts +1 -1
- package/dist/TextInput/TextInput.js +30 -0
- package/dist/TextInput/TextInput.js.map +1 -0
- package/dist/TextInput/index.js +2 -0
- package/dist/TextInput/index.js.map +1 -0
- package/dist/Textarea/Textarea.d.ts +1 -1
- package/dist/Textarea/Textarea.js +37 -0
- package/dist/Textarea/Textarea.js.map +1 -0
- package/dist/Textarea/index.js +2 -0
- package/dist/Textarea/index.js.map +1 -0
- package/dist/Toggle/Toggle.js +74 -0
- package/dist/Toggle/Toggle.js.map +1 -0
- package/dist/Toggle/index.js +2 -0
- package/dist/Toggle/index.js.map +1 -0
- package/dist/Tooltip/Tooltip.d.ts +3 -3
- package/dist/Tooltip/Tooltip.js +86 -0
- package/dist/Tooltip/Tooltip.js.map +1 -0
- package/dist/Tooltip/index.js +2 -0
- package/dist/Tooltip/index.js.map +1 -0
- package/dist/fields/Field/Field.d.ts +1 -1
- package/dist/fields/Field/Field.js +6 -0
- package/dist/fields/Field/Field.js.map +1 -0
- package/dist/fields/Field/index.js +2 -0
- package/dist/fields/Field/index.js.map +1 -0
- package/dist/fields/Fieldset/Fieldset.d.ts +1 -1
- package/dist/fields/Fieldset/Fieldset.js +6 -0
- package/dist/fields/Fieldset/Fieldset.js.map +1 -0
- package/dist/fields/Fieldset/index.js +2 -0
- package/dist/fields/Fieldset/index.js.map +1 -0
- package/dist/fields/commonFieldTypes.js +2 -0
- package/dist/fields/commonFieldTypes.js.map +1 -0
- package/dist/fields/components/CommonInput.d.ts +7 -7
- package/dist/fields/components/CommonInput.js +81 -0
- package/dist/fields/components/CommonInput.js.map +1 -0
- package/dist/fields/components/InternalField.d.ts +1 -1
- package/dist/fields/components/InternalField.js +54 -0
- package/dist/fields/components/InternalField.js.map +1 -0
- package/dist/fields/components/Placeholder.d.ts +1 -1
- package/dist/fields/components/Placeholder.js +25 -0
- package/dist/fields/components/Placeholder.js.map +1 -0
- package/dist/fontStyle.d.ts +1 -1
- package/dist/fontStyle.js +35 -0
- package/dist/fontStyle.js.map +1 -0
- package/dist/hooks/index.js +6 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useBodyScrollLock/index.js +25 -0
- package/dist/hooks/useBodyScrollLock/index.js.map +1 -0
- package/dist/hooks/useClickOutside/index.js +24 -0
- package/dist/hooks/useClickOutside/index.js.map +1 -0
- package/dist/hooks/useEventListener/index.js +14 -0
- package/dist/hooks/useEventListener/index.js.map +1 -0
- package/dist/hooks/useScript/index.js +13 -0
- package/dist/hooks/useScript/index.js.map +1 -0
- package/dist/hooks/useTimeout/index.js +12 -0
- package/dist/hooks/useTimeout/index.js.map +1 -0
- package/dist/index.js +54 -11750
- package/dist/index.js.map +1 -1
- package/dist/theme.js +62 -0
- package/dist/theme.js.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/date.js +9 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/dateOfBirth/dateOfBirthValidator.js +29 -0
- package/dist/utils/dateOfBirth/dateOfBirthValidator.js.map +1 -0
- package/dist/utils/dateOfBirth/dateOfBirthValidator.utils.js +89 -0
- package/dist/utils/dateOfBirth/dateOfBirthValidator.utils.js.map +1 -0
- package/dist/utils/dateOfBirth/schema.js +22 -0
- package/dist/utils/dateOfBirth/schema.js.map +1 -0
- package/dist/utils/debounce.js +19 -0
- package/dist/utils/debounce.js.map +1 -0
- package/dist/utils/deprecated.js +30 -0
- package/dist/utils/deprecated.js.map +1 -0
- package/dist/utils/flex.js +32 -0
- package/dist/utils/flex.js.map +1 -0
- package/dist/utils/focusOutline.d.ts +2 -2
- package/dist/utils/focusOutline.js +17 -0
- package/dist/utils/focusOutline.js.map +1 -0
- package/dist/utils/id.js +13 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/isReactElement.js +5 -0
- package/dist/utils/isReactElement.js.map +1 -0
- package/dist/utils/measure.js +12 -0
- package/dist/utils/measure.js.map +1 -0
- package/dist/utils/noop.js +3 -0
- package/dist/utils/noop.js.map +1 -0
- package/dist/utils/responsiveProp.js +31 -0
- package/dist/utils/responsiveProp.js.map +1 -0
- package/dist/utils/space.js +75 -0
- package/dist/utils/space.js.map +1 -0
- package/dist/utils/useControlledState.d.ts +1 -1
- package/dist/utils/useControlledState.js +13 -0
- package/dist/utils/useControlledState.js.map +1 -0
- package/dist/utils/utilTypes.js +2 -0
- package/dist/utils/utilTypes.js.map +1 -0
- package/dist/utils/visuallyHidden.js +14 -0
- package/dist/utils/visuallyHidden.js.map +1 -0
- package/package.json +2 -5
- package/dist/.gitkeep +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
import { IFuseOptions } from 'fuse.js';
|
2
|
-
import
|
2
|
+
import React, { FocusEvent, ReactNode } from 'react';
|
3
3
|
import { CommonFieldProps } from '../fields/commonFieldTypes';
|
4
4
|
export type SearchInputItem = {
|
5
5
|
label: string;
|
@@ -39,12 +39,12 @@ export interface SearchInputProps extends CommonFieldProps {
|
|
39
39
|
fuzzySearchOptions?: IFuseOptions<SearchInputItem>;
|
40
40
|
}
|
41
41
|
export declare const SearchInput: React.ForwardRefExoticComponent<SearchInputProps & React.RefAttributes<HTMLInputElement>>;
|
42
|
-
export declare const Icons: import(
|
42
|
+
export declare const Icons: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("..").MarginProps & import("..").PaddingProps & import("../utils/flex").FlexProps & import("../utils/measure").MeasureProps & React.HTMLAttributes<HTMLElement> & {
|
43
43
|
as?: React.ElementType;
|
44
44
|
forwardedAs?: React.ElementType;
|
45
45
|
} & React.RefAttributes<HTMLDivElement>, {
|
46
46
|
$clearSearch: boolean;
|
47
|
-
}>> & string & Omit<React.ForwardRefExoticComponent<import(
|
47
|
+
}>> & string & Omit<React.ForwardRefExoticComponent<import("..").MarginProps & import("..").PaddingProps & import("../utils/flex").FlexProps & import("../utils/measure").MeasureProps & React.HTMLAttributes<HTMLElement> & {
|
48
48
|
as?: React.ElementType;
|
49
49
|
forwardedAs?: React.ElementType;
|
50
50
|
} & React.RefAttributes<HTMLDivElement>>, keyof React.Component<any, {}, any>>;
|
@@ -0,0 +1,165 @@
|
|
1
|
+
import Fuse from 'fuse.js';
|
2
|
+
import React, { forwardRef, useMemo, useRef, useState, } from 'react';
|
3
|
+
import styled from 'styled-components';
|
4
|
+
import { Box } from '../Box';
|
5
|
+
import { IconStrict } from '../IconStrict';
|
6
|
+
import { Field } from '../fields/Field';
|
7
|
+
import { Input, StyledFrontIcon } from '../fields/components/CommonInput';
|
8
|
+
import { useOnClickOutside } from '../hooks';
|
9
|
+
import { theme } from '../theme';
|
10
|
+
import { useUniqueId } from '../utils/id';
|
11
|
+
import { useControllableState } from '../utils/useControlledState';
|
12
|
+
import { SearchOptions } from './components/SearchOptions';
|
13
|
+
const defaultFuzzySearchOptions = {
|
14
|
+
keys: [
|
15
|
+
{
|
16
|
+
name: 'label',
|
17
|
+
weight: 0.6,
|
18
|
+
},
|
19
|
+
{
|
20
|
+
name: 'tags',
|
21
|
+
weight: 0.4,
|
22
|
+
},
|
23
|
+
],
|
24
|
+
findAllMatches: true,
|
25
|
+
minMatchCharLength: 1,
|
26
|
+
location: 0,
|
27
|
+
threshold: 0.45,
|
28
|
+
distance: 55,
|
29
|
+
};
|
30
|
+
export const SearchInput = forwardRef(function SearchInput({ id: idProp, name = 'search_input', className = '', placeholder, searchList, showIcon = false, renderAsTitle = false, value, onBlur, onFound, onNotFound, notFoundComponent, fallbackStyle, resultsRelativePosition = false, resultsBorder = true, enableFuzzySearch = false, fuzzySearchOptions, clearSearch, ...otherProps }, ref) {
|
31
|
+
const wrapperRef = useRef(null);
|
32
|
+
const id = useUniqueId(idProp);
|
33
|
+
const [showOptions, setShowOptions] = useState(false);
|
34
|
+
const [selectedValue, setSelectedValue] = useControllableState({
|
35
|
+
initialState: null,
|
36
|
+
stateProp: value,
|
37
|
+
});
|
38
|
+
const [searchQuery, setSearchQuery] = useState(null);
|
39
|
+
const [highlightedIndex, setHighlightedIndex] = useState(-1);
|
40
|
+
const selectedValueLabel = searchList.find((option) => option.label === selectedValue || option.value === selectedValue)?.label;
|
41
|
+
const handleBlur = () => {
|
42
|
+
if (selectedValue) {
|
43
|
+
setSearchQuery(selectedValueLabel ?? null);
|
44
|
+
}
|
45
|
+
else if (!selectedValue) {
|
46
|
+
setSearchQuery(null);
|
47
|
+
}
|
48
|
+
};
|
49
|
+
useOnClickOutside({
|
50
|
+
ref: wrapperRef,
|
51
|
+
callback: () => {
|
52
|
+
handleBlur();
|
53
|
+
setShowOptions(false);
|
54
|
+
},
|
55
|
+
});
|
56
|
+
const fuse = useMemo(() => {
|
57
|
+
return new Fuse(searchList, {
|
58
|
+
...defaultFuzzySearchOptions,
|
59
|
+
...fuzzySearchOptions,
|
60
|
+
});
|
61
|
+
}, [searchList]);
|
62
|
+
const filteredList = useMemo(() => {
|
63
|
+
if (searchQuery === null || searchQuery === '') {
|
64
|
+
return searchList;
|
65
|
+
}
|
66
|
+
if (enableFuzzySearch || !!fuzzySearchOptions) {
|
67
|
+
return fuse.search(searchQuery).map(({ item }) => item);
|
68
|
+
}
|
69
|
+
return searchList.filter(({ label }) => label.toLowerCase().includes(searchQuery.toLocaleLowerCase()));
|
70
|
+
}, [searchQuery, enableFuzzySearch, !!fuzzySearchOptions]);
|
71
|
+
const getDisplayedInputText = () => {
|
72
|
+
if (searchQuery !== null) {
|
73
|
+
return searchQuery;
|
74
|
+
}
|
75
|
+
if (selectedValue !== null) {
|
76
|
+
return selectedValueLabel || '';
|
77
|
+
}
|
78
|
+
return '';
|
79
|
+
};
|
80
|
+
const isSelected = selectedValue !== null;
|
81
|
+
const displayedInputText = getDisplayedInputText();
|
82
|
+
const updateSearchQuery = (query) => {
|
83
|
+
setSearchQuery(query);
|
84
|
+
setHighlightedIndex(-1);
|
85
|
+
if (query === null) {
|
86
|
+
setSelectedValue(null);
|
87
|
+
setShowOptions(false);
|
88
|
+
}
|
89
|
+
else {
|
90
|
+
setShowOptions(true);
|
91
|
+
}
|
92
|
+
};
|
93
|
+
const handleClick = () => {
|
94
|
+
setShowOptions(true);
|
95
|
+
if (searchQuery !== null) {
|
96
|
+
updateSearchQuery(searchQuery);
|
97
|
+
setShowOptions(true);
|
98
|
+
}
|
99
|
+
else if (selectedValue !== null && searchQuery === null) {
|
100
|
+
setSearchQuery(selectedValueLabel || null);
|
101
|
+
setShowOptions(true);
|
102
|
+
}
|
103
|
+
};
|
104
|
+
const handleInputChange = (event) => {
|
105
|
+
const nextValue = event.currentTarget.value;
|
106
|
+
updateSearchQuery(nextValue);
|
107
|
+
};
|
108
|
+
const handleSelect = (nextValue) => {
|
109
|
+
updateSearchQuery(null);
|
110
|
+
setSelectedValue(nextValue.label);
|
111
|
+
onFound(nextValue.value);
|
112
|
+
};
|
113
|
+
const handleClearSearch = () => {
|
114
|
+
updateSearchQuery(null);
|
115
|
+
setSelectedValue(null);
|
116
|
+
onFound('');
|
117
|
+
};
|
118
|
+
const handleCaretClick = () => {
|
119
|
+
setShowOptions(!showOptions);
|
120
|
+
};
|
121
|
+
const handleKeyDown = (event) => {
|
122
|
+
if (event.key === 'Enter' && highlightedIndex !== -1) {
|
123
|
+
event.preventDefault();
|
124
|
+
const focusedItem = filteredList[highlightedIndex];
|
125
|
+
handleSelect(focusedItem);
|
126
|
+
}
|
127
|
+
else if (event.key === 'ArrowDown') {
|
128
|
+
event.preventDefault();
|
129
|
+
const nextIndex = (highlightedIndex + 1) % filteredList.length;
|
130
|
+
setHighlightedIndex(nextIndex);
|
131
|
+
}
|
132
|
+
else if (event.key === 'ArrowUp') {
|
133
|
+
event.preventDefault();
|
134
|
+
const prevIndex = (highlightedIndex - 1 + filteredList.length) % filteredList.length;
|
135
|
+
setHighlightedIndex(prevIndex);
|
136
|
+
}
|
137
|
+
};
|
138
|
+
const showClearSearchButton = !!clearSearch && (!!value || !!selectedValue || !!searchQuery);
|
139
|
+
return (React.createElement(Wrapper, { ref: wrapperRef },
|
140
|
+
React.createElement(Field, { className: className, renderAsTitle: renderAsTitle, htmlFor: id, ...otherProps },
|
141
|
+
React.createElement(Box, { flex: true, alignItems: "center", justifyContent: "flex-start" },
|
142
|
+
showIcon && React.createElement(StyledFrontIcon, { render: "search", color: "sesame" }),
|
143
|
+
React.createElement(Input, { id: id, name: name, ref: ref, placeholder: placeholder, "$error": otherProps.error, "$frontIcon": showIcon ? 'search' : undefined, "$fallbackStyle": fallbackStyle, autoComplete: "off", value: displayedInputText, onFocus: handleClick, onChange: handleInputChange, selected: isSelected, onClick: handleClick, onKeyDown: handleKeyDown, onBlur: (e) => {
|
144
|
+
onBlur?.(e);
|
145
|
+
} }),
|
146
|
+
React.createElement(Icons, { flex: true, alignItems: "center", gap: "8px", "$clearSearch": showClearSearchButton },
|
147
|
+
showClearSearchButton && (React.createElement(IconStrict, { type: "button", render: "plus", rotate: 45, iconColor: "marzipan", title: "Clear search", handleClick: handleClearSearch, size: 24 })),
|
148
|
+
React.createElement(Line, null),
|
149
|
+
React.createElement(IconStrict, { type: "button", render: "caret", iconColor: "marzipan", rotate: showOptions ? 180 : 0, handleClick: handleCaretClick, size: 24 }))),
|
150
|
+
showOptions && (React.createElement(SearchOptions, { displayedList: filteredList, selectedValue: selectedValue, highlightedIndex: highlightedIndex, setHighlightedIndex: setHighlightedIndex, onKeyDown: handleKeyDown, searchTerm: searchQuery || '', onSelect: handleSelect, positionRelative: resultsRelativePosition, resultsBorder: resultsBorder, onNotFound: onNotFound, notFoundComponent: notFoundComponent?.(searchQuery ?? '') })))));
|
151
|
+
});
|
152
|
+
const Wrapper = styled(Box) `
|
153
|
+
position: relative;
|
154
|
+
`;
|
155
|
+
const Line = styled(Box) `
|
156
|
+
background: ${theme.colors.oatmeal};
|
157
|
+
height: 24px;
|
158
|
+
width: 1px;
|
159
|
+
`;
|
160
|
+
export const Icons = styled(Box) `
|
161
|
+
position: relative;
|
162
|
+
right: ${({ $clearSearch }) => ($clearSearch ? '80px' : '48px')};
|
163
|
+
margin-right: ${({ $clearSearch }) => ($clearSearch ? '-80px' : '-48px')};
|
164
|
+
`;
|
165
|
+
//# sourceMappingURL=SearchInput.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../src/SearchInput/SearchInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import Fuse, { IFuseOptions } from 'fuse.js'\nimport React, {\n ChangeEvent,\n FocusEvent,\n ReactNode,\n forwardRef,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport styled from 'styled-components'\nimport { Box } from '../Box'\nimport { IconStrict } from '../IconStrict'\nimport { Field } from '../fields/Field'\nimport { CommonFieldProps } from '../fields/commonFieldTypes'\nimport { Input, StyledFrontIcon } from '../fields/components/CommonInput'\nimport { useOnClickOutside } from '../hooks'\nimport { theme } from '../theme'\nimport { useUniqueId } from '../utils/id'\nimport { useControllableState } from '../utils/useControlledState'\nimport { SearchOptions } from './components/SearchOptions'\n\nexport type SearchInputItem = {\n label: string\n value: string\n tags?: any[]\n}\n\nexport interface SearchInputProps extends CommonFieldProps {\n /** Optional input className */\n name?: string\n /** Optional placeholder text */\n placeholder?: string\n /** List of input items to search on*/\n searchList: SearchInputItem[]\n /** callback to handle found item click */\n onFound: (element: string) => void\n /** optional callback to run when no results found */\n onNotFound?: (searchTerm: string) => void\n /** optional Component to render when no results found */\n notFoundComponent?: (searchTerm: string) => ReactNode\n /** optional boolean to show search icon */\n showIcon?: boolean\n /** optional boolean to show a clear search button */\n clearSearch?: boolean\n /** Optional callback to run on blur */\n onBlur?: (e: FocusEvent<HTMLInputElement>) => void\n /** Optional default value for input */\n value?: string\n /** Optional boolean to move results to a realtive position */\n resultsRelativePosition?: boolean\n /** optional boolean to add border to results */\n resultsBorder?: boolean\n /** optional boolean to enable fuzzy search via fuse.js */\n enableFuzzySearch?: boolean\n /** optional config of fuzzy search\n * passing a value to this prop, automatically enables fuzzy search\n */\n fuzzySearchOptions?: IFuseOptions<SearchInputItem>\n}\n\nconst defaultFuzzySearchOptions = {\n keys: [\n {\n name: 'label',\n weight: 0.6,\n },\n {\n name: 'tags',\n weight: 0.4,\n },\n ],\n findAllMatches: true,\n minMatchCharLength: 1,\n location: 0,\n threshold: 0.45,\n distance: 55,\n}\n\nexport const SearchInput = forwardRef<HTMLInputElement, SearchInputProps>(\n function SearchInput(\n {\n id: idProp,\n name = 'search_input',\n className = '',\n placeholder,\n searchList,\n showIcon = false,\n renderAsTitle = false,\n value,\n onBlur,\n onFound,\n onNotFound,\n notFoundComponent,\n fallbackStyle,\n resultsRelativePosition = false,\n resultsBorder = true,\n enableFuzzySearch = false,\n fuzzySearchOptions,\n clearSearch,\n ...otherProps\n },\n ref,\n ) {\n const wrapperRef = useRef(null)\n const id = useUniqueId(idProp)\n const [showOptions, setShowOptions] = useState(false)\n const [selectedValue, setSelectedValue] = useControllableState<\n string | null\n >({\n initialState: null,\n stateProp: value,\n })\n const [searchQuery, setSearchQuery] = useState<string | null>(null)\n const [highlightedIndex, setHighlightedIndex] = useState(-1)\n\n const selectedValueLabel = searchList.find(\n (option) =>\n option.label === selectedValue || option.value === selectedValue,\n )?.label\n\n const handleBlur = () => {\n if (selectedValue) {\n setSearchQuery(selectedValueLabel ?? null)\n } else if (!selectedValue) {\n setSearchQuery(null)\n }\n }\n\n useOnClickOutside({\n ref: wrapperRef,\n callback: () => {\n handleBlur()\n setShowOptions(false)\n },\n })\n\n const fuse = useMemo(() => {\n return new Fuse(searchList, {\n ...defaultFuzzySearchOptions,\n ...fuzzySearchOptions,\n })\n }, [searchList])\n\n const filteredList = useMemo(() => {\n if (searchQuery === null || searchQuery === '') {\n return searchList\n }\n\n if (enableFuzzySearch || !!fuzzySearchOptions) {\n return fuse.search(searchQuery).map(({ item }) => item)\n }\n\n return searchList.filter(({ label }) =>\n label.toLowerCase().includes(searchQuery.toLocaleLowerCase()),\n )\n }, [searchQuery, enableFuzzySearch, !!fuzzySearchOptions])\n\n const getDisplayedInputText = () => {\n if (searchQuery !== null) {\n return searchQuery\n }\n if (selectedValue !== null) {\n return selectedValueLabel || ''\n }\n return ''\n }\n\n const isSelected = selectedValue !== null\n const displayedInputText = getDisplayedInputText()\n\n const updateSearchQuery = (query: string | null) => {\n setSearchQuery(query)\n setHighlightedIndex(-1)\n\n if (query === null) {\n setSelectedValue(null)\n setShowOptions(false)\n } else {\n setShowOptions(true)\n }\n }\n\n const handleClick = () => {\n setShowOptions(true)\n if (searchQuery !== null) {\n updateSearchQuery(searchQuery)\n setShowOptions(true)\n } else if (selectedValue !== null && searchQuery === null) {\n setSearchQuery(selectedValueLabel || null)\n setShowOptions(true)\n }\n }\n\n const handleInputChange = (event: ChangeEvent<HTMLInputElement>): void => {\n const nextValue = event.currentTarget.value\n updateSearchQuery(nextValue)\n }\n\n const handleSelect = (nextValue: SearchInputItem): void => {\n updateSearchQuery(null)\n setSelectedValue(nextValue.label)\n onFound(nextValue.value)\n }\n\n const handleClearSearch = () => {\n updateSearchQuery(null)\n setSelectedValue(null)\n onFound('')\n }\n\n const handleCaretClick = () => {\n setShowOptions(!showOptions)\n }\n\n const handleKeyDown = (event: {\n key: string\n preventDefault: () => void\n }) => {\n if (event.key === 'Enter' && highlightedIndex !== -1) {\n event.preventDefault()\n const focusedItem = filteredList[highlightedIndex]\n handleSelect(focusedItem)\n } else if (event.key === 'ArrowDown') {\n event.preventDefault()\n const nextIndex = (highlightedIndex + 1) % filteredList.length\n setHighlightedIndex(nextIndex)\n } else if (event.key === 'ArrowUp') {\n event.preventDefault()\n const prevIndex =\n (highlightedIndex - 1 + filteredList.length) % filteredList.length\n setHighlightedIndex(prevIndex)\n }\n }\n\n const showClearSearchButton =\n !!clearSearch && (!!value || !!selectedValue || !!searchQuery)\n\n return (\n <Wrapper ref={wrapperRef}>\n <Field\n className={className}\n renderAsTitle={renderAsTitle}\n htmlFor={id}\n {...otherProps}\n >\n <Box flex alignItems=\"center\" justifyContent=\"flex-start\">\n {showIcon && <StyledFrontIcon render=\"search\" color=\"sesame\" />}\n <Input\n id={id}\n name={name}\n ref={ref}\n placeholder={placeholder}\n $error={otherProps.error}\n $frontIcon={showIcon ? 'search' : undefined}\n $fallbackStyle={fallbackStyle}\n autoComplete=\"off\"\n value={displayedInputText}\n onFocus={handleClick}\n onChange={handleInputChange}\n selected={isSelected}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onBlur={(e) => {\n onBlur?.(e)\n }}\n />\n <Icons\n flex\n alignItems=\"center\"\n gap=\"8px\"\n $clearSearch={showClearSearchButton}\n >\n {showClearSearchButton && (\n <IconStrict\n type=\"button\"\n render=\"plus\"\n rotate={45}\n iconColor=\"marzipan\"\n title=\"Clear search\"\n handleClick={handleClearSearch}\n size={24}\n />\n )}\n <Line />\n <IconStrict\n type=\"button\"\n render=\"caret\"\n iconColor=\"marzipan\"\n rotate={showOptions ? 180 : 0}\n handleClick={handleCaretClick}\n size={24}\n />\n </Icons>\n </Box>\n\n {showOptions && (\n <SearchOptions\n displayedList={filteredList}\n selectedValue={selectedValue}\n highlightedIndex={highlightedIndex}\n setHighlightedIndex={setHighlightedIndex}\n onKeyDown={handleKeyDown}\n searchTerm={searchQuery || ''}\n onSelect={handleSelect}\n positionRelative={resultsRelativePosition}\n resultsBorder={resultsBorder}\n onNotFound={onNotFound}\n notFoundComponent={notFoundComponent?.(searchQuery ?? '')}\n />\n )}\n </Field>\n </Wrapper>\n )\n },\n)\n\nconst Wrapper = styled(Box)`\n position: relative;\n`\n\nconst Line = styled(Box)`\n background: ${theme.colors.oatmeal};\n height: 24px;\n width: 1px;\n`\n\nexport const Icons = styled(Box)<{ $clearSearch: boolean }>`\n position: relative;\n right: ${({ $clearSearch }) => ($clearSearch ? '80px' : '48px')};\n margin-right: ${({ $clearSearch }) => ($clearSearch ? '-80px' : '-48px')};\n`\n"]}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import React, { useEffect } from 'react';
|
2
|
+
export const EmptyResults = ({ onNotFound, searchTerm, notFoundComponent, }) => {
|
3
|
+
useEffect(() => {
|
4
|
+
onNotFound?.(searchTerm);
|
5
|
+
}, []);
|
6
|
+
if (notFoundComponent) {
|
7
|
+
return React.createElement("li", null, notFoundComponent);
|
8
|
+
}
|
9
|
+
return React.createElement("li", null, "No results");
|
10
|
+
};
|
11
|
+
//# sourceMappingURL=EmptyResults.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EmptyResults.js","sourceRoot":"","sources":["../../../src/SearchInput/components/EmptyResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAQvD,MAAM,CAAC,MAAM,YAAY,GAAc,CAAC,EACtC,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,EAAE,EAAE;IACH,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,EAAE,CAAC,UAAU,CAAC,CAAA;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,gCAAK,iBAAiB,CAAM,CAAA;IACrC,CAAC;IAED,OAAO,6CAAmB,CAAA;AAC5B,CAAC,CAAA","sourcesContent":["import React, { FC, ReactNode, useEffect } from 'react'\n\ninterface Props {\n onNotFound?: (searchTerm: string) => void\n searchTerm: string\n notFoundComponent?: ReactNode\n}\n\nexport const EmptyResults: FC<Props> = ({\n onNotFound,\n searchTerm,\n notFoundComponent,\n}) => {\n useEffect(() => {\n onNotFound?.(searchTerm)\n }, [])\n\n if (notFoundComponent) {\n return <li>{notFoundComponent}</li>\n }\n\n return <li>No results</li>\n}\n"]}
|
@@ -0,0 +1,96 @@
|
|
1
|
+
import React, { createRef, useEffect, useRef } from 'react';
|
2
|
+
import styled, { css } from 'styled-components';
|
3
|
+
import { Box } from '../../Box';
|
4
|
+
import { Icon } from '../../Icon';
|
5
|
+
import { theme } from '../../theme';
|
6
|
+
import { EmptyResults } from './EmptyResults';
|
7
|
+
export const SearchOptions = ({ displayedList, selectedValue, highlightedIndex, setHighlightedIndex, onSelect, onKeyDown, positionRelative, resultsBorder, onNotFound, searchTerm, notFoundComponent, }) => {
|
8
|
+
const itemRefs = useRef([]);
|
9
|
+
useEffect(() => {
|
10
|
+
itemRefs.current = displayedList.map((_, i) => itemRefs.current[i] ?? createRef());
|
11
|
+
}, [displayedList.length]);
|
12
|
+
useEffect(() => {
|
13
|
+
const focusedListItem = itemRefs?.current[highlightedIndex]?.current;
|
14
|
+
if (highlightedIndex >= 0 && focusedListItem) {
|
15
|
+
focusedListItem.scrollIntoView({
|
16
|
+
block: 'nearest',
|
17
|
+
inline: 'start',
|
18
|
+
});
|
19
|
+
}
|
20
|
+
}, [highlightedIndex]);
|
21
|
+
return (React.createElement(BoxWithPositionRelative, null,
|
22
|
+
React.createElement(StyledResultsContainer, { "$positionRelative": positionRelative },
|
23
|
+
React.createElement(ResultsList, { "$resultsBorder": resultsBorder, onKeyDown: onKeyDown }, displayedList.length ? (displayedList.map((el, i) => {
|
24
|
+
const isSelected = selectedValue === el.label || selectedValue === el.value;
|
25
|
+
return (React.createElement(ListButton, { key: el.label + '_list_item', "aria-label": el.label + '_list_item', ref: itemRefs.current[i], onClick: () => onSelect(el), "$isSelected": isSelected, "$showBg": highlightedIndex === i, onMouseEnter: () => {
|
26
|
+
setHighlightedIndex(i);
|
27
|
+
}, onFocus: () => {
|
28
|
+
setHighlightedIndex(i);
|
29
|
+
} },
|
30
|
+
el.label,
|
31
|
+
isSelected && (React.createElement(Icon, { render: "tick", size: 16, color: "marshmallowPink" }))));
|
32
|
+
})) : (React.createElement(EmptyResults, { onNotFound: onNotFound, searchTerm: searchTerm, notFoundComponent: notFoundComponent }))))));
|
33
|
+
};
|
34
|
+
const StyledResultsContainer = styled.div `
|
35
|
+
box-sizing: border-box;
|
36
|
+
overflow: hidden;
|
37
|
+
margin: -16px;
|
38
|
+
padding: 16px;
|
39
|
+
${({ $positionRelative }) => !$positionRelative && 'position: absolute;'}
|
40
|
+
width: calc(100% + 32px);
|
41
|
+
left: 0px;
|
42
|
+
top: -8px;
|
43
|
+
|
44
|
+
ul {
|
45
|
+
max-height: 192px;
|
46
|
+
}
|
47
|
+
`;
|
48
|
+
const ResultsList = styled.ul `
|
49
|
+
position: relative;
|
50
|
+
list-style: none;
|
51
|
+
overflow-y: auto;
|
52
|
+
padding: 0;
|
53
|
+
margin: 0;
|
54
|
+
background-color: ${theme.colors.cream};
|
55
|
+
border-radius: 12px;
|
56
|
+
margin-top: 14px;
|
57
|
+
z-index: 1000;
|
58
|
+
border: 1px solid ${theme.colors.oatmeal};
|
59
|
+
box-shadow:
|
60
|
+
0px 10px 18px rgba(18, 18, 23, 0.03),
|
61
|
+
0px 5px 8px rgba(18, 18, 23, 0.04),
|
62
|
+
0px 2px 4px rgba(18, 18, 23, 0.04);
|
63
|
+
|
64
|
+
li {
|
65
|
+
padding: 16px 14px;
|
66
|
+
box-sizing: border-box;
|
67
|
+
font-size: 16px;
|
68
|
+
color: ${theme.colors.liquorice};
|
69
|
+
cursor: pointer;
|
70
|
+
}
|
71
|
+
`;
|
72
|
+
const ListButton = styled.li `
|
73
|
+
display: flex;
|
74
|
+
justify-content: space-between;
|
75
|
+
|
76
|
+
&:focus {
|
77
|
+
outline: none;
|
78
|
+
}
|
79
|
+
&:focus-visible {
|
80
|
+
outline: none;
|
81
|
+
}
|
82
|
+
|
83
|
+
${({ $showBg }) => $showBg &&
|
84
|
+
css `
|
85
|
+
background-color: ${theme.colors.mascarpone};
|
86
|
+
`}
|
87
|
+
|
88
|
+
${({ $isSelected }) => $isSelected &&
|
89
|
+
css `
|
90
|
+
background-color: ${theme.colors.custard};
|
91
|
+
`}
|
92
|
+
`;
|
93
|
+
const BoxWithPositionRelative = styled(Box) `
|
94
|
+
position: relative;
|
95
|
+
`;
|
96
|
+
//# sourceMappingURL=SearchOptions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SearchOptions.js","sourceRoot":"","sources":["../../../src/SearchInput/components/SearchOptions.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC, ReactNode, createRef, useEffect, useRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport { TransientProps } from 'utils/utilTypes'\nimport { Box } from '../../Box'\nimport { Icon } from '../../Icon'\nimport { theme } from '../../theme'\nimport { EmptyResults } from './EmptyResults'\n\ntype Option = {\n label: string\n value: string\n}\n\ntype SearchOptionsProps = {\n displayedList: Array<Option>\n selectedValue: string | null\n highlightedIndex: number\n setHighlightedIndex: (arg: number) => void\n onSelect: (option: Option) => void\n onKeyDown: (e: { key: string; preventDefault: () => void }) => void\n positionRelative: boolean\n resultsBorder: boolean\n onNotFound?: (searchTerm: string) => void\n searchTerm: string\n notFoundComponent?: ReactNode\n}\n\nexport const SearchOptions: FC<SearchOptionsProps> = ({\n displayedList,\n selectedValue,\n highlightedIndex,\n setHighlightedIndex,\n onSelect,\n onKeyDown,\n positionRelative,\n resultsBorder,\n onNotFound,\n searchTerm,\n notFoundComponent,\n}) => {\n const itemRefs = useRef<React.RefObject<HTMLLIElement | null>[]>([])\n\n useEffect(() => {\n itemRefs.current = displayedList.map(\n (_, i) => itemRefs.current[i] ?? createRef<HTMLLIElement>(),\n )\n }, [displayedList.length])\n\n useEffect(() => {\n const focusedListItem = itemRefs?.current[highlightedIndex]?.current\n if (highlightedIndex >= 0 && focusedListItem) {\n focusedListItem.scrollIntoView({\n block: 'nearest',\n inline: 'start',\n })\n }\n }, [highlightedIndex])\n\n return (\n <BoxWithPositionRelative>\n <StyledResultsContainer $positionRelative={positionRelative}>\n <ResultsList $resultsBorder={resultsBorder} onKeyDown={onKeyDown}>\n {displayedList.length ? (\n displayedList.map((el, i) => {\n const isSelected =\n selectedValue === el.label || selectedValue === el.value\n\n return (\n <ListButton\n key={el.label + '_list_item'}\n aria-label={el.label + '_list_item'}\n ref={itemRefs.current[i]}\n onClick={() => onSelect(el)}\n $isSelected={isSelected}\n $showBg={highlightedIndex === i}\n onMouseEnter={() => {\n setHighlightedIndex(i)\n }}\n onFocus={() => {\n setHighlightedIndex(i)\n }}\n >\n {el.label}\n {isSelected && (\n <Icon render=\"tick\" size={16} color=\"marshmallowPink\" />\n )}\n </ListButton>\n )\n })\n ) : (\n <EmptyResults\n onNotFound={onNotFound}\n searchTerm={searchTerm}\n notFoundComponent={notFoundComponent}\n />\n )}\n </ResultsList>\n </StyledResultsContainer>\n </BoxWithPositionRelative>\n )\n}\n\nconst StyledResultsContainer = styled.div<\n TransientProps<Pick<SearchOptionsProps, 'positionRelative'>>\n>`\n box-sizing: border-box;\n overflow: hidden;\n margin: -16px;\n padding: 16px;\n ${({ $positionRelative }) => !$positionRelative && 'position: absolute;'}\n width: calc(100% + 32px);\n left: 0px;\n top: -8px;\n\n ul {\n max-height: 192px;\n }\n`\n\nconst ResultsList = styled.ul<\n TransientProps<Pick<SearchOptionsProps, 'resultsBorder'>>\n>`\n position: relative;\n list-style: none;\n overflow-y: auto;\n padding: 0;\n margin: 0;\n background-color: ${theme.colors.cream};\n border-radius: 12px;\n margin-top: 14px;\n z-index: 1000;\n border: 1px solid ${theme.colors.oatmeal};\n box-shadow:\n 0px 10px 18px rgba(18, 18, 23, 0.03),\n 0px 5px 8px rgba(18, 18, 23, 0.04),\n 0px 2px 4px rgba(18, 18, 23, 0.04);\n\n li {\n padding: 16px 14px;\n box-sizing: border-box;\n font-size: 16px;\n color: ${theme.colors.liquorice};\n cursor: pointer;\n }\n`\n\nconst ListButton = styled.li<{ $isSelected: boolean; $showBg: boolean }>`\n display: flex;\n justify-content: space-between;\n\n &:focus {\n outline: none;\n }\n &:focus-visible {\n outline: none;\n }\n\n ${({ $showBg }) =>\n $showBg &&\n css`\n background-color: ${theme.colors.mascarpone};\n `}\n\n ${({ $isSelected }) =>\n $isSelected &&\n css`\n background-color: ${theme.colors.custard};\n `}\n`\n\nconst BoxWithPositionRelative = styled(Box)`\n position: relative;\n`\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SearchInput/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA","sourcesContent":["export * from './SearchInput'\n"]}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import styled from 'styled-components';
|
2
|
+
import { theme } from '../theme';
|
3
|
+
import { Box } from '../Box';
|
4
|
+
import { Tag } from '../Tag';
|
5
|
+
import { Text } from '../Text';
|
6
|
+
import React from 'react';
|
7
|
+
import { ToggleButton } from './ToggleButton';
|
8
|
+
/**
|
9
|
+
* ### How do I pass state to the `SegmentedControl` component?
|
10
|
+
* We recommend pulling the state up to at least the component that renders `SegmentedControl` up to at least the component that renders `SegmentedControl`, this should make it easier to pass state to the `SegmentedControl` component
|
11
|
+
*/
|
12
|
+
export const SegmentedControl = ({ options, value, onChange, showTag, styles: { tagBorder = 'marshmallowPink', tagText = 'cream', tagBg = 'marshmallowPink', selectedText = 'cream', text = 'liquorice', background, toggle, } = {}, }) => {
|
13
|
+
return (React.createElement(ToggleWrapper, { backgroundColor: background },
|
14
|
+
React.createElement(IndicatorWrapper, { backgroundColor: background },
|
15
|
+
options.map((option) => {
|
16
|
+
return (React.createElement(ToggleButton, { key: option.label, name: "toggle-version-button", value: option.value, onChange: onChange, isSelected: option.value === value, isDisabled: option.isDisabled },
|
17
|
+
React.createElement(StyledWrapper, null,
|
18
|
+
showTag && option.tag && (React.createElement(StyledTag, { bgColor: tagBg, borderColor: tagBorder, color: tagText, label: option.tag })),
|
19
|
+
React.createElement(StyledText, { isSelected: option.value === value, selectedTextColor: selectedText, color: text }, option.label))));
|
20
|
+
}),
|
21
|
+
React.createElement(ToggleIndicator, { selectedIndex: options.findIndex((option) => option.value === value), sections: options.length, toggleColor: toggle }))));
|
22
|
+
};
|
23
|
+
const BORDER_RADIUS = 25;
|
24
|
+
const StyledWrapper = styled(Box) `
|
25
|
+
display: flex;
|
26
|
+
justify-content: center;
|
27
|
+
align-items: center;
|
28
|
+
gap: 4px;
|
29
|
+
`;
|
30
|
+
const StyledTag = styled(Tag) `
|
31
|
+
border-radius: 100px;
|
32
|
+
`;
|
33
|
+
const StyledText = styled(Text) `
|
34
|
+
font-weight: ${theme.font.weight.medium};
|
35
|
+
${({ isSelected, selectedTextColor }) => isSelected && `color: ${theme.colors[selectedTextColor]};`}
|
36
|
+
padding: 2px 0px;
|
37
|
+
`;
|
38
|
+
const ToggleWrapper = styled(Box) `
|
39
|
+
padding: 4px;
|
40
|
+
background-color: ${(p) => theme.colors[p.backgroundColor ?? 'custard']};
|
41
|
+
border-radius: ${BORDER_RADIUS}px;
|
42
|
+
`;
|
43
|
+
const IndicatorWrapper = styled(Box) `
|
44
|
+
position: relative;
|
45
|
+
display: flex;
|
46
|
+
background-color: ${(p) => theme.colors[p.backgroundColor ?? 'custard']};
|
47
|
+
border-radius: ${BORDER_RADIUS}px;
|
48
|
+
`;
|
49
|
+
const ToggleIndicator = styled(Box) `
|
50
|
+
background-color: ${(p) => theme.colors[p.toggleColor ?? 'liquorice']};
|
51
|
+
border-radius: ${BORDER_RADIUS}px;
|
52
|
+
position: absolute;
|
53
|
+
z-index: 1;
|
54
|
+
height: 100%;
|
55
|
+
width: ${(p) => `calc(100% / ${p.sections})`};
|
56
|
+
transition: transform 0.4s;
|
57
|
+
transform: ${(p) => `translateX(${p.selectedIndex * 100}%)`};
|
58
|
+
`;
|
59
|
+
//# sourceMappingURL=SegmentedControl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"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","sourcesContent":["import styled from 'styled-components'\n\nimport { Color, theme } from '../theme'\nimport { Box } from '../Box'\nimport { Tag } from '../Tag'\nimport { Text } from '../Text'\nimport React from 'react'\nimport { ToggleButton } from './ToggleButton'\n\nexport type SegmentedControlOption<T = string | number> = {\n label: string\n /** value needs to be number or string */\n value: T\n /** optional tag able to show in the toggle if showTag prop is passed */\n tag?: string\n isDisabled?: boolean\n}\n\ntype StylingOptions = {\n toggle?: Color\n background?: Color\n text?: Color\n selectedText?: Color\n tagBg?: Color\n tagBorder?: Color\n tagText?: Color\n}\n\nexport type SegmentedControlProps<T> = {\n /** you can pass more than 2 options */\n options: SegmentedControlOption<T>[]\n value: T\n onChange: (value: T) => void\n /** pass this prop if you want to show the tag in the toggle */\n showTag?: boolean\n /** pass a StylingOptions object with the needed styles if you want to style the SegmentedControl */\n styles?: StylingOptions\n}\n\n/**\n * ### How do I pass state to the `SegmentedControl` component?\n * We recommend pulling the state up to at least the component that renders `SegmentedControl` up to at least the component that renders `SegmentedControl`, this should make it easier to pass state to the `SegmentedControl` component\n */\nexport const SegmentedControl = <T,>({\n options,\n value,\n onChange,\n showTag,\n styles: {\n tagBorder = 'marshmallowPink',\n tagText = 'cream',\n tagBg = 'marshmallowPink',\n selectedText = 'cream',\n text = 'liquorice',\n background,\n toggle,\n } = {},\n}: SegmentedControlProps<T>) => {\n return (\n <ToggleWrapper backgroundColor={background}>\n <IndicatorWrapper backgroundColor={background}>\n {options.map((option) => {\n return (\n <ToggleButton\n key={option.label}\n name=\"toggle-version-button\"\n value={option.value}\n onChange={onChange}\n isSelected={option.value === value}\n isDisabled={option.isDisabled}\n >\n <StyledWrapper>\n {showTag && option.tag && (\n <StyledTag\n bgColor={tagBg}\n borderColor={tagBorder}\n color={tagText}\n label={option.tag}\n />\n )}\n <StyledText\n isSelected={option.value === value}\n selectedTextColor={selectedText}\n color={text}\n >\n {option.label}\n </StyledText>\n </StyledWrapper>\n </ToggleButton>\n )\n })}\n\n <ToggleIndicator\n selectedIndex={options.findIndex((option) => option.value === value)}\n sections={options.length}\n toggleColor={toggle}\n />\n </IndicatorWrapper>\n </ToggleWrapper>\n )\n}\n\nconst BORDER_RADIUS = 25\n\nconst StyledWrapper = styled(Box)`\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 4px;\n`\n\nconst StyledTag = styled(Tag)`\n border-radius: 100px;\n`\n\nconst StyledText = styled(Text)<{\n isSelected: boolean\n selectedTextColor: Color\n}>`\n font-weight: ${theme.font.weight.medium};\n ${({ isSelected, selectedTextColor }) =>\n isSelected && `color: ${theme.colors[selectedTextColor]};`}\n padding: 2px 0px;\n`\n\nconst ToggleWrapper = styled(Box)<{ backgroundColor?: Color }>`\n padding: 4px;\n background-color: ${(p) => theme.colors[p.backgroundColor ?? 'custard']};\n border-radius: ${BORDER_RADIUS}px;\n`\n\nconst IndicatorWrapper = styled(Box)<{ backgroundColor?: Color }>`\n position: relative;\n display: flex;\n background-color: ${(p) => theme.colors[p.backgroundColor ?? 'custard']};\n border-radius: ${BORDER_RADIUS}px;\n`\n\nconst ToggleIndicator = styled(Box)<{\n selectedIndex: number\n sections: number\n toggleColor?: Color\n}>`\n background-color: ${(p) => theme.colors[p.toggleColor ?? 'liquorice']};\n border-radius: ${BORDER_RADIUS}px;\n position: absolute;\n z-index: 1;\n height: 100%;\n width: ${(p) => `calc(100% / ${p.sections})`};\n transition: transform 0.4s;\n transform: ${(p) => `translateX(${p.selectedIndex * 100}%)`};\n`\n"]}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import styled, { css } from 'styled-components';
|
3
|
+
import { Box } from '../Box';
|
4
|
+
export const ToggleButton = ({ name, value, onChange, isSelected, isDisabled = false, children, }) => {
|
5
|
+
return (React.createElement(Wrapper, { as: "label", "data-testId": `value-toggle-${String(value)}`, isDisabled: isDisabled },
|
6
|
+
React.createElement(VisuallyHiddenInput, { type: "radio", name: name, checked: isSelected, onClick: () => onChange(value), onChange: () => onChange(value) }),
|
7
|
+
children));
|
8
|
+
};
|
9
|
+
const Wrapper = styled(Box) `
|
10
|
+
cursor: pointer;
|
11
|
+
${({ isDisabled }) => isDisabled &&
|
12
|
+
css `
|
13
|
+
pointer-events: none;
|
14
|
+
opacity: 0.5;
|
15
|
+
`}
|
16
|
+
padding: 10px 14px;
|
17
|
+
transition: color 0.1s linear;
|
18
|
+
height: fit-content;
|
19
|
+
width: 100%;
|
20
|
+
align-content: center;
|
21
|
+
z-index: 3;
|
22
|
+
`;
|
23
|
+
const VisuallyHiddenInput = styled.input `
|
24
|
+
clip: rect(0 0 0 0);
|
25
|
+
clip-path: inset(50%);
|
26
|
+
height: 1px;
|
27
|
+
overflow: hidden;
|
28
|
+
position: absolute;
|
29
|
+
white-space: nowrap;
|
30
|
+
width: 1px;
|
31
|
+
`;
|
32
|
+
//# sourceMappingURL=ToggleButton.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ToggleButton.js","sourceRoot":"","sources":["../../src/SegmentedControl/ToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAW5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAS,EACnC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,GAAG,KAAK,EAClB,QAAQ,GACiB,EAAE,EAAE;IAC7B,OAAO,CACL,oBAAC,OAAO,IACN,EAAE,EAAC,OAAO,iBACG,gBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,EAC5C,UAAU,EAAE,UAAU;QAEtB,oBAAC,mBAAmB,IAClB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAC/B;QACD,QAAQ,CACD,CACX,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAyB;;IAEhD,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CACnB,UAAU;IACV,GAAG,CAAA;;;KAGF;;;;;;;CAOJ,CAAA;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAA;;;;;;;;CAQvC,CAAA","sourcesContent":["import React, { ReactNode } from 'react'\nimport styled, { css } from 'styled-components'\nimport { Box } from '../Box'\n\ntype ToggleButtonProps<Value> = {\n name: string\n value: Value\n onChange: (value: Value) => void\n isSelected: boolean\n isDisabled?: boolean\n children: ReactNode\n}\n\nexport const ToggleButton = <Value,>({\n name,\n value,\n onChange,\n isSelected,\n isDisabled = false,\n children,\n}: ToggleButtonProps<Value>) => {\n return (\n <Wrapper\n as=\"label\"\n data-testId={`value-toggle-${String(value)}`}\n isDisabled={isDisabled}\n >\n <VisuallyHiddenInput\n type=\"radio\"\n name={name}\n checked={isSelected}\n onClick={() => onChange(value)}\n onChange={() => onChange(value)}\n />\n {children}\n </Wrapper>\n )\n}\n\nconst Wrapper = styled(Box)<{ isDisabled: boolean }>`\n cursor: pointer;\n ${({ isDisabled }) =>\n isDisabled &&\n css`\n pointer-events: none;\n opacity: 0.5;\n `}\n padding: 10px 14px;\n transition: color 0.1s linear;\n height: fit-content;\n width: 100%;\n align-content: center;\n z-index: 3;\n`\n\nconst VisuallyHiddenInput = styled.input`\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SegmentedControl/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './SegmentedControl'\n"]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import React from 'react';
|
2
2
|
import { MarginProps } from '../utils/space';
|
3
3
|
export declare const SliderInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "type" | "value"> & MarginProps & {
|
4
4
|
onChange: (value: number) => void;
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import React, { forwardRef } from 'react';
|
2
|
+
import styled from 'styled-components';
|
3
|
+
import { theme } from '../theme';
|
4
|
+
import { margin } from '../utils/space';
|
5
|
+
export const SliderInput = forwardRef(function SliderInput({ value, onChange, min, max, step, m, mx, my, ml, mr, mt, mb, ...rest }, ref) {
|
6
|
+
return (React.createElement(StyledSlider, { ref: ref, type: "range", min: min, max: max, step: step, value: value, onChange: (event) => {
|
7
|
+
onChange(event.target.valueAsNumber);
|
8
|
+
}, "$m": m, "$mx": mx, "$my": my, "$ml": ml, "$mr": mr, "$mt": mt, "$mb": mb, ...rest }));
|
9
|
+
});
|
10
|
+
const StyledSlider = styled.input `
|
11
|
+
outline: 0;
|
12
|
+
border: 0;
|
13
|
+
padding: 0;
|
14
|
+
border-radius: 500px;
|
15
|
+
width: 100%;
|
16
|
+
//guard rail as we have a hard coded limit on progress bar length
|
17
|
+
max-width: 2000px;
|
18
|
+
transition: box-shadow 0.2s ease-in-out;
|
19
|
+
background: ${theme.colors.coconut};
|
20
|
+
${margin};
|
21
|
+
|
22
|
+
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
23
|
+
overflow: hidden;
|
24
|
+
height: 44px;
|
25
|
+
-webkit-appearance: none;
|
26
|
+
|
27
|
+
&::-webkit-slider-runnable-track {
|
28
|
+
height: 44px;
|
29
|
+
-webkit-appearance: none;
|
30
|
+
transition: box-shadow 0.2s ease-in-out;
|
31
|
+
}
|
32
|
+
&::-webkit-slider-thumb {
|
33
|
+
width: 44px;
|
34
|
+
-webkit-appearance: none;
|
35
|
+
height: 44px;
|
36
|
+
cursor: ew-resize;
|
37
|
+
background: ${theme.colors.coconut};
|
38
|
+
box-shadow:
|
39
|
+
//handles the progress bar
|
40
|
+
-1000px 0 0 980px ${theme.colors.marshmallowPink},
|
41
|
+
//added for the focus anim
|
42
|
+
inset 0 0 0 44px ${theme.colors.lollipop};
|
43
|
+
border-radius: 50%;
|
44
|
+
transition: box-shadow 0.2s ease-in-out;
|
45
|
+
position: relative;
|
46
|
+
}
|
47
|
+
&:active::-webkit-slider-thumb,
|
48
|
+
&:focus::-webkit-slider-thumb {
|
49
|
+
background: ${theme.colors.coconut};
|
50
|
+
box-shadow:
|
51
|
+
-1000px 0 0 980px ${theme.colors.marshmallowPink},
|
52
|
+
inset 0 0 0 4px ${theme.colors.lollipop};
|
53
|
+
}
|
54
|
+
}
|
55
|
+
`;
|
56
|
+
//# sourceMappingURL=SliderInput.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SliderInput.js","sourceRoot":"","sources":["../../src/SliderInput/SliderInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,MAAM,EAAqC,MAAM,gBAAgB,CAAA;AAc1E,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,SAAS,WAAW,CAClB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EACvE,GAAG;IAEH,OAAO,CACL,oBAAC,YAAY,IACX,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACtC,CAAC,QACG,CAAC,SACA,EAAE,SACF,EAAE,SACF,EAAE,SACF,EAAE,SACF,EAAE,SACF,EAAE,KACH,IAAI,GACR,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAsB;;;;;;;;;gBASvC,KAAK,CAAC,MAAM,CAAC,OAAO;IAChC,MAAM;;;;;;;;;;;;;;;;;oBAiBU,KAAK,CAAC,MAAM,CAAC,OAAO;;;4BAGZ,KAAK,CAAC,MAAM,CAAC,eAAe;;2BAE7B,KAAK,CAAC,MAAM,CAAC,QAAQ;;;;;;;oBAO5B,KAAK,CAAC,MAAM,CAAC,OAAO;;4BAEZ,KAAK,CAAC,MAAM,CAAC,eAAe;0BAC9B,KAAK,CAAC,MAAM,CAAC,QAAQ;;;CAG9C,CAAA","sourcesContent":["import React, { forwardRef } from 'react'\nimport styled from 'styled-components'\nimport { theme } from '../theme'\nimport { margin, MarginProps, TransientMarginProps } from '../utils/space'\n\ntype SliderProps = Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'value' | 'onChange'\n> &\n MarginProps & {\n onChange: (value: number) => void\n value: number\n min?: number\n max?: number\n step?: number\n }\n\nexport const SliderInput = forwardRef<HTMLInputElement, SliderProps>(\n function SliderInput(\n { value, onChange, min, max, step, m, mx, my, ml, mr, mt, mb, ...rest },\n ref,\n ) {\n return (\n <StyledSlider\n ref={ref}\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={(event) => {\n onChange(event.target.valueAsNumber)\n }}\n $m={m}\n $mx={mx}\n $my={my}\n $ml={ml}\n $mr={mr}\n $mt={mt}\n $mb={mb}\n {...rest}\n />\n )\n },\n)\n\nconst StyledSlider = styled.input<TransientMarginProps>`\n outline: 0;\n border: 0;\n padding: 0;\n border-radius: 500px;\n width: 100%;\n //guard rail as we have a hard coded limit on progress bar length\n max-width: 2000px;\n transition: box-shadow 0.2s ease-in-out;\n background: ${theme.colors.coconut};\n ${margin};\n\n @media screen and (-webkit-min-device-pixel-ratio: 0) {\n overflow: hidden;\n height: 44px;\n -webkit-appearance: none;\n\n &::-webkit-slider-runnable-track {\n height: 44px;\n -webkit-appearance: none;\n transition: box-shadow 0.2s ease-in-out;\n }\n &::-webkit-slider-thumb {\n width: 44px;\n -webkit-appearance: none;\n height: 44px;\n cursor: ew-resize;\n background: ${theme.colors.coconut};\n box-shadow:\n //handles the progress bar\n -1000px 0 0 980px ${theme.colors.marshmallowPink},\n //added for the focus anim\n inset 0 0 0 44px ${theme.colors.lollipop};\n border-radius: 50%;\n transition: box-shadow 0.2s ease-in-out;\n position: relative;\n }\n &:active::-webkit-slider-thumb,\n &:focus::-webkit-slider-thumb {\n background: ${theme.colors.coconut};\n box-shadow:\n -1000px 0 0 980px ${theme.colors.marshmallowPink},\n inset 0 0 0 4px ${theme.colors.lollipop};\n }\n }\n`\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SliderInput/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA","sourcesContent":["export * from './SliderInput'\n"]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import React, { FC, ReactNode } from 'react';
|
2
2
|
import { SnackbarContextType } from './types';
|
3
3
|
export declare const SnackbarContext: React.Context<SnackbarContextType>;
|
4
4
|
export declare const useSnackbarContext: () => SnackbarContextType;
|