@transferwise/components 46.161.1 → 46.161.3
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/build/Accordion/Accordion.js.map +1 -1
- package/build/Accordion/Accordion.mjs.map +1 -1
- package/build/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/build/Accordion/AccordionItem/AccordionItem.mjs.map +1 -1
- package/build/AvatarLayout/AvatarLayout.js.map +1 -1
- package/build/AvatarLayout/AvatarLayout.mjs.map +1 -1
- package/build/AvatarView/AvatarView.js.map +1 -1
- package/build/AvatarView/AvatarView.mjs.map +1 -1
- package/build/AvatarView/Dot/Dot.js.map +1 -1
- package/build/AvatarView/Dot/Dot.mjs.map +1 -1
- package/build/Body/Body.js.map +1 -1
- package/build/Body/Body.mjs.map +1 -1
- package/build/Button/Button.js.map +1 -1
- package/build/Button/Button.mjs.map +1 -1
- package/build/Button/Button.resolver.js.map +1 -1
- package/build/Button/Button.resolver.mjs.map +1 -1
- package/build/Button/LegacyButton/LegacyButton.js.map +1 -1
- package/build/Button/LegacyButton/LegacyButton.mjs.map +1 -1
- package/build/Button/LegacyButton/utils/legacyUtils.js.map +1 -1
- package/build/Button/LegacyButton/utils/legacyUtils.mjs.map +1 -1
- package/build/Button/classMap.js.map +1 -1
- package/build/Button/classMap.mjs.map +1 -1
- package/build/Calendar/Calendar.constants.js.map +1 -1
- package/build/Calendar/Calendar.constants.mjs.map +1 -1
- package/build/Calendar/Calendar.js.map +1 -1
- package/build/Calendar/Calendar.messages.js.map +1 -1
- package/build/Calendar/Calendar.messages.mjs.map +1 -1
- package/build/Calendar/Calendar.mjs.map +1 -1
- package/build/Calendar/DateHeader/DateHeader.js.map +1 -1
- package/build/Calendar/DateHeader/DateHeader.mjs.map +1 -1
- package/build/Calendar/DayCalendar/DayCalendar.js.map +1 -1
- package/build/Calendar/DayCalendar/DayCalendar.mjs.map +1 -1
- package/build/Calendar/DayCalendar/Table/DayCalendarTable.js.map +1 -1
- package/build/Calendar/DayCalendar/Table/DayCalendarTable.mjs.map +1 -1
- package/build/Calendar/GetFocusableTime/GetFocusableTime.js.map +1 -1
- package/build/Calendar/GetFocusableTime/GetFocusableTime.mjs.map +1 -1
- package/build/Calendar/GetStartOfDay/GetStartOfDay.js.map +1 -1
- package/build/Calendar/GetStartOfDay/GetStartOfDay.mjs.map +1 -1
- package/build/Calendar/MonthCalendar/MonthCalendar.js.map +1 -1
- package/build/Calendar/MonthCalendar/MonthCalendar.mjs.map +1 -1
- package/build/Calendar/MonthCalendar/Table/MonthCalendarTable.js.map +1 -1
- package/build/Calendar/MonthCalendar/Table/MonthCalendarTable.mjs.map +1 -1
- package/build/Calendar/TableLink/TableLink.js.map +1 -1
- package/build/Calendar/TableLink/TableLink.mjs.map +1 -1
- package/build/Calendar/YearCalendar/Table/YearCalendarTable.js.map +1 -1
- package/build/Calendar/YearCalendar/Table/YearCalendarTable.mjs.map +1 -1
- package/build/Calendar/YearCalendar/YearCalendar.js.map +1 -1
- package/build/Calendar/YearCalendar/YearCalendar.mjs.map +1 -1
- package/build/Calendar/_helpers/clampToDayViewBoundary/clampToDayViewBoundary.js.map +1 -1
- package/build/Calendar/_helpers/clampToDayViewBoundary/clampToDayViewBoundary.mjs.map +1 -1
- package/build/Calendar/_helpers/hasDisabledDatesInMonth/hasDisabledDatesInMonth.js.map +1 -1
- package/build/Calendar/_helpers/hasDisabledDatesInMonth/hasDisabledDatesInMonth.mjs.map +1 -1
- package/build/Calendar/_helpers/isDateDisabled/isDateDisabled.js.map +1 -1
- package/build/Calendar/_helpers/isDateDisabled/isDateDisabled.mjs.map +1 -1
- package/build/Carousel/Carousel.js.map +1 -1
- package/build/Carousel/Carousel.mjs.map +1 -1
- package/build/Checkbox/Checkbox.js.map +1 -1
- package/build/Checkbox/Checkbox.mjs.map +1 -1
- package/build/CheckboxButton/CheckboxButton.js.map +1 -1
- package/build/CheckboxButton/CheckboxButton.mjs.map +1 -1
- package/build/Chevron/Chevron.js.map +1 -1
- package/build/Chevron/Chevron.mjs.map +1 -1
- package/build/Chips/Chip/Chip.js.map +1 -1
- package/build/Chips/Chip/Chip.mjs.map +1 -1
- package/build/Chips/Chips.js.map +1 -1
- package/build/Chips/Chips.messages.js.map +1 -1
- package/build/Chips/Chips.messages.mjs.map +1 -1
- package/build/Chips/Chips.mjs.map +1 -1
- package/build/CircularButton/CircularButton.js.map +1 -1
- package/build/CircularButton/CircularButton.mjs.map +1 -1
- package/build/Container/Container.js.map +1 -1
- package/build/Container/Container.mjs.map +1 -1
- package/build/DateInput/DateInput.js.map +1 -1
- package/build/DateInput/DateInput.messages.js.map +1 -1
- package/build/DateInput/DateInput.messages.mjs.map +1 -1
- package/build/DateInput/DateInput.mjs.map +1 -1
- package/build/DateInput/utils/convertToLocalMidnight/convertToLocalMidnight.js.map +1 -1
- package/build/DateInput/utils/convertToLocalMidnight/convertToLocalMidnight.mjs.map +1 -1
- package/build/DateLookup/DateLookup.js.map +1 -1
- package/build/DateLookup/DateLookup.mjs.map +1 -1
- package/build/DateLookup/DateTrigger/DateTrigger.js.map +1 -1
- package/build/DateLookup/DateTrigger/DateTrigger.messages.js.map +1 -1
- package/build/DateLookup/DateTrigger/DateTrigger.messages.mjs.map +1 -1
- package/build/DateLookup/DateTrigger/DateTrigger.mjs.map +1 -1
- package/build/Decision/Decision.js.map +1 -1
- package/build/Decision/Decision.mjs.map +1 -1
- package/build/DefinitionList/DefinitionList.js.map +1 -1
- package/build/DefinitionList/DefinitionList.mjs.map +1 -1
- package/build/Dimmer/Dimmer.js.map +1 -1
- package/build/Dimmer/Dimmer.mjs.map +1 -1
- package/build/Dimmer/dimmerManager/dimmerManager.js.map +1 -1
- package/build/Dimmer/dimmerManager/dimmerManager.mjs.map +1 -1
- package/build/Display/Display.js.map +1 -1
- package/build/Display/Display.mjs.map +1 -1
- package/build/Divider/Divider.js.map +1 -1
- package/build/Divider/Divider.mjs.map +1 -1
- package/build/Drawer/Drawer.js.map +1 -1
- package/build/Drawer/Drawer.mjs.map +1 -1
- package/build/DropFade/DropFade.js.map +1 -1
- package/build/DropFade/DropFade.mjs.map +1 -1
- package/build/Emphasis/Emphasis.js.map +1 -1
- package/build/Emphasis/Emphasis.mjs.map +1 -1
- package/build/Emphasis/EmphasisHtmlTransformer.js.map +1 -1
- package/build/Emphasis/EmphasisHtmlTransformer.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/AmountInput/AmountInput.js.map +1 -1
- package/build/ExpressiveMoneyInput/AmountInput/AmountInput.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/AmountInput/utils.js.map +1 -1
- package/build/ExpressiveMoneyInput/AmountInput/utils.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/AnimatedNumber/AnimatedNumber.js.map +1 -1
- package/build/ExpressiveMoneyInput/AnimatedNumber/AnimatedNumber.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/Chevron/Chevron.js.map +1 -1
- package/build/ExpressiveMoneyInput/Chevron/Chevron.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/CurrencySelector/CurrencySelector.js.map +1 -1
- package/build/ExpressiveMoneyInput/CurrencySelector/CurrencySelector.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/ExpressiveMoneyInput.js.map +1 -1
- package/build/ExpressiveMoneyInput/ExpressiveMoneyInput.messages.js.map +1 -1
- package/build/ExpressiveMoneyInput/ExpressiveMoneyInput.messages.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/ExpressiveMoneyInput.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/hooks/useFocus.js.map +1 -1
- package/build/ExpressiveMoneyInput/hooks/useFocus.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/hooks/useInputStyle.js.map +1 -1
- package/build/ExpressiveMoneyInput/hooks/useInputStyle.mjs.map +1 -1
- package/build/Field/Field.js.map +1 -1
- package/build/Field/Field.messages.js.map +1 -1
- package/build/Field/Field.messages.mjs.map +1 -1
- package/build/Field/Field.mjs.map +1 -1
- package/build/FlowNavigation/AnimatedLabel/AnimatedLabel.js.map +1 -1
- package/build/FlowNavigation/AnimatedLabel/AnimatedLabel.mjs.map +1 -1
- package/build/FlowNavigation/FlowNavigation.js.map +1 -1
- package/build/FlowNavigation/FlowNavigation.messages.js.map +1 -1
- package/build/FlowNavigation/FlowNavigation.messages.mjs.map +1 -1
- package/build/FlowNavigation/FlowNavigation.mjs.map +1 -1
- package/build/Header/Header.js.map +1 -1
- package/build/Header/Header.mjs.map +1 -1
- package/build/IconButton/IconButton.js.map +1 -1
- package/build/IconButton/IconButton.mjs.map +1 -1
- package/build/Image/Image.js.map +1 -1
- package/build/Image/Image.mjs.map +1 -1
- package/build/Info/Info.js.map +1 -1
- package/build/Info/Info.messages.js.map +1 -1
- package/build/Info/Info.messages.mjs.map +1 -1
- package/build/Info/Info.mjs.map +1 -1
- package/build/Info/infoPresentations.js.map +1 -1
- package/build/Info/infoPresentations.mjs.map +1 -1
- package/build/InputWithDisplayFormat/InputWithDisplayFormat.js.map +1 -1
- package/build/InputWithDisplayFormat/InputWithDisplayFormat.mjs.map +1 -1
- package/build/Inputs/Input/Input.js.map +1 -1
- package/build/Inputs/Input/Input.mjs.map +1 -1
- package/build/Inputs/InputGroup/InputGroup.js.map +1 -1
- package/build/Inputs/InputGroup/InputGroup.mjs.map +1 -1
- package/build/Inputs/SearchInput/SearchInput.js.map +1 -1
- package/build/Inputs/SearchInput/SearchInput.mjs.map +1 -1
- package/build/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.js.map +1 -1
- package/build/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.mjs.map +1 -1
- package/build/Inputs/SelectInput/ButtonInput/SelectInputButtonInput.js.map +1 -1
- package/build/Inputs/SelectInput/ButtonInput/SelectInputButtonInput.mjs.map +1 -1
- package/build/Inputs/SelectInput/ClearButton/SelectInputClearButton.js.map +1 -1
- package/build/Inputs/SelectInput/ClearButton/SelectInputClearButton.mjs.map +1 -1
- package/build/Inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.js.map +1 -1
- package/build/Inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.mjs.map +1 -1
- package/build/Inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.js.map +1 -1
- package/build/Inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.mjs.map +1 -1
- package/build/Inputs/SelectInput/ItemView/SelectInputItemView.js.map +1 -1
- package/build/Inputs/SelectInput/ItemView/SelectInputItemView.mjs.map +1 -1
- package/build/Inputs/SelectInput/Option/SelectInputOption.js.map +1 -1
- package/build/Inputs/SelectInput/Option/SelectInputOption.mjs.map +1 -1
- package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.js.map +1 -1
- package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs.map +1 -1
- package/build/Inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.js.map +1 -1
- package/build/Inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.mjs.map +1 -1
- package/build/Inputs/SelectInput/Options/SelectInputOptions.js.map +1 -1
- package/build/Inputs/SelectInput/Options/SelectInputOptions.mjs.map +1 -1
- package/build/Inputs/SelectInput/Popover/SelectInputPopover.js.map +1 -1
- package/build/Inputs/SelectInput/Popover/SelectInputPopover.mjs.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.contexts.js.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.contexts.mjs.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.js.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.messages.js.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.messages.mjs.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.mjs.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.utils.js.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.utils.mjs.map +1 -1
- package/build/Inputs/SelectInput/TriggerButton/SelectInputTriggerButton.js.map +1 -1
- package/build/Inputs/SelectInput/TriggerButton/SelectInputTriggerButton.mjs.map +1 -1
- package/build/Inputs/SelectInput/constants.js.map +1 -1
- package/build/Inputs/SelectInput/constants.mjs.map +1 -1
- package/build/Inputs/SelectInput/hooks/useTypeahead.js.map +1 -1
- package/build/Inputs/SelectInput/hooks/useTypeahead.mjs.map +1 -1
- package/build/Inputs/TextArea/TextArea.js.map +1 -1
- package/build/Inputs/TextArea/TextArea.mjs.map +1 -1
- package/build/Inputs/_common.js.map +1 -1
- package/build/Inputs/_common.mjs.map +1 -1
- package/build/Inputs/contexts.js.map +1 -1
- package/build/Inputs/contexts.mjs.map +1 -1
- package/build/InstructionsList/InstructionsList.js.map +1 -1
- package/build/InstructionsList/InstructionsList.mjs.map +1 -1
- package/build/Label/Label.js.map +1 -1
- package/build/Label/Label.messages.js.map +1 -1
- package/build/Label/Label.messages.mjs.map +1 -1
- package/build/Label/Label.mjs.map +1 -1
- package/build/Link/Link.js.map +1 -1
- package/build/Link/Link.messages.js.map +1 -1
- package/build/Link/Link.messages.mjs.map +1 -1
- package/build/Link/Link.mjs.map +1 -1
- package/build/List/List.js.map +1 -1
- package/build/List/List.mjs.map +1 -1
- package/build/ListItem/AdditionalInfo/ListItemAdditionalInfo.js.map +1 -1
- package/build/ListItem/AdditionalInfo/ListItemAdditionalInfo.mjs.map +1 -1
- package/build/ListItem/AvatarLayout/ListItemAvatarLayout.js.map +1 -1
- package/build/ListItem/AvatarLayout/ListItemAvatarLayout.mjs.map +1 -1
- package/build/ListItem/AvatarView/ListItemAvatarView.js.map +1 -1
- package/build/ListItem/AvatarView/ListItemAvatarView.mjs.map +1 -1
- package/build/ListItem/Button/ListItemButton.js.map +1 -1
- package/build/ListItem/Button/ListItemButton.mjs.map +1 -1
- package/build/ListItem/Checkbox/ListItemCheckbox.js.map +1 -1
- package/build/ListItem/Checkbox/ListItemCheckbox.mjs.map +1 -1
- package/build/ListItem/IconButton/ListItemIconButton.js.map +1 -1
- package/build/ListItem/IconButton/ListItemIconButton.mjs.map +1 -1
- package/build/ListItem/Image/ListItemImage.js.map +1 -1
- package/build/ListItem/Image/ListItemImage.mjs.map +1 -1
- package/build/ListItem/ListItem.js.map +1 -1
- package/build/ListItem/ListItem.mjs.map +1 -1
- package/build/ListItem/ListItemContext.js.map +1 -1
- package/build/ListItem/ListItemContext.mjs.map +1 -1
- package/build/ListItem/Navigation/ListItemNavigation.js.map +1 -1
- package/build/ListItem/Navigation/ListItemNavigation.mjs.map +1 -1
- package/build/ListItem/Prompt/ListItemPrompt.js.map +1 -1
- package/build/ListItem/Prompt/ListItemPrompt.mjs.map +1 -1
- package/build/ListItem/Radio/ListItemRadio.js.map +1 -1
- package/build/ListItem/Radio/ListItemRadio.mjs.map +1 -1
- package/build/ListItem/Switch/ListItemSwitch.js.map +1 -1
- package/build/ListItem/Switch/ListItemSwitch.mjs.map +1 -1
- package/build/ListItem/useListItemControl.js.map +1 -1
- package/build/ListItem/useListItemControl.mjs.map +1 -1
- package/build/ListItem/useListItemMedia.js.map +1 -1
- package/build/ListItem/useListItemMedia.mjs.map +1 -1
- package/build/Loader/Loader.js.map +1 -1
- package/build/Loader/Loader.mjs.map +1 -1
- package/build/Logo/Logo.js.map +1 -1
- package/build/Logo/Logo.mjs.map +1 -1
- package/build/Logo/logo-assets.js.map +1 -1
- package/build/Logo/logo-assets.mjs.map +1 -1
- package/build/Markdown/Markdown.js.map +1 -1
- package/build/Markdown/Markdown.mjs.map +1 -1
- package/build/Markup/Markup.js.map +1 -1
- package/build/Markup/Markup.mjs.map +1 -1
- package/build/Markup/constants.js.map +1 -1
- package/build/Markup/constants.mjs.map +1 -1
- package/build/Markup/utils/parseMarkup.js.map +1 -1
- package/build/Markup/utils/parseMarkup.mjs.map +1 -1
- package/build/Markup/utils/sanitise.js.map +1 -1
- package/build/Markup/utils/sanitise.mjs.map +1 -1
- package/build/Modal/Modal.js.map +1 -1
- package/build/Modal/Modal.mjs.map +1 -1
- package/build/Money/Money.js.map +1 -1
- package/build/Money/Money.mjs.map +1 -1
- package/build/MoneyInput/MoneyInput.js.map +1 -1
- package/build/MoneyInput/MoneyInput.messages.js.map +1 -1
- package/build/MoneyInput/MoneyInput.messages.mjs.map +1 -1
- package/build/MoneyInput/MoneyInput.mjs.map +1 -1
- package/build/MoneyInput/currencyFormatting.js.map +1 -1
- package/build/MoneyInput/currencyFormatting.mjs.map +1 -1
- package/build/Nudge/Nudge.js.map +1 -1
- package/build/Nudge/Nudge.mjs.map +1 -1
- package/build/PhoneNumberInput/Data/countries.js.map +1 -1
- package/build/PhoneNumberInput/Data/countries.mjs.map +1 -1
- package/build/PhoneNumberInput/PhoneNumberInput.js.map +1 -1
- package/build/PhoneNumberInput/PhoneNumberInput.messages.js.map +1 -1
- package/build/PhoneNumberInput/PhoneNumberInput.messages.mjs.map +1 -1
- package/build/PhoneNumberInput/PhoneNumberInput.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/cleanNumber/cleanNumber.js.map +1 -1
- package/build/PhoneNumberInput/utils/cleanNumber/cleanNumber.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/excludeCountries/excludeCountries.js.map +1 -1
- package/build/PhoneNumberInput/utils/excludeCountries/excludeCountries.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/explodeNumberModel/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/explodeNumberModel/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/findCountryByCode/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/findCountryByCode/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/findCountryByPrefix/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/findCountryByPrefix/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.js.map +1 -1
- package/build/PhoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.js.map +1 -1
- package/build/PhoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/longestMatchingPrefix/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/longestMatchingPrefix/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/setDefaultPrefix/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/setDefaultPrefix/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.js.map +1 -1
- package/build/PhoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.mjs.map +1 -1
- package/build/Popover/Popover.js.map +1 -1
- package/build/Popover/Popover.mjs.map +1 -1
- package/build/Primitives/PrimitiveAnchor/PrimitiveAnchor.js.map +1 -1
- package/build/Primitives/PrimitiveAnchor/PrimitiveAnchor.mjs.map +1 -1
- package/build/Primitives/PrimitiveButton/PrimitiveButton.js.map +1 -1
- package/build/Primitives/PrimitiveButton/PrimitiveButton.mjs.map +1 -1
- package/build/ProcessIndicator/ProcessIndicator.js.map +1 -1
- package/build/ProcessIndicator/ProcessIndicator.mjs.map +1 -1
- package/build/Progress/Progress.js.map +1 -1
- package/build/Progress/Progress.mjs.map +1 -1
- package/build/ProgressBar/ProgressBar.js.map +1 -1
- package/build/ProgressBar/ProgressBar.mjs.map +1 -1
- package/build/PromoCard/CardGroup/PromoCardGroup.js.map +1 -1
- package/build/PromoCard/CardGroup/PromoCardGroup.mjs.map +1 -1
- package/build/PromoCard/Indicator/PromoCardIndicator.js.map +1 -1
- package/build/PromoCard/Indicator/PromoCardIndicator.mjs.map +1 -1
- package/build/PromoCard/PromoCard.js.map +1 -1
- package/build/PromoCard/PromoCard.mjs.map +1 -1
- package/build/PromoCard/PromoCardContext.js.map +1 -1
- package/build/PromoCard/PromoCardContext.mjs.map +1 -1
- package/build/Prompt/ActionPrompt/ActionPrompt.js.map +1 -1
- package/build/Prompt/ActionPrompt/ActionPrompt.mjs.map +1 -1
- package/build/Prompt/CriticalBanner/CriticalBanner.js.map +1 -1
- package/build/Prompt/CriticalBanner/CriticalBanner.mjs.map +1 -1
- package/build/Prompt/CriticalBanner/helpers.js.map +1 -1
- package/build/Prompt/CriticalBanner/helpers.mjs.map +1 -1
- package/build/Prompt/InfoPrompt/InfoPrompt.js.map +1 -1
- package/build/Prompt/InfoPrompt/InfoPrompt.mjs.map +1 -1
- package/build/Prompt/InlinePrompt/InlinePrompt.js.map +1 -1
- package/build/Prompt/InlinePrompt/InlinePrompt.mjs.map +1 -1
- package/build/Prompt/PrimitivePrompt/PrimitivePrompt.js.map +1 -1
- package/build/Prompt/PrimitivePrompt/PrimitivePrompt.mjs.map +1 -1
- package/build/Prompt/common/Expander/Expander.js.map +1 -1
- package/build/Prompt/common/Expander/Expander.messages.js.map +1 -1
- package/build/Prompt/common/Expander/Expander.messages.mjs.map +1 -1
- package/build/Prompt/common/Expander/Expander.mjs.map +1 -1
- package/build/Prompt/helpers/promptMedia.js.map +1 -1
- package/build/Prompt/helpers/promptMedia.mjs.map +1 -1
- package/build/Provider/Direction/DirectionProvider.js.map +1 -1
- package/build/Provider/Direction/DirectionProvider.mjs.map +1 -1
- package/build/Provider/Language/LanguageProvider.js.map +1 -1
- package/build/Provider/Language/LanguageProvider.mjs.map +1 -1
- package/build/Provider/Provider.js.map +1 -1
- package/build/Provider/Provider.mjs.map +1 -1
- package/build/Provider/overlay/OverlayIdProvider.js.map +1 -1
- package/build/Provider/overlay/OverlayIdProvider.mjs.map +1 -1
- package/build/Radio/Radio.js.map +1 -1
- package/build/Radio/Radio.mjs.map +1 -1
- package/build/RadioGroup/RadioGroup.js.map +1 -1
- package/build/RadioGroup/RadioGroup.mjs.map +1 -1
- package/build/Section/Section.js.map +1 -1
- package/build/Section/Section.mjs.map +1 -1
- package/build/SegmentedControl/SegmentedControl.js.map +1 -1
- package/build/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/build/SentimentSurface/SentimentSurface.js.map +1 -1
- package/build/SentimentSurface/SentimentSurface.mjs.map +1 -1
- package/build/SlidingPanel/SlidingPanel.js.map +1 -1
- package/build/SlidingPanel/SlidingPanel.mjs.map +1 -1
- package/build/Snackbar/Snackbar.js.map +1 -1
- package/build/Snackbar/Snackbar.mjs.map +1 -1
- package/build/Snackbar/SnackbarContext.js.map +1 -1
- package/build/Snackbar/SnackbarContext.mjs.map +1 -1
- package/build/Snackbar/SnackbarProvider.js.map +1 -1
- package/build/Snackbar/SnackbarProvider.mjs.map +1 -1
- package/build/Snackbar/useSnackbar.js.map +1 -1
- package/build/Snackbar/useSnackbar.mjs.map +1 -1
- package/build/StatusIcon/StatusIcon.js.map +1 -1
- package/build/StatusIcon/StatusIcon.messages.js.map +1 -1
- package/build/StatusIcon/StatusIcon.messages.mjs.map +1 -1
- package/build/StatusIcon/StatusIcon.mjs.map +1 -1
- package/build/Stepper/Stepper.js.map +1 -1
- package/build/Stepper/Stepper.mjs.map +1 -1
- package/build/Stepper/deviceDetection.js.map +1 -1
- package/build/Stepper/deviceDetection.mjs.map +1 -1
- package/build/Sticky/Sticky.js.map +1 -1
- package/build/Sticky/Sticky.mjs.map +1 -1
- package/build/Switch/Switch.js.map +1 -1
- package/build/Switch/Switch.mjs.map +1 -1
- package/build/Table/Cell/TableCell.js.map +1 -1
- package/build/Table/Cell/TableCell.mjs.map +1 -1
- package/build/Table/Header/TableHeader.js.map +1 -1
- package/build/Table/Header/TableHeader.mjs.map +1 -1
- package/build/Table/Row/TableRow.js.map +1 -1
- package/build/Table/Row/TableRow.mjs.map +1 -1
- package/build/Table/StatusText/TableStatusText.js.map +1 -1
- package/build/Table/StatusText/TableStatusText.mjs.map +1 -1
- package/build/Table/Table.js.map +1 -1
- package/build/Table/Table.messages.js.map +1 -1
- package/build/Table/Table.messages.mjs.map +1 -1
- package/build/Table/Table.mjs.map +1 -1
- package/build/Tabs/Tab/Tab.js.map +1 -1
- package/build/Tabs/Tab/Tab.mjs.map +1 -1
- package/build/Tabs/TabList/TabList.js.map +1 -1
- package/build/Tabs/TabList/TabList.mjs.map +1 -1
- package/build/Tabs/TabPanel/TabPanel.js.map +1 -1
- package/build/Tabs/TabPanel/TabPanel.mjs.map +1 -1
- package/build/Tabs/Tabs.js.map +1 -1
- package/build/Tabs/Tabs.mjs.map +1 -1
- package/build/Tabs/utils.js.map +1 -1
- package/build/Tabs/utils.mjs.map +1 -1
- package/build/Tag/Tag.js.map +1 -1
- package/build/Tag/Tag.mjs.map +1 -1
- package/build/TextareaWithDisplayFormat/TextareaWithDisplayFormat.js.map +1 -1
- package/build/TextareaWithDisplayFormat/TextareaWithDisplayFormat.mjs.map +1 -1
- package/build/Tile/Tile.js.map +1 -1
- package/build/Tile/Tile.mjs.map +1 -1
- package/build/Title/Title.js.map +1 -1
- package/build/Title/Title.mjs.map +1 -1
- package/build/Tooltip/Tooltip.js.map +1 -1
- package/build/Tooltip/Tooltip.mjs.map +1 -1
- package/build/Typeahead/Typeahead.js.map +1 -1
- package/build/Typeahead/Typeahead.messages.js.map +1 -1
- package/build/Typeahead/Typeahead.messages.mjs.map +1 -1
- package/build/Typeahead/Typeahead.mjs.map +1 -1
- package/build/Typeahead/TypeaheadInput/TypeaheadInput.js.map +1 -1
- package/build/Typeahead/TypeaheadInput/TypeaheadInput.mjs.map +1 -1
- package/build/Typeahead/TypeaheadOption/TypeaheadOption.js.map +1 -1
- package/build/Typeahead/TypeaheadOption/TypeaheadOption.mjs.map +1 -1
- package/build/Typeahead/Util/highlight.js.map +1 -1
- package/build/Typeahead/Util/highlight.mjs.map +1 -1
- package/build/Upload/Steps/CompleteStep/CompleteStep.js.map +1 -1
- package/build/Upload/Steps/CompleteStep/CompleteStep.mjs.map +1 -1
- package/build/Upload/Steps/ProcessingStep/ProcessingStep.js.map +1 -1
- package/build/Upload/Steps/ProcessingStep/ProcessingStep.mjs.map +1 -1
- package/build/Upload/Steps/UploadImageStep/UploadImageStep.js.map +1 -1
- package/build/Upload/Steps/UploadImageStep/UploadImageStep.mjs.map +1 -1
- package/build/Upload/Upload.js.map +1 -1
- package/build/Upload/Upload.messages.js.map +1 -1
- package/build/Upload/Upload.messages.mjs.map +1 -1
- package/build/Upload/Upload.mjs.map +1 -1
- package/build/Upload/utils/asyncFileRead/asyncFileRead.js.map +1 -1
- package/build/Upload/utils/asyncFileRead/asyncFileRead.mjs.map +1 -1
- package/build/Upload/utils/getFileType/getFileType.js.map +1 -1
- package/build/Upload/utils/getFileType/getFileType.mjs.map +1 -1
- package/build/Upload/utils/isSizeValid/isSizeValid.js.map +1 -1
- package/build/Upload/utils/isSizeValid/isSizeValid.mjs.map +1 -1
- package/build/Upload/utils/isTypeValid/isTypeValid.js.map +1 -1
- package/build/Upload/utils/isTypeValid/isTypeValid.mjs.map +1 -1
- package/build/Upload/utils/postData/postData.js.map +1 -1
- package/build/Upload/utils/postData/postData.mjs.map +1 -1
- package/build/UploadInput/UploadButton/UploadButton.js.map +1 -1
- package/build/UploadInput/UploadButton/UploadButton.messages.js.map +1 -1
- package/build/UploadInput/UploadButton/UploadButton.messages.mjs.map +1 -1
- package/build/UploadInput/UploadButton/UploadButton.mjs.map +1 -1
- package/build/UploadInput/UploadButton/defaults.js.map +1 -1
- package/build/UploadInput/UploadButton/defaults.mjs.map +1 -1
- package/build/UploadInput/UploadButton/getAllowedFileTypes.js.map +1 -1
- package/build/UploadInput/UploadButton/getAllowedFileTypes.mjs.map +1 -1
- package/build/UploadInput/UploadInput.js.map +1 -1
- package/build/UploadInput/UploadInput.messages.js.map +1 -1
- package/build/UploadInput/UploadInput.messages.mjs.map +1 -1
- package/build/UploadInput/UploadInput.mjs.map +1 -1
- package/build/UploadInput/UploadItem/UploadItem.js.map +1 -1
- package/build/UploadInput/UploadItem/UploadItem.messages.js.map +1 -1
- package/build/UploadInput/UploadItem/UploadItem.messages.mjs.map +1 -1
- package/build/UploadInput/UploadItem/UploadItem.mjs.map +1 -1
- package/build/UploadInput/UploadItem/UploadItemLink.js.map +1 -1
- package/build/UploadInput/UploadItem/UploadItemLink.mjs.map +1 -1
- package/build/WithDisplayFormat/WithDisplayFormat.js.map +1 -1
- package/build/WithDisplayFormat/WithDisplayFormat.mjs.map +1 -1
- package/build/WithId/WithId.js.map +1 -1
- package/build/WithId/WithId.mjs.map +1 -1
- package/build/WithNextPortal/WithNextPortal.js.map +1 -1
- package/build/WithNextPortal/WithNextPortal.mjs.map +1 -1
- package/build/_deprecated/ActionButton/ActionButton.js.map +1 -1
- package/build/_deprecated/ActionButton/ActionButton.mjs.map +1 -1
- package/build/_deprecated/ActionOption/ActionOption.js.map +1 -1
- package/build/_deprecated/ActionOption/ActionOption.mjs.map +1 -1
- package/build/_deprecated/Alert/Alert.js.map +1 -1
- package/build/_deprecated/Alert/Alert.mjs.map +1 -1
- package/build/_deprecated/Alert/InlineMarkdown/InlineMarkdown.js.map +1 -1
- package/build/_deprecated/Alert/InlineMarkdown/InlineMarkdown.mjs.map +1 -1
- package/build/_deprecated/Avatar/Avatar.js.map +1 -1
- package/build/_deprecated/Avatar/Avatar.mjs.map +1 -1
- package/build/_deprecated/Avatar/types.js.map +1 -1
- package/build/_deprecated/Avatar/types.mjs.map +1 -1
- package/build/_deprecated/AvatarWrapper/AvatarWrapper.js.map +1 -1
- package/build/_deprecated/AvatarWrapper/AvatarWrapper.mjs.map +1 -1
- package/build/_deprecated/Badge/Badge.js.map +1 -1
- package/build/_deprecated/Badge/Badge.mjs.map +1 -1
- package/build/_deprecated/Badge/BadgeAssets.js.map +1 -1
- package/build/_deprecated/Badge/BadgeAssets.mjs.map +1 -1
- package/build/_deprecated/Card/Card.js.map +1 -1
- package/build/_deprecated/Card/Card.mjs.map +1 -1
- package/build/_deprecated/CheckboxOption/CheckboxOption.js.map +1 -1
- package/build/_deprecated/CheckboxOption/CheckboxOption.mjs.map +1 -1
- package/build/_deprecated/CriticalBanner/CriticalCommsBanner.js.map +1 -1
- package/build/_deprecated/CriticalBanner/CriticalCommsBanner.mjs.map +1 -1
- package/build/_deprecated/InlineAlert/InlineAlert.js.map +1 -1
- package/build/_deprecated/InlineAlert/InlineAlert.mjs.map +1 -1
- package/build/_deprecated/LegacyListItem/LegacyListItem.js.map +1 -1
- package/build/_deprecated/LegacyListItem/LegacyListItem.mjs.map +1 -1
- package/build/_deprecated/NavigationOption/NavigationOption.js.map +1 -1
- package/build/_deprecated/NavigationOption/NavigationOption.mjs.map +1 -1
- package/build/_deprecated/NavigationOptionsList/NavigationOptionsList.js.map +1 -1
- package/build/_deprecated/NavigationOptionsList/NavigationOptionsList.mjs.map +1 -1
- package/build/_deprecated/OverlayHeader/OverlayHeader.js.map +1 -1
- package/build/_deprecated/OverlayHeader/OverlayHeader.mjs.map +1 -1
- package/build/_deprecated/RadioOption/RadioOption.js.map +1 -1
- package/build/_deprecated/RadioOption/RadioOption.mjs.map +1 -1
- package/build/_deprecated/Select/Option/Option.js.map +1 -1
- package/build/_deprecated/Select/Option/Option.mjs.map +1 -1
- package/build/_deprecated/Select/SearchBox/SearchBox.js.map +1 -1
- package/build/_deprecated/Select/SearchBox/SearchBox.mjs.map +1 -1
- package/build/_deprecated/Select/Select.js.map +1 -1
- package/build/_deprecated/Select/Select.messages.js.map +1 -1
- package/build/_deprecated/Select/Select.messages.mjs.map +1 -1
- package/build/_deprecated/Select/Select.mjs.map +1 -1
- package/build/_deprecated/Summary/Summary.js.map +1 -1
- package/build/_deprecated/Summary/Summary.messages.js.map +1 -1
- package/build/_deprecated/Summary/Summary.messages.mjs.map +1 -1
- package/build/_deprecated/Summary/Summary.mjs.map +1 -1
- package/build/_deprecated/SwitchOption/SwitchOption.js.map +1 -1
- package/build/_deprecated/SwitchOption/SwitchOption.mjs.map +1 -1
- package/build/common/BaseCard/BaseCard.js.map +1 -1
- package/build/common/BaseCard/BaseCard.mjs.map +1 -1
- package/build/common/BottomSheet/BottomSheet.js.map +1 -1
- package/build/common/BottomSheet/BottomSheet.mjs.map +1 -1
- package/build/common/Circle/Circle.js.map +1 -1
- package/build/common/Circle/Circle.mjs.map +1 -1
- package/build/common/CloseButton/CloseButton.js.map +1 -1
- package/build/common/CloseButton/CloseButton.messages.js.map +1 -1
- package/build/common/CloseButton/CloseButton.messages.mjs.map +1 -1
- package/build/common/CloseButton/CloseButton.mjs.map +1 -1
- package/build/common/DOMOperations/DOMOperations.js.map +1 -1
- package/build/common/DOMOperations/DOMOperations.mjs.map +1 -1
- package/build/common/DateUtils/getDateView/getDateView.js.map +1 -1
- package/build/common/DateUtils/getDateView/getDateView.mjs.map +1 -1
- package/build/common/DateUtils/getDayNames/getDayNames.js.map +1 -1
- package/build/common/DateUtils/getDayNames/getDayNames.mjs.map +1 -1
- package/build/common/DateUtils/getFormatForLocale/getFormatForLocale.js.map +1 -1
- package/build/common/DateUtils/getFormatForLocale/getFormatForLocale.mjs.map +1 -1
- package/build/common/DateUtils/getMonthNames/getMonthNames.js.map +1 -1
- package/build/common/DateUtils/getMonthNames/getMonthNames.mjs.map +1 -1
- package/build/common/DateUtils/isDateValid/isDateValid.js.map +1 -1
- package/build/common/DateUtils/isDateValid/isDateValid.mjs.map +1 -1
- package/build/common/DateUtils/isMonthAndYearFormat/isMonthAndYearFormat.js.map +1 -1
- package/build/common/DateUtils/isMonthAndYearFormat/isMonthAndYearFormat.mjs.map +1 -1
- package/build/common/DateUtils/isWithinRange/isWithinRange.js.map +1 -1
- package/build/common/DateUtils/isWithinRange/isWithinRange.mjs.map +1 -1
- package/build/common/DateUtils/moveToWithinRange/moveToWithinRange.js.map +1 -1
- package/build/common/DateUtils/moveToWithinRange/moveToWithinRange.mjs.map +1 -1
- package/build/common/DomHelpers/documentIosClick.js.map +1 -1
- package/build/common/DomHelpers/documentIosClick.mjs.map +1 -1
- package/build/common/FlowHeader/FlowHeader.js.map +1 -1
- package/build/common/FlowHeader/FlowHeader.mjs.map +1 -1
- package/build/common/FocusBoundary/FocusBoundary.js.map +1 -1
- package/build/common/FocusBoundary/FocusBoundary.mjs.map +1 -1
- package/build/common/LiveRegion/LiveRegion.js.map +1 -1
- package/build/common/LiveRegion/LiveRegion.mjs.map +1 -1
- package/build/common/Locale/index.js.map +1 -1
- package/build/common/Locale/index.mjs.map +1 -1
- package/build/common/Option/Option.js.map +1 -1
- package/build/common/Option/Option.mjs.map +1 -1
- package/build/common/Panel/Panel.js.map +1 -1
- package/build/common/Panel/Panel.mjs.map +1 -1
- package/build/common/Panel/Panel.positionUtils.js.map +1 -1
- package/build/common/Panel/Panel.positionUtils.mjs.map +1 -1
- package/build/common/PolymorphicWithOverrides/PolymorphicWithOverrides.js.map +1 -1
- package/build/common/PolymorphicWithOverrides/PolymorphicWithOverrides.mjs.map +1 -1
- package/build/common/PreventScroll/PreventScroll.js.map +1 -1
- package/build/common/PreventScroll/PreventScroll.mjs.map +1 -1
- package/build/common/PropsValues/control.js.map +1 -1
- package/build/common/PropsValues/control.mjs.map +1 -1
- package/build/common/PropsValues/dateMode.js.map +1 -1
- package/build/common/PropsValues/dateMode.mjs.map +1 -1
- package/build/common/PropsValues/layouts.js.map +1 -1
- package/build/common/PropsValues/layouts.mjs.map +1 -1
- package/build/common/PropsValues/markdownNodeType.js.map +1 -1
- package/build/common/PropsValues/markdownNodeType.mjs.map +1 -1
- package/build/common/PropsValues/monthFormat.js.map +1 -1
- package/build/common/PropsValues/monthFormat.mjs.map +1 -1
- package/build/common/PropsValues/position.js.map +1 -1
- package/build/common/PropsValues/position.mjs.map +1 -1
- package/build/common/PropsValues/profileType.js.map +1 -1
- package/build/common/PropsValues/profileType.mjs.map +1 -1
- package/build/common/PropsValues/scroll.js.map +1 -1
- package/build/common/PropsValues/scroll.mjs.map +1 -1
- package/build/common/PropsValues/sentiment.js.map +1 -1
- package/build/common/PropsValues/sentiment.mjs.map +1 -1
- package/build/common/PropsValues/size.js.map +1 -1
- package/build/common/PropsValues/size.mjs.map +1 -1
- package/build/common/PropsValues/status.js.map +1 -1
- package/build/common/PropsValues/status.mjs.map +1 -1
- package/build/common/PropsValues/type.js.map +1 -1
- package/build/common/PropsValues/type.mjs.map +1 -1
- package/build/common/PropsValues/typography.js.map +1 -1
- package/build/common/PropsValues/typography.mjs.map +1 -1
- package/build/common/PropsValues/variant.js.map +1 -1
- package/build/common/PropsValues/variant.mjs.map +1 -1
- package/build/common/PropsValues/width.js.map +1 -1
- package/build/common/PropsValues/width.mjs.map +1 -1
- package/build/common/RadioButton/RadioButton.js.map +1 -1
- package/build/common/RadioButton/RadioButton.mjs.map +1 -1
- package/build/common/ResponsivePanel/ResponsivePanel.js.map +1 -1
- package/build/common/ResponsivePanel/ResponsivePanel.mjs.map +1 -1
- package/build/common/TextFormat/formatWithPattern/formatWithPattern.js.map +1 -1
- package/build/common/TextFormat/formatWithPattern/formatWithPattern.mjs.map +1 -1
- package/build/common/TextFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.js.map +1 -1
- package/build/common/TextFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.mjs.map +1 -1
- package/build/common/TextFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.js.map +1 -1
- package/build/common/TextFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.mjs.map +1 -1
- package/build/common/TextFormat/getDistanceToSymbol/getDistanceToSymbol.js.map +1 -1
- package/build/common/TextFormat/getDistanceToSymbol/getDistanceToSymbol.mjs.map +1 -1
- package/build/common/TextFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.js.map +1 -1
- package/build/common/TextFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.mjs.map +1 -1
- package/build/common/TextFormat/unformatWithPattern/unformatWithPattern.js.map +1 -1
- package/build/common/TextFormat/unformatWithPattern/unformatWithPattern.mjs.map +1 -1
- package/build/common/colors.js.map +1 -1
- package/build/common/colors.mjs.map +1 -1
- package/build/common/constants.js.map +1 -1
- package/build/common/constants.mjs.map +1 -1
- package/build/common/deviceDetection/deviceDetection.js.map +1 -1
- package/build/common/deviceDetection/deviceDetection.mjs.map +1 -1
- package/build/common/direction.js.map +1 -1
- package/build/common/direction.mjs.map +1 -1
- package/build/common/fileType.js.map +1 -1
- package/build/common/fileType.mjs.map +1 -1
- package/build/common/historyNavigator/historyNavigator.js.map +1 -1
- package/build/common/historyNavigator/historyNavigator.mjs.map +1 -1
- package/build/common/hooks/useConditionalListener/useConditionalListener.js.map +1 -1
- package/build/common/hooks/useConditionalListener/useConditionalListener.mjs.map +1 -1
- package/build/common/hooks/useContainerSize.js.map +1 -1
- package/build/common/hooks/useContainerSize.mjs.map +1 -1
- package/build/common/hooks/useDirection/useDirection.js.map +1 -1
- package/build/common/hooks/useDirection/useDirection.mjs.map +1 -1
- package/build/common/hooks/useEffectEvent.js.map +1 -1
- package/build/common/hooks/useEffectEvent.mjs.map +1 -1
- package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -1
- package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -1
- package/build/common/hooks/useLayout/useLayout.js.map +1 -1
- package/build/common/hooks/useLayout/useLayout.mjs.map +1 -1
- package/build/common/hooks/useMedia.js.map +1 -1
- package/build/common/hooks/useMedia.mjs.map +1 -1
- package/build/common/hooks/useResizeObserver.js.map +1 -1
- package/build/common/hooks/useResizeObserver.mjs.map +1 -1
- package/build/common/hooks/useScreenSize.js.map +1 -1
- package/build/common/hooks/useScreenSize.mjs.map +1 -1
- package/build/common/hooks/useVirtualKeyboard.js.map +1 -1
- package/build/common/hooks/useVirtualKeyboard.mjs.map +1 -1
- package/build/common/initials.js.map +1 -1
- package/build/common/initials.mjs.map +1 -1
- package/build/common/injectIntl.js.map +1 -1
- package/build/common/injectIntl.mjs.map +1 -1
- package/build/common/theme.js.map +1 -1
- package/build/common/theme.mjs.map +1 -1
- package/build/i18n/commonMessages/Button.messages.js.map +1 -1
- package/build/i18n/commonMessages/Button.messages.mjs.map +1 -1
- package/build/i18n/cs.json.js.map +1 -1
- package/build/i18n/cs.json.mjs.map +1 -1
- package/build/i18n/de.json.js.map +1 -1
- package/build/i18n/de.json.mjs.map +1 -1
- package/build/i18n/en.json.js.map +1 -1
- package/build/i18n/en.json.mjs.map +1 -1
- package/build/i18n/es.json.js.map +1 -1
- package/build/i18n/es.json.mjs.map +1 -1
- package/build/i18n/fr.json.js.map +1 -1
- package/build/i18n/fr.json.mjs.map +1 -1
- package/build/i18n/hu.json.js.map +1 -1
- package/build/i18n/hu.json.mjs.map +1 -1
- package/build/i18n/id.json.js.map +1 -1
- package/build/i18n/id.json.mjs.map +1 -1
- package/build/i18n/index.js.map +1 -1
- package/build/i18n/index.mjs.map +1 -1
- package/build/i18n/it.json.js.map +1 -1
- package/build/i18n/it.json.mjs.map +1 -1
- package/build/i18n/ja.json.js.map +1 -1
- package/build/i18n/ja.json.mjs.map +1 -1
- package/build/i18n/nl.json.js.map +1 -1
- package/build/i18n/nl.json.mjs.map +1 -1
- package/build/i18n/pl.json.js.map +1 -1
- package/build/i18n/pl.json.mjs.map +1 -1
- package/build/i18n/pt.json.js.map +1 -1
- package/build/i18n/pt.json.mjs.map +1 -1
- package/build/i18n/ro.json.js.map +1 -1
- package/build/i18n/ro.json.mjs.map +1 -1
- package/build/i18n/ru.json.js.map +1 -1
- package/build/i18n/ru.json.mjs.map +1 -1
- package/build/i18n/th.json.js.map +1 -1
- package/build/i18n/th.json.mjs.map +1 -1
- package/build/i18n/tr.json.js.map +1 -1
- package/build/i18n/tr.json.mjs.map +1 -1
- package/build/i18n/uk.json.js.map +1 -1
- package/build/i18n/uk.json.mjs.map +1 -1
- package/build/i18n/zh-CN.json.js.map +1 -1
- package/build/i18n/zh-CN.json.mjs.map +1 -1
- package/build/i18n/zh-HK.json.js.map +1 -1
- package/build/i18n/zh-HK.json.mjs.map +1 -1
- package/build/main.css +8 -7
- package/build/mocks.js.map +1 -1
- package/build/mocks.mjs.map +1 -1
- package/build/styles/FlowNavigation/FlowNavigation.css +5 -6
- package/build/styles/css/neptune-core.css +3 -1
- package/build/styles/css/neptune.css +3 -1
- package/build/styles/main.css +8 -7
- package/build/styles/styles/less/neptune-core.css +3 -1
- package/build/styles/styles/less/neptune.css +3 -1
- package/build/utilities/cssValueWithUnit.js.map +1 -1
- package/build/utilities/cssValueWithUnit.mjs.map +1 -1
- package/build/utilities/logActionRequired.js.map +1 -1
- package/build/utilities/logActionRequired.mjs.map +1 -1
- package/package.json +16 -16
- package/src/Body/_stories/Body.test.story.tsx +9 -0
- package/src/FlowNavigation/FlowNavigation.css +5 -6
- package/src/FlowNavigation/FlowNavigation.less +7 -8
- package/src/main.css +8 -7
- package/src/styles/less/core/_typography.less +3 -1
- package/src/styles/less/neptune-core.css +3 -1
- package/src/styles/less/neptune.css +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.messages.js","sources":["../../src/Table/Table.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n loading: {\n id: 'neptune.Table.loading',\n defaultMessage: 'Table data is loading',\n },\n loaded: {\n id: 'neptune.Table.loaded',\n defaultMessage: 'Table data has loaded',\n },\n emptyData: {\n id: 'neptune.Table.emptyData',\n defaultMessage: 'No results found',\n },\n refreshPage: {\n id: 'neptune.Table.refreshPage',\n defaultMessage: 'Refresh page',\n },\n actionHeader: {\n id: 'neptune.Table.actionHeader',\n defaultMessage: 'Action',\n },\n});\n"],"names":["defineMessages","loading","id","loaded","emptyData","refreshPage","actionHeader"],"mappings":";;;;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,OAAO,EAAE;IACPC,EAAE,EAAA;GAEH;AACDC,EAAAA,MAAM,EAAE;IACND,EAAE,EAAA;GAEH;AACDE,EAAAA,SAAS,EAAE;IACTF,EAAE,EAAA;GAEH;AACDG,EAAAA,WAAW,EAAE;IACXH,EAAE,EAAA;GAEH;AACDI,EAAAA,YAAY,EAAE;IACZJ,EAAE,EAAA;AAEH;AACF,CAAA,CAAC
|
|
1
|
+
{"version":3,"file":"Table.messages.js","sources":["../../src/Table/Table.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n loading: {\n id: 'neptune.Table.loading',\n defaultMessage: 'Table data is loading',\n },\n loaded: {\n id: 'neptune.Table.loaded',\n defaultMessage: 'Table data has loaded',\n },\n emptyData: {\n id: 'neptune.Table.emptyData',\n defaultMessage: 'No results found',\n },\n refreshPage: {\n id: 'neptune.Table.refreshPage',\n defaultMessage: 'Refresh page',\n },\n actionHeader: {\n id: 'neptune.Table.actionHeader',\n defaultMessage: 'Action',\n },\n});\n"],"names":["defineMessages","loading","id","loaded","emptyData","refreshPage","actionHeader"],"mappings":";;;;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,OAAO,EAAE;IACPC,EAAE,EAAA;GAEH;AACDC,EAAAA,MAAM,EAAE;IACND,EAAE,EAAA;GAEH;AACDE,EAAAA,SAAS,EAAE;IACTF,EAAE,EAAA;GAEH;AACDG,EAAAA,WAAW,EAAE;IACXH,EAAE,EAAA;GAEH;AACDI,EAAAA,YAAY,EAAE;IACZJ,EAAE,EAAA;AAEH;AACF,CAAA,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.messages.mjs","sources":["../../src/Table/Table.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n loading: {\n id: 'neptune.Table.loading',\n defaultMessage: 'Table data is loading',\n },\n loaded: {\n id: 'neptune.Table.loaded',\n defaultMessage: 'Table data has loaded',\n },\n emptyData: {\n id: 'neptune.Table.emptyData',\n defaultMessage: 'No results found',\n },\n refreshPage: {\n id: 'neptune.Table.refreshPage',\n defaultMessage: 'Refresh page',\n },\n actionHeader: {\n id: 'neptune.Table.actionHeader',\n defaultMessage: 'Action',\n },\n});\n"],"names":["defineMessages","loading","id","loaded","emptyData","refreshPage","actionHeader"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,OAAO,EAAE;IACPC,EAAE,EAAA;GAEH;AACDC,EAAAA,MAAM,EAAE;IACND,EAAE,EAAA;GAEH;AACDE,EAAAA,SAAS,EAAE;IACTF,EAAE,EAAA;GAEH;AACDG,EAAAA,WAAW,EAAE;IACXH,EAAE,EAAA;GAEH;AACDI,EAAAA,YAAY,EAAE;IACZJ,EAAE,EAAA;AAEH;AACF,CAAA,CAAC
|
|
1
|
+
{"version":3,"file":"Table.messages.mjs","sources":["../../src/Table/Table.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n loading: {\n id: 'neptune.Table.loading',\n defaultMessage: 'Table data is loading',\n },\n loaded: {\n id: 'neptune.Table.loaded',\n defaultMessage: 'Table data has loaded',\n },\n emptyData: {\n id: 'neptune.Table.emptyData',\n defaultMessage: 'No results found',\n },\n refreshPage: {\n id: 'neptune.Table.refreshPage',\n defaultMessage: 'Refresh page',\n },\n actionHeader: {\n id: 'neptune.Table.actionHeader',\n defaultMessage: 'Action',\n },\n});\n"],"names":["defineMessages","loading","id","loaded","emptyData","refreshPage","actionHeader"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,OAAO,EAAE;IACPC,EAAE,EAAA;GAEH;AACDC,EAAAA,MAAM,EAAE;IACND,EAAE,EAAA;GAEH;AACDE,EAAAA,SAAS,EAAE;IACTF,EAAE,EAAA;GAEH;AACDG,EAAAA,WAAW,EAAE;IACXH,EAAE,EAAA;GAEH;AACDI,EAAAA,YAAY,EAAE;IACZJ,EAAE,EAAA;AAEH;AACF,CAAA,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.mjs","sources":["../../src/Table/Table.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\nimport TableCell from './Cell/TableCell';\nimport TableHeader, { TableHeaderType } from './Header/TableHeader';\nimport TableRow, { TableRowClickableType, TableRowType } from './Row/TableRow';\nimport { InfoPrompt } from '../Prompt/InfoPrompt';\n\nimport messages from './Table.messages';\nimport Loader from '../Loader';\nimport { Sentiment, Size } from '../common';\nimport StatusIcon from '../StatusIcon';\nimport { clsx } from 'clsx';\nimport { useTheme } from '@wise/components-theming';\nimport Body from '../Body';\n\nexport interface TableProps {\n 'aria-labelledby'?: string;\n data: {\n headers?: TableHeaderType[];\n rows?: TableRowType[] | TableRowClickableType[];\n onRowClick?: (rowData: TableRowType | TableRowClickableType) => void;\n };\n loading?: boolean;\n className?: string | undefined;\n fullWidth?: boolean;\n error?: {\n message?: string;\n action?: {\n href?: string;\n text?: string;\n };\n };\n}\n\nconst Table = ({\n 'aria-labelledby': ariaLabelledBy,\n data,\n loading,\n className,\n fullWidth = true,\n error,\n}: TableProps) => {\n const { formatMessage } = useIntl();\n const { theme } = useTheme();\n const isEmptyHeader = loading ?? (data?.headers && !data?.headers.length);\n\n const getRowLength = () => {\n const columnsLength = data?.headers?.length ?? 0;\n return data?.onRowClick ? columnsLength + 1 : columnsLength;\n };\n\n const getTableContent = () => {\n if (loading) {\n return (\n <TableRow>\n <TableCell>\n <Loader data-testid=\"np-table-loader\" />\n </TableCell>\n </TableRow>\n );\n }\n\n // Shows the `emptyData` message when there is no data to display\n if (!data?.rows?.length) {\n return (\n <TableRow>\n <TableCell colSpan={data?.headers?.length}>\n <div className=\"np-table-empty-data\" data-testid=\"np-table-empty-data\">\n <StatusIcon sentiment={Sentiment.WARNING} size={Size.MEDIUM} />\n <Body type=\"body-default-bold\">{formatMessage(messages.emptyData)}</Body>\n </div>\n </TableCell>\n </TableRow>\n );\n }\n\n return data?.rows?.map((rowData, rowIndex) => {\n return (\n <TableRow\n key={'table-row-'.concat(rowIndex.toString())}\n rowData={rowData}\n hasSeparator={data?.rows?.length ? data.rows.length - 1 !== rowIndex : false}\n onRowClick={data?.onRowClick}\n />\n );\n });\n };\n\n if (error) {\n return (\n <InfoPrompt\n className=\"np-table-error\"\n aria-live=\"assertive\"\n description={error.message ?? ''}\n sentiment=\"negative\"\n action={{\n href: error?.action?.href ?? '/',\n label: error?.action?.text ?? formatMessage(messages.refreshPage),\n }}\n data-testid=\"np-table-error\"\n />\n );\n }\n\n return (\n <>\n <div aria-live=\"polite\" className=\"sr-only\">\n {formatMessage(messages[loading ? 'loading' : 'loaded'])}\n </div>\n <div\n role={loading ? 'presentation' : 'region'}\n aria-labelledby={ariaLabelledBy}\n className={clsx('np-table-outer-container', className, {\n 'np-theme-personal': theme === 'bright-green',\n 'np-table-outer-container--center': !fullWidth,\n 'np-table-outer-container--full-width': fullWidth,\n })}\n tabIndex={0}\n data-testid=\"np-table-outer-container\"\n >\n <div\n className={clsx('np-table-container', {\n 'np-table-container--loading': loading,\n })}\n data-testid=\"np-table-container\"\n >\n <div className=\"np-table-inner-container\">\n <table className=\"np-table\">\n <thead aria-hidden={isEmptyHeader}>\n <tr>\n {isEmptyHeader ? (\n <TableHeader />\n ) : (\n data?.headers?.map((headerItem: TableHeaderType, index) => (\n <TableHeader\n key={headerItem.header?.concat(index.toString())}\n {...headerItem}\n />\n ))\n )}\n {data?.onRowClick && <TableHeader isActionHeader />}\n </tr>\n </thead>\n <tbody>\n <tr\n key=\"first-np-table-row--cosmetic\"\n aria-hidden=\"true\"\n className=\"np-table-row np-table-row--cosmetic\"\n >\n <td className=\"np-table-cell\" colSpan={getRowLength()} />\n </tr>\n {getTableContent()}\n <tr\n key=\"last-np-table-row--cosmetic\"\n aria-hidden=\"true\"\n className=\"np-table-row np-table-row--cosmetic\"\n >\n <td className=\"np-table-cell\" colSpan={getRowLength()} />\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default Table;\n"],"names":["Table","ariaLabelledBy","data","loading","className","fullWidth","error","formatMessage","useIntl","theme","useTheme","isEmptyHeader","headers","length","getRowLength","columnsLength","onRowClick","getTableContent","_jsx","TableRow","children","TableCell","Loader","rows","colSpan","_jsxs","StatusIcon","sentiment","Sentiment","WARNING","size","Size","MEDIUM","Body","type","messages","emptyData","map","rowData","rowIndex","hasSeparator","concat","toString","InfoPrompt","description","message","action","href","label","text","refreshPage","_Fragment","role","clsx","tabIndex","TableHeader","headerItem","index","header","isActionHeader"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.mjs","sources":["../../src/Table/Table.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\nimport TableCell from './Cell/TableCell';\nimport TableHeader, { TableHeaderType } from './Header/TableHeader';\nimport TableRow, { TableRowClickableType, TableRowType } from './Row/TableRow';\nimport { InfoPrompt } from '../Prompt/InfoPrompt';\n\nimport messages from './Table.messages';\nimport Loader from '../Loader';\nimport { Sentiment, Size } from '../common';\nimport StatusIcon from '../StatusIcon';\nimport { clsx } from 'clsx';\nimport { useTheme } from '@wise/components-theming';\nimport Body from '../Body';\n\nexport interface TableProps {\n 'aria-labelledby'?: string;\n data: {\n headers?: TableHeaderType[];\n rows?: TableRowType[] | TableRowClickableType[];\n onRowClick?: (rowData: TableRowType | TableRowClickableType) => void;\n };\n loading?: boolean;\n className?: string | undefined;\n fullWidth?: boolean;\n error?: {\n message?: string;\n action?: {\n href?: string;\n text?: string;\n };\n };\n}\n\nconst Table = ({\n 'aria-labelledby': ariaLabelledBy,\n data,\n loading,\n className,\n fullWidth = true,\n error,\n}: TableProps) => {\n const { formatMessage } = useIntl();\n const { theme } = useTheme();\n const isEmptyHeader = loading ?? (data?.headers && !data?.headers.length);\n\n const getRowLength = () => {\n const columnsLength = data?.headers?.length ?? 0;\n return data?.onRowClick ? columnsLength + 1 : columnsLength;\n };\n\n const getTableContent = () => {\n if (loading) {\n return (\n <TableRow>\n <TableCell>\n <Loader data-testid=\"np-table-loader\" />\n </TableCell>\n </TableRow>\n );\n }\n\n // Shows the `emptyData` message when there is no data to display\n if (!data?.rows?.length) {\n return (\n <TableRow>\n <TableCell colSpan={data?.headers?.length}>\n <div className=\"np-table-empty-data\" data-testid=\"np-table-empty-data\">\n <StatusIcon sentiment={Sentiment.WARNING} size={Size.MEDIUM} />\n <Body type=\"body-default-bold\">{formatMessage(messages.emptyData)}</Body>\n </div>\n </TableCell>\n </TableRow>\n );\n }\n\n return data?.rows?.map((rowData, rowIndex) => {\n return (\n <TableRow\n key={'table-row-'.concat(rowIndex.toString())}\n rowData={rowData}\n hasSeparator={data?.rows?.length ? data.rows.length - 1 !== rowIndex : false}\n onRowClick={data?.onRowClick}\n />\n );\n });\n };\n\n if (error) {\n return (\n <InfoPrompt\n className=\"np-table-error\"\n aria-live=\"assertive\"\n description={error.message ?? ''}\n sentiment=\"negative\"\n action={{\n href: error?.action?.href ?? '/',\n label: error?.action?.text ?? formatMessage(messages.refreshPage),\n }}\n data-testid=\"np-table-error\"\n />\n );\n }\n\n return (\n <>\n <div aria-live=\"polite\" className=\"sr-only\">\n {formatMessage(messages[loading ? 'loading' : 'loaded'])}\n </div>\n <div\n role={loading ? 'presentation' : 'region'}\n aria-labelledby={ariaLabelledBy}\n className={clsx('np-table-outer-container', className, {\n 'np-theme-personal': theme === 'bright-green',\n 'np-table-outer-container--center': !fullWidth,\n 'np-table-outer-container--full-width': fullWidth,\n })}\n tabIndex={0}\n data-testid=\"np-table-outer-container\"\n >\n <div\n className={clsx('np-table-container', {\n 'np-table-container--loading': loading,\n })}\n data-testid=\"np-table-container\"\n >\n <div className=\"np-table-inner-container\">\n <table className=\"np-table\">\n <thead aria-hidden={isEmptyHeader}>\n <tr>\n {isEmptyHeader ? (\n <TableHeader />\n ) : (\n data?.headers?.map((headerItem: TableHeaderType, index) => (\n <TableHeader\n key={headerItem.header?.concat(index.toString())}\n {...headerItem}\n />\n ))\n )}\n {data?.onRowClick && <TableHeader isActionHeader />}\n </tr>\n </thead>\n <tbody>\n <tr\n key=\"first-np-table-row--cosmetic\"\n aria-hidden=\"true\"\n className=\"np-table-row np-table-row--cosmetic\"\n >\n <td className=\"np-table-cell\" colSpan={getRowLength()} />\n </tr>\n {getTableContent()}\n <tr\n key=\"last-np-table-row--cosmetic\"\n aria-hidden=\"true\"\n className=\"np-table-row np-table-row--cosmetic\"\n >\n <td className=\"np-table-cell\" colSpan={getRowLength()} />\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default Table;\n"],"names":["Table","ariaLabelledBy","data","loading","className","fullWidth","error","formatMessage","useIntl","theme","useTheme","isEmptyHeader","headers","length","getRowLength","columnsLength","onRowClick","getTableContent","_jsx","TableRow","children","TableCell","Loader","rows","colSpan","_jsxs","StatusIcon","sentiment","Sentiment","WARNING","size","Size","MEDIUM","Body","type","messages","emptyData","map","rowData","rowIndex","hasSeparator","concat","toString","InfoPrompt","description","message","action","href","label","text","refreshPage","_Fragment","role","clsx","tabIndex","TableHeader","headerItem","index","header","isActionHeader"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","sources":["../../../src/Tabs/Tab/Tab.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { useEffectEvent } from '../../common/hooks/useEffectEvent';\n\nexport interface TabProps {\n children?: React.ReactNode;\n disabled?: boolean;\n selected?: boolean;\n id: string;\n panelId: string;\n style?: React.CSSProperties;\n focusTab?: () => void;\n onKeyDown: React.KeyboardEventHandler<HTMLLIElement>;\n onClick?: React.MouseEventHandler<HTMLLIElement>;\n}\n\nconst noop = () => {};\n\nconst Tab = forwardRef(function Tab(\n {\n children,\n id,\n disabled,\n panelId,\n selected,\n onKeyDown,\n onClick,\n style,\n focusTab = noop,\n }: TabProps,\n reference: React.ForwardedRef<HTMLLIElement>,\n) {\n const handleFocusTab = useEffectEvent(focusTab);\n const firstUpdate = useRef(true);\n useEffect(\n function checkFocus() {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected) {\n handleFocusTab();\n }\n },\n [handleFocusTab, selected],\n );\n\n return (\n <li\n ref={reference}\n className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled,\n })}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? undefined : panelId}\n tabIndex={0}\n style={style}\n onKeyDown={disabled ? undefined : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n});\n\nexport default Tab;\n"],"names":["noop","Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","handleFocusTab","useEffectEvent","firstUpdate","useRef","useEffect","checkFocus","current","_jsx","ref","className","clsx","clickable","role","undefined","tabIndex"],"mappings":";;;;;;;;;AAgBA,MAAMA,IAAI,GAAGA,MAAK,CAAE,CAAC;AAErB,MAAMC,GAAG,gBAAGC,gBAAU,CAAC,SAASD,GAAGA,CACjC;EACEE,QAAQ;EACRC,EAAE;EACFC,QAAQ;EACRC,OAAO;EACPC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPC,KAAK;AACLC,EAAAA,QAAQ,GAAGX;AAAI,CACN,EACXY,SAA4C,EAAA;AAE5C,EAAA,MAAMC,cAAc,GAAGC,6BAAc,CAACH,QAAQ,CAAC;AAC/C,EAAA,MAAMI,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC;AAChCC,EAAAA,eAAS,CACP,SAASC,UAAUA,GAAA;IACjB,IAAIH,WAAW,CAACI,OAAO,EAAE;MACvBJ,WAAW,CAACI,OAAO,GAAG,KAAK;AAC3B,MAAA;AACF,IAAA;AAEA,IAAA,IAAIZ,QAAQ,EAAE;AACZM,MAAAA,cAAc,EAAE;AAClB,IAAA;AACF,EAAA,CAAC,EACD,CAACA,cAAc,EAAEN,QAAQ,CAAC,CAC3B;AAED,EAAA,oBACEa,cAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAET,SAAU;IACfU,SAAS,EAAEC,SAAI,CAAC,WAAW,EAAEhB,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAAE;AACxF,MAAA,qBAAqB,EAAEA,QAAQ;MAC/BiB,SAAS,EAAE,CAACnB,QAAQ;AACpBA,MAAAA;AACD,KAAA,CAAE;AACHoB,IAAAA,IAAI,EAAC,KAAK;AACVrB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAGqB,SAAS,GAAGpB,OAAQ;AAC9CqB,IAAAA,QAAQ,EAAE,CAAE;AACZjB,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAGqB,SAAS,GAAGlB,SAAU;AAC5CC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBiB,cAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAnB,MAAAA,QAAA,EAAEA;KAAe;AACvD,GAAI,CAAC;AAET,CAAC
|
|
1
|
+
{"version":3,"file":"Tab.js","sources":["../../../src/Tabs/Tab/Tab.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { useEffectEvent } from '../../common/hooks/useEffectEvent';\n\nexport interface TabProps {\n children?: React.ReactNode;\n disabled?: boolean;\n selected?: boolean;\n id: string;\n panelId: string;\n style?: React.CSSProperties;\n focusTab?: () => void;\n onKeyDown: React.KeyboardEventHandler<HTMLLIElement>;\n onClick?: React.MouseEventHandler<HTMLLIElement>;\n}\n\nconst noop = () => {};\n\nconst Tab = forwardRef(function Tab(\n {\n children,\n id,\n disabled,\n panelId,\n selected,\n onKeyDown,\n onClick,\n style,\n focusTab = noop,\n }: TabProps,\n reference: React.ForwardedRef<HTMLLIElement>,\n) {\n const handleFocusTab = useEffectEvent(focusTab);\n const firstUpdate = useRef(true);\n useEffect(\n function checkFocus() {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected) {\n handleFocusTab();\n }\n },\n [handleFocusTab, selected],\n );\n\n return (\n <li\n ref={reference}\n className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled,\n })}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? undefined : panelId}\n tabIndex={0}\n style={style}\n onKeyDown={disabled ? undefined : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n});\n\nexport default Tab;\n"],"names":["noop","Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","handleFocusTab","useEffectEvent","firstUpdate","useRef","useEffect","checkFocus","current","_jsx","ref","className","clsx","clickable","role","undefined","tabIndex"],"mappings":";;;;;;;;;AAgBA,MAAMA,IAAI,GAAGA,MAAK,CAAE,CAAC;AAErB,MAAMC,GAAG,gBAAGC,gBAAU,CAAC,SAASD,GAAGA,CACjC;EACEE,QAAQ;EACRC,EAAE;EACFC,QAAQ;EACRC,OAAO;EACPC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPC,KAAK;AACLC,EAAAA,QAAQ,GAAGX;AAAI,CACN,EACXY,SAA4C,EAAA;AAE5C,EAAA,MAAMC,cAAc,GAAGC,6BAAc,CAACH,QAAQ,CAAC;AAC/C,EAAA,MAAMI,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC;AAChCC,EAAAA,eAAS,CACP,SAASC,UAAUA,GAAA;IACjB,IAAIH,WAAW,CAACI,OAAO,EAAE;MACvBJ,WAAW,CAACI,OAAO,GAAG,KAAK;AAC3B,MAAA;AACF,IAAA;AAEA,IAAA,IAAIZ,QAAQ,EAAE;AACZM,MAAAA,cAAc,EAAE;AAClB,IAAA;AACF,EAAA,CAAC,EACD,CAACA,cAAc,EAAEN,QAAQ,CAAC,CAC3B;AAED,EAAA,oBACEa,cAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAET,SAAU;IACfU,SAAS,EAAEC,SAAI,CAAC,WAAW,EAAEhB,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAAE;AACxF,MAAA,qBAAqB,EAAEA,QAAQ;MAC/BiB,SAAS,EAAE,CAACnB,QAAQ;AACpBA,MAAAA;AACD,KAAA,CAAE;AACHoB,IAAAA,IAAI,EAAC,KAAK;AACVrB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAGqB,SAAS,GAAGpB,OAAQ;AAC9CqB,IAAAA,QAAQ,EAAE,CAAE;AACZjB,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAGqB,SAAS,GAAGlB,SAAU;AAC5CC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBiB,cAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAnB,MAAAA,QAAA,EAAEA;KAAe;AACvD,GAAI,CAAC;AAET,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.mjs","sources":["../../../src/Tabs/Tab/Tab.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { useEffectEvent } from '../../common/hooks/useEffectEvent';\n\nexport interface TabProps {\n children?: React.ReactNode;\n disabled?: boolean;\n selected?: boolean;\n id: string;\n panelId: string;\n style?: React.CSSProperties;\n focusTab?: () => void;\n onKeyDown: React.KeyboardEventHandler<HTMLLIElement>;\n onClick?: React.MouseEventHandler<HTMLLIElement>;\n}\n\nconst noop = () => {};\n\nconst Tab = forwardRef(function Tab(\n {\n children,\n id,\n disabled,\n panelId,\n selected,\n onKeyDown,\n onClick,\n style,\n focusTab = noop,\n }: TabProps,\n reference: React.ForwardedRef<HTMLLIElement>,\n) {\n const handleFocusTab = useEffectEvent(focusTab);\n const firstUpdate = useRef(true);\n useEffect(\n function checkFocus() {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected) {\n handleFocusTab();\n }\n },\n [handleFocusTab, selected],\n );\n\n return (\n <li\n ref={reference}\n className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled,\n })}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? undefined : panelId}\n tabIndex={0}\n style={style}\n onKeyDown={disabled ? undefined : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n});\n\nexport default Tab;\n"],"names":["noop","Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","handleFocusTab","useEffectEvent","firstUpdate","useRef","useEffect","checkFocus","current","_jsx","ref","className","clsx","clickable","role","undefined","tabIndex"],"mappings":";;;;;AAgBA,MAAMA,IAAI,GAAGA,MAAK,CAAE,CAAC;AAErB,MAAMC,GAAG,gBAAGC,UAAU,CAAC,SAASD,GAAGA,CACjC;EACEE,QAAQ;EACRC,EAAE;EACFC,QAAQ;EACRC,OAAO;EACPC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPC,KAAK;AACLC,EAAAA,QAAQ,GAAGX;AAAI,CACN,EACXY,SAA4C,EAAA;AAE5C,EAAA,MAAMC,cAAc,GAAGC,cAAc,CAACH,QAAQ,CAAC;AAC/C,EAAA,MAAMI,WAAW,GAAGC,MAAM,CAAC,IAAI,CAAC;AAChCC,EAAAA,SAAS,CACP,SAASC,UAAUA,GAAA;IACjB,IAAIH,WAAW,CAACI,OAAO,EAAE;MACvBJ,WAAW,CAACI,OAAO,GAAG,KAAK;AAC3B,MAAA;AACF,IAAA;AAEA,IAAA,IAAIZ,QAAQ,EAAE;AACZM,MAAAA,cAAc,EAAE;AAClB,IAAA;AACF,EAAA,CAAC,EACD,CAACA,cAAc,EAAEN,QAAQ,CAAC,CAC3B;AAED,EAAA,oBACEa,GAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAET,SAAU;IACfU,SAAS,EAAEC,IAAI,CAAC,WAAW,EAAEhB,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAAE;AACxF,MAAA,qBAAqB,EAAEA,QAAQ;MAC/BiB,SAAS,EAAE,CAACnB,QAAQ;AACpBA,MAAAA;AACD,KAAA,CAAE;AACHoB,IAAAA,IAAI,EAAC,KAAK;AACVrB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAGqB,SAAS,GAAGpB,OAAQ;AAC9CqB,IAAAA,QAAQ,EAAE,CAAE;AACZjB,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAGqB,SAAS,GAAGlB,SAAU;AAC5CC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBiB,GAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAnB,MAAAA,QAAA,EAAEA;KAAe;AACvD,GAAI,CAAC;AAET,CAAC
|
|
1
|
+
{"version":3,"file":"Tab.mjs","sources":["../../../src/Tabs/Tab/Tab.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { useEffectEvent } from '../../common/hooks/useEffectEvent';\n\nexport interface TabProps {\n children?: React.ReactNode;\n disabled?: boolean;\n selected?: boolean;\n id: string;\n panelId: string;\n style?: React.CSSProperties;\n focusTab?: () => void;\n onKeyDown: React.KeyboardEventHandler<HTMLLIElement>;\n onClick?: React.MouseEventHandler<HTMLLIElement>;\n}\n\nconst noop = () => {};\n\nconst Tab = forwardRef(function Tab(\n {\n children,\n id,\n disabled,\n panelId,\n selected,\n onKeyDown,\n onClick,\n style,\n focusTab = noop,\n }: TabProps,\n reference: React.ForwardedRef<HTMLLIElement>,\n) {\n const handleFocusTab = useEffectEvent(focusTab);\n const firstUpdate = useRef(true);\n useEffect(\n function checkFocus() {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected) {\n handleFocusTab();\n }\n },\n [handleFocusTab, selected],\n );\n\n return (\n <li\n ref={reference}\n className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled,\n })}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? undefined : panelId}\n tabIndex={0}\n style={style}\n onKeyDown={disabled ? undefined : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n});\n\nexport default Tab;\n"],"names":["noop","Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","handleFocusTab","useEffectEvent","firstUpdate","useRef","useEffect","checkFocus","current","_jsx","ref","className","clsx","clickable","role","undefined","tabIndex"],"mappings":";;;;;AAgBA,MAAMA,IAAI,GAAGA,MAAK,CAAE,CAAC;AAErB,MAAMC,GAAG,gBAAGC,UAAU,CAAC,SAASD,GAAGA,CACjC;EACEE,QAAQ;EACRC,EAAE;EACFC,QAAQ;EACRC,OAAO;EACPC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPC,KAAK;AACLC,EAAAA,QAAQ,GAAGX;AAAI,CACN,EACXY,SAA4C,EAAA;AAE5C,EAAA,MAAMC,cAAc,GAAGC,cAAc,CAACH,QAAQ,CAAC;AAC/C,EAAA,MAAMI,WAAW,GAAGC,MAAM,CAAC,IAAI,CAAC;AAChCC,EAAAA,SAAS,CACP,SAASC,UAAUA,GAAA;IACjB,IAAIH,WAAW,CAACI,OAAO,EAAE;MACvBJ,WAAW,CAACI,OAAO,GAAG,KAAK;AAC3B,MAAA;AACF,IAAA;AAEA,IAAA,IAAIZ,QAAQ,EAAE;AACZM,MAAAA,cAAc,EAAE;AAClB,IAAA;AACF,EAAA,CAAC,EACD,CAACA,cAAc,EAAEN,QAAQ,CAAC,CAC3B;AAED,EAAA,oBACEa,GAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAET,SAAU;IACfU,SAAS,EAAEC,IAAI,CAAC,WAAW,EAAEhB,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAAE;AACxF,MAAA,qBAAqB,EAAEA,QAAQ;MAC/BiB,SAAS,EAAE,CAACnB,QAAQ;AACpBA,MAAAA;AACD,KAAA,CAAE;AACHoB,IAAAA,IAAI,EAAC,KAAK;AACVrB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAGqB,SAAS,GAAGpB,OAAQ;AAC9CqB,IAAAA,QAAQ,EAAE,CAAE;AACZjB,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAGqB,SAAS,GAAGlB,SAAU;AAC5CC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBiB,GAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAnB,MAAAA,QAAA,EAAEA;KAAe;AACvD,GAAI,CAAC;AAET,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.js","sources":["../../../src/Tabs/TabList/TabList.tsx"],"sourcesContent":["export interface TabListProps {\n children?: React.ReactNode;\n}\n\nexport default function TabList({ children }: TabListProps) {\n return (\n <ul className=\"tabs__tab-list\" role=\"tablist\">\n {children}\n </ul>\n );\n}\n"],"names":["TabList","children","_jsx","className","role"],"mappings":";;;;;;AAIc,SAAUA,OAAOA,CAAC;AAAEC,EAAAA;AAAQ,CAAgB,EAAA;AACxD,EAAA,oBACEC,cAAA,CAAA,IAAA,EAAA;AAAIC,IAAAA,SAAS,EAAC,gBAAgB;AAACC,IAAAA,IAAI,EAAC,SAAS;AAAAH,IAAAA,QAAA,EAC1CA;AAAQ,GACP,CAAC;AAET
|
|
1
|
+
{"version":3,"file":"TabList.js","sources":["../../../src/Tabs/TabList/TabList.tsx"],"sourcesContent":["export interface TabListProps {\n children?: React.ReactNode;\n}\n\nexport default function TabList({ children }: TabListProps) {\n return (\n <ul className=\"tabs__tab-list\" role=\"tablist\">\n {children}\n </ul>\n );\n}\n"],"names":["TabList","children","_jsx","className","role"],"mappings":";;;;;;AAIc,SAAUA,OAAOA,CAAC;AAAEC,EAAAA;AAAQ,CAAgB,EAAA;AACxD,EAAA,oBACEC,cAAA,CAAA,IAAA,EAAA;AAAIC,IAAAA,SAAS,EAAC,gBAAgB;AAACC,IAAAA,IAAI,EAAC,SAAS;AAAAH,IAAAA,QAAA,EAC1CA;AAAQ,GACP,CAAC;AAET;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.mjs","sources":["../../../src/Tabs/TabList/TabList.tsx"],"sourcesContent":["export interface TabListProps {\n children?: React.ReactNode;\n}\n\nexport default function TabList({ children }: TabListProps) {\n return (\n <ul className=\"tabs__tab-list\" role=\"tablist\">\n {children}\n </ul>\n );\n}\n"],"names":["TabList","children","_jsx","className","role"],"mappings":";;AAIc,SAAUA,OAAOA,CAAC;AAAEC,EAAAA;AAAQ,CAAgB,EAAA;AACxD,EAAA,oBACEC,GAAA,CAAA,IAAA,EAAA;AAAIC,IAAAA,SAAS,EAAC,gBAAgB;AAACC,IAAAA,IAAI,EAAC,SAAS;AAAAH,IAAAA,QAAA,EAC1CA;AAAQ,GACP,CAAC;AAET
|
|
1
|
+
{"version":3,"file":"TabList.mjs","sources":["../../../src/Tabs/TabList/TabList.tsx"],"sourcesContent":["export interface TabListProps {\n children?: React.ReactNode;\n}\n\nexport default function TabList({ children }: TabListProps) {\n return (\n <ul className=\"tabs__tab-list\" role=\"tablist\">\n {children}\n </ul>\n );\n}\n"],"names":["TabList","children","_jsx","className","role"],"mappings":";;AAIc,SAAUA,OAAOA,CAAC;AAAEC,EAAAA;AAAQ,CAAgB,EAAA;AACxD,EAAA,oBACEC,GAAA,CAAA,IAAA,EAAA;AAAIC,IAAAA,SAAS,EAAC,gBAAgB;AAACC,IAAAA,IAAI,EAAC,SAAS;AAAAH,IAAAA,QAAA,EAC1CA;AAAQ,GACP,CAAC;AAET;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPanel.js","sources":["../../../src/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["export interface TabPanelProps {\n children?: React.ReactNode;\n id: string;\n tabId: string;\n style: React.CSSProperties;\n}\n\nexport default function TabPanel({ children, id, tabId, style }: TabPanelProps) {\n return (\n <div className=\"tabs__panel\" role=\"tabpanel\" id={id} aria-labelledby={tabId} style={style}>\n {children}\n </div>\n );\n}\n"],"names":["TabPanel","children","id","tabId","style","_jsx","className","role"],"mappings":";;;;;;AAOc,SAAUA,QAAQA,CAAC;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,KAAK;AAAEC,EAAAA;AAAK,CAAiB,EAAA;AAC5E,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,aAAa;AAACC,IAAAA,IAAI,EAAC,UAAU;AAACL,IAAAA,EAAE,EAAEA,EAAG;AAAC,IAAA,iBAAA,EAAiBC,KAAM;AAACC,IAAAA,KAAK,EAAEA,KAAM;AAAAH,IAAAA,QAAA,EACvFA;AAAQ,GACN,CAAC;AAEV
|
|
1
|
+
{"version":3,"file":"TabPanel.js","sources":["../../../src/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["export interface TabPanelProps {\n children?: React.ReactNode;\n id: string;\n tabId: string;\n style: React.CSSProperties;\n}\n\nexport default function TabPanel({ children, id, tabId, style }: TabPanelProps) {\n return (\n <div className=\"tabs__panel\" role=\"tabpanel\" id={id} aria-labelledby={tabId} style={style}>\n {children}\n </div>\n );\n}\n"],"names":["TabPanel","children","id","tabId","style","_jsx","className","role"],"mappings":";;;;;;AAOc,SAAUA,QAAQA,CAAC;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,KAAK;AAAEC,EAAAA;AAAK,CAAiB,EAAA;AAC5E,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,aAAa;AAACC,IAAAA,IAAI,EAAC,UAAU;AAACL,IAAAA,EAAE,EAAEA,EAAG;AAAC,IAAA,iBAAA,EAAiBC,KAAM;AAACC,IAAAA,KAAK,EAAEA,KAAM;AAAAH,IAAAA,QAAA,EACvFA;AAAQ,GACN,CAAC;AAEV;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPanel.mjs","sources":["../../../src/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["export interface TabPanelProps {\n children?: React.ReactNode;\n id: string;\n tabId: string;\n style: React.CSSProperties;\n}\n\nexport default function TabPanel({ children, id, tabId, style }: TabPanelProps) {\n return (\n <div className=\"tabs__panel\" role=\"tabpanel\" id={id} aria-labelledby={tabId} style={style}>\n {children}\n </div>\n );\n}\n"],"names":["TabPanel","children","id","tabId","style","_jsx","className","role"],"mappings":";;AAOc,SAAUA,QAAQA,CAAC;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,KAAK;AAAEC,EAAAA;AAAK,CAAiB,EAAA;AAC5E,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,aAAa;AAACC,IAAAA,IAAI,EAAC,UAAU;AAACL,IAAAA,EAAE,EAAEA,EAAG;AAAC,IAAA,iBAAA,EAAiBC,KAAM;AAACC,IAAAA,KAAK,EAAEA,KAAM;AAAAH,IAAAA,QAAA,EACvFA;AAAQ,GACN,CAAC;AAEV
|
|
1
|
+
{"version":3,"file":"TabPanel.mjs","sources":["../../../src/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["export interface TabPanelProps {\n children?: React.ReactNode;\n id: string;\n tabId: string;\n style: React.CSSProperties;\n}\n\nexport default function TabPanel({ children, id, tabId, style }: TabPanelProps) {\n return (\n <div className=\"tabs__panel\" role=\"tabpanel\" id={id} aria-labelledby={tabId} style={style}>\n {children}\n </div>\n );\n}\n"],"names":["TabPanel","children","id","tabId","style","_jsx","className","role"],"mappings":";;AAOc,SAAUA,QAAQA,CAAC;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,KAAK;AAAEC,EAAAA;AAAK,CAAiB,EAAA;AAC5E,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,aAAa;AAACC,IAAAA,IAAI,EAAC,UAAU;AAACL,IAAAA,EAAE,EAAEA,EAAG;AAAC,IAAA,iBAAA,EAAiBC,KAAM;AAACC,IAAAA,KAAK,EAAEA,KAAM;AAAAH,IAAAA,QAAA,EACvFA;AAAQ,GACN,CAAC;AAEV;;"}
|
package/build/Tabs/Tabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport clamp from 'lodash.clamp';\nimport { Component, createRef } from 'react';\n\nimport { Width, Direction } from '../common';\nimport { DirectionContext } from '../Provider/Direction';\n\nimport Tab from './Tab/Tab';\nimport TabList from './TabList/TabList';\nimport TabPanel from './TabPanel/TabPanel';\nimport {\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n Swipe,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nexport interface TabItem {\n title: string;\n content: React.ReactNode;\n disabled: boolean;\n}\n\nexport interface TabsProps {\n tabs: TabItem[];\n selected: number;\n name: string;\n /** @default true */\n changeTabOnSwipe?: boolean;\n className?: string;\n /** @default 'block' */\n headerWidth?: `${Width}`;\n onTabSelect: (index: number) => void;\n}\n\ninterface TabsState {\n start: Swipe | null;\n translateLineX: string | null;\n isSwiping: boolean;\n isScrolling: boolean;\n fullWidthTabs: boolean;\n}\n\nexport default class Tabs extends Component<TabsProps, TabsState> {\n declare props: TabsProps & Required<Pick<TabsProps, keyof typeof Tabs.defaultProps>>;\n\n static defaultProps = {\n changeTabOnSwipe: true,\n headerWidth: Width.BLOCK,\n } satisfies Partial<TabsProps>;\n\n containerReference = createRef<HTMLDivElement>();\n\n constructor(props: Tabs['props']) {\n super(props);\n this.state = {\n start: null,\n translateLineX: null,\n isSwiping: false,\n isScrolling: false,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container: HTMLDivElement | null = null;\n\n containerWidth = 0;\n\n tabRefs: (HTMLLIElement | null)[] = [];\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateLine(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps: TabsProps) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab?.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab?.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter((tab) => !tab.disabled).length;\n const previousDisabledTabsLength = previousProps.tabs.filter((tab) => !tab.disabled).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateLine(clamp(currentSelected, MIN_INDEX, this.MAX_INDEX));\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n };\n\n setContainerRefAndWidth = (node: HTMLDivElement | null) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node: HTMLDivElement | null) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index: number) => {\n const { tabs } = this.props;\n\n return tabs[index]?.disabled ?? false;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex: number) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected: number, start: Swipe, end: Swipe): number => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference: number) => difference / this.containerWidth >= 0.5;\n\n switchTab = (index: number) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n animateLine = (index: number) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n disableScroll = (event: Event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index: number) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index: number) => (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event?.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n });\n };\n\n handleTouchMove: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const { start } = this.state;\n if (start == null) {\n return;\n }\n\n const { selected: currentSelectedFromProps } = this.props;\n const end: Swipe = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n }\n };\n\n handleTouchEnd: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const { start, isSwiping } = this.state;\n if (start == null) {\n return;\n }\n\n const { selected } = this.props;\n const end: Swipe = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n\n let nextSelected = selected;\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n } else {\n this.animateLine(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, headerWidth } = this.props;\n const { translateLineX, fullWidthTabs } = this.state;\n\n const selectedTab = tabs[selected];\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={clsx('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index]?.focus();\n }\n }}\n onClick={disabled ? undefined : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div ref={this.setContainerRefAndWidth} className=\"tabs__panel-container\">\n {selectedTab && !selectedTab.disabled ? (\n <TabPanel\n key={selectedTab.title}\n tabId={`${name}-tab-${selected}`}\n id={`${name}-panel-${selected}`}\n style={{\n width: '100%',\n }}\n >\n {selectedTab.content}\n </TabPanel>\n ) : null}\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n"],"names":["MIN_INDEX","Tabs","Component","defaultProps","changeTabOnSwipe","headerWidth","Width","BLOCK","containerReference","createRef","constructor","props","state","start","translateLineX","isSwiping","isScrolling","fullWidthTabs","container","containerWidth","tabRefs","MAX_INDEX","tabs","length","componentDidMount","selected","setTabWidth","switchTab","clamp","animateLine","document","body","addEventListener","disableScroll","passive","window","handleResize","componentDidUpdate","previousProps","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","disabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","filter","tab","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","componentWillUnmount","removeEventListener","setContainerWidth","setContainerRefAndWidth","node","width","getBoundingClientRect","isTabDisabled","index","getAllTabsWidth","map","reference","reduce","a","b","getDistanceToSelectedTab","selectedTabIndex","_","idx","allTabsWidth","setState","AUTO","getTabLineWidth","getTabToSelect","end","nextSelected","swipedLeftToRight","swipedRightToLeft","Math","max","min","swipedOverHalfOfContainer","difference","onTabSelect","previousState","event","preventDefault","handleTabClick","onKeyDown","key","handleTouchStart","x","nativeEvent","touches","clientX","y","clientY","time","Date","now","handleTouchMove","currentSelectedFromProps","changedTouches","getSwipeDifference","yAxisDifference","handleTouchEnd","swipeShouldChangeTab","render","name","className","selectedTab","_jsx","DirectionContext","Consumer","children","direction","isRTL","Direction","RTL","_jsxs","ref","clsx","onTouchStart","undefined","onTouchEnd","onTouchMove","TabList","title","Tab","id","panelId","focusTab","current","contains","activeElement","focus","onClick","style","role","transform","TabPanel","tabId","content"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport clamp from 'lodash.clamp';\nimport { Component, createRef } from 'react';\n\nimport { Width, Direction } from '../common';\nimport { DirectionContext } from '../Provider/Direction';\n\nimport Tab from './Tab/Tab';\nimport TabList from './TabList/TabList';\nimport TabPanel from './TabPanel/TabPanel';\nimport {\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n Swipe,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nexport interface TabItem {\n title: string;\n content: React.ReactNode;\n disabled: boolean;\n}\n\nexport interface TabsProps {\n tabs: TabItem[];\n selected: number;\n name: string;\n /** @default true */\n changeTabOnSwipe?: boolean;\n className?: string;\n /** @default 'block' */\n headerWidth?: `${Width}`;\n onTabSelect: (index: number) => void;\n}\n\ninterface TabsState {\n start: Swipe | null;\n translateLineX: string | null;\n isSwiping: boolean;\n isScrolling: boolean;\n fullWidthTabs: boolean;\n}\n\nexport default class Tabs extends Component<TabsProps, TabsState> {\n declare props: TabsProps & Required<Pick<TabsProps, keyof typeof Tabs.defaultProps>>;\n\n static defaultProps = {\n changeTabOnSwipe: true,\n headerWidth: Width.BLOCK,\n } satisfies Partial<TabsProps>;\n\n containerReference = createRef<HTMLDivElement>();\n\n constructor(props: Tabs['props']) {\n super(props);\n this.state = {\n start: null,\n translateLineX: null,\n isSwiping: false,\n isScrolling: false,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container: HTMLDivElement | null = null;\n\n containerWidth = 0;\n\n tabRefs: (HTMLLIElement | null)[] = [];\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateLine(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps: TabsProps) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab?.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab?.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter((tab) => !tab.disabled).length;\n const previousDisabledTabsLength = previousProps.tabs.filter((tab) => !tab.disabled).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateLine(clamp(currentSelected, MIN_INDEX, this.MAX_INDEX));\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n };\n\n setContainerRefAndWidth = (node: HTMLDivElement | null) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node: HTMLDivElement | null) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index: number) => {\n const { tabs } = this.props;\n\n return tabs[index]?.disabled ?? false;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex: number) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected: number, start: Swipe, end: Swipe): number => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference: number) => difference / this.containerWidth >= 0.5;\n\n switchTab = (index: number) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n animateLine = (index: number) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n disableScroll = (event: Event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index: number) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index: number) => (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event?.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n });\n };\n\n handleTouchMove: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const { start } = this.state;\n if (start == null) {\n return;\n }\n\n const { selected: currentSelectedFromProps } = this.props;\n const end: Swipe = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n }\n };\n\n handleTouchEnd: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const { start, isSwiping } = this.state;\n if (start == null) {\n return;\n }\n\n const { selected } = this.props;\n const end: Swipe = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n\n let nextSelected = selected;\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n } else {\n this.animateLine(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, headerWidth } = this.props;\n const { translateLineX, fullWidthTabs } = this.state;\n\n const selectedTab = tabs[selected];\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={clsx('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index]?.focus();\n }\n }}\n onClick={disabled ? undefined : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div ref={this.setContainerRefAndWidth} className=\"tabs__panel-container\">\n {selectedTab && !selectedTab.disabled ? (\n <TabPanel\n key={selectedTab.title}\n tabId={`${name}-tab-${selected}`}\n id={`${name}-panel-${selected}`}\n style={{\n width: '100%',\n }}\n >\n {selectedTab.content}\n </TabPanel>\n ) : null}\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n"],"names":["MIN_INDEX","Tabs","Component","defaultProps","changeTabOnSwipe","headerWidth","Width","BLOCK","containerReference","createRef","constructor","props","state","start","translateLineX","isSwiping","isScrolling","fullWidthTabs","container","containerWidth","tabRefs","MAX_INDEX","tabs","length","componentDidMount","selected","setTabWidth","switchTab","clamp","animateLine","document","body","addEventListener","disableScroll","passive","window","handleResize","componentDidUpdate","previousProps","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","disabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","filter","tab","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","componentWillUnmount","removeEventListener","setContainerWidth","setContainerRefAndWidth","node","width","getBoundingClientRect","isTabDisabled","index","getAllTabsWidth","map","reference","reduce","a","b","getDistanceToSelectedTab","selectedTabIndex","_","idx","allTabsWidth","setState","AUTO","getTabLineWidth","getTabToSelect","end","nextSelected","swipedLeftToRight","swipedRightToLeft","Math","max","min","swipedOverHalfOfContainer","difference","onTabSelect","previousState","event","preventDefault","handleTabClick","onKeyDown","key","handleTouchStart","x","nativeEvent","touches","clientX","y","clientY","time","Date","now","handleTouchMove","currentSelectedFromProps","changedTouches","getSwipeDifference","yAxisDifference","handleTouchEnd","swipeShouldChangeTab","render","name","className","selectedTab","_jsx","DirectionContext","Consumer","children","direction","isRTL","Direction","RTL","_jsxs","ref","clsx","onTouchStart","undefined","onTouchEnd","onTouchMove","TabList","title","Tab","id","panelId","focusTab","current","contains","activeElement","focus","onClick","style","role","transform","TabPanel","tabId","content"],"mappings":"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"}
|
package/build/Tabs/Tabs.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.mjs","sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport clamp from 'lodash.clamp';\nimport { Component, createRef } from 'react';\n\nimport { Width, Direction } from '../common';\nimport { DirectionContext } from '../Provider/Direction';\n\nimport Tab from './Tab/Tab';\nimport TabList from './TabList/TabList';\nimport TabPanel from './TabPanel/TabPanel';\nimport {\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n Swipe,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nexport interface TabItem {\n title: string;\n content: React.ReactNode;\n disabled: boolean;\n}\n\nexport interface TabsProps {\n tabs: TabItem[];\n selected: number;\n name: string;\n /** @default true */\n changeTabOnSwipe?: boolean;\n className?: string;\n /** @default 'block' */\n headerWidth?: `${Width}`;\n onTabSelect: (index: number) => void;\n}\n\ninterface TabsState {\n start: Swipe | null;\n translateLineX: string | null;\n isSwiping: boolean;\n isScrolling: boolean;\n fullWidthTabs: boolean;\n}\n\nexport default class Tabs extends Component<TabsProps, TabsState> {\n declare props: TabsProps & Required<Pick<TabsProps, keyof typeof Tabs.defaultProps>>;\n\n static defaultProps = {\n changeTabOnSwipe: true,\n headerWidth: Width.BLOCK,\n } satisfies Partial<TabsProps>;\n\n containerReference = createRef<HTMLDivElement>();\n\n constructor(props: Tabs['props']) {\n super(props);\n this.state = {\n start: null,\n translateLineX: null,\n isSwiping: false,\n isScrolling: false,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container: HTMLDivElement | null = null;\n\n containerWidth = 0;\n\n tabRefs: (HTMLLIElement | null)[] = [];\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateLine(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps: TabsProps) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab?.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab?.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter((tab) => !tab.disabled).length;\n const previousDisabledTabsLength = previousProps.tabs.filter((tab) => !tab.disabled).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateLine(clamp(currentSelected, MIN_INDEX, this.MAX_INDEX));\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n };\n\n setContainerRefAndWidth = (node: HTMLDivElement | null) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node: HTMLDivElement | null) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index: number) => {\n const { tabs } = this.props;\n\n return tabs[index]?.disabled ?? false;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex: number) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected: number, start: Swipe, end: Swipe): number => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference: number) => difference / this.containerWidth >= 0.5;\n\n switchTab = (index: number) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n animateLine = (index: number) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n disableScroll = (event: Event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index: number) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index: number) => (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event?.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n });\n };\n\n handleTouchMove: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const { start } = this.state;\n if (start == null) {\n return;\n }\n\n const { selected: currentSelectedFromProps } = this.props;\n const end: Swipe = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n }\n };\n\n handleTouchEnd: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const { start, isSwiping } = this.state;\n if (start == null) {\n return;\n }\n\n const { selected } = this.props;\n const end: Swipe = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n\n let nextSelected = selected;\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n } else {\n this.animateLine(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, headerWidth } = this.props;\n const { translateLineX, fullWidthTabs } = this.state;\n\n const selectedTab = tabs[selected];\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={clsx('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index]?.focus();\n }\n }}\n onClick={disabled ? undefined : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div ref={this.setContainerRefAndWidth} className=\"tabs__panel-container\">\n {selectedTab && !selectedTab.disabled ? (\n <TabPanel\n key={selectedTab.title}\n tabId={`${name}-tab-${selected}`}\n id={`${name}-panel-${selected}`}\n style={{\n width: '100%',\n }}\n >\n {selectedTab.content}\n </TabPanel>\n ) : null}\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n"],"names":["MIN_INDEX","Tabs","Component","defaultProps","changeTabOnSwipe","headerWidth","Width","BLOCK","containerReference","createRef","constructor","props","state","start","translateLineX","isSwiping","isScrolling","fullWidthTabs","container","containerWidth","tabRefs","MAX_INDEX","tabs","length","componentDidMount","selected","setTabWidth","switchTab","clamp","animateLine","document","body","addEventListener","disableScroll","passive","window","handleResize","componentDidUpdate","previousProps","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","disabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","filter","tab","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","componentWillUnmount","removeEventListener","setContainerWidth","setContainerRefAndWidth","node","width","getBoundingClientRect","isTabDisabled","index","getAllTabsWidth","map","reference","reduce","a","b","getDistanceToSelectedTab","selectedTabIndex","_","idx","allTabsWidth","setState","AUTO","getTabLineWidth","getTabToSelect","end","nextSelected","swipedLeftToRight","swipedRightToLeft","Math","max","min","swipedOverHalfOfContainer","difference","onTabSelect","previousState","event","preventDefault","handleTabClick","onKeyDown","key","handleTouchStart","x","nativeEvent","touches","clientX","y","clientY","time","Date","now","handleTouchMove","currentSelectedFromProps","changedTouches","getSwipeDifference","yAxisDifference","handleTouchEnd","swipeShouldChangeTab","render","name","className","selectedTab","_jsx","DirectionContext","Consumer","children","direction","isRTL","Direction","RTL","_jsxs","ref","clsx","onTouchStart","undefined","onTouchEnd","onTouchMove","TabList","title","Tab","id","panelId","focusTab","current","contains","activeElement","focus","onClick","style","role","transform","TabPanel","tabId","content"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tabs.mjs","sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport clamp from 'lodash.clamp';\nimport { Component, createRef } from 'react';\n\nimport { Width, Direction } from '../common';\nimport { DirectionContext } from '../Provider/Direction';\n\nimport Tab from './Tab/Tab';\nimport TabList from './TabList/TabList';\nimport TabPanel from './TabPanel/TabPanel';\nimport {\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n Swipe,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nexport interface TabItem {\n title: string;\n content: React.ReactNode;\n disabled: boolean;\n}\n\nexport interface TabsProps {\n tabs: TabItem[];\n selected: number;\n name: string;\n /** @default true */\n changeTabOnSwipe?: boolean;\n className?: string;\n /** @default 'block' */\n headerWidth?: `${Width}`;\n onTabSelect: (index: number) => void;\n}\n\ninterface TabsState {\n start: Swipe | null;\n translateLineX: string | null;\n isSwiping: boolean;\n isScrolling: boolean;\n fullWidthTabs: boolean;\n}\n\nexport default class Tabs extends Component<TabsProps, TabsState> {\n declare props: TabsProps & Required<Pick<TabsProps, keyof typeof Tabs.defaultProps>>;\n\n static defaultProps = {\n changeTabOnSwipe: true,\n headerWidth: Width.BLOCK,\n } satisfies Partial<TabsProps>;\n\n containerReference = createRef<HTMLDivElement>();\n\n constructor(props: Tabs['props']) {\n super(props);\n this.state = {\n start: null,\n translateLineX: null,\n isSwiping: false,\n isScrolling: false,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container: HTMLDivElement | null = null;\n\n containerWidth = 0;\n\n tabRefs: (HTMLLIElement | null)[] = [];\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateLine(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps: TabsProps) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab?.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab?.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter((tab) => !tab.disabled).length;\n const previousDisabledTabsLength = previousProps.tabs.filter((tab) => !tab.disabled).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateLine(clamp(currentSelected, MIN_INDEX, this.MAX_INDEX));\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n };\n\n setContainerRefAndWidth = (node: HTMLDivElement | null) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node: HTMLDivElement | null) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index: number) => {\n const { tabs } = this.props;\n\n return tabs[index]?.disabled ?? false;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex: number) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected: number, start: Swipe, end: Swipe): number => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference: number) => difference / this.containerWidth >= 0.5;\n\n switchTab = (index: number) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n animateLine = (index: number) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n disableScroll = (event: Event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index: number) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index: number) => (event: React.KeyboardEvent<HTMLLIElement>) => {\n if (event?.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n });\n };\n\n handleTouchMove: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const { start } = this.state;\n if (start == null) {\n return;\n }\n\n const { selected: currentSelectedFromProps } = this.props;\n const end: Swipe = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n }\n };\n\n handleTouchEnd: React.TouchEventHandler<HTMLDivElement> = (event) => {\n const { start, isSwiping } = this.state;\n if (start == null) {\n return;\n }\n\n const { selected } = this.props;\n const end: Swipe = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n\n let nextSelected = selected;\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n } else {\n this.animateLine(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, headerWidth } = this.props;\n const { translateLineX, fullWidthTabs } = this.state;\n\n const selectedTab = tabs[selected];\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={clsx('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index]?.focus();\n }\n }}\n onClick={disabled ? undefined : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div ref={this.setContainerRefAndWidth} className=\"tabs__panel-container\">\n {selectedTab && !selectedTab.disabled ? (\n <TabPanel\n key={selectedTab.title}\n tabId={`${name}-tab-${selected}`}\n id={`${name}-panel-${selected}`}\n style={{\n width: '100%',\n }}\n >\n {selectedTab.content}\n </TabPanel>\n ) : null}\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n"],"names":["MIN_INDEX","Tabs","Component","defaultProps","changeTabOnSwipe","headerWidth","Width","BLOCK","containerReference","createRef","constructor","props","state","start","translateLineX","isSwiping","isScrolling","fullWidthTabs","container","containerWidth","tabRefs","MAX_INDEX","tabs","length","componentDidMount","selected","setTabWidth","switchTab","clamp","animateLine","document","body","addEventListener","disableScroll","passive","window","handleResize","componentDidUpdate","previousProps","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","disabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","filter","tab","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","componentWillUnmount","removeEventListener","setContainerWidth","setContainerRefAndWidth","node","width","getBoundingClientRect","isTabDisabled","index","getAllTabsWidth","map","reference","reduce","a","b","getDistanceToSelectedTab","selectedTabIndex","_","idx","allTabsWidth","setState","AUTO","getTabLineWidth","getTabToSelect","end","nextSelected","swipedLeftToRight","swipedRightToLeft","Math","max","min","swipedOverHalfOfContainer","difference","onTabSelect","previousState","event","preventDefault","handleTabClick","onKeyDown","key","handleTouchStart","x","nativeEvent","touches","clientX","y","clientY","time","Date","now","handleTouchMove","currentSelectedFromProps","changedTouches","getSwipeDifference","yAxisDifference","handleTouchEnd","swipeShouldChangeTab","render","name","className","selectedTab","_jsx","DirectionContext","Consumer","children","direction","isRTL","Direction","RTL","_jsxs","ref","clsx","onTouchStart","undefined","onTouchEnd","onTouchMove","TabList","title","Tab","id","panelId","focusTab","current","contains","activeElement","focus","onClick","style","role","transform","TabPanel","tabId","content"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAMA,SAAS,GAAG,CAAC;AA4BL,MAAOC,IAAK,SAAQC,SAA+B,CAAA;AAG/D,EAAA,OAAOC,YAAY,GAAG;AACpBC,IAAAA,gBAAgB,EAAE,IAAI;IACtBC,WAAW,EAAEC,KAAK,CAACC;GACS;EAE9BC,kBAAkB,gBAAGC,SAAS,EAAkB;EAEhDC,WAAAA,CAAYC,KAAoB,EAAA;IAC9B,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;AACXC,MAAAA,KAAK,EAAE,IAAI;AACXC,MAAAA,cAAc,EAAE,IAAI;AACpBC,MAAAA,SAAS,EAAE,KAAK;AAChBC,MAAAA,WAAW,EAAE,KAAK;AAClBC,MAAAA,aAAa,EAAEN,KAAK,CAACN,WAAW,KAAKC,KAAK,CAACC;KAC5C;AACH,EAAA;AAEAW,EAAAA,SAAS,GAA0B,IAAI;AAEvCC,EAAAA,cAAc,GAAG,CAAC;AAElBC,EAAAA,OAAO,GAA6B,EAAE;EAEtC,IAAIC,SAASA,GAAA;IACX,OAAO,IAAI,CAACV,KAAK,CAACW,IAAI,CAACC,MAAM,GAAG,CAAC;AACnC,EAAA;AAEAC,EAAAA,iBAAiBA,GAAA;IACf,MAAM;AAAEC,MAAAA;KAAU,GAAG,IAAI,CAACd,KAAK;IAE/B,IAAI,CAACe,WAAW,EAAE;AAClB,IAAA,IAAI,CAACC,SAAS,CAACC,KAAK,CAACH,QAAQ,EAAEzB,SAAS,EAAE,IAAI,CAACqB,SAAS,CAAC,CAAC;AAC1D,IAAA,IAAI,CAACQ,WAAW,CAACD,KAAK,CAACH,QAAQ,EAAEzB,SAAS,EAAE,IAAI,CAACqB,SAAS,CAAC,CAAC;IAC5DS,QAAQ,CAACC,IAAI,CAACC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAACC,aAAa,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAK,KAAE,CAAC;IACnFJ,QAAQ,CAACC,IAAI,CAACC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAACC,aAAa,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAK,KAAE,CAAC;IAC1FC,MAAM,CAACH,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACI,YAAY,CAAC;AACtD,EAAA;EAEAC,kBAAkBA,CAACC,aAAwB,EAAA;AACzC,IAAA,MAAMC,eAAe,GAAG,IAAI,CAAC5B,KAAK,CAACc,QAAQ;AAC3C,IAAA,MAAMe,gBAAgB,GAAGF,aAAa,CAACb,QAAQ;IAC/C,MAAMgB,kBAAkB,GAAG,IAAI,CAAC9B,KAAK,CAACW,IAAI,CAACiB,eAAe,CAAC;AAC3D,IAAA,MAAMG,4BAA4B,GAAGD,kBAAkB,EAAEE,QAAQ;AACjE,IAAA,MAAMC,mBAAmB,GAAGN,aAAa,CAAChB,IAAI,CAACkB,gBAAgB,CAAC;AAChE,IAAA,MAAMK,6BAA6B,GAAGD,mBAAmB,EAAED,QAAQ;IACnE,MAAMG,iBAAiB,GAAG,IAAI,CAACnC,KAAK,CAACW,IAAI,CAACC,MAAM;AAChD,IAAA,MAAMwB,kBAAkB,GAAGT,aAAa,CAAChB,IAAI,CAACC,MAAM;AACpD,IAAA,MAAMyB,yBAAyB,GAAG,IAAI,CAACrC,KAAK,CAACW,IAAI,CAAC2B,MAAM,CAAEC,GAAG,IAAK,CAACA,GAAG,CAACP,QAAQ,CAAC,CAACpB,MAAM;AACvF,IAAA,MAAM4B,0BAA0B,GAAGb,aAAa,CAAChB,IAAI,CAAC2B,MAAM,CAAEC,GAAG,IAAK,CAACA,GAAG,CAACP,QAAQ,CAAC,CAACpB,MAAM;AAC3F,IAAA,MAAM6B,kBAAkB,GAAG,IAAI,CAACzC,KAAK,CAACN,WAAW;AACjD,IAAA,MAAMgD,uBAAuB,GAAGf,aAAa,CAACjC,WAAW;AAEzD,IAAA,IACE+C,kBAAkB,KAAKC,uBAAuB,IAC9CP,iBAAiB,KAAKC,kBAAkB,EACxC;MACA,IAAI,CAACrB,WAAW,EAAE;AACpB,IAAA;IAEA,IACEa,eAAe,KAAKC,gBAAgB,IACpCQ,yBAAyB,KAAKG,0BAA0B,IACxDT,4BAA4B,KAAKG,6BAA6B,EAC9D;AACA,MAAA,IAAI,CAAChB,WAAW,CAACD,KAAK,CAACW,eAAe,EAAEvC,SAAS,EAAE,IAAI,CAACqB,SAAS,CAAC,CAAC;AACrE,IAAA;AACF,EAAA;AAEAiC,EAAAA,oBAAoBA,GAAA;IAClBxB,QAAQ,CAACC,IAAI,CAACwB,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAACtB,aAAa,CAAC;IAClEH,QAAQ,CAACC,IAAI,CAACwB,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAACtB,aAAa,CAAC;IACzEE,MAAM,CAACoB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACnB,YAAY,CAAC;AACzD,EAAA;EAEAA,YAAY,GAAGA,MAAK;AAClB,IAAA,IAAI,CAACoB,iBAAiB,CAAC,IAAI,CAACtC,SAAS,CAAC;EACxC,CAAC;EAEDuC,uBAAuB,GAAIC,IAA2B,IAAI;IACxD,IAAI,CAACxC,SAAS,GAAGwC,IAAI;AACrB,IAAA,IAAI,CAACF,iBAAiB,CAACE,IAAI,CAAC;EAC9B,CAAC;EAEDF,iBAAiB,GAAIE,IAA2B,IAAI;IAClD,IAAI,CAACA,IAAI,EAAE;AACT,MAAA;AACF,IAAA;IAEA,MAAM;AAAEC,MAAAA;AAAK,KAAE,GAAGD,IAAI,CAACE,qBAAqB,EAAE;IAE9C,IAAI,CAACzC,cAAc,GAAGwC,KAAK;EAC7B,CAAC;EAEDE,aAAa,GAAIC,KAAa,IAAI;IAChC,MAAM;AAAExC,MAAAA;KAAM,GAAG,IAAI,CAACX,KAAK;AAE3B,IAAA,OAAOW,IAAI,CAACwC,KAAK,CAAC,EAAEnB,QAAQ,IAAI,KAAK;EACvC,CAAC;EAEDoB,eAAe,GAAGA,MAAK;AACrB,IAAA,OAAO,IAAI,CAAC3C,OAAO,CAChB4C,GAAG,CAAEC,SAAS,IAAI;MACjB,OAAOA,SAAS,GAAGA,SAAS,CAACL,qBAAqB,EAAE,CAACD,KAAK,GAAG,CAAC;AAChE,IAAA,CAAC,CAAC,CACDO,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,EAAE,CAAC,CAAC;EAC/B,CAAC;EAEDC,wBAAwB,GAAIC,gBAAwB,IAAI;IACtD,OAAO,IAAI,CAAClD,OAAO,CAChB6B,MAAM,CAAC,CAACsB,CAAC,EAAEC,GAAG,KAAKA,GAAG,GAAGF,gBAAgB,CAAC,CAC1CN,GAAG,CAAEC,SAAS,IAAMA,SAAS,GAAGA,SAAS,CAACL,qBAAqB,EAAE,CAACD,KAAK,GAAG,CAAE,CAAC,CAC7EO,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,EAAE,CAAC,CAAC;EAC/B,CAAC;EAED1C,WAAW,GAAGA,MAAK;IACjB,MAAM;AAAET,MAAAA;KAAe,GAAG,IAAI,CAACL,KAAK;IACpC,MAAM;MAAEP,WAAW;AAAEoB,MAAAA;KAAU,GAAG,IAAI,CAACd,KAAK;AAE5C,IAAA,MAAM8D,YAAY,GAAG,IAAI,CAACV,eAAe,EAAE;AAE3C,IAAA,IAAI,CAAC9C,aAAa,KAAKZ,WAAW,KAAKC,KAAK,CAACC,KAAK,IAAI,IAAI,CAACY,cAAc,GAAGsD,YAAY,CAAC,EAAE;MACzF,IAAI,CAACC,QAAQ,CAAC;AAAEzD,QAAAA,aAAa,EAAE,IAAI;AAAEH,QAAAA,cAAc,EAAE,CAAA,EAAGW,QAAQ,GAAG,GAAG,CAAA,CAAA;AAAG,OAAE,CAAC;AAC9E,IAAA;AACA,IAAA,IAAIR,aAAa,IAAIZ,WAAW,KAAKC,KAAK,CAACqE,IAAI,IAAI,IAAI,CAACxD,cAAc,IAAIsD,YAAY,EAAE;MACtF,IAAI,CAACC,QAAQ,CAAC;AACZzD,QAAAA,aAAa,EAAE,KAAK;AACpBH,QAAAA,cAAc,EAAE,CAAA,EAAG,IAAI,CAACuD,wBAAwB,CAAC5C,QAAQ,CAAC,CAAA,EAAA;AAC3D,OAAA,CAAC;AACJ,IAAA;EACF,CAAC;EAEDmD,eAAe,GAAGA,MAAK;IACrB,MAAM;AAAE3D,MAAAA;KAAe,GAAG,IAAI,CAACL,KAAK;IACpC,MAAM;MAAEa,QAAQ;AAAEH,MAAAA;KAAM,GAAG,IAAI,CAACX,KAAK;AAErC,IAAA,IAAIM,aAAa,EAAE;MACjB,OAAO,CAAA,EAAI,CAAC,GAAGK,IAAI,CAACC,MAAM,GAAI,GAAG,CAAA,CAAA,CAAG;AACtC,IAAA;IAEA,MAAM0C,SAAS,GAAG,IAAI,CAAC7C,OAAO,CAACK,QAAQ,CAAC,IAAI,IAAI,CAACL,OAAO,CAAC,IAAI,CAACA,OAAO,CAACG,MAAM,GAAG,CAAC,CAAC;AACjF,IAAA,MAAMoC,KAAK,GAAGM,SAAS,GAAGA,SAAS,CAACL,qBAAqB,EAAE,CAACD,KAAK,GAAG,CAAC;IACrE,OAAO,CAAA,EAAGA,KAAK,CAAA,EAAA,CAAI;EACrB,CAAC;AAED;;;AAGG;AACHkB,EAAAA,cAAc,GAAGA,CAACpD,QAAgB,EAAEZ,KAAY,EAAEiE,GAAU,KAAY;IACtE,IAAIC,YAAY,GAAGtD,QAAQ;AAE3B,IAAA,IAAIuD,iBAAiB,CAACnE,KAAK,EAAEiE,GAAG,CAAC,EAAE;AACjCC,MAAAA,YAAY,IAAI,CAAC;MAEjB,IAAIA,YAAY,GAAG/E,SAAS,IAAI,IAAI,CAAC6D,aAAa,CAACkB,YAAY,CAAC,EAAE;QAChE,OAAO,IAAI,CAACF,cAAc,CAACE,YAAY,EAAElE,KAAK,EAAEiE,GAAG,CAAC;AACtD,MAAA;IACF,CAAC,MAAM,IAAIG,iBAAiB,CAACpE,KAAK,EAAEiE,GAAG,CAAC,EAAE;AACxCC,MAAAA,YAAY,IAAI,CAAC;AAEjB,MAAA,IAAIA,YAAY,GAAG,IAAI,CAAC1D,SAAS,IAAI,IAAI,CAACwC,aAAa,CAACkB,YAAY,CAAC,EAAE;QACrE,OAAO,IAAI,CAACF,cAAc,CAACE,YAAY,EAAElE,KAAK,EAAEiE,GAAG,CAAC;AACtD,MAAA;AACF,IAAA;AAEAC,IAAAA,YAAY,GAAGnD,KAAK,CAClBmD,YAAY,EACZG,IAAI,CAACC,GAAG,CAAC1D,QAAQ,GAAG,CAAC,EAAEzB,SAAS,CAAC,EACjCkF,IAAI,CAACE,GAAG,CAAC3D,QAAQ,GAAG,CAAC,EAAE,IAAI,CAACJ,SAAS,CAAC,CACvC;AAED,IAAA,IAAI,IAAI,CAACwC,aAAa,CAACkB,YAAY,CAAC,EAAE;AACpC,MAAA,OAAOtD,QAAQ;AACjB,IAAA;AAEA,IAAA,OAAOsD,YAAY;EACrB,CAAC;EAEDM,yBAAyB,GAAIC,UAAkB,IAAKA,UAAU,GAAG,IAAI,CAACnE,cAAc,IAAI,GAAG;EAE3FQ,SAAS,GAAImC,KAAa,IAAI;IAC5B,MAAM;AAAEyB,MAAAA;KAAa,GAAG,IAAI,CAAC5E,KAAK;IAClC4E,WAAW,CAACzB,KAAK,CAAC;EACpB,CAAC;EAEDjC,WAAW,GAAIiC,KAAa,IAAI;AAC9B,IAAA,IAAI,CAACY,QAAQ,CAAEc,aAAa,KAAM;AAChC1E,MAAAA,cAAc,EAAE0E,aAAa,CAACvE,aAAa,GACvC,GAAG6C,KAAK,GAAG,GAAG,CAAA,CAAA,CAAG,GACjB,CAAA,EAAG,IAAI,CAACO,wBAAwB,CAACP,KAAK,CAAC,CAAA,EAAA;AAC5C,KAAA,CAAC,CAAC;EACL,CAAC;EAED7B,aAAa,GAAIwD,KAAY,IAAI;IAC/B,MAAM;AAAE1E,MAAAA;KAAW,GAAG,IAAI,CAACH,KAAK;AAEhC,IAAA,IAAIG,SAAS,EAAE;MACb0E,KAAK,CAACC,cAAc,EAAE;AACxB,IAAA;EACF,CAAC;EAEDC,cAAc,GAAI7B,KAAa,IAAK,MAAK;AACvC,IAAA,IAAI,CAACnC,SAAS,CAACmC,KAAK,CAAC;EACvB,CAAC;AAED8B,EAAAA,SAAS,GAAI9B,KAAa,IAAM2B,KAAyC,IAAI;AAC3E,IAAA,IAAIA,KAAK,EAAEI,GAAG,KAAK,OAAO,EAAE;AAC1B,MAAA,IAAI,CAAClE,SAAS,CAACmC,KAAK,CAAC;AACvB,IAAA;EACF,CAAC;EAEDgC,gBAAgB,GAA6CL,KAAK,IAAI;AACpE,IAAA,MAAM5E,KAAK,GAAG;MACZkF,CAAC,EAAEN,KAAK,CAACO,WAAW,CAACC,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO;MACvCC,CAAC,EAAEV,KAAK,CAACO,WAAW,CAACC,OAAO,CAAC,CAAC,CAAC,CAACG,OAAO;AACvCC,MAAAA,IAAI,EAAEC,IAAI,CAACC,GAAG;KACf;IACD,IAAI,CAAC7B,QAAQ,CAAC;AACZ7D,MAAAA;AACD,KAAA,CAAC;EACJ,CAAC;EAED2F,eAAe,GAA6Cf,KAAK,IAAI;IACnE,MAAM;AAAE5E,MAAAA;KAAO,GAAG,IAAI,CAACD,KAAK;IAC5B,IAAIC,KAAK,IAAI,IAAI,EAAE;AACjB,MAAA;AACF,IAAA;IAEA,MAAM;AAAEY,MAAAA,QAAQ,EAAEgF;KAA0B,GAAG,IAAI,CAAC9F,KAAK;AACzD,IAAA,MAAMmE,GAAG,GAAU;MACjBiB,CAAC,EAAEN,KAAK,CAACO,WAAW,CAACU,cAAc,CAAC,CAAC,CAAC,CAACR,OAAO;MAC9CC,CAAC,EAAEV,KAAK,CAACO,WAAW,CAACU,cAAc,CAAC,CAAC,CAAC,CAACN,OAAO;AAC9CC,MAAAA,IAAI,EAAEC,IAAI,CAACC,GAAG;KACf;AACD,IAAA,MAAMjB,UAAU,GAAGqB,kBAAkB,CAAC9F,KAAK,EAAEiE,GAAG,CAAC;IACjD,MAAM8B,eAAe,GAAGD,kBAAkB,CAAC9F,KAAK,EAAEiE,GAAG,EAAE,GAAG,CAAC;IAC3D,IAAI;MAAE9D,WAAW;AAAED,MAAAA;KAAW,GAAG,IAAI,CAACH,KAAK;AAE3C,IAAA,IAAI,CAACI,WAAW,IAAI,CAACD,SAAS,EAAE;MAC9B,IAAIuE,UAAU,GAAGsB,eAAe,EAAE;AAChC7F,QAAAA,SAAS,GAAG,IAAI;AAClB,MAAA,CAAC,MAAM;AACLC,QAAAA,WAAW,GAAG,IAAI;AACpB,MAAA;AACF,IAAA;IAEA,IAAI,CAAC0D,QAAQ,CAAC;MAAE1D,WAAW;AAAED,MAAAA;AAAS,KAAE,CAAC;AAEzC,IAAA,IAAIA,SAAS,EAAE;MACb,MAAMgE,YAAY,GAAG,IAAI,CAACF,cAAc,CAAC4B,wBAAwB,EAAE5F,KAAK,EAAEiE,GAAG,CAAC;AAC9E,MAAA,IAAI,CAACjD,WAAW,CACd,IAAI,CAACwD,yBAAyB,CAACC,UAAU,CAAC,GAAGP,YAAY,GAAG0B,wBAAwB,CACrF;AACH,IAAA;EACF,CAAC;EAEDI,cAAc,GAA6CpB,KAAK,IAAI;IAClE,MAAM;MAAE5E,KAAK;AAAEE,MAAAA;KAAW,GAAG,IAAI,CAACH,KAAK;IACvC,IAAIC,KAAK,IAAI,IAAI,EAAE;AACjB,MAAA;AACF,IAAA;IAEA,MAAM;AAAEY,MAAAA;KAAU,GAAG,IAAI,CAACd,KAAK;AAC/B,IAAA,MAAMmE,GAAG,GAAU;MACjBiB,CAAC,EAAEN,KAAK,CAACO,WAAW,CAACU,cAAc,CAAC,CAAC,CAAC,CAACR,OAAO;MAC9CC,CAAC,EAAEV,KAAK,CAACO,WAAW,CAACU,cAAc,CAAC,CAAC,CAAC,CAACN,OAAO;AAC9CC,MAAAA,IAAI,EAAEC,IAAI,CAACC,GAAG;KACf;AACD,IAAA,MAAMjB,UAAU,GAAGqB,kBAAkB,CAAC9F,KAAK,EAAEiE,GAAG,CAAC;IAEjD,IAAIC,YAAY,GAAGtD,QAAQ;AAE3B,IAAA,IAAIV,SAAS,EAAE;AACb,MAAA,IAAI+F,oBAAoB,CAACjG,KAAK,EAAEiE,GAAG,CAAC,IAAI,IAAI,CAACO,yBAAyB,CAACC,UAAU,CAAC,EAAE;QAClFP,YAAY,GAAG,IAAI,CAACF,cAAc,CAACE,YAAY,EAAElE,KAAK,EAAEiE,GAAG,CAAC;AAC9D,MAAA;MAEA,IAAIC,YAAY,KAAKtD,QAAQ,EAAE;AAC7B,QAAA,IAAI,CAACE,SAAS,CAACoD,YAAY,CAAC;AAC9B,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAAClD,WAAW,CAACkD,YAAY,CAAC;AAChC,MAAA;AACF,IAAA;IAEA,IAAI,CAACL,QAAQ,CAAC;AAAE3D,MAAAA,SAAS,EAAE,KAAK;AAAEC,MAAAA,WAAW,EAAE;AAAK,KAAE,CAAC;EACzD,CAAC;AAED+F,EAAAA,MAAMA,GAAA;IACJ,MAAM;MAAEzF,IAAI;MAAElB,gBAAgB;MAAE4G,IAAI;MAAEvF,QAAQ;MAAEwF,SAAS;AAAE5G,MAAAA;KAAa,GAAG,IAAI,CAACM,KAAK;IACrF,MAAM;MAAEG,cAAc;AAAEG,MAAAA;KAAe,GAAG,IAAI,CAACL,KAAK;AAEpD,IAAA,MAAMsG,WAAW,GAAG5F,IAAI,CAACG,QAAQ,CAAC;AAElC,IAAA,oBACE0F,GAAA,CAACC,gBAAgB,CAACC,QAAQ,EAAA;MAAAC,QAAA,EACtBC,SAAS,IAAI;AACb,QAAA,MAAMC,KAAK,GAAGD,SAAS,KAAKE,SAAS,CAACC,GAAG;AACzC,QAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;UACEC,GAAG,EAAE,IAAI,CAACpH,kBAAmB;AAC7ByG,UAAAA,SAAS,EAAEY,IAAI,CAAC,MAAM,EAAEZ,SAAS,EAAE;AACjC,YAAA,kBAAkB,EAAE5G,WAAW,KAAKC,KAAK,CAACqE;WAC3C,CAAE;AACHmD,UAAAA,YAAY,EAAE1H,gBAAgB,GAAG,IAAI,CAAC0F,gBAAgB,GAAGiC,SAAU;AACnEC,UAAAA,UAAU,EAAE5H,gBAAgB,GAAG,IAAI,CAACyG,cAAc,GAAGkB,SAAU;AAC/DE,UAAAA,WAAW,EAAE7H,gBAAgB,GAAG,IAAI,CAACoG,eAAe,GAAGuB,SAAU;UAAAT,QAAA,EAAA,cAEjEK,IAAA,CAACO,OAAO,EAAA;AAAAZ,YAAAA,QAAA,EAAA,CACLhG,IAAI,CAAC0C,GAAG,CAAC,CAAC;cAAEmE,KAAK;AAAExF,cAAAA;aAAU,EAAEmB,KAAK,KAAI;cACvC,oBACEqD,GAAA,CAACiB,GAAG,EAAA;gBAEFR,GAAG,EAAGlE,IAAI,IAAI;AACZ,kBAAA,IAAI,CAACtC,OAAO,CAAC0C,KAAK,CAAC,GAAGJ,IAAI;gBAC5B,CAAE;AACF2E,gBAAAA,EAAE,EAAE,CAAA,EAAGrB,IAAI,CAAA,KAAA,EAAQlD,KAAK,CAAA,CAAG;AAC3BwE,gBAAAA,OAAO,EAAE,CAAA,EAAGtB,IAAI,CAAA,OAAA,EAAUlD,KAAK,CAAA,CAAG;gBAClCrC,QAAQ,EAAEA,QAAQ,KAAKqC,KAAM;AAC7BnB,gBAAAA,QAAQ,EAAEA,QAAS;gBACnB4F,QAAQ,EAAEA,MAAK;AACb,kBAAA,IAAI,IAAI,CAAC/H,kBAAkB,CAACgI,OAAO,EAAEC,QAAQ,CAAC3G,QAAQ,CAAC4G,aAAa,CAAC,EAAE;oBACrE,IAAI,CAACtH,OAAO,CAAC0C,KAAK,CAAC,EAAE6E,KAAK,EAAE;AAC9B,kBAAA;gBACF,CAAE;gBACFC,OAAO,EAAEjG,QAAQ,GAAGoF,SAAS,GAAG,IAAI,CAACpC,cAAc,CAAC7B,KAAK,CAAE;AAC3D8B,gBAAAA,SAAS,EAAE,IAAI,CAACA,SAAS,CAAC9B,KAAK,CAAE;AAAA,gBAAA,IAC5B7C,aAAa,GACd;AAAE4H,kBAAAA,KAAK,EAAE;oBAAElF,KAAK,EAAE,GAAI,CAAC,GAAGrC,IAAI,CAACC,MAAM,GAAI,GAAG,CAAA,CAAA;;iBAAO,GACnD,EAAE,CAAA;AAAA+F,gBAAAA,QAAA,EAELa;AAAK,eAAA,EAnBDA,KAoBF,CAAC;AAEV,YAAA,CAAC,CAAC,EACDrH,cAAc,gBACbqG,GAAA,CAAA,IAAA,EAAA;AACE2B,cAAAA,IAAI,EAAC,MAAM;AACX7B,cAAAA,SAAS,EAAC,YAAY;AACtB4B,cAAAA,KAAK,EAAE;AACLlF,gBAAAA,KAAK,EAAE,IAAI,CAACiB,eAAe,EAAE;gBAC7BmE,SAAS,EAAEvB,KAAK,GACZ,CAAA,YAAA,EAAe1G,cAAc,CAAA,CAAA,CAAG,GAChC,cAAcA,cAAc,CAAA,CAAA;AACjC;cACD,GACA,IAAI;WACD,CACT,eAAAqG,GAAA,CAAA,KAAA,EAAA;YAAKS,GAAG,EAAE,IAAI,CAACnE,uBAAwB;AAACwD,YAAAA,SAAS,EAAC,uBAAuB;YAAAK,QAAA,EACtEJ,WAAW,IAAI,CAACA,WAAW,CAACvE,QAAQ,gBACnCwE,GAAA,CAAC6B,QAAQ,EAAA;AAEPC,cAAAA,KAAK,EAAE,CAAA,EAAGjC,IAAI,CAAA,KAAA,EAAQvF,QAAQ,CAAA,CAAG;AACjC4G,cAAAA,EAAE,EAAE,CAAA,EAAGrB,IAAI,CAAA,OAAA,EAAUvF,QAAQ,CAAA,CAAG;AAChCoH,cAAAA,KAAK,EAAE;AACLlF,gBAAAA,KAAK,EAAE;eACP;cAAA2D,QAAA,EAEDJ,WAAW,CAACgC;AAAO,aAAA,EAPfhC,WAAW,CAACiB,KAQT,CAAC,GACT;AAAI,WACL,CACP;AAAA,SAAK,CAAC;AAEV,MAAA;AAAC,KACwB,CAAC;AAEhC,EAAA;;;"}
|
package/build/Tabs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/Tabs/utils.ts"],"sourcesContent":["const MIN_SWIPE_DISTANCE = 50;\nconst MIN_SWIPE_VELOCITY = 0.1;\n\nconst swipedSignificantDistance = (difference: number) => Math.abs(difference) > MIN_SWIPE_DISTANCE;\n\nconst swipedWithSignificantVelocity = (velocity: number) => velocity > MIN_SWIPE_VELOCITY;\n\nexport interface Swipe {\n x: number;\n y: number;\n time: number;\n}\n\nexport const getSwipeVelocity = (start: Swipe, end: Swipe) => {\n const timePassed = end.time - start.time;\n\n return getSwipeDifference(start, end) / timePassed;\n};\n\nexport const getSwipeDifference = (start: Swipe, end: Swipe, axis: 'x' | 'y' = 'x') => {\n return Math.abs(start[axis] - end[axis]);\n};\n\nexport const swipedLeftToRight = (start: Swipe, end: Swipe) => {\n return end.x > start.x;\n};\n\nexport const swipedRightToLeft = (start: Swipe, end: Swipe) => {\n return start.x > end.x;\n};\n\nexport const swipeShouldChangeTab = (start: Swipe, end: Swipe) => {\n const difference = getSwipeDifference(start, end);\n const velocity = getSwipeVelocity(start, end);\n\n return swipedSignificantDistance(difference) && swipedWithSignificantVelocity(velocity);\n};\n"],"names":["MIN_SWIPE_DISTANCE","MIN_SWIPE_VELOCITY","swipedSignificantDistance","difference","Math","abs","swipedWithSignificantVelocity","velocity","getSwipeVelocity","start","end","timePassed","time","getSwipeDifference","axis","swipedLeftToRight","x","swipedRightToLeft","swipeShouldChangeTab"],"mappings":";;AAAA,MAAMA,kBAAkB,GAAG,EAAE;AAC7B,MAAMC,kBAAkB,GAAG,GAAG;AAE9B,MAAMC,yBAAyB,GAAIC,UAAkB,IAAKC,IAAI,CAACC,GAAG,CAACF,UAAU,CAAC,GAAGH,kBAAkB;AAEnG,MAAMM,6BAA6B,GAAIC,QAAgB,IAAKA,QAAQ,GAAGN,kBAAkB;MAQ5EO,gBAAgB,GAAGA,CAACC,KAAY,EAAEC,GAAU,KAAI;EAC3D,MAAMC,UAAU,GAAGD,GAAG,CAACE,IAAI,GAAGH,KAAK,CAACG,IAAI;AAExC,EAAA,OAAOC,kBAAkB,CAACJ,KAAK,EAAEC,GAAG,CAAC,GAAGC,UAAU;AACpD;AAEO,MAAME,kBAAkB,GAAGA,CAACJ,KAAY,EAAEC,GAAU,EAAEI,IAAA,GAAkB,GAAG,KAAI;AACpF,EAAA,OAAOV,IAAI,CAACC,GAAG,CAACI,KAAK,CAACK,IAAI,CAAC,GAAGJ,GAAG,CAACI,IAAI,CAAC,CAAC;AAC1C;MAEaC,iBAAiB,GAAGA,CAACN,KAAY,EAAEC,GAAU,KAAI;AAC5D,EAAA,OAAOA,GAAG,CAACM,CAAC,GAAGP,KAAK,CAACO,CAAC;AACxB;MAEaC,iBAAiB,GAAGA,CAACR,KAAY,EAAEC,GAAU,KAAI;AAC5D,EAAA,OAAOD,KAAK,CAACO,CAAC,GAAGN,GAAG,CAACM,CAAC;AACxB;MAEaE,oBAAoB,GAAGA,CAACT,KAAY,EAAEC,GAAU,KAAI;AAC/D,EAAA,MAAMP,UAAU,GAAGU,kBAAkB,CAACJ,KAAK,EAAEC,GAAG,CAAC;AACjD,EAAA,MAAMH,QAAQ,GAAGC,gBAAgB,CAACC,KAAK,EAAEC,GAAG,CAAC;EAE7C,OAAOR,yBAAyB,CAACC,UAAU,CAAC,IAAIG,6BAA6B,CAACC,QAAQ,CAAC;AACzF
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/Tabs/utils.ts"],"sourcesContent":["const MIN_SWIPE_DISTANCE = 50;\nconst MIN_SWIPE_VELOCITY = 0.1;\n\nconst swipedSignificantDistance = (difference: number) => Math.abs(difference) > MIN_SWIPE_DISTANCE;\n\nconst swipedWithSignificantVelocity = (velocity: number) => velocity > MIN_SWIPE_VELOCITY;\n\nexport interface Swipe {\n x: number;\n y: number;\n time: number;\n}\n\nexport const getSwipeVelocity = (start: Swipe, end: Swipe) => {\n const timePassed = end.time - start.time;\n\n return getSwipeDifference(start, end) / timePassed;\n};\n\nexport const getSwipeDifference = (start: Swipe, end: Swipe, axis: 'x' | 'y' = 'x') => {\n return Math.abs(start[axis] - end[axis]);\n};\n\nexport const swipedLeftToRight = (start: Swipe, end: Swipe) => {\n return end.x > start.x;\n};\n\nexport const swipedRightToLeft = (start: Swipe, end: Swipe) => {\n return start.x > end.x;\n};\n\nexport const swipeShouldChangeTab = (start: Swipe, end: Swipe) => {\n const difference = getSwipeDifference(start, end);\n const velocity = getSwipeVelocity(start, end);\n\n return swipedSignificantDistance(difference) && swipedWithSignificantVelocity(velocity);\n};\n"],"names":["MIN_SWIPE_DISTANCE","MIN_SWIPE_VELOCITY","swipedSignificantDistance","difference","Math","abs","swipedWithSignificantVelocity","velocity","getSwipeVelocity","start","end","timePassed","time","getSwipeDifference","axis","swipedLeftToRight","x","swipedRightToLeft","swipeShouldChangeTab"],"mappings":";;AAAA,MAAMA,kBAAkB,GAAG,EAAE;AAC7B,MAAMC,kBAAkB,GAAG,GAAG;AAE9B,MAAMC,yBAAyB,GAAIC,UAAkB,IAAKC,IAAI,CAACC,GAAG,CAACF,UAAU,CAAC,GAAGH,kBAAkB;AAEnG,MAAMM,6BAA6B,GAAIC,QAAgB,IAAKA,QAAQ,GAAGN,kBAAkB;MAQ5EO,gBAAgB,GAAGA,CAACC,KAAY,EAAEC,GAAU,KAAI;EAC3D,MAAMC,UAAU,GAAGD,GAAG,CAACE,IAAI,GAAGH,KAAK,CAACG,IAAI;AAExC,EAAA,OAAOC,kBAAkB,CAACJ,KAAK,EAAEC,GAAG,CAAC,GAAGC,UAAU;AACpD;AAEO,MAAME,kBAAkB,GAAGA,CAACJ,KAAY,EAAEC,GAAU,EAAEI,IAAA,GAAkB,GAAG,KAAI;AACpF,EAAA,OAAOV,IAAI,CAACC,GAAG,CAACI,KAAK,CAACK,IAAI,CAAC,GAAGJ,GAAG,CAACI,IAAI,CAAC,CAAC;AAC1C;MAEaC,iBAAiB,GAAGA,CAACN,KAAY,EAAEC,GAAU,KAAI;AAC5D,EAAA,OAAOA,GAAG,CAACM,CAAC,GAAGP,KAAK,CAACO,CAAC;AACxB;MAEaC,iBAAiB,GAAGA,CAACR,KAAY,EAAEC,GAAU,KAAI;AAC5D,EAAA,OAAOD,KAAK,CAACO,CAAC,GAAGN,GAAG,CAACM,CAAC;AACxB;MAEaE,oBAAoB,GAAGA,CAACT,KAAY,EAAEC,GAAU,KAAI;AAC/D,EAAA,MAAMP,UAAU,GAAGU,kBAAkB,CAACJ,KAAK,EAAEC,GAAG,CAAC;AACjD,EAAA,MAAMH,QAAQ,GAAGC,gBAAgB,CAACC,KAAK,EAAEC,GAAG,CAAC;EAE7C,OAAOR,yBAAyB,CAACC,UAAU,CAAC,IAAIG,6BAA6B,CAACC,QAAQ,CAAC;AACzF;;;;;;"}
|
package/build/Tabs/utils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../src/Tabs/utils.ts"],"sourcesContent":["const MIN_SWIPE_DISTANCE = 50;\nconst MIN_SWIPE_VELOCITY = 0.1;\n\nconst swipedSignificantDistance = (difference: number) => Math.abs(difference) > MIN_SWIPE_DISTANCE;\n\nconst swipedWithSignificantVelocity = (velocity: number) => velocity > MIN_SWIPE_VELOCITY;\n\nexport interface Swipe {\n x: number;\n y: number;\n time: number;\n}\n\nexport const getSwipeVelocity = (start: Swipe, end: Swipe) => {\n const timePassed = end.time - start.time;\n\n return getSwipeDifference(start, end) / timePassed;\n};\n\nexport const getSwipeDifference = (start: Swipe, end: Swipe, axis: 'x' | 'y' = 'x') => {\n return Math.abs(start[axis] - end[axis]);\n};\n\nexport const swipedLeftToRight = (start: Swipe, end: Swipe) => {\n return end.x > start.x;\n};\n\nexport const swipedRightToLeft = (start: Swipe, end: Swipe) => {\n return start.x > end.x;\n};\n\nexport const swipeShouldChangeTab = (start: Swipe, end: Swipe) => {\n const difference = getSwipeDifference(start, end);\n const velocity = getSwipeVelocity(start, end);\n\n return swipedSignificantDistance(difference) && swipedWithSignificantVelocity(velocity);\n};\n"],"names":["MIN_SWIPE_DISTANCE","MIN_SWIPE_VELOCITY","swipedSignificantDistance","difference","Math","abs","swipedWithSignificantVelocity","velocity","getSwipeVelocity","start","end","timePassed","time","getSwipeDifference","axis","swipedLeftToRight","x","swipedRightToLeft","swipeShouldChangeTab"],"mappings":"AAAA,MAAMA,kBAAkB,GAAG,EAAE;AAC7B,MAAMC,kBAAkB,GAAG,GAAG;AAE9B,MAAMC,yBAAyB,GAAIC,UAAkB,IAAKC,IAAI,CAACC,GAAG,CAACF,UAAU,CAAC,GAAGH,kBAAkB;AAEnG,MAAMM,6BAA6B,GAAIC,QAAgB,IAAKA,QAAQ,GAAGN,kBAAkB;MAQ5EO,gBAAgB,GAAGA,CAACC,KAAY,EAAEC,GAAU,KAAI;EAC3D,MAAMC,UAAU,GAAGD,GAAG,CAACE,IAAI,GAAGH,KAAK,CAACG,IAAI;AAExC,EAAA,OAAOC,kBAAkB,CAACJ,KAAK,EAAEC,GAAG,CAAC,GAAGC,UAAU;AACpD;AAEO,MAAME,kBAAkB,GAAGA,CAACJ,KAAY,EAAEC,GAAU,EAAEI,IAAA,GAAkB,GAAG,KAAI;AACpF,EAAA,OAAOV,IAAI,CAACC,GAAG,CAACI,KAAK,CAACK,IAAI,CAAC,GAAGJ,GAAG,CAACI,IAAI,CAAC,CAAC;AAC1C;MAEaC,iBAAiB,GAAGA,CAACN,KAAY,EAAEC,GAAU,KAAI;AAC5D,EAAA,OAAOA,GAAG,CAACM,CAAC,GAAGP,KAAK,CAACO,CAAC;AACxB;MAEaC,iBAAiB,GAAGA,CAACR,KAAY,EAAEC,GAAU,KAAI;AAC5D,EAAA,OAAOD,KAAK,CAACO,CAAC,GAAGN,GAAG,CAACM,CAAC;AACxB;MAEaE,oBAAoB,GAAGA,CAACT,KAAY,EAAEC,GAAU,KAAI;AAC/D,EAAA,MAAMP,UAAU,GAAGU,kBAAkB,CAACJ,KAAK,EAAEC,GAAG,CAAC;AACjD,EAAA,MAAMH,QAAQ,GAAGC,gBAAgB,CAACC,KAAK,EAAEC,GAAG,CAAC;EAE7C,OAAOR,yBAAyB,CAACC,UAAU,CAAC,IAAIG,6BAA6B,CAACC,QAAQ,CAAC;AACzF
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../src/Tabs/utils.ts"],"sourcesContent":["const MIN_SWIPE_DISTANCE = 50;\nconst MIN_SWIPE_VELOCITY = 0.1;\n\nconst swipedSignificantDistance = (difference: number) => Math.abs(difference) > MIN_SWIPE_DISTANCE;\n\nconst swipedWithSignificantVelocity = (velocity: number) => velocity > MIN_SWIPE_VELOCITY;\n\nexport interface Swipe {\n x: number;\n y: number;\n time: number;\n}\n\nexport const getSwipeVelocity = (start: Swipe, end: Swipe) => {\n const timePassed = end.time - start.time;\n\n return getSwipeDifference(start, end) / timePassed;\n};\n\nexport const getSwipeDifference = (start: Swipe, end: Swipe, axis: 'x' | 'y' = 'x') => {\n return Math.abs(start[axis] - end[axis]);\n};\n\nexport const swipedLeftToRight = (start: Swipe, end: Swipe) => {\n return end.x > start.x;\n};\n\nexport const swipedRightToLeft = (start: Swipe, end: Swipe) => {\n return start.x > end.x;\n};\n\nexport const swipeShouldChangeTab = (start: Swipe, end: Swipe) => {\n const difference = getSwipeDifference(start, end);\n const velocity = getSwipeVelocity(start, end);\n\n return swipedSignificantDistance(difference) && swipedWithSignificantVelocity(velocity);\n};\n"],"names":["MIN_SWIPE_DISTANCE","MIN_SWIPE_VELOCITY","swipedSignificantDistance","difference","Math","abs","swipedWithSignificantVelocity","velocity","getSwipeVelocity","start","end","timePassed","time","getSwipeDifference","axis","swipedLeftToRight","x","swipedRightToLeft","swipeShouldChangeTab"],"mappings":"AAAA,MAAMA,kBAAkB,GAAG,EAAE;AAC7B,MAAMC,kBAAkB,GAAG,GAAG;AAE9B,MAAMC,yBAAyB,GAAIC,UAAkB,IAAKC,IAAI,CAACC,GAAG,CAACF,UAAU,CAAC,GAAGH,kBAAkB;AAEnG,MAAMM,6BAA6B,GAAIC,QAAgB,IAAKA,QAAQ,GAAGN,kBAAkB;MAQ5EO,gBAAgB,GAAGA,CAACC,KAAY,EAAEC,GAAU,KAAI;EAC3D,MAAMC,UAAU,GAAGD,GAAG,CAACE,IAAI,GAAGH,KAAK,CAACG,IAAI;AAExC,EAAA,OAAOC,kBAAkB,CAACJ,KAAK,EAAEC,GAAG,CAAC,GAAGC,UAAU;AACpD;AAEO,MAAME,kBAAkB,GAAGA,CAACJ,KAAY,EAAEC,GAAU,EAAEI,IAAA,GAAkB,GAAG,KAAI;AACpF,EAAA,OAAOV,IAAI,CAACC,GAAG,CAACI,KAAK,CAACK,IAAI,CAAC,GAAGJ,GAAG,CAACI,IAAI,CAAC,CAAC;AAC1C;MAEaC,iBAAiB,GAAGA,CAACN,KAAY,EAAEC,GAAU,KAAI;AAC5D,EAAA,OAAOA,GAAG,CAACM,CAAC,GAAGP,KAAK,CAACO,CAAC;AACxB;MAEaC,iBAAiB,GAAGA,CAACR,KAAY,EAAEC,GAAU,KAAI;AAC5D,EAAA,OAAOD,KAAK,CAACO,CAAC,GAAGN,GAAG,CAACM,CAAC;AACxB;MAEaE,oBAAoB,GAAGA,CAACT,KAAY,EAAEC,GAAU,KAAI;AAC/D,EAAA,MAAMP,UAAU,GAAGU,kBAAkB,CAACJ,KAAK,EAAEC,GAAG,CAAC;AACjD,EAAA,MAAMH,QAAQ,GAAGC,gBAAgB,CAACC,KAAK,EAAEC,GAAG,CAAC;EAE7C,OAAOR,yBAAyB,CAACC,UAAU,CAAC,IAAIG,6BAA6B,CAACC,QAAQ,CAAC;AACzF;;"}
|
package/build/Tag/Tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.js","sources":["../../src/Tag/Tag.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { clsx } from 'clsx';\nimport { ThemeProvider, useTheme } from '@wise/components-theming';\n\nimport SentimentSurface from '../SentimentSurface';\nimport { TagProps } from './Tag.types';\n\n/**\n * Tag is a small, non-interactive label that categorises or highlights a piece of content.\n *\n * @param {string} label - The text of the tag, kept to a word or two.\n * @param {Sentiment} [sentiment='neutral'] - Optional prop to set the sentiment type (negative, warning, neutral, success, proposition).\n * @param {TagSize} [size='small'] - Optional prop to set the size of the tag (small or large).\n * @param {Emphasis} [emphasis='base'] - Optional prop to specify the emphasis level (base or elevated).\n * @param {boolean} [overMedia=false] - If true, renders the tag for use over media, keeping the colours it uses in dark screen modes.\n * @param {string} [className] - Additional CSS classes to apply.\n * @param {string} [id] - Unique identifier for the component.\n * @param {string} [data-testid] - A unique string that appears as data attribute `data-testid` in the rendered code.\n *\n * @component\n * @example\n * ```tsx\n * <Tag sentiment=\"success\" label=\"Verified\" />\n * ```\n *\n * @see {@link https://storybook.wise.design/?path=/docs/tag--docs|Storybook Wise Design}\n */\nconst Tag = forwardRef<HTMLSpanElement, TagProps>(function Tag(\n {\n label,\n sentiment = 'neutral',\n size = 'small',\n emphasis = 'base',\n overMedia = false,\n className,\n id,\n 'data-testid': dataTestId,\n },\n ref,\n) {\n const { theme, screenMode } = useTheme();\n\n return (\n <ThemeProvider\n theme={theme}\n screenMode={overMedia ? 'dark' : screenMode}\n className=\"wds-tag-theme\"\n >\n <SentimentSurface\n // @ts-expect-error - SentimentSurface forwardRef types don't expose ref in props\n ref={ref}\n as=\"span\"\n sentiment={sentiment}\n emphasis={overMedia ? 'elevated' : emphasis}\n id={id}\n data-testid={dataTestId}\n className={clsx(\n 'wds-tag',\n `wds-tag--${size}`,\n `wds-tag--${sentiment}`,\n 'np-text-body-default-bold',\n className,\n )}\n >\n {label}\n </SentimentSurface>\n </ThemeProvider>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","forwardRef","label","sentiment","size","emphasis","overMedia","className","id","dataTestId","ref","theme","screenMode","useTheme","_jsx","ThemeProvider","children","SentimentSurface","as","clsx"],"mappings":";;;;;;;;;;AA2BA,MAAMA,GAAG,gBAAGC,gBAAU,CAA4B,SAASD,GAAGA,CAC5D;EACEE,KAAK;AACLC,EAAAA,SAAS,GAAG,SAAS;AACrBC,EAAAA,IAAI,GAAG,OAAO;AACdC,EAAAA,QAAQ,GAAG,MAAM;AACjBC,EAAAA,SAAS,GAAG,KAAK;EACjBC,SAAS;EACTC,EAAE;AACF,EAAA,aAAa,EAAEC;AAAU,CAC1B,EACDC,GAAG,EAAA;EAEH,MAAM;IAAEC,KAAK;AAAEC,IAAAA;GAAY,GAAGC,0BAAQ,EAAE;EAExC,oBACEC,cAAA,CAACC,+BAAa,EAAA;AACZJ,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,UAAU,EAAEN,SAAS,GAAG,MAAM,GAAGM,UAAW;AAC5CL,IAAAA,SAAS,EAAC,eAAe;IAAAS,QAAA,eAEzBF,cAAA,CAACG;AACC;AAAA,MAAA;AACAP,MAAAA,GAAG,EAAEA,GAAI;AACTQ,MAAAA,EAAE,EAAC,MAAM;AACTf,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,QAAQ,EAAEC,SAAS,GAAG,UAAU,GAAGD,QAAS;AAC5CG,MAAAA,EAAE,EAAEA,EAAG;AACP,MAAA,aAAA,EAAaC,UAAW;AACxBF,MAAAA,SAAS,EAAEY,SAAI,CACb,SAAS,EACT,YAAYf,IAAI,CAAA,CAAE,EAClB,CAAA,SAAA,EAAYD,SAAS,CAAA,CAAE,EACvB,2BAA2B,EAC3BI,SAAS,CACT;AAAAS,MAAAA,QAAA,EAEDd;KACe;AACpB,GAAe,CAAC;AAEpB,CAAC
|
|
1
|
+
{"version":3,"file":"Tag.js","sources":["../../src/Tag/Tag.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { clsx } from 'clsx';\nimport { ThemeProvider, useTheme } from '@wise/components-theming';\n\nimport SentimentSurface from '../SentimentSurface';\nimport { TagProps } from './Tag.types';\n\n/**\n * Tag is a small, non-interactive label that categorises or highlights a piece of content.\n *\n * @param {string} label - The text of the tag, kept to a word or two.\n * @param {Sentiment} [sentiment='neutral'] - Optional prop to set the sentiment type (negative, warning, neutral, success, proposition).\n * @param {TagSize} [size='small'] - Optional prop to set the size of the tag (small or large).\n * @param {Emphasis} [emphasis='base'] - Optional prop to specify the emphasis level (base or elevated).\n * @param {boolean} [overMedia=false] - If true, renders the tag for use over media, keeping the colours it uses in dark screen modes.\n * @param {string} [className] - Additional CSS classes to apply.\n * @param {string} [id] - Unique identifier for the component.\n * @param {string} [data-testid] - A unique string that appears as data attribute `data-testid` in the rendered code.\n *\n * @component\n * @example\n * ```tsx\n * <Tag sentiment=\"success\" label=\"Verified\" />\n * ```\n *\n * @see {@link https://storybook.wise.design/?path=/docs/tag--docs|Storybook Wise Design}\n */\nconst Tag = forwardRef<HTMLSpanElement, TagProps>(function Tag(\n {\n label,\n sentiment = 'neutral',\n size = 'small',\n emphasis = 'base',\n overMedia = false,\n className,\n id,\n 'data-testid': dataTestId,\n },\n ref,\n) {\n const { theme, screenMode } = useTheme();\n\n return (\n <ThemeProvider\n theme={theme}\n screenMode={overMedia ? 'dark' : screenMode}\n className=\"wds-tag-theme\"\n >\n <SentimentSurface\n // @ts-expect-error - SentimentSurface forwardRef types don't expose ref in props\n ref={ref}\n as=\"span\"\n sentiment={sentiment}\n emphasis={overMedia ? 'elevated' : emphasis}\n id={id}\n data-testid={dataTestId}\n className={clsx(\n 'wds-tag',\n `wds-tag--${size}`,\n `wds-tag--${sentiment}`,\n 'np-text-body-default-bold',\n className,\n )}\n >\n {label}\n </SentimentSurface>\n </ThemeProvider>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","forwardRef","label","sentiment","size","emphasis","overMedia","className","id","dataTestId","ref","theme","screenMode","useTheme","_jsx","ThemeProvider","children","SentimentSurface","as","clsx"],"mappings":";;;;;;;;;;AA2BA,MAAMA,GAAG,gBAAGC,gBAAU,CAA4B,SAASD,GAAGA,CAC5D;EACEE,KAAK;AACLC,EAAAA,SAAS,GAAG,SAAS;AACrBC,EAAAA,IAAI,GAAG,OAAO;AACdC,EAAAA,QAAQ,GAAG,MAAM;AACjBC,EAAAA,SAAS,GAAG,KAAK;EACjBC,SAAS;EACTC,EAAE;AACF,EAAA,aAAa,EAAEC;AAAU,CAC1B,EACDC,GAAG,EAAA;EAEH,MAAM;IAAEC,KAAK;AAAEC,IAAAA;GAAY,GAAGC,0BAAQ,EAAE;EAExC,oBACEC,cAAA,CAACC,+BAAa,EAAA;AACZJ,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,UAAU,EAAEN,SAAS,GAAG,MAAM,GAAGM,UAAW;AAC5CL,IAAAA,SAAS,EAAC,eAAe;IAAAS,QAAA,eAEzBF,cAAA,CAACG;AACC;AAAA,MAAA;AACAP,MAAAA,GAAG,EAAEA,GAAI;AACTQ,MAAAA,EAAE,EAAC,MAAM;AACTf,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,QAAQ,EAAEC,SAAS,GAAG,UAAU,GAAGD,QAAS;AAC5CG,MAAAA,EAAE,EAAEA,EAAG;AACP,MAAA,aAAA,EAAaC,UAAW;AACxBF,MAAAA,SAAS,EAAEY,SAAI,CACb,SAAS,EACT,YAAYf,IAAI,CAAA,CAAE,EAClB,CAAA,SAAA,EAAYD,SAAS,CAAA,CAAE,EACvB,2BAA2B,EAC3BI,SAAS,CACT;AAAAS,MAAAA,QAAA,EAEDd;KACe;AACpB,GAAe,CAAC;AAEpB,CAAC;;"}
|
package/build/Tag/Tag.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.mjs","sources":["../../src/Tag/Tag.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { clsx } from 'clsx';\nimport { ThemeProvider, useTheme } from '@wise/components-theming';\n\nimport SentimentSurface from '../SentimentSurface';\nimport { TagProps } from './Tag.types';\n\n/**\n * Tag is a small, non-interactive label that categorises or highlights a piece of content.\n *\n * @param {string} label - The text of the tag, kept to a word or two.\n * @param {Sentiment} [sentiment='neutral'] - Optional prop to set the sentiment type (negative, warning, neutral, success, proposition).\n * @param {TagSize} [size='small'] - Optional prop to set the size of the tag (small or large).\n * @param {Emphasis} [emphasis='base'] - Optional prop to specify the emphasis level (base or elevated).\n * @param {boolean} [overMedia=false] - If true, renders the tag for use over media, keeping the colours it uses in dark screen modes.\n * @param {string} [className] - Additional CSS classes to apply.\n * @param {string} [id] - Unique identifier for the component.\n * @param {string} [data-testid] - A unique string that appears as data attribute `data-testid` in the rendered code.\n *\n * @component\n * @example\n * ```tsx\n * <Tag sentiment=\"success\" label=\"Verified\" />\n * ```\n *\n * @see {@link https://storybook.wise.design/?path=/docs/tag--docs|Storybook Wise Design}\n */\nconst Tag = forwardRef<HTMLSpanElement, TagProps>(function Tag(\n {\n label,\n sentiment = 'neutral',\n size = 'small',\n emphasis = 'base',\n overMedia = false,\n className,\n id,\n 'data-testid': dataTestId,\n },\n ref,\n) {\n const { theme, screenMode } = useTheme();\n\n return (\n <ThemeProvider\n theme={theme}\n screenMode={overMedia ? 'dark' : screenMode}\n className=\"wds-tag-theme\"\n >\n <SentimentSurface\n // @ts-expect-error - SentimentSurface forwardRef types don't expose ref in props\n ref={ref}\n as=\"span\"\n sentiment={sentiment}\n emphasis={overMedia ? 'elevated' : emphasis}\n id={id}\n data-testid={dataTestId}\n className={clsx(\n 'wds-tag',\n `wds-tag--${size}`,\n `wds-tag--${sentiment}`,\n 'np-text-body-default-bold',\n className,\n )}\n >\n {label}\n </SentimentSurface>\n </ThemeProvider>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","forwardRef","label","sentiment","size","emphasis","overMedia","className","id","dataTestId","ref","theme","screenMode","useTheme","_jsx","ThemeProvider","children","SentimentSurface","as","clsx"],"mappings":";;;;;;AA2BA,MAAMA,GAAG,gBAAGC,UAAU,CAA4B,SAASD,GAAGA,CAC5D;EACEE,KAAK;AACLC,EAAAA,SAAS,GAAG,SAAS;AACrBC,EAAAA,IAAI,GAAG,OAAO;AACdC,EAAAA,QAAQ,GAAG,MAAM;AACjBC,EAAAA,SAAS,GAAG,KAAK;EACjBC,SAAS;EACTC,EAAE;AACF,EAAA,aAAa,EAAEC;AAAU,CAC1B,EACDC,GAAG,EAAA;EAEH,MAAM;IAAEC,KAAK;AAAEC,IAAAA;GAAY,GAAGC,QAAQ,EAAE;EAExC,oBACEC,GAAA,CAACC,aAAa,EAAA;AACZJ,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,UAAU,EAAEN,SAAS,GAAG,MAAM,GAAGM,UAAW;AAC5CL,IAAAA,SAAS,EAAC,eAAe;IAAAS,QAAA,eAEzBF,GAAA,CAACG;AACC;AAAA,MAAA;AACAP,MAAAA,GAAG,EAAEA,GAAI;AACTQ,MAAAA,EAAE,EAAC,MAAM;AACTf,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,QAAQ,EAAEC,SAAS,GAAG,UAAU,GAAGD,QAAS;AAC5CG,MAAAA,EAAE,EAAEA,EAAG;AACP,MAAA,aAAA,EAAaC,UAAW;AACxBF,MAAAA,SAAS,EAAEY,IAAI,CACb,SAAS,EACT,YAAYf,IAAI,CAAA,CAAE,EAClB,CAAA,SAAA,EAAYD,SAAS,CAAA,CAAE,EACvB,2BAA2B,EAC3BI,SAAS,CACT;AAAAS,MAAAA,QAAA,EAEDd;KACe;AACpB,GAAe,CAAC;AAEpB,CAAC
|
|
1
|
+
{"version":3,"file":"Tag.mjs","sources":["../../src/Tag/Tag.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { clsx } from 'clsx';\nimport { ThemeProvider, useTheme } from '@wise/components-theming';\n\nimport SentimentSurface from '../SentimentSurface';\nimport { TagProps } from './Tag.types';\n\n/**\n * Tag is a small, non-interactive label that categorises or highlights a piece of content.\n *\n * @param {string} label - The text of the tag, kept to a word or two.\n * @param {Sentiment} [sentiment='neutral'] - Optional prop to set the sentiment type (negative, warning, neutral, success, proposition).\n * @param {TagSize} [size='small'] - Optional prop to set the size of the tag (small or large).\n * @param {Emphasis} [emphasis='base'] - Optional prop to specify the emphasis level (base or elevated).\n * @param {boolean} [overMedia=false] - If true, renders the tag for use over media, keeping the colours it uses in dark screen modes.\n * @param {string} [className] - Additional CSS classes to apply.\n * @param {string} [id] - Unique identifier for the component.\n * @param {string} [data-testid] - A unique string that appears as data attribute `data-testid` in the rendered code.\n *\n * @component\n * @example\n * ```tsx\n * <Tag sentiment=\"success\" label=\"Verified\" />\n * ```\n *\n * @see {@link https://storybook.wise.design/?path=/docs/tag--docs|Storybook Wise Design}\n */\nconst Tag = forwardRef<HTMLSpanElement, TagProps>(function Tag(\n {\n label,\n sentiment = 'neutral',\n size = 'small',\n emphasis = 'base',\n overMedia = false,\n className,\n id,\n 'data-testid': dataTestId,\n },\n ref,\n) {\n const { theme, screenMode } = useTheme();\n\n return (\n <ThemeProvider\n theme={theme}\n screenMode={overMedia ? 'dark' : screenMode}\n className=\"wds-tag-theme\"\n >\n <SentimentSurface\n // @ts-expect-error - SentimentSurface forwardRef types don't expose ref in props\n ref={ref}\n as=\"span\"\n sentiment={sentiment}\n emphasis={overMedia ? 'elevated' : emphasis}\n id={id}\n data-testid={dataTestId}\n className={clsx(\n 'wds-tag',\n `wds-tag--${size}`,\n `wds-tag--${sentiment}`,\n 'np-text-body-default-bold',\n className,\n )}\n >\n {label}\n </SentimentSurface>\n </ThemeProvider>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","forwardRef","label","sentiment","size","emphasis","overMedia","className","id","dataTestId","ref","theme","screenMode","useTheme","_jsx","ThemeProvider","children","SentimentSurface","as","clsx"],"mappings":";;;;;;AA2BA,MAAMA,GAAG,gBAAGC,UAAU,CAA4B,SAASD,GAAGA,CAC5D;EACEE,KAAK;AACLC,EAAAA,SAAS,GAAG,SAAS;AACrBC,EAAAA,IAAI,GAAG,OAAO;AACdC,EAAAA,QAAQ,GAAG,MAAM;AACjBC,EAAAA,SAAS,GAAG,KAAK;EACjBC,SAAS;EACTC,EAAE;AACF,EAAA,aAAa,EAAEC;AAAU,CAC1B,EACDC,GAAG,EAAA;EAEH,MAAM;IAAEC,KAAK;AAAEC,IAAAA;GAAY,GAAGC,QAAQ,EAAE;EAExC,oBACEC,GAAA,CAACC,aAAa,EAAA;AACZJ,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,UAAU,EAAEN,SAAS,GAAG,MAAM,GAAGM,UAAW;AAC5CL,IAAAA,SAAS,EAAC,eAAe;IAAAS,QAAA,eAEzBF,GAAA,CAACG;AACC;AAAA,MAAA;AACAP,MAAAA,GAAG,EAAEA,GAAI;AACTQ,MAAAA,EAAE,EAAC,MAAM;AACTf,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,QAAQ,EAAEC,SAAS,GAAG,UAAU,GAAGD,QAAS;AAC5CG,MAAAA,EAAE,EAAEA,EAAG;AACP,MAAA,aAAA,EAAaC,UAAW;AACxBF,MAAAA,SAAS,EAAEY,IAAI,CACb,SAAS,EACT,YAAYf,IAAI,CAAA,CAAE,EAClB,CAAA,SAAA,EAAYD,SAAS,CAAA,CAAE,EACvB,2BAA2B,EAC3BI,SAAS,CACT;AAAAS,MAAAA,QAAA,EAEDd;KACe;AACpB,GAAe,CAAC;AAEpB,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextareaWithDisplayFormat.js","sources":["../../src/TextareaWithDisplayFormat/TextareaWithDisplayFormat.tsx"],"sourcesContent":["import { TextArea, type TextAreaProps } from '../Inputs/TextArea/TextArea';\nimport WithDisplayFormat, { type WithDisplayFormatProps } from '../WithDisplayFormat';\n\nexport interface TextareaWithDisplayFormatProps extends Omit<WithDisplayFormatProps, 'render'> {}\n\nconst TextareaWithDisplayFormat = (props: TextareaWithDisplayFormatProps) => (\n <WithDisplayFormat<TextAreaProps>\n {...props}\n render={(renderProps) => <TextArea {...renderProps} />}\n />\n);\n\nexport default TextareaWithDisplayFormat;\n"],"names":["TextareaWithDisplayFormat","props","_jsx","WithDisplayFormat","render","renderProps","TextArea"],"mappings":";;;;;;;;AAKA,MAAMA,yBAAyB,GAAIC,KAAqC,iBACtEC,cAAA,CAACC,yBAAiB,EAAA;AAAA,EAAA,GACZF,KAAK;AACTG,EAAAA,MAAM,EAAGC,WAAW,iBAAKH,cAAA,CAACI,iBAAQ,EAAA;IAAA,GAAKD;GAAY;AAAI,CAAA
|
|
1
|
+
{"version":3,"file":"TextareaWithDisplayFormat.js","sources":["../../src/TextareaWithDisplayFormat/TextareaWithDisplayFormat.tsx"],"sourcesContent":["import { TextArea, type TextAreaProps } from '../Inputs/TextArea/TextArea';\nimport WithDisplayFormat, { type WithDisplayFormatProps } from '../WithDisplayFormat';\n\nexport interface TextareaWithDisplayFormatProps extends Omit<WithDisplayFormatProps, 'render'> {}\n\nconst TextareaWithDisplayFormat = (props: TextareaWithDisplayFormatProps) => (\n <WithDisplayFormat<TextAreaProps>\n {...props}\n render={(renderProps) => <TextArea {...renderProps} />}\n />\n);\n\nexport default TextareaWithDisplayFormat;\n"],"names":["TextareaWithDisplayFormat","props","_jsx","WithDisplayFormat","render","renderProps","TextArea"],"mappings":";;;;;;;;AAKA,MAAMA,yBAAyB,GAAIC,KAAqC,iBACtEC,cAAA,CAACC,yBAAiB,EAAA;AAAA,EAAA,GACZF,KAAK;AACTG,EAAAA,MAAM,EAAGC,WAAW,iBAAKH,cAAA,CAACI,iBAAQ,EAAA;IAAA,GAAKD;GAAY;AAAI,CAAA;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextareaWithDisplayFormat.mjs","sources":["../../src/TextareaWithDisplayFormat/TextareaWithDisplayFormat.tsx"],"sourcesContent":["import { TextArea, type TextAreaProps } from '../Inputs/TextArea/TextArea';\nimport WithDisplayFormat, { type WithDisplayFormatProps } from '../WithDisplayFormat';\n\nexport interface TextareaWithDisplayFormatProps extends Omit<WithDisplayFormatProps, 'render'> {}\n\nconst TextareaWithDisplayFormat = (props: TextareaWithDisplayFormatProps) => (\n <WithDisplayFormat<TextAreaProps>\n {...props}\n render={(renderProps) => <TextArea {...renderProps} />}\n />\n);\n\nexport default TextareaWithDisplayFormat;\n"],"names":["TextareaWithDisplayFormat","props","_jsx","WithDisplayFormat","render","renderProps","TextArea"],"mappings":";;;;AAKA,MAAMA,yBAAyB,GAAIC,KAAqC,iBACtEC,GAAA,CAACC,iBAAiB,EAAA;AAAA,EAAA,GACZF,KAAK;AACTG,EAAAA,MAAM,EAAGC,WAAW,iBAAKH,GAAA,CAACI,QAAQ,EAAA;IAAA,GAAKD;GAAY;AAAI,CAAA
|
|
1
|
+
{"version":3,"file":"TextareaWithDisplayFormat.mjs","sources":["../../src/TextareaWithDisplayFormat/TextareaWithDisplayFormat.tsx"],"sourcesContent":["import { TextArea, type TextAreaProps } from '../Inputs/TextArea/TextArea';\nimport WithDisplayFormat, { type WithDisplayFormatProps } from '../WithDisplayFormat';\n\nexport interface TextareaWithDisplayFormatProps extends Omit<WithDisplayFormatProps, 'render'> {}\n\nconst TextareaWithDisplayFormat = (props: TextareaWithDisplayFormatProps) => (\n <WithDisplayFormat<TextAreaProps>\n {...props}\n render={(renderProps) => <TextArea {...renderProps} />}\n />\n);\n\nexport default TextareaWithDisplayFormat;\n"],"names":["TextareaWithDisplayFormat","props","_jsx","WithDisplayFormat","render","renderProps","TextArea"],"mappings":";;;;AAKA,MAAMA,yBAAyB,GAAIC,KAAqC,iBACtEC,GAAA,CAACC,iBAAiB,EAAA;AAAA,EAAA,GACZF,KAAK;AACTG,EAAAA,MAAM,EAAGC,WAAW,iBAAKH,GAAA,CAACI,QAAQ,EAAA;IAAA,GAAKD;GAAY;AAAI,CAAA;;"}
|
package/build/Tile/Tile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.js","sources":["../../src/Tile/Tile.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Body from '../Body';\nimport { Size, Typography } from '../common';\nimport Title from '../Title';\n\nexport interface TileProps {\n /** Classes to apply to the Tile container */\n /** A label for the accordion item, used for accessibility purposes. */\n 'aria-label'?: string;\n className?: string;\n description?: React.ReactNode;\n disabled?: boolean;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n /** Accepts only Avatar and images */\n media: React.ReactNode;\n /** Function called onClick or onKeyDown */\n onClick?: (event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** The size applied to Tile */\n size?: `${Size.SMALL | Size.MEDIUM}`;\n title: React.ReactNode;\n}\n\nexport default function Tile({\n 'aria-label': ariaLabel,\n className,\n description,\n disabled,\n href,\n target,\n media,\n onClick,\n size = 'md',\n title,\n}: TileProps) {\n const isSmall = size === 'sm';\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n className={clsx(\n 'decision',\n 'flex-column',\n 'np-tile',\n 'text-no-decoration',\n 'text-xs-center',\n className,\n {\n 'p-a-3': !isSmall,\n 'p-a-2 np-tile--small': isSmall,\n },\n disabled && 'disabled',\n )}\n href={href}\n target={target}\n aria-label={ariaLabel}\n onClick={disabled ? undefined : onClick}\n onKeyDown={\n disabled\n ? undefined\n : ({ key }) => {\n if (key === 'Enter' || key === ' ') {\n onClick?.();\n }\n }\n }\n >\n <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n <Title type={Typography.TITLE_SUBSECTION} className={clsx(isSmall ? 'm-t-1' : 'm-t-2')}>\n {title}\n </Title>\n {description ? (\n <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n {description}\n </Body>\n ) : null}\n </Element>\n );\n}\n"],"names":["Tile","ariaLabel","className","description","disabled","href","target","media","onClick","size","title","isSmall","Element","_jsxs","clsx","undefined","onKeyDown","key","children","_jsx","Title","type","Typography","TITLE_SUBSECTION","Body","as","BODY_DEFAULT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBc,SAAUA,IAAIA,CAAC;AAC3B,EAAA,YAAY,EAAEC,SAAS;EACvBC,SAAS;EACTC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,OAAO;AACPC,EAAAA,IAAI,GAAG,IAAI;AACXC,EAAAA;AAAK,CACK,EAAA;AACV,EAAA,MAAMC,OAAO,GAAGF,IAAI,KAAK,IAAI;AAC7B,EAAA,MAAMG,OAAO,GAAGP,IAAI,GAAG,GAAG,GAAG,QAAQ;EAErC,oBACEQ,eAAA,CAACD,OAAO,EAAA;AACNV,IAAAA,SAAS,EAAEY,SAAI,CACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChBZ,SAAS,EACT;MACE,OAAO,EAAE,CAACS,OAAO;AACjB,MAAA,sBAAsB,EAAEA;AACzB,KAAA,EACDP,QAAQ,IAAI,UAAU,CACtB;AACFC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACf,IAAA,YAAA,EAAYL,SAAU;AACtBO,IAAAA,OAAO,EAAEJ,QAAQ,GAAGW,SAAS,GAAGP,OAAQ;AACxCQ,IAAAA,SAAS,EACPZ,QAAQ,GACJW,SAAS,GACT,CAAC;AAAEE,MAAAA;AAAG,KAAE,KAAI;AACV,MAAA,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;AAClCT,QAAAA,OAAO,IAAI;AACb,MAAA;IACF,CACL;AAAAU,IAAAA,QAAA,gBAEDC,cAAA,CAAA,KAAA,EAAA;AAAKjB,MAAAA,SAAS,EAAC,8CAA8C;AAAAgB,MAAAA,QAAA,EAAEX;AAAK,KAAM,CAC1E,eAAAY,cAAA,CAACC,aAAK,EAAA;MAACC,IAAI,EAAEC,qBAAU,CAACC,gBAAiB;MAACrB,SAAS,EAAEY,SAAI,CAACH,OAAO,GAAG,OAAO,GAAG,OAAO,CAAE;AAAAO,MAAAA,QAAA,EACpFR;AAAK,KACD,CACP,EAACP,WAAW,gBACVgB,cAAA,CAACK,YAAI,EAAA;AAACC,MAAAA,EAAE,EAAC,MAAM;MAACJ,IAAI,EAAEC,qBAAU,CAACI,YAAa;AAACxB,MAAAA,SAAS,EAAC,OAAO;AAAAgB,MAAAA,QAAA,EAC7Df;KACG,CAAC,GACL,IAAI;AAAA,GACD,CAAC;AAEd
|
|
1
|
+
{"version":3,"file":"Tile.js","sources":["../../src/Tile/Tile.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Body from '../Body';\nimport { Size, Typography } from '../common';\nimport Title from '../Title';\n\nexport interface TileProps {\n /** Classes to apply to the Tile container */\n /** A label for the accordion item, used for accessibility purposes. */\n 'aria-label'?: string;\n className?: string;\n description?: React.ReactNode;\n disabled?: boolean;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n /** Accepts only Avatar and images */\n media: React.ReactNode;\n /** Function called onClick or onKeyDown */\n onClick?: (event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** The size applied to Tile */\n size?: `${Size.SMALL | Size.MEDIUM}`;\n title: React.ReactNode;\n}\n\nexport default function Tile({\n 'aria-label': ariaLabel,\n className,\n description,\n disabled,\n href,\n target,\n media,\n onClick,\n size = 'md',\n title,\n}: TileProps) {\n const isSmall = size === 'sm';\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n className={clsx(\n 'decision',\n 'flex-column',\n 'np-tile',\n 'text-no-decoration',\n 'text-xs-center',\n className,\n {\n 'p-a-3': !isSmall,\n 'p-a-2 np-tile--small': isSmall,\n },\n disabled && 'disabled',\n )}\n href={href}\n target={target}\n aria-label={ariaLabel}\n onClick={disabled ? undefined : onClick}\n onKeyDown={\n disabled\n ? undefined\n : ({ key }) => {\n if (key === 'Enter' || key === ' ') {\n onClick?.();\n }\n }\n }\n >\n <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n <Title type={Typography.TITLE_SUBSECTION} className={clsx(isSmall ? 'm-t-1' : 'm-t-2')}>\n {title}\n </Title>\n {description ? (\n <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n {description}\n </Body>\n ) : null}\n </Element>\n );\n}\n"],"names":["Tile","ariaLabel","className","description","disabled","href","target","media","onClick","size","title","isSmall","Element","_jsxs","clsx","undefined","onKeyDown","key","children","_jsx","Title","type","Typography","TITLE_SUBSECTION","Body","as","BODY_DEFAULT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBc,SAAUA,IAAIA,CAAC;AAC3B,EAAA,YAAY,EAAEC,SAAS;EACvBC,SAAS;EACTC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,OAAO;AACPC,EAAAA,IAAI,GAAG,IAAI;AACXC,EAAAA;AAAK,CACK,EAAA;AACV,EAAA,MAAMC,OAAO,GAAGF,IAAI,KAAK,IAAI;AAC7B,EAAA,MAAMG,OAAO,GAAGP,IAAI,GAAG,GAAG,GAAG,QAAQ;EAErC,oBACEQ,eAAA,CAACD,OAAO,EAAA;AACNV,IAAAA,SAAS,EAAEY,SAAI,CACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChBZ,SAAS,EACT;MACE,OAAO,EAAE,CAACS,OAAO;AACjB,MAAA,sBAAsB,EAAEA;AACzB,KAAA,EACDP,QAAQ,IAAI,UAAU,CACtB;AACFC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACf,IAAA,YAAA,EAAYL,SAAU;AACtBO,IAAAA,OAAO,EAAEJ,QAAQ,GAAGW,SAAS,GAAGP,OAAQ;AACxCQ,IAAAA,SAAS,EACPZ,QAAQ,GACJW,SAAS,GACT,CAAC;AAAEE,MAAAA;AAAG,KAAE,KAAI;AACV,MAAA,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;AAClCT,QAAAA,OAAO,IAAI;AACb,MAAA;IACF,CACL;AAAAU,IAAAA,QAAA,gBAEDC,cAAA,CAAA,KAAA,EAAA;AAAKjB,MAAAA,SAAS,EAAC,8CAA8C;AAAAgB,MAAAA,QAAA,EAAEX;AAAK,KAAM,CAC1E,eAAAY,cAAA,CAACC,aAAK,EAAA;MAACC,IAAI,EAAEC,qBAAU,CAACC,gBAAiB;MAACrB,SAAS,EAAEY,SAAI,CAACH,OAAO,GAAG,OAAO,GAAG,OAAO,CAAE;AAAAO,MAAAA,QAAA,EACpFR;AAAK,KACD,CACP,EAACP,WAAW,gBACVgB,cAAA,CAACK,YAAI,EAAA;AAACC,MAAAA,EAAE,EAAC,MAAM;MAACJ,IAAI,EAAEC,qBAAU,CAACI,YAAa;AAACxB,MAAAA,SAAS,EAAC,OAAO;AAAAgB,MAAAA,QAAA,EAC7Df;KACG,CAAC,GACL,IAAI;AAAA,GACD,CAAC;AAEd;;"}
|
package/build/Tile/Tile.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.mjs","sources":["../../src/Tile/Tile.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Body from '../Body';\nimport { Size, Typography } from '../common';\nimport Title from '../Title';\n\nexport interface TileProps {\n /** Classes to apply to the Tile container */\n /** A label for the accordion item, used for accessibility purposes. */\n 'aria-label'?: string;\n className?: string;\n description?: React.ReactNode;\n disabled?: boolean;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n /** Accepts only Avatar and images */\n media: React.ReactNode;\n /** Function called onClick or onKeyDown */\n onClick?: (event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** The size applied to Tile */\n size?: `${Size.SMALL | Size.MEDIUM}`;\n title: React.ReactNode;\n}\n\nexport default function Tile({\n 'aria-label': ariaLabel,\n className,\n description,\n disabled,\n href,\n target,\n media,\n onClick,\n size = 'md',\n title,\n}: TileProps) {\n const isSmall = size === 'sm';\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n className={clsx(\n 'decision',\n 'flex-column',\n 'np-tile',\n 'text-no-decoration',\n 'text-xs-center',\n className,\n {\n 'p-a-3': !isSmall,\n 'p-a-2 np-tile--small': isSmall,\n },\n disabled && 'disabled',\n )}\n href={href}\n target={target}\n aria-label={ariaLabel}\n onClick={disabled ? undefined : onClick}\n onKeyDown={\n disabled\n ? undefined\n : ({ key }) => {\n if (key === 'Enter' || key === ' ') {\n onClick?.();\n }\n }\n }\n >\n <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n <Title type={Typography.TITLE_SUBSECTION} className={clsx(isSmall ? 'm-t-1' : 'm-t-2')}>\n {title}\n </Title>\n {description ? (\n <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n {description}\n </Body>\n ) : null}\n </Element>\n );\n}\n"],"names":["Tile","ariaLabel","className","description","disabled","href","target","media","onClick","size","title","isSmall","Element","_jsxs","clsx","undefined","onKeyDown","key","children","_jsx","Title","type","Typography","TITLE_SUBSECTION","Body","as","BODY_DEFAULT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBc,SAAUA,IAAIA,CAAC;AAC3B,EAAA,YAAY,EAAEC,SAAS;EACvBC,SAAS;EACTC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,OAAO;AACPC,EAAAA,IAAI,GAAG,IAAI;AACXC,EAAAA;AAAK,CACK,EAAA;AACV,EAAA,MAAMC,OAAO,GAAGF,IAAI,KAAK,IAAI;AAC7B,EAAA,MAAMG,OAAO,GAAGP,IAAI,GAAG,GAAG,GAAG,QAAQ;EAErC,oBACEQ,IAAA,CAACD,OAAO,EAAA;AACNV,IAAAA,SAAS,EAAEY,IAAI,CACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChBZ,SAAS,EACT;MACE,OAAO,EAAE,CAACS,OAAO;AACjB,MAAA,sBAAsB,EAAEA;AACzB,KAAA,EACDP,QAAQ,IAAI,UAAU,CACtB;AACFC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACf,IAAA,YAAA,EAAYL,SAAU;AACtBO,IAAAA,OAAO,EAAEJ,QAAQ,GAAGW,SAAS,GAAGP,OAAQ;AACxCQ,IAAAA,SAAS,EACPZ,QAAQ,GACJW,SAAS,GACT,CAAC;AAAEE,MAAAA;AAAG,KAAE,KAAI;AACV,MAAA,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;AAClCT,QAAAA,OAAO,IAAI;AACb,MAAA;IACF,CACL;AAAAU,IAAAA,QAAA,gBAEDC,GAAA,CAAA,KAAA,EAAA;AAAKjB,MAAAA,SAAS,EAAC,8CAA8C;AAAAgB,MAAAA,QAAA,EAAEX;AAAK,KAAM,CAC1E,eAAAY,GAAA,CAACC,KAAK,EAAA;MAACC,IAAI,EAAEC,UAAU,CAACC,gBAAiB;MAACrB,SAAS,EAAEY,IAAI,CAACH,OAAO,GAAG,OAAO,GAAG,OAAO,CAAE;AAAAO,MAAAA,QAAA,EACpFR;AAAK,KACD,CACP,EAACP,WAAW,gBACVgB,GAAA,CAACK,IAAI,EAAA;AAACC,MAAAA,EAAE,EAAC,MAAM;MAACJ,IAAI,EAAEC,UAAU,CAACI,YAAa;AAACxB,MAAAA,SAAS,EAAC,OAAO;AAAAgB,MAAAA,QAAA,EAC7Df;KACG,CAAC,GACL,IAAI;AAAA,GACD,CAAC;AAEd
|
|
1
|
+
{"version":3,"file":"Tile.mjs","sources":["../../src/Tile/Tile.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Body from '../Body';\nimport { Size, Typography } from '../common';\nimport Title from '../Title';\n\nexport interface TileProps {\n /** Classes to apply to the Tile container */\n /** A label for the accordion item, used for accessibility purposes. */\n 'aria-label'?: string;\n className?: string;\n description?: React.ReactNode;\n disabled?: boolean;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n /** Accepts only Avatar and images */\n media: React.ReactNode;\n /** Function called onClick or onKeyDown */\n onClick?: (event?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** The size applied to Tile */\n size?: `${Size.SMALL | Size.MEDIUM}`;\n title: React.ReactNode;\n}\n\nexport default function Tile({\n 'aria-label': ariaLabel,\n className,\n description,\n disabled,\n href,\n target,\n media,\n onClick,\n size = 'md',\n title,\n}: TileProps) {\n const isSmall = size === 'sm';\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n className={clsx(\n 'decision',\n 'flex-column',\n 'np-tile',\n 'text-no-decoration',\n 'text-xs-center',\n className,\n {\n 'p-a-3': !isSmall,\n 'p-a-2 np-tile--small': isSmall,\n },\n disabled && 'disabled',\n )}\n href={href}\n target={target}\n aria-label={ariaLabel}\n onClick={disabled ? undefined : onClick}\n onKeyDown={\n disabled\n ? undefined\n : ({ key }) => {\n if (key === 'Enter' || key === ' ') {\n onClick?.();\n }\n }\n }\n >\n <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n <Title type={Typography.TITLE_SUBSECTION} className={clsx(isSmall ? 'm-t-1' : 'm-t-2')}>\n {title}\n </Title>\n {description ? (\n <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n {description}\n </Body>\n ) : null}\n </Element>\n );\n}\n"],"names":["Tile","ariaLabel","className","description","disabled","href","target","media","onClick","size","title","isSmall","Element","_jsxs","clsx","undefined","onKeyDown","key","children","_jsx","Title","type","Typography","TITLE_SUBSECTION","Body","as","BODY_DEFAULT"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBc,SAAUA,IAAIA,CAAC;AAC3B,EAAA,YAAY,EAAEC,SAAS;EACvBC,SAAS;EACTC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,OAAO;AACPC,EAAAA,IAAI,GAAG,IAAI;AACXC,EAAAA;AAAK,CACK,EAAA;AACV,EAAA,MAAMC,OAAO,GAAGF,IAAI,KAAK,IAAI;AAC7B,EAAA,MAAMG,OAAO,GAAGP,IAAI,GAAG,GAAG,GAAG,QAAQ;EAErC,oBACEQ,IAAA,CAACD,OAAO,EAAA;AACNV,IAAAA,SAAS,EAAEY,IAAI,CACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChBZ,SAAS,EACT;MACE,OAAO,EAAE,CAACS,OAAO;AACjB,MAAA,sBAAsB,EAAEA;AACzB,KAAA,EACDP,QAAQ,IAAI,UAAU,CACtB;AACFC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACf,IAAA,YAAA,EAAYL,SAAU;AACtBO,IAAAA,OAAO,EAAEJ,QAAQ,GAAGW,SAAS,GAAGP,OAAQ;AACxCQ,IAAAA,SAAS,EACPZ,QAAQ,GACJW,SAAS,GACT,CAAC;AAAEE,MAAAA;AAAG,KAAE,KAAI;AACV,MAAA,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;AAClCT,QAAAA,OAAO,IAAI;AACb,MAAA;IACF,CACL;AAAAU,IAAAA,QAAA,gBAEDC,GAAA,CAAA,KAAA,EAAA;AAAKjB,MAAAA,SAAS,EAAC,8CAA8C;AAAAgB,MAAAA,QAAA,EAAEX;AAAK,KAAM,CAC1E,eAAAY,GAAA,CAACC,KAAK,EAAA;MAACC,IAAI,EAAEC,UAAU,CAACC,gBAAiB;MAACrB,SAAS,EAAEY,IAAI,CAACH,OAAO,GAAG,OAAO,GAAG,OAAO,CAAE;AAAAO,MAAAA,QAAA,EACpFR;AAAK,KACD,CACP,EAACP,WAAW,gBACVgB,GAAA,CAACK,IAAI,EAAA;AAACC,MAAAA,EAAE,EAAC,MAAM;MAACJ,IAAI,EAAEC,UAAU,CAACI,YAAa;AAACxB,MAAAA,SAAS,EAAC,OAAO;AAAAgB,MAAAA,QAAA,EAC7Df;KACG,CAAC,GACL,IAAI;AAAA,GACD,CAAC;AAEd;;"}
|