@mittwald/flow-react-components 0.2.0-alpha.516 → 0.2.0-alpha.517
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/CHANGELOG.md +4 -0
- package/dist/assets/doc-properties.json +11687 -11635
- package/dist/js/components/src/components/AccentBox/AccentBox.mjs.map +1 -1
- package/dist/js/components/src/components/Accordion/Accordion.mjs.map +1 -1
- package/dist/js/components/src/components/Action/Action.mjs.map +1 -1
- package/dist/js/components/src/components/Action/context.mjs.map +1 -1
- package/dist/js/components/src/components/Action/hooks/useActionButtonState.mjs.map +1 -1
- package/dist/js/components/src/components/Action/hooks/useConfirmationModalButtonSlot.mjs.map +1 -1
- package/dist/js/components/src/components/Action/lib/ariaLive.mjs.map +1 -1
- package/dist/js/components/src/components/Action/models/ActionExecution.mjs.map +1 -1
- package/dist/js/components/src/components/Action/models/ActionExecutionBatch.mjs.map +1 -1
- package/dist/js/components/src/components/Action/models/ActionModel.mjs.map +1 -1
- package/dist/js/components/src/components/Action/models/ActionState.mjs.map +1 -1
- package/dist/js/components/src/components/Action/models/ActionStateContext.mjs.map +1 -1
- package/dist/js/components/src/components/Action/models/getExecutionFunction.mjs.map +1 -1
- package/dist/js/components/src/components/ActionGroup/ActionGroup.mjs.map +1 -1
- package/dist/js/components/src/components/ActionGroup/lib/getActionGroupSlot.mjs.map +1 -1
- package/dist/js/components/src/components/Activity/Activity.mjs.map +1 -1
- package/dist/js/components/src/components/Alert/Alert.mjs.map +1 -1
- package/dist/js/components/src/components/AlertBadge/AlertBadge.mjs.map +1 -1
- package/dist/js/components/src/components/AlertIcon/AlertIcon.mjs.map +1 -1
- package/dist/js/components/src/components/Align/Align.mjs.map +1 -1
- package/dist/js/components/src/components/Autocomplete/Autocomplete.mjs.map +1 -1
- package/dist/js/components/src/components/Avatar/Avatar.mjs.map +1 -1
- package/dist/js/components/src/components/Avatar/avatarColors.mjs.map +1 -1
- package/dist/js/components/src/components/AvatarStack/AvatarStack.mjs.map +1 -1
- package/dist/js/components/src/components/Badge/Badge.mjs.map +1 -1
- package/dist/js/components/src/components/BigNumber/BigNumber.mjs.map +1 -1
- package/dist/js/components/src/components/Breadcrumb/Breadcrumb.mjs.map +1 -1
- package/dist/js/components/src/components/Breadcrumb/components/BreadcrumbItem/BreadcrumbItem.mjs.map +1 -1
- package/dist/js/components/src/components/BrowserOnly/BrowserOnly.mjs.map +1 -1
- package/dist/js/components/src/components/Button/Button.mjs.map +1 -1
- package/dist/js/components/src/components/Calendar/Calendar.mjs.map +1 -1
- package/dist/js/components/src/components/Calendar/RangeCalendar.mjs.map +1 -1
- package/dist/js/components/src/components/Calendar/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/CartesianChart.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/Area/Area.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/AreaDot/AreaDot.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/CartesianGrid/CartesianGrid.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/ChartLegend/ChartLegend.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/ChartLegend/LegendContent.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/ChartTooltip/ChartTooltip.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/ChartTooltip/TooltipContent.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/Line/Line.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/XAxis/XAxis.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/components/YAxis/YAxis.mjs.map +1 -1
- package/dist/js/components/src/components/Chat/Chat.mjs.map +1 -1
- package/dist/js/components/src/components/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/js/components/src/components/CheckboxButton/CheckboxButton.mjs.map +1 -1
- package/dist/js/components/src/components/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
- package/dist/js/components/src/components/CodeBlock/CodeBlock.mjs.map +1 -1
- package/dist/js/components/src/components/Color/Color.mjs.map +1 -1
- package/dist/js/components/src/components/ColumnLayout/ColumnLayout.mjs.map +1 -1
- package/dist/js/components/src/components/ColumnLayout/lib/getColumns.mjs.map +1 -1
- package/dist/js/components/src/components/ComboBox/ComboBox.mjs.map +1 -1
- package/dist/js/components/src/components/Content/Content.mjs.map +1 -1
- package/dist/js/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
- package/dist/js/components/src/components/ContextMenu/components/ContextMenuContent/ContextMenuContent.mjs.map +1 -1
- package/dist/js/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs.map +1 -1
- package/dist/js/components/src/components/ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/ContextMenu/lib.mjs.map +1 -1
- package/dist/js/components/src/components/ContextualHelp/ContextualHelp.mjs.map +1 -1
- package/dist/js/components/src/components/ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/CopyButton/CopyButton.mjs.map +1 -1
- package/dist/js/components/src/components/CounterBadge/CounterBadge.mjs.map +1 -1
- package/dist/js/components/src/components/CountryOptions/CountryOptions.mjs.map +1 -1
- package/dist/js/components/src/components/CountryOptions/lib/sortBy.mjs.map +1 -1
- package/dist/js/components/src/components/DatePicker/DatePicker.mjs.map +1 -1
- package/dist/js/components/src/components/DatePicker/components/DateInput/DateInput.mjs.map +1 -1
- package/dist/js/components/src/components/DateRangePicker/DateRangePicker.mjs.map +1 -1
- package/dist/js/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.mjs.map +1 -1
- package/dist/js/components/src/components/Div/Div.mjs.map +1 -1
- package/dist/js/components/src/components/DonutChart/DonutChart.mjs.map +1 -1
- package/dist/js/components/src/components/DonutChart/components/Donut.mjs.map +1 -1
- package/dist/js/components/src/components/DonutChart/components/DonutChartFill.mjs.map +1 -1
- package/dist/js/components/src/components/DonutChart/components/DonutChartLegend.mjs.map +1 -1
- package/dist/js/components/src/components/DonutChart/components/DonutChartValue.mjs.map +1 -1
- package/dist/js/components/src/components/EmulatedBoldText/EmulatedBoldText.mjs.map +1 -1
- package/dist/js/components/src/components/FieldDescription/FieldDescription.mjs.map +1 -1
- package/dist/js/components/src/components/FieldError/FieldError.mjs.map +1 -1
- package/dist/js/components/src/components/FileCard/FileCard.mjs.map +1 -1
- package/dist/js/components/src/components/FileCard/components/Avatar/Avatar.mjs.map +1 -1
- package/dist/js/components/src/components/FileCard/components/DeleteButton/DeleteButton.mjs.map +1 -1
- package/dist/js/components/src/components/FileCard/components/FileSizeText/FileSizeText.mjs.map +1 -1
- package/dist/js/components/src/components/FileCardList/FileCardList.mjs.map +1 -1
- package/dist/js/components/src/components/FileDropZone/FileDropZone.mjs.map +1 -1
- package/dist/js/components/src/components/FileField/FileField.mjs.map +1 -1
- package/dist/js/components/src/components/FileField/components/FileInput.mjs.map +1 -1
- package/dist/js/components/src/components/Flex/Flex.mjs.map +1 -1
- package/dist/js/components/src/components/Header/Header.mjs.map +1 -1
- package/dist/js/components/src/components/HeaderNavigation/HeaderNavigation.mjs.map +1 -1
- package/dist/js/components/src/components/Heading/Heading.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/Icon.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconAI.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconAnalytics.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconApp.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconAttachment.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconAutoresponder.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconBackLink.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconBackup.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCamera.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCertificate.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconChangelog.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCheck.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCheckboxChecked.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCheckboxEmpty.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCheckboxIndeterminate.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconChevronDown.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconChevronLeft.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconChevronRight.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconChevronUp.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconClose.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCode.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconContainer.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconContextMenu.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconContextMenuVertical.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconContract.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconContributor.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCopy.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCronjob.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconCustomer.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDanger.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDashboard.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDatabase.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDate.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDelete.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDeliveryBox.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDesktop.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDirectory.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDnsSubZone.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDnsZone.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDomain.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconDownload.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconEdit.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconEmail.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconEmailArchive.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconExtension.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconExternalLink.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconFailed.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconFile.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconFilter.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconForwardAddress.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconHide.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconHome.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconImage.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconInfo.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconInvite.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconKnowledgeHint.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconLeadFyndr.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconLink.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconLock.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconLockOpen.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconLogout.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMainUser.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMarketplace.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMaximize.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMember.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMenu.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMinimize.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMinus.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMittwald.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMobile.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMonitoring.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconMove.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconNotification.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconNumber.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconOrder.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconPassword.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconPath.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconPause.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconPayment.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconPending.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconPicture.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconPlus.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconProject.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconRadioOff.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconRadioOn.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconRedo.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconRefresh.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconRegistry.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSave.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSearch.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSecurity.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSend.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconServer.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSettings.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconShare.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconShow.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSorting.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSsh.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSshKey.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSshSftp.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconStar.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconStarFilled.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconStart.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSubdomain.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSucceeded.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSuccess.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconSupport.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconTerminate.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconTicket.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconTime.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconUndo.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconUpload.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconUser.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconVhost.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconView.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconVolume.mjs.map +1 -1
- package/dist/js/components/src/components/Icon/components/icons/IconWarning.mjs.map +1 -1
- package/dist/js/components/src/components/IllustratedMessage/IllustratedMessage.mjs.map +1 -1
- package/dist/js/components/src/components/Image/Image.mjs.map +1 -1
- package/dist/js/components/src/components/Initials/Initials.mjs.map +1 -1
- package/dist/js/components/src/components/Initials/lib/getColorFromInitials.mjs.map +1 -1
- package/dist/js/components/src/components/Initials/lib/getInitialsFromString.mjs.map +1 -1
- package/dist/js/components/src/components/InlineCode/InlineCode.mjs.map +1 -1
- package/dist/js/components/src/components/Label/Label.mjs.map +1 -1
- package/dist/js/components/src/components/LabeledValue/LabeledValue.mjs.map +1 -1
- package/dist/js/components/src/components/LayoutCard/LayoutCard.mjs.map +1 -1
- package/dist/js/components/src/components/Legend/Legend.mjs.map +1 -1
- package/dist/js/components/src/components/Legend/components/LegendItem/LegendItem.mjs.map +1 -1
- package/dist/js/components/src/components/LightBox/LightBox.mjs.map +1 -1
- package/dist/js/components/src/components/LightBox/components/LightBoxTrigger/LightBoxTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/Link/Link.mjs.map +1 -1
- package/dist/js/components/src/components/Link/components/LinkIcon/LinkIcon.mjs.map +1 -1
- package/dist/js/components/src/components/Link/context.mjs.map +1 -1
- package/dist/js/components/src/components/List/List.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/DataLoader/DataLoader.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Footer/Footer.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Footer/components/PaginationInfos/PaginationInfos.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Footer/components/ShowNextBatchButton/ShowNextBatchButton.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/Header.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Filters/CombinedFilterMenu.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenu.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenuItem.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenuList.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/SearchField/SearchField.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Settings/SettingsMenu.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Settings/SortingMenu.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Settings/SortingMenuItem.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenu.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/lib.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/Items.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/components/FallbackItems/FallbackItems.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/components/Item/Item.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/components/Item/components/AccordionButton.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/components/Item/components/ListItemSkeletonView/ListItemSkeletonView.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/components/Item/components/OptionsButton/OptionsButton.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/components/Item/hooks/useGridItemProps.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/views/GridList/GridList.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/views/GridListItem/GridListItem.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/ListSummary/ListSummary.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Table/Table.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Table/components/TableLoadingView.mjs.map +1 -1
- package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs.map +1 -1
- package/dist/js/components/src/components/List/hooks/useList.mjs.map +1 -1
- package/dist/js/components/src/components/List/listContext.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/List.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/ReactTable.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/filter/Filter.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/filter/FilterValue.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/item/Item.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/item/ItemCollection.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/item/ItemView.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/loading/IncrementalLoader.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/loading/IncrementalLoaderState.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/pagination/BatchesController.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/search/Search.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/sorting/Sorting.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/sorting/SortingFunctions.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/table/Table.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/table/TableBody.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/table/TableCell.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/table/TableColumn.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/table/TableHeader.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/table/TableRow.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/types.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/ListFilter.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/ListItem.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/ListLoaderAsync.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/ListLoaderAsyncResource.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/ListSearch.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/ListSorting.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/ListStaticData.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/Table.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/TableBody.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/TableCell.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/TableColumn.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/TableHeader.mjs.map +1 -1
- package/dist/js/components/src/components/List/setupComponents/TableRow.mjs.map +1 -1
- package/dist/js/components/src/components/List/typedList.mjs.map +1 -1
- package/dist/js/components/src/components/List/views/EmptyView/EmptyView.mjs.map +1 -1
- package/dist/js/components/src/components/LoadingSpinner/LoadingSpinner.mjs.map +1 -1
- package/dist/js/components/src/components/Markdown/Markdown.mjs.map +1 -1
- package/dist/js/components/src/components/Markdown/lib/getHeadingLevelWithOffset.mjs.map +1 -1
- package/dist/js/components/src/components/MarkdownEditor/MarkdownEditor.mjs.map +1 -1
- package/dist/js/components/src/components/MarkdownEditor/components/ModeButton.mjs.map +1 -1
- package/dist/js/components/src/components/MarkdownEditor/components/Toolbar.mjs.map +1 -1
- package/dist/js/components/src/components/MarkdownEditor/components/ToolbarButton.mjs.map +1 -1
- package/dist/js/components/src/components/MarkdownEditor/lib/handleKeyDown.mjs.map +1 -1
- package/dist/js/components/src/components/MarkdownEditor/lib/insertAtCursor.mjs.map +1 -1
- package/dist/js/components/src/components/MenuItem/MenuItem.mjs.map +1 -1
- package/dist/js/components/src/components/MenuItem/components/MenuItemContent/MenuItemContent.mjs.map +1 -1
- package/dist/js/components/src/components/Message/Message.mjs.map +1 -1
- package/dist/js/components/src/components/MessageThread/MessageThread.mjs.map +1 -1
- package/dist/js/components/src/components/MessageThread/components/MessageSeparator/MessageSeparator.mjs.map +1 -1
- package/dist/js/components/src/components/Modal/Modal.mjs.map +1 -1
- package/dist/js/components/src/components/Modal/components/ModalTrigger/ModalTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/Navigation/Navigation.mjs.map +1 -1
- package/dist/js/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs.map +1 -1
- package/dist/js/components/src/components/Notification/Notification.mjs.map +1 -1
- package/dist/js/components/src/components/NotificationProvider/ControlledNotification.mjs.map +1 -1
- package/dist/js/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.mjs.map +1 -1
- package/dist/js/components/src/components/NotificationProvider/NotificationController.mjs.map +1 -1
- package/dist/js/components/src/components/NotificationProvider/NotificationProvider.mjs.map +1 -1
- package/dist/js/components/src/components/NumberField/NumberField.mjs.map +1 -1
- package/dist/js/components/src/components/Option/Option.mjs.map +1 -1
- package/dist/js/components/src/components/Options/Options.mjs.map +1 -1
- package/dist/js/components/src/components/Overlay/Overlay.mjs.map +1 -1
- package/dist/js/components/src/components/Overlay/components/OverlayContent.mjs.map +1 -1
- package/dist/js/components/src/components/OverlayTrigger/OverlayTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/lib/generateValidationTranslation.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/lib/usePolicyValidationResult.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/worker/generatePassword.mjs.map +1 -1
- package/dist/js/components/src/components/Popover/Popover.mjs.map +1 -1
- package/dist/js/components/src/components/Popover/components/PopoverContent/PopoverContent.mjs.map +1 -1
- package/dist/js/components/src/components/Popover/components/PopoverTrigger/PopoverTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/ProgressBar/ProgressBar.mjs.map +1 -1
- package/dist/js/components/src/components/ProgressBar/components/ProgressBarBar.mjs.map +1 -1
- package/dist/js/components/src/components/ProgressBar/components/ProgressBarLegend.mjs.map +1 -1
- package/dist/js/components/src/components/ProgressBar/components/ProgressBarValue.mjs.map +1 -1
- package/dist/js/components/src/components/RadioGroup/RadioGroup.mjs.map +1 -1
- package/dist/js/components/src/components/RadioGroup/components/Radio/Radio.mjs.map +1 -1
- package/dist/js/components/src/components/RadioGroup/components/RadioButton/RadioButton.mjs.map +1 -1
- package/dist/js/components/src/components/Rating/Rating.mjs.map +1 -1
- package/dist/js/components/src/components/SearchField/SearchField.mjs.map +1 -1
- package/dist/js/components/src/components/Section/Section.mjs.map +1 -1
- package/dist/js/components/src/components/Section/components/SectionHeader/SectionHeader.mjs.map +1 -1
- package/dist/js/components/src/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/dist/js/components/src/components/SegmentedControl/components/Segment/Segment.mjs.map +1 -1
- package/dist/js/components/src/components/Select/Select.mjs +1 -1
- package/dist/js/components/src/components/Select/Select.mjs.map +1 -1
- package/dist/js/components/src/components/Separator/Separator.mjs.map +1 -1
- package/dist/js/components/src/components/SettingsProvider/SettingsProvider.mjs.map +1 -1
- package/dist/js/components/src/components/SettingsProvider/backends/LocalStorageSettingsBackend.mjs.map +1 -1
- package/dist/js/components/src/components/SettingsProvider/backends/settingsBackendFactory.mjs.map +1 -1
- package/dist/js/components/src/components/SettingsProvider/models/ComponentSettings.mjs.map +1 -1
- package/dist/js/components/src/components/SettingsProvider/models/SettingsStore.mjs.map +1 -1
- package/dist/js/components/src/components/Skeleton/Skeleton.mjs.map +1 -1
- package/dist/js/components/src/components/SkeletonText/SkeletonText.mjs.map +1 -1
- package/dist/js/components/src/components/Slider/Slider.mjs.map +1 -1
- package/dist/js/components/src/components/SuspenseTrigger/SuspenseTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/Switch/Switch.mjs.map +1 -1
- package/dist/js/components/src/components/Table/Table.mjs.map +1 -1
- package/dist/js/components/src/components/Table/components/TableBody/TableBody.mjs.map +1 -1
- package/dist/js/components/src/components/Table/components/TableCell/TableCell.mjs.map +1 -1
- package/dist/js/components/src/components/Table/components/TableColumn/TableColumn.mjs.map +1 -1
- package/dist/js/components/src/components/Table/components/TableFooterRow/TableFooterRow.mjs.map +1 -1
- package/dist/js/components/src/components/Table/components/TableHeader/TableHeader.mjs.map +1 -1
- package/dist/js/components/src/components/Table/components/TableRow/TableRow.mjs.map +1 -1
- package/dist/js/components/src/components/Tabs/Tabs.mjs.map +1 -1
- package/dist/js/components/src/components/Tabs/components/Tab/Tab.mjs.map +1 -1
- package/dist/js/components/src/components/Tabs/components/Tab/context.mjs.map +1 -1
- package/dist/js/components/src/components/Tabs/components/TabList/TabList.mjs.map +1 -1
- package/dist/js/components/src/components/Tabs/components/TabTitle/TabTitle.mjs.map +1 -1
- package/dist/js/components/src/components/Tabs/components/TabTitle/TabTitleCollapsed.mjs.map +1 -1
- package/dist/js/components/src/components/Text/Text.mjs.map +1 -1
- package/dist/js/components/src/components/TextArea/TextArea.mjs.map +1 -1
- package/dist/js/components/src/components/TextField/TextField.mjs.map +1 -1
- package/dist/js/components/src/components/TextFieldBase/TextFieldBase.mjs.map +1 -1
- package/dist/js/components/src/components/TimeField/TimeField.mjs.map +1 -1
- package/dist/js/components/src/components/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/js/components/src/components/Tooltip/components/TooltipTrigger/TooltipTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/TranslationProvider/TranslationProvider.mjs.map +1 -1
- package/dist/js/components/src/components/TranslationProvider/useLocalizedContextStringFormatter.mjs.map +1 -1
- package/dist/js/components/src/components/TunnelEntry/TunnelEntry.mjs.map +1 -1
- package/dist/js/components/src/components/Wrap/Wrap.mjs.map +1 -1
- package/dist/js/components/src/components/propTypes/index.mjs.map +1 -1
- package/dist/js/components/src/integrations/@mittwald/password-tools-js/defaultPasswordCreationPolicy.mjs.map +1 -1
- package/dist/js/components/src/integrations/@mittwald/password-tools-js/generatePasswordCreationFieldValidation.mjs.map +1 -1
- package/dist/js/components/src/integrations/nextjs/components/Link/Link.mjs.map +1 -1
- package/dist/js/components/src/integrations/nextjs/components/LinkProvider/LinkProvider.mjs.map +1 -1
- package/dist/js/components/src/integrations/nextjs/components/RouterProvider/RouterProvider.mjs.map +1 -1
- package/dist/js/components/src/integrations/react-hook-form/components/Field/Field.mjs.map +1 -1
- package/dist/js/components/src/integrations/react-hook-form/components/Form/Form.mjs.map +1 -1
- package/dist/js/components/src/integrations/react-hook-form/components/Form/lib/useRegisterActionStateContext.mjs.map +1 -1
- package/dist/js/components/src/integrations/react-hook-form/components/context/formContext.mjs.map +1 -1
- package/dist/js/components/src/lib/array/toArray.mjs.map +1 -1
- package/dist/js/components/src/lib/componentFactory/flowComponent.mjs.map +1 -1
- package/dist/js/components/src/lib/controller/overlay/OverlayContextProvider.mjs.map +1 -1
- package/dist/js/components/src/lib/controller/overlay/OverlayController.mjs.map +1 -1
- package/dist/js/components/src/lib/controller/overlay/context.mjs.map +1 -1
- package/dist/js/components/src/lib/controller/overlay/useOverlayController.mjs.map +1 -1
- package/dist/js/components/src/lib/getContainerBreakpointSizeClassName.mjs.map +1 -1
- package/dist/js/components/src/lib/hooks/dom/useMakeFocusable.mjs.map +1 -1
- package/dist/js/components/src/lib/hooks/dom/useObserveOverflow.mjs.map +1 -1
- package/dist/js/components/src/lib/hooks/useIsMounted.mjs.map +1 -1
- package/dist/js/components/src/lib/hooks/useManagedValue.mjs.map +1 -1
- package/dist/js/components/src/lib/hooks/useOnChange.mjs.map +1 -1
- package/dist/js/components/src/lib/hooks/useProps.mjs.map +1 -1
- package/dist/js/components/src/lib/hooks/useStatic.mjs.map +1 -1
- package/dist/js/components/src/lib/mobx/mobxMapToObject.mjs.map +1 -1
- package/dist/js/components/src/lib/mobx/useSelector.mjs.map +1 -1
- package/dist/js/components/src/lib/promises/callAndReact.mjs.map +1 -1
- package/dist/js/components/src/lib/promises/callFunctionsInOrder.mjs.map +1 -1
- package/dist/js/components/src/lib/promises/sleep.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/components/ClearPropsContext.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/components/ComponentPropsContextProvider.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/components/PropsContextProvider.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/dynamicProps/dynamic.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/dynamicProps/lib.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/dynamicProps/resolveDynamicProps.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/dynamicProps/types.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/inherit/PropsContextLevelProvider.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/inherit/lib.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/inherit/propsContextLevel.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/inherit/types.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/isFlowComponentName.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/isFlowComponentProp.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/mergePropsContext.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/nestedPropsContext/lib.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/nestedPropsContext/types.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/propsContext.mjs.map +1 -1
- package/dist/js/components/src/lib/react/ReactAriaControlledValueFix.mjs.map +1 -1
- package/dist/js/components/src/lib/react/areChildrenEmpty.mjs.map +1 -1
- package/dist/js/components/src/lib/react/cloneElement.mjs.map +1 -1
- package/dist/js/components/src/lib/react/components/Render/Render.mjs.map +1 -1
- package/dist/js/components/src/lib/react/components/Translate/Translate.mjs.map +1 -1
- package/dist/js/components/src/lib/react/deepFindOfType.mjs.map +1 -1
- package/dist/js/components/src/lib/react/emitElementValueChange.mjs.map +1 -1
- package/dist/js/components/src/lib/react/getPropsMerger.mjs.map +1 -1
- package/dist/js/components/src/lib/react/remote.mjs.map +1 -1
- package/dist/js/components/src/lib/slotContext/SlotContextProvider.mjs.map +1 -1
- package/dist/js/components/src/lib/slotContext/slotContext.mjs.map +1 -1
- package/dist/js/components/src/lib/slotContext/useContextSlot.mjs.map +1 -1
- package/dist/js/components/src/lib/timer/Timer.mjs.map +1 -1
- package/dist/js/components/src/lib/tokens/getCategoricalColorByIndex.mjs.map +1 -1
- package/dist/js/components/src/lib/viewComponentContext/ViewComponentContextProvider.mjs.map +1 -1
- package/dist/js/components/src/lib/viewComponentContext/viewComponentContext.mjs.map +1 -1
- package/dist/js/components/src/views/AvatarView.mjs.map +1 -1
- package/dist/js/components/src/views/BadgeView.mjs.map +1 -1
- package/dist/js/components/src/views/ButtonView.mjs.map +1 -1
- package/dist/js/components/src/views/ClearPropsContextView.mjs.map +1 -1
- package/dist/js/components/src/views/ComponentPropsContextProviderView.mjs.map +1 -1
- package/dist/js/components/src/views/ContextMenuContentView.mjs.map +1 -1
- package/dist/js/components/src/views/ContextMenuSectionView.mjs.map +1 -1
- package/dist/js/components/src/views/ContextMenuTriggerView.mjs.map +1 -1
- package/dist/js/components/src/views/ContextMenuView.mjs.map +1 -1
- package/dist/js/components/src/views/DialogTriggerView.mjs.map +1 -1
- package/dist/js/components/src/views/DivView.mjs.map +1 -1
- package/dist/js/components/src/views/FieldErrorView.mjs.map +1 -1
- package/dist/js/components/src/views/HeadingView.mjs.map +1 -1
- package/dist/js/components/src/views/IconView.mjs.map +1 -1
- package/dist/js/components/src/views/ItemsGridListItemView.mjs.map +1 -1
- package/dist/js/components/src/views/ItemsGridListView.mjs.map +1 -1
- package/dist/js/components/src/views/ListEmptyViewView.mjs.map +1 -1
- package/dist/js/components/src/views/ListItemViewContentView.mjs.map +1 -1
- package/dist/js/components/src/views/MenuItemView.mjs.map +1 -1
- package/dist/js/components/src/views/MenuTriggerView.mjs.map +1 -1
- package/dist/js/components/src/views/OptionView.mjs.map +1 -1
- package/dist/js/components/src/views/OverlayContentView.mjs.map +1 -1
- package/dist/js/components/src/views/PopoverContentView.mjs.map +1 -1
- package/dist/js/components/src/views/SearchFieldView.mjs.map +1 -1
- package/dist/js/components/src/views/SeparatorView.mjs.map +1 -1
- package/dist/js/components/src/views/SkeletonTextView.mjs.map +1 -1
- package/dist/js/components/src/views/SkeletonView.mjs.map +1 -1
- package/dist/js/components/src/views/TableBodyView.mjs.map +1 -1
- package/dist/js/components/src/views/TableCellView.mjs.map +1 -1
- package/dist/js/components/src/views/TableColumnView.mjs.map +1 -1
- package/dist/js/components/src/views/TableHeaderView.mjs.map +1 -1
- package/dist/js/components/src/views/TableRowView.mjs.map +1 -1
- package/dist/js/components/src/views/TableView.mjs.map +1 -1
- package/dist/js/components/src/views/TextView.mjs.map +1 -1
- package/dist/js/components/src/views/TooltipTriggerView.mjs.map +1 -1
- package/dist/js/components/src/views/TooltipView.mjs.map +1 -1
- package/dist/js/core/src/file.mjs.map +1 -1
- package/dist/types/components/ContextMenu/lib.d.ts +1 -1
- package/dist/types/components/Select/Select.d.ts +2 -1
- package/dist/types/components/Select/Select.d.ts.map +1 -1
- package/package.json +49 -49
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notification.mjs","sources":["../../../../../../src/components/Notification/Notification.tsx"],"sourcesContent":["import { AlertIcon } from \"@/components/AlertIcon\";\nimport { Button } from \"@/components/Button\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport { Link } from \"@/components/Link\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { dynamic, PropsContextProvider } from \"@/lib/propsContext\";\nimport type { PropsWithStatus } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport type { ComponentProps, FC, PropsWithChildren } from \"react\";\nimport styles from \"./Notification.module.scss\";\n\nexport interface NotificationProps\n extends PropsWithChildren<ComponentProps<\"div\">>,\n PropsWithStatus {\n /** A link that is triggered when clicking the notification. */\n href?: string;\n /** Whether the notification should disappear automatically after some time. */\n autoClose?: boolean;\n /** Handler that is called when the notification is clicked. */\n onClick?: () => void;\n /**\n * Handler that is called when the close button of the notification is\n * clicked.\n */\n onClose?: () => void;\n}\n\n/** @flr-generate all */\nexport const Notification: FC<NotificationProps> = (props) => {\n const {\n children,\n className,\n status = \"info\",\n role = \"alert\",\n href,\n onClick,\n onClose,\n autoClose: ignoredAutoClose,\n ...rest\n } = props;\n\n const rootClassName = clsx(\n styles.notification,\n styles[status],\n (onClick || onClose || href) && styles.hasLink,\n className,\n );\n\n const propsContext: PropsContext = {\n Heading: {\n className: styles.heading,\n level: 4,\n children: dynamic((props) => (\n <>\n <AlertIcon status={status} className={styles.icon} />\n {props.children}\n </>\n )),\n },\n Text: {\n className: styles.text,\n },\n };\n\n const closeButton = onClose && (\n <Button\n size=\"s\"\n className={styles.close}\n variant=\"plain\"\n color=\"secondary\"\n onPress={onClose}\n >\n <IconClose />\n </Button>\n );\n\n return (\n <div\n {...rest}\n className={rootClassName}\n role={role}\n // See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useInteractOutside.ts#L126C31-L126C58\n data-react-aria-top-layer\n >\n <Link unstyled href={href} className={styles.link} onPress={onClick}>\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </Link>\n {closeButton}\n </div>\n );\n};\n\nexport default Notification;\n"],"names":["props"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Notification.mjs","sources":["../../../../../../src/components/Notification/Notification.tsx"],"sourcesContent":["import { AlertIcon } from \"@/components/AlertIcon\";\nimport { Button } from \"@/components/Button\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport { Link } from \"@/components/Link\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { dynamic, PropsContextProvider } from \"@/lib/propsContext\";\nimport type { PropsWithStatus } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport type { ComponentProps, FC, PropsWithChildren } from \"react\";\nimport styles from \"./Notification.module.scss\";\n\nexport interface NotificationProps\n extends PropsWithChildren<ComponentProps<\"div\">>,\n PropsWithStatus {\n /** A link that is triggered when clicking the notification. */\n href?: string;\n /** Whether the notification should disappear automatically after some time. */\n autoClose?: boolean;\n /** Handler that is called when the notification is clicked. */\n onClick?: () => void;\n /**\n * Handler that is called when the close button of the notification is\n * clicked.\n */\n onClose?: () => void;\n}\n\n/** @flr-generate all */\nexport const Notification: FC<NotificationProps> = (props) => {\n const {\n children,\n className,\n status = \"info\",\n role = \"alert\",\n href,\n onClick,\n onClose,\n autoClose: ignoredAutoClose,\n ...rest\n } = props;\n\n const rootClassName = clsx(\n styles.notification,\n styles[status],\n (onClick || onClose || href) && styles.hasLink,\n className,\n );\n\n const propsContext: PropsContext = {\n Heading: {\n className: styles.heading,\n level: 4,\n children: dynamic((props) => (\n <>\n <AlertIcon status={status} className={styles.icon} />\n {props.children}\n </>\n )),\n },\n Text: {\n className: styles.text,\n },\n };\n\n const closeButton = onClose && (\n <Button\n size=\"s\"\n className={styles.close}\n variant=\"plain\"\n color=\"secondary\"\n onPress={onClose}\n >\n <IconClose />\n </Button>\n );\n\n return (\n <div\n {...rest}\n className={rootClassName}\n role={role}\n // See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useInteractOutside.ts#L126C31-L126C58\n data-react-aria-top-layer\n >\n <Link unstyled href={href} className={styles.link} onPress={onClick}>\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </Link>\n {closeButton}\n </div>\n );\n};\n\nexport default Notification;\n"],"names":["props"],"mappings":";;;;;;;;;;;;;;;AA4BO,MAAM,YAAA,GAAsC,CAAC,KAAA,KAAU;AAC5D,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA,GAAS,MAAA;AAAA,IACT,IAAA,GAAO,OAAA;AAAA,IACP,IAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA,EAAW,gBAAA;AAAA,IACX,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,IAAA;AAAA,IACpB,MAAA,CAAO,YAAA;AAAA,IACP,OAAO,MAAM,CAAA;AAAA,IAAA,CACZ,OAAA,IAAW,OAAA,IAAW,IAAA,KAAS,MAAA,CAAO,OAAA;AAAA,IACvC;AAAA,GACF;AAEA,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,OAAA,EAAS;AAAA,MACP,WAAW,MAAA,CAAO,OAAA;AAAA,MAClB,KAAA,EAAO,CAAA;AAAA,MACP,QAAA,EAAU,OAAA,CAAQ,CAACA,MAAAA,qBACjB,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,MAAA,EAAgB,SAAA,EAAW,MAAA,CAAO,IAAA,EAAM,CAAA;AAAA,QAClDA,MAAAA,CAAM;AAAA,OAAA,EACT,CACD;AAAA,KACH;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,WAAW,MAAA,CAAO;AAAA;AACpB,GACF;AAEA,EAAA,MAAM,cAAc,OAAA,oBAClB,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,GAAA;AAAA,MACL,WAAW,MAAA,CAAO,KAAA;AAAA,MAClB,OAAA,EAAQ,OAAA;AAAA,MACR,KAAA,EAAM,WAAA;AAAA,MACN,OAAA,EAAS,OAAA;AAAA,MAET,8BAAC,SAAA,EAAA,EAAU;AAAA;AAAA,GACb;AAGF,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,aAAA;AAAA,MACX,IAAA;AAAA,MAEA,2BAAA,EAAyB,IAAA;AAAA,MAEzB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,QAAA,EAAQ,IAAA,EAAC,IAAA,EAAY,WAAW,MAAA,CAAO,IAAA,EAAM,OAAA,EAAS,OAAA,EAC1D,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,UACH,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
|
package/dist/js/components/src/components/NotificationProvider/ControlledNotification.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlledNotification.mjs","sources":["../../../../../../src/components/NotificationProvider/ControlledNotification.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { cloneElement } from \"react\";\nimport type {\n NotificationController,\n NotificationData,\n} from \"@/components/NotificationProvider/NotificationController\";\n\ninterface Props {\n notification: NotificationData;\n controller: NotificationController;\n}\n\nexport const ControlledNotification: FC<Props> = (props) => {\n const { notification, controller } = props;\n\n return cloneElement(notification.element, {\n onMouseEnter: () => {\n if (notification.element.props.autoClose) {\n notification.meta.autoCloseTimer.pause();\n }\n },\n onMouseLeave: () => {\n if (notification.element.props.autoClose) {\n notification.meta.autoCloseTimer.resume();\n }\n },\n onClose: () => {\n controller.remove(notification.meta.id);\n notification.element.props.onClose?.();\n },\n onFocus: () => {\n if (notification.element.props.autoClose) {\n notification.meta.autoCloseTimer.pause();\n }\n },\n onBlur: () => {\n if (notification.element.props.autoClose) {\n notification.meta.autoCloseTimer.resume();\n }\n },\n });\n};\n\nexport default ControlledNotification;\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ControlledNotification.mjs","sources":["../../../../../../src/components/NotificationProvider/ControlledNotification.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { cloneElement } from \"react\";\nimport type {\n NotificationController,\n NotificationData,\n} from \"@/components/NotificationProvider/NotificationController\";\n\ninterface Props {\n notification: NotificationData;\n controller: NotificationController;\n}\n\nexport const ControlledNotification: FC<Props> = (props) => {\n const { notification, controller } = props;\n\n return cloneElement(notification.element, {\n onMouseEnter: () => {\n if (notification.element.props.autoClose) {\n notification.meta.autoCloseTimer.pause();\n }\n },\n onMouseLeave: () => {\n if (notification.element.props.autoClose) {\n notification.meta.autoCloseTimer.resume();\n }\n },\n onClose: () => {\n controller.remove(notification.meta.id);\n notification.element.props.onClose?.();\n },\n onFocus: () => {\n if (notification.element.props.autoClose) {\n notification.meta.autoCloseTimer.pause();\n }\n },\n onBlur: () => {\n if (notification.element.props.autoClose) {\n notification.meta.autoCloseTimer.resume();\n }\n },\n });\n};\n\nexport default ControlledNotification;\n"],"names":[],"mappings":";;AAYO,MAAM,sBAAA,GAAoC,CAAC,KAAA,KAAU;AAC1D,EAAA,MAAM,EAAE,YAAA,EAAc,UAAA,EAAW,GAAI,KAAA;AAErC,EAAA,OAAO,YAAA,CAAa,aAAa,OAAA,EAAS;AAAA,IACxC,cAAc,MAAM;AAClB,MAAA,IAAI,YAAA,CAAa,OAAA,CAAQ,KAAA,CAAM,SAAA,EAAW;AACxC,QAAA,YAAA,CAAa,IAAA,CAAK,eAAe,KAAA,EAAM;AAAA,MACzC;AAAA,IACF,CAAA;AAAA,IACA,cAAc,MAAM;AAClB,MAAA,IAAI,YAAA,CAAa,OAAA,CAAQ,KAAA,CAAM,SAAA,EAAW;AACxC,QAAA,YAAA,CAAa,IAAA,CAAK,eAAe,MAAA,EAAO;AAAA,MAC1C;AAAA,IACF,CAAA;AAAA,IACA,SAAS,MAAM;AACb,MAAA,UAAA,CAAW,MAAA,CAAO,YAAA,CAAa,IAAA,CAAK,EAAE,CAAA;AACtC,MAAA,YAAA,CAAa,OAAA,CAAQ,MAAM,OAAA,IAAU;AAAA,IACvC,CAAA;AAAA,IACA,SAAS,MAAM;AACb,MAAA,IAAI,YAAA,CAAa,OAAA,CAAQ,KAAA,CAAM,SAAA,EAAW;AACxC,QAAA,YAAA,CAAa,IAAA,CAAK,eAAe,KAAA,EAAM;AAAA,MACzC;AAAA,IACF,CAAA;AAAA,IACA,QAAQ,MAAM;AACZ,MAAA,IAAI,YAAA,CAAa,OAAA,CAAQ,KAAA,CAAM,SAAA,EAAW;AACxC,QAAA,YAAA,CAAa,IAAA,CAAK,eAAe,MAAA,EAAO;AAAA,MAC1C;AAAA,IACF;AAAA,GACD,CAAA;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationContainer.mjs","sources":["../../../../../../../src/components/NotificationProvider/NotificationContainer/NotificationContainer.tsx"],"sourcesContent":["import type { ComponentProps, FC } from \"react\";\nimport { Suspense } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport clsx from \"clsx\";\nimport styles from \"./NotificationContainer.module.scss\";\nimport ControlledNotification from \"@/components/NotificationProvider/ControlledNotification\";\nimport { AnimatePresence, domAnimation, LazyMotion, m } from \"framer-motion\";\nimport { useIsSSR } from \"react-aria\";\nimport { useNotificationController } from \"@/components/NotificationProvider/NotificationProvider\";\n\nexport type NotificationsContainerProps = ComponentProps<\"div\">;\n\nexport const NotificationContainer: FC<NotificationsContainerProps> = (\n props,\n) => {\n const { className, ...rest } = props;\n\n const controller = useNotificationController();\n const notifications = controller.useNotifications();\n const isSsr = useIsSSR();\n\n const rootClassName = clsx(styles.notificationContainer, className);\n\n const content = (\n <LazyMotion features={domAnimation}>\n <div className={rootClassName} {...rest}>\n <AnimatePresence>\n {notifications.map((n) => (\n <m.div\n className={styles.notification}\n key={n.meta.id}\n initial={{ opacity: 0, x: 200 }}\n animate={{ opacity: 1, x: 0 }}\n exit={{ opacity: 0, x: 200, height: 0, paddingBottom: 0 }}\n transition={{\n bounce: 0,\n }}\n >\n <Suspense>\n <ControlledNotification\n notification={n}\n controller={controller}\n />\n </Suspense>\n </m.div>\n ))}\n </AnimatePresence>\n </div>\n </LazyMotion>\n );\n\n return isSsr ? null : ReactDOM.createPortal(content, document.body);\n};\n\nexport default NotificationContainer;\n"],"names":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"NotificationContainer.mjs","sources":["../../../../../../../src/components/NotificationProvider/NotificationContainer/NotificationContainer.tsx"],"sourcesContent":["import type { ComponentProps, FC } from \"react\";\nimport { Suspense } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport clsx from \"clsx\";\nimport styles from \"./NotificationContainer.module.scss\";\nimport ControlledNotification from \"@/components/NotificationProvider/ControlledNotification\";\nimport { AnimatePresence, domAnimation, LazyMotion, m } from \"framer-motion\";\nimport { useIsSSR } from \"react-aria\";\nimport { useNotificationController } from \"@/components/NotificationProvider/NotificationProvider\";\n\nexport type NotificationsContainerProps = ComponentProps<\"div\">;\n\nexport const NotificationContainer: FC<NotificationsContainerProps> = (\n props,\n) => {\n const { className, ...rest } = props;\n\n const controller = useNotificationController();\n const notifications = controller.useNotifications();\n const isSsr = useIsSSR();\n\n const rootClassName = clsx(styles.notificationContainer, className);\n\n const content = (\n <LazyMotion features={domAnimation}>\n <div className={rootClassName} {...rest}>\n <AnimatePresence>\n {notifications.map((n) => (\n <m.div\n className={styles.notification}\n key={n.meta.id}\n initial={{ opacity: 0, x: 200 }}\n animate={{ opacity: 1, x: 0 }}\n exit={{ opacity: 0, x: 200, height: 0, paddingBottom: 0 }}\n transition={{\n bounce: 0,\n }}\n >\n <Suspense>\n <ControlledNotification\n notification={n}\n controller={controller}\n />\n </Suspense>\n </m.div>\n ))}\n </AnimatePresence>\n </div>\n </LazyMotion>\n );\n\n return isSsr ? null : ReactDOM.createPortal(content, document.body);\n};\n\nexport default NotificationContainer;\n"],"names":[],"mappings":";;;;;;;;;;AAYO,MAAM,qBAAA,GAAyD,CACpE,KAAA,KACG;AACH,EAAA,MAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAK,GAAI,KAAA;AAE/B,EAAA,MAAM,aAAa,yBAAA,EAA0B;AAC7C,EAAA,MAAM,aAAA,GAAgB,WAAW,gBAAA,EAAiB;AAClD,EAAA,MAAM,QAAQ,QAAA,EAAS;AAEvB,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,qBAAA,EAAuB,SAAS,CAAA;AAElE,EAAA,MAAM,0BACJ,GAAA,CAAC,UAAA,EAAA,EAAW,QAAA,EAAU,YAAA,EACpB,8BAAC,KAAA,EAAA,EAAI,SAAA,EAAW,aAAA,EAAgB,GAAG,MACjC,QAAA,kBAAA,GAAA,CAAC,eAAA,EAAA,EACE,QAAA,EAAA,aAAA,CAAc,GAAA,CAAI,CAAC,CAAA,qBAClB,GAAA;AAAA,IAAC,CAAA,CAAE,GAAA;AAAA,IAAF;AAAA,MACC,WAAW,MAAA,CAAO,YAAA;AAAA,MAElB,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,GAAA,EAAI;AAAA,MAC9B,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,MAC5B,IAAA,EAAM,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,GAAA,EAAK,MAAA,EAAQ,CAAA,EAAG,aAAA,EAAe,CAAA,EAAE;AAAA,MACxD,UAAA,EAAY;AAAA,QACV,MAAA,EAAQ;AAAA,OACV;AAAA,MAEA,8BAAC,QAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,QAAC,sBAAA;AAAA,QAAA;AAAA,UACC,YAAA,EAAc,CAAA;AAAA,UACd;AAAA;AAAA,OACF,EACF;AAAA,KAAA;AAAA,IAbK,EAAE,IAAA,CAAK;AAAA,GAef,CAAA,EACH,CAAA,EACF,CAAA,EACF,CAAA;AAGF,EAAA,OAAO,QAAQ,IAAA,GAAO,QAAA,CAAS,YAAA,CAAa,OAAA,EAAS,SAAS,IAAI,CAAA;AACpE;;;;"}
|
package/dist/js/components/src/components/NotificationProvider/NotificationController.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationController.mjs","sources":["../../../../../../src/components/NotificationProvider/NotificationController.ts"],"sourcesContent":["import type { NotificationProps } from \"@/components/Notification\";\nimport { useStatic } from \"@/lib/hooks/useStatic\";\nimport useSelector from \"@/lib/mobx/useSelector\";\nimport Timer from \"@/lib/timer/Timer\";\nimport { action, makeObservable, observable } from \"mobx\";\nimport type { ReactElement } from \"react\";\n\ninterface NotificationMetaData {\n readonly id: number;\n readonly createdAt: number;\n readonly autoCloseTimer: Timer;\n}\n\nexport interface NotificationData {\n readonly element: ReactElement<NotificationProps>;\n readonly meta: NotificationMetaData;\n}\n\nexport class NotificationController {\n public readonly notificationsData = new Map<number, NotificationData>();\n private id = 0;\n\n public constructor() {\n makeObservable(this, {\n notificationsData: observable.shallow,\n add: action.bound,\n remove: action.bound,\n });\n }\n\n public static useNew(): NotificationController {\n return useStatic(() => new NotificationController());\n }\n\n public useNotifications(): NotificationData[] {\n return useSelector(() => Array.from(this.notificationsData.values()));\n }\n\n public add(notification: ReactElement<NotificationProps>): number {\n const id = this.id++;\n\n const meta: NotificationMetaData = {\n id,\n createdAt: Date.now(),\n autoCloseTimer: new Timer(),\n };\n\n this.notificationsData.set(id, {\n element: notification,\n meta,\n });\n\n if (notification.props.autoClose) {\n meta.autoCloseTimer.start({ seconds: 10 }, () => {\n this.remove(id);\n });\n }\n\n return id;\n }\n\n public remove(id: number): void {\n this.notificationsData.delete(id);\n }\n}\n\nexport default NotificationController;\n"],"names":[],"mappings":";;;;;AAkBO,MAAM,
|
|
1
|
+
{"version":3,"file":"NotificationController.mjs","sources":["../../../../../../src/components/NotificationProvider/NotificationController.ts"],"sourcesContent":["import type { NotificationProps } from \"@/components/Notification\";\nimport { useStatic } from \"@/lib/hooks/useStatic\";\nimport useSelector from \"@/lib/mobx/useSelector\";\nimport Timer from \"@/lib/timer/Timer\";\nimport { action, makeObservable, observable } from \"mobx\";\nimport type { ReactElement } from \"react\";\n\ninterface NotificationMetaData {\n readonly id: number;\n readonly createdAt: number;\n readonly autoCloseTimer: Timer;\n}\n\nexport interface NotificationData {\n readonly element: ReactElement<NotificationProps>;\n readonly meta: NotificationMetaData;\n}\n\nexport class NotificationController {\n public readonly notificationsData = new Map<number, NotificationData>();\n private id = 0;\n\n public constructor() {\n makeObservable(this, {\n notificationsData: observable.shallow,\n add: action.bound,\n remove: action.bound,\n });\n }\n\n public static useNew(): NotificationController {\n return useStatic(() => new NotificationController());\n }\n\n public useNotifications(): NotificationData[] {\n return useSelector(() => Array.from(this.notificationsData.values()));\n }\n\n public add(notification: ReactElement<NotificationProps>): number {\n const id = this.id++;\n\n const meta: NotificationMetaData = {\n id,\n createdAt: Date.now(),\n autoCloseTimer: new Timer(),\n };\n\n this.notificationsData.set(id, {\n element: notification,\n meta,\n });\n\n if (notification.props.autoClose) {\n meta.autoCloseTimer.start({ seconds: 10 }, () => {\n this.remove(id);\n });\n }\n\n return id;\n }\n\n public remove(id: number): void {\n this.notificationsData.delete(id);\n }\n}\n\nexport default NotificationController;\n"],"names":[],"mappings":";;;;;AAkBO,MAAM,sBAAA,CAAuB;AAAA,EAClB,iBAAA,uBAAwB,GAAA,EAA8B;AAAA,EAC9D,EAAA,GAAK,CAAA;AAAA,EAEN,WAAA,GAAc;AACnB,IAAA,cAAA,CAAe,IAAA,EAAM;AAAA,MACnB,mBAAmB,UAAA,CAAW,OAAA;AAAA,MAC9B,KAAK,MAAA,CAAO,KAAA;AAAA,MACZ,QAAQ,MAAA,CAAO;AAAA,KAChB,CAAA;AAAA,EACH;AAAA,EAEA,OAAc,MAAA,GAAiC;AAC7C,IAAA,OAAO,SAAA,CAAU,MAAM,IAAI,sBAAA,EAAwB,CAAA;AAAA,EACrD;AAAA,EAEO,gBAAA,GAAuC;AAC5C,IAAA,OAAO,WAAA,CAAY,MAAM,KAAA,CAAM,IAAA,CAAK,KAAK,iBAAA,CAAkB,MAAA,EAAQ,CAAC,CAAA;AAAA,EACtE;AAAA,EAEO,IAAI,YAAA,EAAuD;AAChE,IAAA,MAAM,KAAK,IAAA,CAAK,EAAA,EAAA;AAEhB,IAAA,MAAM,IAAA,GAA6B;AAAA,MACjC,EAAA;AAAA,MACA,SAAA,EAAW,KAAK,GAAA,EAAI;AAAA,MACpB,cAAA,EAAgB,IAAI,KAAA;AAAM,KAC5B;AAEA,IAAA,IAAA,CAAK,iBAAA,CAAkB,IAAI,EAAA,EAAI;AAAA,MAC7B,OAAA,EAAS,YAAA;AAAA,MACT;AAAA,KACD,CAAA;AAED,IAAA,IAAI,YAAA,CAAa,MAAM,SAAA,EAAW;AAChC,MAAA,IAAA,CAAK,eAAe,KAAA,CAAM,EAAE,OAAA,EAAS,EAAA,IAAM,MAAM;AAC/C,QAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAAA,MAChB,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEO,OAAO,EAAA,EAAkB;AAC9B,IAAA,IAAA,CAAK,iBAAA,CAAkB,OAAO,EAAE,CAAA;AAAA,EAClC;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationProvider.mjs","sources":["../../../../../../src/components/NotificationProvider/NotificationProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { createContext, useContext } from \"react\";\nimport NotificationController from \"@/components/NotificationProvider/NotificationController\";\nimport type { NotificationsContainerProps } from \"@/components/NotificationProvider/NotificationContainer/NotificationContainer\";\nimport { NotificationContainer } from \"@/components/NotificationProvider/NotificationContainer\";\nimport { viewComponentContext } from \"@/lib/viewComponentContext/viewComponentContext\";\n\nexport type NotificationProviderProps =\n PropsWithChildren<NotificationsContainerProps>;\n\nconst context = createContext<NotificationController>(\n new NotificationController(),\n);\n\nexport const useNotificationController = (): NotificationController =>\n useContext(context);\n\nexport const NotificationProvider: FC<NotificationProviderProps> = (props) => {\n const { children, ...containerProps } = props;\n const controller = NotificationController.useNew();\n const ContainerView =\n useContext(viewComponentContext)[\"NotificationContainer\"] ??\n NotificationContainer;\n\n return (\n <context.Provider value={controller}>\n <ContainerView {...containerProps} />\n {children}\n </context.Provider>\n );\n};\n\nexport default NotificationProvider;\n"],"names":[],"mappings":";;;;;;AAUA,MAAM,
|
|
1
|
+
{"version":3,"file":"NotificationProvider.mjs","sources":["../../../../../../src/components/NotificationProvider/NotificationProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { createContext, useContext } from \"react\";\nimport NotificationController from \"@/components/NotificationProvider/NotificationController\";\nimport type { NotificationsContainerProps } from \"@/components/NotificationProvider/NotificationContainer/NotificationContainer\";\nimport { NotificationContainer } from \"@/components/NotificationProvider/NotificationContainer\";\nimport { viewComponentContext } from \"@/lib/viewComponentContext/viewComponentContext\";\n\nexport type NotificationProviderProps =\n PropsWithChildren<NotificationsContainerProps>;\n\nconst context = createContext<NotificationController>(\n new NotificationController(),\n);\n\nexport const useNotificationController = (): NotificationController =>\n useContext(context);\n\nexport const NotificationProvider: FC<NotificationProviderProps> = (props) => {\n const { children, ...containerProps } = props;\n const controller = NotificationController.useNew();\n const ContainerView =\n useContext(viewComponentContext)[\"NotificationContainer\"] ??\n NotificationContainer;\n\n return (\n <context.Provider value={controller}>\n <ContainerView {...containerProps} />\n {children}\n </context.Provider>\n );\n};\n\nexport default NotificationProvider;\n"],"names":[],"mappings":";;;;;;AAUA,MAAM,OAAA,GAAU,aAAA;AAAA,EACd,IAAI,sBAAA;AACN,CAAA;AAEO,MAAM,yBAAA,GAA4B,MACvC,UAAA,CAAW,OAAO;AAEb,MAAM,oBAAA,GAAsD,CAAC,KAAA,KAAU;AAC5E,EAAA,MAAM,EAAE,QAAA,EAAU,GAAG,cAAA,EAAe,GAAI,KAAA;AACxC,EAAA,MAAM,UAAA,GAAa,uBAAuB,MAAA,EAAO;AACjD,EAAA,MAAM,aAAA,GACJ,UAAA,CAAW,oBAAoB,CAAA,CAAE,uBAAuB,CAAA,IACxD,qBAAA;AAEF,EAAA,uBACE,IAAA,CAAC,OAAA,CAAQ,QAAA,EAAR,EAAiB,OAAO,UAAA,EACvB,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,aAAA,EAAA,EAAe,GAAG,cAAA,EAAgB,CAAA;AAAA,IAClC;AAAA,GAAA,EACH,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberField.mjs","sources":["../../../../../../src/components/NumberField/NumberField.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport formFieldStyles from \"../FormField/FormField.module.scss\";\nimport styles from \"./NumberField.module.scss\";\nimport clsx from \"clsx\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport { FieldError } from \"@/components/FieldError\";\nimport { Button } from \"@/components/Button\";\nimport {\n IconChevronDown,\n IconChevronUp,\n IconMinus,\n IconPlus,\n} from \"@/components/Icon/components/icons\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { ReactAriaControlledValueFix } from \"@/lib/react/ReactAriaControlledValueFix\";\n\nexport interface NumberFieldProps\n extends PropsWithChildren<Omit<Aria.NumberFieldProps, \"children\">>,\n FlowComponentProps<HTMLInputElement> {}\n\n/** @flr-generate all */\nexport const NumberField = flowComponent(\"NumberField\", (props) => {\n const {\n children,\n className,\n ref,\n defaultValue,\n isWheelDisabled = true,\n ...rest\n } = props;\n\n const rootClassName = clsx(formFieldStyles.formField, className);\n\n const propsContext: PropsContext = {\n Label: {\n className: formFieldStyles.label,\n optional: !props.isRequired,\n },\n FieldDescription: {\n className: formFieldStyles.fieldDescription,\n },\n FieldError: {\n className: formFieldStyles.customFieldError,\n },\n };\n\n return (\n <Aria.NumberField\n {...rest}\n isWheelDisabled={isWheelDisabled}\n defaultValue={defaultValue}\n className={rootClassName}\n >\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n <Aria.Group className={styles.group}>\n <Button\n ariaSlot=\"decrement\"\n className={styles.decrementButton}\n size=\"s\"\n variant=\"plain\"\n color=\"secondary\"\n >\n <IconChevronDown />\n <IconMinus className={styles.coarsePointerIcon} />\n </Button>\n <ReactAriaControlledValueFix\n inputContext={Aria.InputContext}\n props={props}\n >\n <Aria.Input className={styles.input} ref={ref} />\n </ReactAriaControlledValueFix>\n <Button\n ariaSlot=\"increment\"\n className={styles.incrementButton}\n size=\"s\"\n variant=\"plain\"\n color=\"secondary\"\n >\n <IconChevronUp />\n <IconPlus className={styles.coarsePointerIcon} />\n </Button>\n </Aria.Group>\n <FieldError className={formFieldStyles.fieldError} />\n </Aria.NumberField>\n );\n});\n\nexport default NumberField;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAwBO,MAAM,
|
|
1
|
+
{"version":3,"file":"NumberField.mjs","sources":["../../../../../../src/components/NumberField/NumberField.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport formFieldStyles from \"../FormField/FormField.module.scss\";\nimport styles from \"./NumberField.module.scss\";\nimport clsx from \"clsx\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport { FieldError } from \"@/components/FieldError\";\nimport { Button } from \"@/components/Button\";\nimport {\n IconChevronDown,\n IconChevronUp,\n IconMinus,\n IconPlus,\n} from \"@/components/Icon/components/icons\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { ReactAriaControlledValueFix } from \"@/lib/react/ReactAriaControlledValueFix\";\n\nexport interface NumberFieldProps\n extends PropsWithChildren<Omit<Aria.NumberFieldProps, \"children\">>,\n FlowComponentProps<HTMLInputElement> {}\n\n/** @flr-generate all */\nexport const NumberField = flowComponent(\"NumberField\", (props) => {\n const {\n children,\n className,\n ref,\n defaultValue,\n isWheelDisabled = true,\n ...rest\n } = props;\n\n const rootClassName = clsx(formFieldStyles.formField, className);\n\n const propsContext: PropsContext = {\n Label: {\n className: formFieldStyles.label,\n optional: !props.isRequired,\n },\n FieldDescription: {\n className: formFieldStyles.fieldDescription,\n },\n FieldError: {\n className: formFieldStyles.customFieldError,\n },\n };\n\n return (\n <Aria.NumberField\n {...rest}\n isWheelDisabled={isWheelDisabled}\n defaultValue={defaultValue}\n className={rootClassName}\n >\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n <Aria.Group className={styles.group}>\n <Button\n ariaSlot=\"decrement\"\n className={styles.decrementButton}\n size=\"s\"\n variant=\"plain\"\n color=\"secondary\"\n >\n <IconChevronDown />\n <IconMinus className={styles.coarsePointerIcon} />\n </Button>\n <ReactAriaControlledValueFix\n inputContext={Aria.InputContext}\n props={props}\n >\n <Aria.Input className={styles.input} ref={ref} />\n </ReactAriaControlledValueFix>\n <Button\n ariaSlot=\"increment\"\n className={styles.incrementButton}\n size=\"s\"\n variant=\"plain\"\n color=\"secondary\"\n >\n <IconChevronUp />\n <IconPlus className={styles.coarsePointerIcon} />\n </Button>\n </Aria.Group>\n <FieldError className={formFieldStyles.fieldError} />\n </Aria.NumberField>\n );\n});\n\nexport default NumberField;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAwBO,MAAM,WAAA,GAAc,aAAA,CAAc,aAAA,EAAe,CAAC,KAAA,KAAU;AACjE,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA,GAAkB,IAAA;AAAA,IAClB,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,eAAA,CAAgB,SAAA,EAAW,SAAS,CAAA;AAE/D,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,KAAA,EAAO;AAAA,MACL,WAAW,eAAA,CAAgB,KAAA;AAAA,MAC3B,QAAA,EAAU,CAAC,KAAA,CAAM;AAAA,KACnB;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,WAAW,eAAA,CAAgB;AAAA,KAC7B;AAAA,IACA,UAAA,EAAY;AAAA,MACV,WAAW,eAAA,CAAgB;AAAA;AAC7B,GACF;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA,CAAK,WAAA;AAAA,IAAL;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,eAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA,EAAW,aAAA;AAAA,MAEX,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,QAAA,EACH,CAAA;AAAA,6BACC,IAAA,CAAK,KAAA,EAAL,EAAW,SAAA,EAAW,OAAO,KAAA,EAC5B,QAAA,EAAA;AAAA,0BAAA,IAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAS,WAAA;AAAA,cACT,WAAW,MAAA,CAAO,eAAA;AAAA,cAClB,IAAA,EAAK,GAAA;AAAA,cACL,OAAA,EAAQ,OAAA;AAAA,cACR,KAAA,EAAM,WAAA;AAAA,cAEN,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,CAAA;AAAA,gCACjB,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAW,MAAA,CAAO,iBAAA,EAAmB;AAAA;AAAA;AAAA,WAClD;AAAA,0BACA,GAAA;AAAA,YAAC,2BAAA;AAAA,YAAA;AAAA,cACC,cAAc,IAAA,CAAK,YAAA;AAAA,cACnB,KAAA;AAAA,cAEA,8BAAC,IAAA,CAAK,KAAA,EAAL,EAAW,SAAA,EAAW,MAAA,CAAO,OAAO,GAAA,EAAU;AAAA;AAAA,WACjD;AAAA,0BACA,IAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAS,WAAA;AAAA,cACT,WAAW,MAAA,CAAO,eAAA;AAAA,cAClB,IAAA,EAAK,GAAA;AAAA,cACL,OAAA,EAAQ,OAAA;AAAA,cACR,KAAA,EAAM,WAAA;AAAA,cAEN,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,aAAA,EAAA,EAAc,CAAA;AAAA,gCACf,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAW,MAAA,CAAO,iBAAA,EAAmB;AAAA;AAAA;AAAA;AACjD,SAAA,EACF,CAAA;AAAA,wBACA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAW,eAAA,CAAgB,UAAA,EAAY;AAAA;AAAA;AAAA,GACrD;AAEJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.mjs","sources":["../../../../../../src/components/Option/Option.tsx"],"sourcesContent":["import { type PropsWithChildren } from \"react\";\nimport React, { Children } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport clsx from \"clsx\";\nimport styles from \"./Option.module.scss\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { extractTextFromFirstChild } from \"@/lib/react/remote\";\n\nexport interface OptionProps\n extends Omit<Aria.ListBoxItemProps, \"children\" | \"value\" | \"id\">,\n PropsWithChildren,\n FlowComponentProps {\n value?: string | number;\n}\n\n/** @flr-generate all */\nexport const Option = flowComponent(\"Option\", (props) => {\n const {\n className,\n children,\n textValue = extractTextFromFirstChild(children),\n value = textValue,\n ref,\n ...rest\n } = props;\n\n const rootClassName = clsx(styles.option, className);\n const hasChildren = Children.count(children) >= 1;\n\n return (\n <Aria.ListBoxItem\n className={rootClassName}\n ref={ref}\n {...rest}\n textValue={textValue}\n id={value}\n key={value}\n >\n {hasChildren ? children : textValue}\n </Aria.ListBoxItem>\n );\n});\n\nexport default Option;\n"],"names":[],"mappings":";;;;;;;AAiBO,MAAM,
|
|
1
|
+
{"version":3,"file":"Option.mjs","sources":["../../../../../../src/components/Option/Option.tsx"],"sourcesContent":["import { type PropsWithChildren } from \"react\";\nimport React, { Children } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport clsx from \"clsx\";\nimport styles from \"./Option.module.scss\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { extractTextFromFirstChild } from \"@/lib/react/remote\";\n\nexport interface OptionProps\n extends Omit<Aria.ListBoxItemProps, \"children\" | \"value\" | \"id\">,\n PropsWithChildren,\n FlowComponentProps {\n value?: string | number;\n}\n\n/** @flr-generate all */\nexport const Option = flowComponent(\"Option\", (props) => {\n const {\n className,\n children,\n textValue = extractTextFromFirstChild(children),\n value = textValue,\n ref,\n ...rest\n } = props;\n\n const rootClassName = clsx(styles.option, className);\n const hasChildren = Children.count(children) >= 1;\n\n return (\n <Aria.ListBoxItem\n className={rootClassName}\n ref={ref}\n {...rest}\n textValue={textValue}\n id={value}\n key={value}\n >\n {hasChildren ? children : textValue}\n </Aria.ListBoxItem>\n );\n});\n\nexport default Option;\n"],"names":[],"mappings":";;;;;;;AAiBO,MAAM,MAAA,GAAS,aAAA,CAAc,QAAA,EAAU,CAAC,KAAA,KAAU;AACvD,EAAA,MAAM;AAAA,IACJ,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA,GAAY,0BAA0B,QAAQ,CAAA;AAAA,IAC9C,KAAA,GAAQ,SAAA;AAAA,IACR,GAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,MAAA,EAAQ,SAAS,CAAA;AACnD,EAAA,MAAM,WAAA,GAAc,QAAA,CAAS,KAAA,CAAM,QAAQ,CAAA,IAAK,CAAA;AAEhD,EAAA,uBACE,aAAA;AAAA,IAAC,IAAA,CAAK,WAAA;AAAA,IAAL;AAAA,MACC,SAAA,EAAW,aAAA;AAAA,MACX,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,SAAA;AAAA,MACA,EAAA,EAAI,KAAA;AAAA,MACJ,GAAA,EAAK;AAAA,KAAA;AAAA,IAEJ,cAAc,QAAA,GAAW;AAAA,GAC5B;AAEJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Options.mjs","sources":["../../../../../../src/components/Options/Options.tsx"],"sourcesContent":["import { type FC } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport { Popover, type PopoverProps } from \"@/components/Popover/Popover\";\nimport clsx from \"clsx\";\nimport styles from \"./Options.module.scss\";\nimport type { OverlayController } from \"@/lib/controller\";\nimport type { OptionProps } from \"@/components/Option\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\n\nexport interface OptionsProps\n extends Pick<Aria.ListBoxProps<OptionProps>, \"renderEmptyState\" | \"onAction\">,\n PopoverProps {\n controller: OverlayController;\n}\n\nexport const Options: FC<OptionsProps> = flowComponent(\"Options\", (props) => {\n const {\n className,\n children,\n controller,\n renderEmptyState,\n onAction,\n ...restPopoverProps\n } = props;\n\n const rootClassName = clsx(styles.options, className);\n\n return (\n <Popover\n className={styles.popover}\n controller={controller}\n {...restPopoverProps}\n >\n <Aria.ListBox\n onAction={onAction}\n className={rootClassName}\n renderEmptyState={renderEmptyState}\n >\n {children}\n </Aria.ListBox>\n </Popover>\n );\n});\n\nexport default Options;\n"],"names":[],"mappings":";;;;;;;;AAeO,MAAM,
|
|
1
|
+
{"version":3,"file":"Options.mjs","sources":["../../../../../../src/components/Options/Options.tsx"],"sourcesContent":["import { type FC } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport { Popover, type PopoverProps } from \"@/components/Popover/Popover\";\nimport clsx from \"clsx\";\nimport styles from \"./Options.module.scss\";\nimport type { OverlayController } from \"@/lib/controller\";\nimport type { OptionProps } from \"@/components/Option\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\n\nexport interface OptionsProps\n extends Pick<Aria.ListBoxProps<OptionProps>, \"renderEmptyState\" | \"onAction\">,\n PopoverProps {\n controller: OverlayController;\n}\n\nexport const Options: FC<OptionsProps> = flowComponent(\"Options\", (props) => {\n const {\n className,\n children,\n controller,\n renderEmptyState,\n onAction,\n ...restPopoverProps\n } = props;\n\n const rootClassName = clsx(styles.options, className);\n\n return (\n <Popover\n className={styles.popover}\n controller={controller}\n {...restPopoverProps}\n >\n <Aria.ListBox\n onAction={onAction}\n className={rootClassName}\n renderEmptyState={renderEmptyState}\n >\n {children}\n </Aria.ListBox>\n </Popover>\n );\n});\n\nexport default Options;\n"],"names":[],"mappings":";;;;;;;;AAeO,MAAM,OAAA,GAA4B,aAAA,CAAc,SAAA,EAAW,CAAC,KAAA,KAAU;AAC3E,EAAA,MAAM;AAAA,IACJ,SAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,OAAA,EAAS,SAAS,CAAA;AAEpD,EAAA,uBACE,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,WAAW,MAAA,CAAO,OAAA;AAAA,MAClB,UAAA;AAAA,MACC,GAAG,gBAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,IAAA,CAAK,OAAA;AAAA,QAAL;AAAA,UACC,QAAA;AAAA,UACA,SAAA,EAAW,aAAA;AAAA,UACX,gBAAA;AAAA,UAEC;AAAA;AAAA;AACH;AAAA,GACF;AAEJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.mjs","sources":["../../../../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["import type { FC, PropsWithChildren, Ref } from \"react\";\nimport styles from \"./Overlay.module.scss\";\nimport clsx from \"clsx\";\nimport type { OverlayController } from \"@/lib/controller\";\nimport { useOverlayController } from \"@/lib/controller\";\nimport OverlayContextProvider from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport OverlayContentView from \"@/views/OverlayContentView\";\nimport ClearPropsContextView from \"@/views/ClearPropsContextView\";\n\nexport interface OverlayProps extends PropsWithChildren, PropsWithClassName {\n ref?: Ref<HTMLDivElement>;\n /** The controller to control the overlay state. */\n controller?: OverlayController;\n /** Whether the overlay can be closed by clicking outside of it. */\n isDismissable?: boolean;\n /** Whether the overlay is a modal or a light box. */\n overlayType?: \"Modal\" | \"LightBox\";\n}\n\nexport const Overlay: FC<OverlayProps> = (props) => {\n const {\n controller: controllerFromProps,\n children,\n isDismissable = true,\n className,\n overlayType = \"Modal\",\n ref,\n } = props;\n\n const controllerFromContext = useOverlayController(overlayType, {\n reuseControllerFromContext: true,\n });\n\n const controller = controllerFromProps ?? controllerFromContext;\n\n const isOpen = controller.useIsOpen();\n\n const rootClassName = clsx(styles.overlay, className);\n\n return (\n <ClearPropsContextView keep={overlayType}>\n <OverlayContentView\n onOpenChange={(isOpen) => controller.setOpen(isOpen)}\n isOpen={isOpen}\n ref={ref}\n isDismissable={isDismissable}\n className={rootClassName}\n >\n <OverlayContextProvider type=\"Modal\" controller={controller}>\n {isOpen && children}\n </OverlayContextProvider>\n </OverlayContentView>\n </ClearPropsContextView>\n );\n};\n\nexport default Overlay;\n"],"names":["isOpen"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Overlay.mjs","sources":["../../../../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["import type { FC, PropsWithChildren, Ref } from \"react\";\nimport styles from \"./Overlay.module.scss\";\nimport clsx from \"clsx\";\nimport type { OverlayController } from \"@/lib/controller\";\nimport { useOverlayController } from \"@/lib/controller\";\nimport OverlayContextProvider from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport OverlayContentView from \"@/views/OverlayContentView\";\nimport ClearPropsContextView from \"@/views/ClearPropsContextView\";\n\nexport interface OverlayProps extends PropsWithChildren, PropsWithClassName {\n ref?: Ref<HTMLDivElement>;\n /** The controller to control the overlay state. */\n controller?: OverlayController;\n /** Whether the overlay can be closed by clicking outside of it. */\n isDismissable?: boolean;\n /** Whether the overlay is a modal or a light box. */\n overlayType?: \"Modal\" | \"LightBox\";\n}\n\nexport const Overlay: FC<OverlayProps> = (props) => {\n const {\n controller: controllerFromProps,\n children,\n isDismissable = true,\n className,\n overlayType = \"Modal\",\n ref,\n } = props;\n\n const controllerFromContext = useOverlayController(overlayType, {\n reuseControllerFromContext: true,\n });\n\n const controller = controllerFromProps ?? controllerFromContext;\n\n const isOpen = controller.useIsOpen();\n\n const rootClassName = clsx(styles.overlay, className);\n\n return (\n <ClearPropsContextView keep={overlayType}>\n <OverlayContentView\n onOpenChange={(isOpen) => controller.setOpen(isOpen)}\n isOpen={isOpen}\n ref={ref}\n isDismissable={isDismissable}\n className={rootClassName}\n >\n <OverlayContextProvider type=\"Modal\" controller={controller}>\n {isOpen && children}\n </OverlayContextProvider>\n </OverlayContentView>\n </ClearPropsContextView>\n );\n};\n\nexport default Overlay;\n"],"names":["isOpen"],"mappings":";;;;;;;;;;AAoBO,MAAM,OAAA,GAA4B,CAAC,KAAA,KAAU;AAClD,EAAA,MAAM;AAAA,IACJ,UAAA,EAAY,mBAAA;AAAA,IACZ,QAAA;AAAA,IACA,aAAA,GAAgB,IAAA;AAAA,IAChB,SAAA;AAAA,IACA,WAAA,GAAc,OAAA;AAAA,IACd;AAAA,GACF,GAAI,KAAA;AAEJ,EAAA,MAAM,qBAAA,GAAwB,qBAAqB,WAAA,EAAa;AAAA,IAC9D,0BAAA,EAA4B;AAAA,GAC7B,CAAA;AAED,EAAA,MAAM,aAAa,mBAAA,IAAuB,qBAAA;AAE1C,EAAA,MAAM,MAAA,GAAS,WAAW,SAAA,EAAU;AAEpC,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,OAAA,EAAS,SAAS,CAAA;AAEpD,EAAA,uBACE,GAAA,CAAC,qBAAA,EAAA,EAAsB,IAAA,EAAM,WAAA,EAC3B,QAAA,kBAAA,GAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAc,CAACA,OAAAA,KAAW,UAAA,CAAW,QAAQA,OAAM,CAAA;AAAA,MACnD,MAAA;AAAA,MACA,GAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA,EAAW,aAAA;AAAA,MAEX,8BAAC,sBAAA,EAAA,EAAuB,IAAA,EAAK,OAAA,EAAQ,UAAA,EAClC,oBAAU,QAAA,EACb;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayContent.mjs","sources":["../../../../../../../src/components/Overlay/components/OverlayContent.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { FC, PropsWithChildren, Ref } from \"react\";\nimport React from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\n\nexport interface OverlayContentProps\n extends PropsWithChildren,\n PropsWithClassName {\n ref?: Ref<HTMLDivElement>;\n onOpenChange: (isOpen: boolean) => void;\n isDismissable?: boolean;\n isOpen?: boolean;\n}\n\n/** @flr-generate all */\nexport const OverlayContent: FC<OverlayContentProps> = (props) => {\n const { children, ...restProps } = props;\n\n return (\n <Aria.ModalOverlay {...restProps}>\n <Aria.Modal>\n <Aria.Dialog>{children}</Aria.Dialog>\n </Aria.Modal>\n </Aria.ModalOverlay>\n );\n};\n\nexport default OverlayContent;\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"OverlayContent.mjs","sources":["../../../../../../../src/components/Overlay/components/OverlayContent.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { FC, PropsWithChildren, Ref } from \"react\";\nimport React from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\n\nexport interface OverlayContentProps\n extends PropsWithChildren,\n PropsWithClassName {\n ref?: Ref<HTMLDivElement>;\n onOpenChange: (isOpen: boolean) => void;\n isDismissable?: boolean;\n isOpen?: boolean;\n}\n\n/** @flr-generate all */\nexport const OverlayContent: FC<OverlayContentProps> = (props) => {\n const { children, ...restProps } = props;\n\n return (\n <Aria.ModalOverlay {...restProps}>\n <Aria.Modal>\n <Aria.Dialog>{children}</Aria.Dialog>\n </Aria.Modal>\n </Aria.ModalOverlay>\n );\n};\n\nexport default OverlayContent;\n"],"names":[],"mappings":";;;;AAeO,MAAM,cAAA,GAA0C,CAAC,KAAA,KAAU;AAChE,EAAA,MAAM,EAAE,QAAA,EAAU,GAAG,SAAA,EAAU,GAAI,KAAA;AAEnC,EAAA,2BACG,IAAA,CAAK,YAAA,EAAL,EAAmB,GAAG,WACrB,QAAA,kBAAA,GAAA,CAAC,IAAA,CAAK,KAAA,EAAL,EACC,8BAAC,IAAA,CAAK,MAAA,EAAL,EAAa,QAAA,EAAS,GACzB,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayTrigger.mjs","sources":["../../../../../../src/components/OverlayTrigger/OverlayTrigger.tsx"],"sourcesContent":["import type { ComponentType, FC, PropsWithChildren, ReactNode } from \"react\";\nimport { OverlayController } from \"@/lib/controller\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { FlowComponentName } from \"@/components/propTypes\";\nimport OverlayContextProvider from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\n\ntype AriaComponentType = ComponentType<{\n isOpen?: boolean;\n children: ReactNode;\n}>;\n\nexport interface OverlayTriggerProps\n extends FlowComponentProps,\n PropsWithChildren {\n /** Whether the overlay should be open initially. */\n isDefaultOpen?: boolean;\n /** A controller to control the state of the overlay. */\n controller?: OverlayController;\n}\n\ninterface Props extends OverlayTriggerProps {\n overlayType: FlowComponentName;\n component: AriaComponentType;\n}\n\nexport const OverlayTrigger: FC<Props> = (props) => {\n const {\n overlayType,\n isDefaultOpen = false,\n component: AriaOverlayTrigger,\n children,\n controller: controllerFromProps,\n } = props;\n\n const newOverlayController = OverlayController.useNew({ isDefaultOpen });\n const overlayController = controllerFromProps ?? newOverlayController;\n const isOpen = overlayController.useIsOpen();\n\n const propsContext: PropsContext = {\n Button: {\n onPress: overlayController.open,\n },\n };\n\n return (\n <OverlayContextProvider type={overlayType} controller={overlayController}>\n <PropsContextProvider props={propsContext}>\n <AriaOverlayTrigger isOpen={isOpen}>{children}</AriaOverlayTrigger>\n </PropsContextProvider>\n </OverlayContextProvider>\n );\n};\n\nexport default OverlayTrigger;\n"],"names":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"OverlayTrigger.mjs","sources":["../../../../../../src/components/OverlayTrigger/OverlayTrigger.tsx"],"sourcesContent":["import type { ComponentType, FC, PropsWithChildren, ReactNode } from \"react\";\nimport { OverlayController } from \"@/lib/controller\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { FlowComponentName } from \"@/components/propTypes\";\nimport OverlayContextProvider from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\n\ntype AriaComponentType = ComponentType<{\n isOpen?: boolean;\n children: ReactNode;\n}>;\n\nexport interface OverlayTriggerProps\n extends FlowComponentProps,\n PropsWithChildren {\n /** Whether the overlay should be open initially. */\n isDefaultOpen?: boolean;\n /** A controller to control the state of the overlay. */\n controller?: OverlayController;\n}\n\ninterface Props extends OverlayTriggerProps {\n overlayType: FlowComponentName;\n component: AriaComponentType;\n}\n\nexport const OverlayTrigger: FC<Props> = (props) => {\n const {\n overlayType,\n isDefaultOpen = false,\n component: AriaOverlayTrigger,\n children,\n controller: controllerFromProps,\n } = props;\n\n const newOverlayController = OverlayController.useNew({ isDefaultOpen });\n const overlayController = controllerFromProps ?? newOverlayController;\n const isOpen = overlayController.useIsOpen();\n\n const propsContext: PropsContext = {\n Button: {\n onPress: overlayController.open,\n },\n };\n\n return (\n <OverlayContextProvider type={overlayType} controller={overlayController}>\n <PropsContextProvider props={propsContext}>\n <AriaOverlayTrigger isOpen={isOpen}>{children}</AriaOverlayTrigger>\n </PropsContextProvider>\n </OverlayContextProvider>\n );\n};\n\nexport default OverlayTrigger;\n"],"names":[],"mappings":";;;;;;;;AA2BO,MAAM,cAAA,GAA4B,CAAC,KAAA,KAAU;AAClD,EAAA,MAAM;AAAA,IACJ,WAAA;AAAA,IACA,aAAA,GAAgB,KAAA;AAAA,IAChB,SAAA,EAAW,kBAAA;AAAA,IACX,QAAA;AAAA,IACA,UAAA,EAAY;AAAA,GACd,GAAI,KAAA;AAEJ,EAAA,MAAM,oBAAA,GAAuB,iBAAA,CAAkB,MAAA,CAAO,EAAE,eAAe,CAAA;AACvE,EAAA,MAAM,oBAAoB,mBAAA,IAAuB,oBAAA;AACjD,EAAA,MAAM,MAAA,GAAS,kBAAkB,SAAA,EAAU;AAE3C,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,MAAA,EAAQ;AAAA,MACN,SAAS,iBAAA,CAAkB;AAAA;AAC7B,GACF;AAEA,EAAA,uBACE,GAAA,CAAC,sBAAA,EAAA,EAAuB,IAAA,EAAM,WAAA,EAAa,YAAY,iBAAA,EACrD,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,cAC3B,QAAA,kBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,MAAA,EAAiB,QAAA,EAAS,GAChD,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogTrigger.mjs","sources":["../../../../../../../../src/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { ComponentProps, FC } from \"react\";\n\nexport type DialogTriggerProps = ComponentProps<typeof Aria.DialogTrigger>;\n\n/** @flr-generate all */\nexport const DialogTrigger: FC<DialogTriggerProps> = (props) => {\n return <Aria.DialogTrigger {...props} />;\n};\n\nexport default DialogTrigger;\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DialogTrigger.mjs","sources":["../../../../../../../../src/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { ComponentProps, FC } from \"react\";\n\nexport type DialogTriggerProps = ComponentProps<typeof Aria.DialogTrigger>;\n\n/** @flr-generate all */\nexport const DialogTrigger: FC<DialogTriggerProps> = (props) => {\n return <Aria.DialogTrigger {...props} />;\n};\n\nexport default DialogTrigger;\n"],"names":[],"mappings":";;;AAMO,MAAM,aAAA,GAAwC,CAAC,KAAA,KAAU;AAC9D,EAAA,uBAAO,GAAA,CAAC,IAAA,CAAK,aAAA,EAAL,EAAoB,GAAG,KAAA,EAAO,CAAA;AACxC;;;;"}
|
package/dist/js/components/src/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuTrigger.mjs","sources":["../../../../../../../../src/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { ComponentProps, FC } from \"react\";\nimport { flowComponent, type FlowComponentProps } from \"@/index/internal\";\n\nexport type MenuTriggerProps = ComponentProps<typeof Aria.MenuTrigger> &\n FlowComponentProps;\n\n/** @flr-generate all */\nexport const MenuTrigger: FC<MenuTriggerProps> = flowComponent(\n \"MenuTrigger\",\n (props) => {\n return <Aria.MenuTrigger {...props} />;\n },\n { type: \"provider\" },\n);\n\nexport default MenuTrigger;\n"],"names":[],"mappings":";;;;;;;;AAQO,MAAM,
|
|
1
|
+
{"version":3,"file":"MenuTrigger.mjs","sources":["../../../../../../../../src/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { ComponentProps, FC } from \"react\";\nimport { flowComponent, type FlowComponentProps } from \"@/index/internal\";\n\nexport type MenuTriggerProps = ComponentProps<typeof Aria.MenuTrigger> &\n FlowComponentProps;\n\n/** @flr-generate all */\nexport const MenuTrigger: FC<MenuTriggerProps> = flowComponent(\n \"MenuTrigger\",\n (props) => {\n return <Aria.MenuTrigger {...props} />;\n },\n { type: \"provider\" },\n);\n\nexport default MenuTrigger;\n"],"names":[],"mappings":";;;;;;;;AAQO,MAAM,WAAA,GAAoC,aAAA;AAAA,EAC/C,aAAA;AAAA,EACA,CAAC,KAAA,KAAU;AACT,IAAA,uBAAO,GAAA,CAAC,IAAA,CAAK,WAAA,EAAL,EAAkB,GAAG,KAAA,EAAO,CAAA;AAAA,EACtC,CAAA;AAAA,EACA,EAAE,MAAM,UAAA;AACV;;;;"}
|
package/dist/js/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordCreationField.mjs","sources":["../../../../../../src/components/PasswordCreationField/PasswordCreationField.tsx"],"sourcesContent":["import {\n type PropsWithChildren,\n useState,\n type ClipboardEvent,\n useDeferredValue,\n useMemo,\n} from \"react\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport styles from \"./PasswordCreationField.module.scss\";\nimport * as Aria from \"react-aria-components\";\nimport formFieldStyles from \"@/components/FormField/FormField.module.scss\";\nimport clsx from \"clsx\";\nimport { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\nimport { type ActionFn } from \"@/components/Action\";\nimport getStateFromLatestPolicyValidationResult from \"@/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult\";\nimport locales from \"./locales/*.locale.json\";\nimport generateValidationTranslation from \"@/components/PasswordCreationField/lib/generateValidationTranslation\";\nimport { FieldError } from \"@/components/FieldError\";\nimport FieldDescription from \"@/components/FieldDescription\";\nimport ComplexityIndicator from \"@/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator\";\nimport { generatePassword } from \"@/components/PasswordCreationField/worker/generatePassword\";\nimport TogglePasswordVisibilityButton from \"@/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton\";\nimport { FieldErrorContext } from \"react-aria-components\";\nimport { Wrap } from \"@/components/Wrap\";\nimport { ReactAriaControlledValueFix } from \"@/lib/react/ReactAriaControlledValueFix\";\nimport { ValidationResultButton } from \"@/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton\";\nimport { PasswordGenerateButton } from \"@/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton\";\nimport { useLocalizedContextStringFormatter } from \"@/components/TranslationProvider/useLocalizedContextStringFormatter\";\nimport type {\n PolicyValidationResult,\n PolicyGenericDeclaration,\n RuleValidationResult,\n} from \"@/integrations/@mittwald/password-tools-js\";\nimport {\n defaultPasswordCreationPolicy,\n Policy,\n} from \"@/integrations/@mittwald/password-tools-js\";\nimport { usePolicyValidationResult } from \"@/components/PasswordCreationField/lib/usePolicyValidationResult\";\nimport { useManagedValue } from \"@/lib/hooks/useManagedValue\";\n\nexport interface PasswordCreationFieldProps\n extends PropsWithChildren<\n Omit<Aria.TextFieldProps, \"children\" | \"value\" | \"defaultValue\"> &\n Partial<Pick<Aria.FieldErrorRenderProps, \"validationErrors\">>\n >,\n FlowComponentProps<HTMLInputElement> {\n value?: string;\n onValidationResult?: (result: { password: string; isValid: boolean }) => void;\n defaultValue?: string;\n placeholder?: string;\n validationPolicy?: PolicyGenericDeclaration;\n}\n\nexport interface ResolvedPolicyValidationResult\n extends Omit<PolicyValidationResult, \"isValid\"> {\n isValid: boolean | \"indeterminate\";\n ruleResults: RuleValidationResult[];\n}\n\n/** @flr-generate all */\nexport const PasswordCreationField = flowComponent(\n \"PasswordCreationField\",\n (props) => {\n const {\n children,\n className,\n ref,\n isDisabled,\n onValidationResult,\n isInvalid: invalidFromProps,\n validationPolicy:\n validationPolicyFromProps = defaultPasswordCreationPolicy,\n isRequired,\n ...rest\n } = props;\n\n const [isLoading, setIsLoading] = useState(false);\n const translate = useLocalizedContextStringFormatter(locales);\n const validationPolicy = useMemo(\n () => Policy.fromDeclaration(validationPolicyFromProps),\n [validationPolicyFromProps],\n );\n\n const { value, handleOnChange } = useManagedValue(props);\n const deferredValue = useDeferredValue(value);\n\n const [isPasswordRevealed, setIsPasswordRevealed] = useState(false);\n const initialPolicyValidationState: ResolvedPolicyValidationResult = {\n isValid: true,\n complexity: {\n min: validationPolicy.minComplexity,\n actual: 4,\n warning: null,\n },\n ruleResults: [],\n };\n\n const [policyValidationResult, setPolicyValidationResult] = useState(\n initialPolicyValidationState,\n );\n usePolicyValidationResult(\n validationPolicy,\n deferredValue,\n () => {\n if (isEmptyValue) {\n return;\n }\n\n setIsLoading(() => true);\n },\n ({ password, isValid, results }) => {\n if (isEmptyValue) {\n setPolicyValidationResult(() => ({\n ...results,\n isValid: true,\n }));\n return;\n }\n\n setIsLoading(() => false);\n setPolicyValidationResult(() => results);\n onValidationResult?.({ password, isValid });\n },\n );\n\n const isEmptyValue = !value;\n const stateFromValidationResult = getStateFromLatestPolicyValidationResult(\n isEmptyValue,\n policyValidationResult,\n );\n let latestValidationErrorText = undefined;\n if (stateFromValidationResult) {\n const [translationKey, translationValues] = generateValidationTranslation(\n stateFromValidationResult,\n );\n latestValidationErrorText = translate.format(\n translationKey,\n translationValues,\n );\n }\n\n const isValidFromValidationResult =\n !isEmptyValue && stateFromValidationResult?.isValid;\n const isInvalidFromValidationResult =\n !isEmptyValue && !stateFromValidationResult?.isValid;\n const isInvalid = invalidFromProps || isInvalidFromValidationResult;\n\n const setOptimisticPolicyValidationResult = (\n state: Partial<ResolvedPolicyValidationResult> = {},\n ) => {\n setIsLoading(() => false);\n setPolicyValidationResult(() => ({\n ...initialPolicyValidationState,\n ...state,\n isValid: true,\n }));\n };\n\n const onPasswordGenerateHandler: ActionFn = async () => {\n const generatedPassword = await generatePassword(validationPolicy);\n setOptimisticPolicyValidationResult();\n setIsPasswordRevealed(true);\n handleOnChange(generatedPassword);\n };\n\n const onPasswordPasteHandler = (event: ClipboardEvent) => {\n const pastedValue = event.clipboardData.getData(\"text\");\n if (pastedValue !== value) {\n setOptimisticPolicyValidationResult({\n isValid: \"indeterminate\",\n });\n }\n };\n\n const togglePasswordVisibilityHandler = () => {\n setIsPasswordRevealed((old) => !old);\n };\n\n const propsContext: PropsContext = {\n Button: {\n tunnelId: \"button\",\n size: \"m\",\n variant: \"plain\",\n color: \"secondary\",\n isDisabled: isDisabled,\n className: styles.button,\n },\n CopyButton: {\n tunnelId: \"button\",\n size: \"m\",\n variant: \"plain\",\n color: \"secondary\",\n isDisabled: isDisabled,\n className: styles.button,\n text: value,\n },\n Label: {\n className: formFieldStyles.label,\n tunnelId: \"label\",\n optional: !isRequired,\n isDisabled: isDisabled,\n children: dynamic((localProps) => {\n return (\n <>\n {localProps.children}\n <PasswordGenerateButton\n isDisabled={isDisabled}\n onGeneratePasswordAction={onPasswordGenerateHandler}\n />\n <ValidationResultButton\n isEmptyValue={isEmptyValue}\n isDisabled={isDisabled}\n policyValidationResult={policyValidationResult}\n />\n </>\n );\n }),\n },\n FieldDescription: {\n className: formFieldStyles.fieldDescription,\n },\n FieldError: {\n className: formFieldStyles.customFieldError,\n children: dynamic(() => {\n if (latestValidationErrorText) {\n return latestValidationErrorText;\n }\n }),\n },\n };\n\n return (\n <PropsContextProvider\n props={propsContext}\n dependencies={[isDisabled, isRequired, value, policyValidationResult]}\n >\n <TunnelProvider>\n <Aria.TextField\n {...rest}\n value={value}\n type={isPasswordRevealed ? \"text\" : \"password\"}\n onChange={handleOnChange}\n onPaste={onPasswordPasteHandler}\n className={clsx(className, formFieldStyles.formField)}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isRequired={isRequired}\n >\n <TunnelExit id=\"label\" />\n <Aria.Group\n isDisabled={isDisabled}\n className={clsx(styles.inputGroup)}\n >\n <ReactAriaControlledValueFix\n inputContext={Aria.InputContext}\n props={{ ...props, value }}\n >\n <Aria.Input ref={ref} className={styles.input} />\n </ReactAriaControlledValueFix>\n <Aria.Group className={styles.buttonContainer}>\n <TogglePasswordVisibilityButton\n className={styles.button}\n isVisible={isPasswordRevealed}\n isDisabled={isDisabled}\n onPress={togglePasswordVisibilityHandler}\n />\n <TunnelExit id=\"button\" />\n </Aria.Group>\n <ComplexityIndicator\n isEmptyValue={isEmptyValue}\n isLoading={isLoading}\n policyValidationResult={policyValidationResult}\n validationResultState={stateFromValidationResult}\n />\n </Aria.Group>\n {isValidFromValidationResult && (\n <FieldDescription>{latestValidationErrorText}</FieldDescription>\n )}\n {isInvalidFromValidationResult &&\n policyValidationResult.isValid !== \"indeterminate\" && (\n <FieldError>{latestValidationErrorText}</FieldError>\n )}\n <Wrap if={isInvalidFromValidationResult}>\n <FieldErrorContext.Provider\n value={{\n isInvalid: false,\n validationErrors: [],\n validationDetails: {\n customError: false,\n valid: true,\n typeMismatch: false,\n stepMismatch: false,\n valueMissing: false,\n tooShort: false,\n tooLong: false,\n rangeUnderflow: false,\n patternMismatch: false,\n badInput: false,\n rangeOverflow: false,\n },\n }}\n >\n {children}\n </FieldErrorContext.Provider>\n </Wrap>\n </Aria.TextField>\n </TunnelProvider>\n </PropsContextProvider>\n );\n },\n);\n\nexport default PasswordCreationField;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEO,MAAM,qBAAwB,GAAA,aAAA;AAAA,EACnC,uBAAA;AAAA,EACA,CAAC,KAAU,KAAA;AACT,IAAM,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,SAAA;AAAA,MACA,GAAA;AAAA,MACA,UAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAW,EAAA,gBAAA;AAAA,MACX,kBACE,yBAA4B,GAAA,6BAAA;AAAA,MAC9B,UAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,KAAA;AAEJ,IAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,IAAM,MAAA,SAAA,GAAY,mCAAmC,OAAO,CAAA;AAC5D,IAAA,MAAM,gBAAmB,GAAA,OAAA;AAAA,MACvB,MAAM,MAAO,CAAA,eAAA,CAAgB,yBAAyB,CAAA;AAAA,MACtD,CAAC,yBAAyB;AAAA,KAC5B;AAEA,IAAA,MAAM,EAAE,KAAA,EAAO,cAAe,EAAA,GAAI,gBAAgB,KAAK,CAAA;AACvD,IAAM,MAAA,aAAA,GAAgB,iBAAiB,KAAK,CAAA;AAE5C,IAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAI,SAAS,KAAK,CAAA;AAClE,IAAA,MAAM,4BAA+D,GAAA;AAAA,MACnE,OAAS,EAAA,IAAA;AAAA,MACT,UAAY,EAAA;AAAA,QACV,KAAK,gBAAiB,CAAA,aAAA;AAAA,QACtB,MAAQ,EAAA,CAAA;AAAA,QACR,OAAS,EAAA;AAAA,OACX;AAAA,MACA,aAAa;AAAC,KAChB;AAEA,IAAM,MAAA,CAAC,sBAAwB,EAAA,yBAAyB,CAAI,GAAA,QAAA;AAAA,MAC1D;AAAA,KACF;AACA,IAAA,yBAAA;AAAA,MACE,gBAAA;AAAA,MACA,aAAA;AAAA,MACA,MAAM;AACJ,QAAA,IAAI,YAAc,EAAA;AAChB,UAAA;AAAA;AAGF,QAAA,YAAA,CAAa,MAAM,IAAI,CAAA;AAAA,OACzB;AAAA,MACA,CAAC,EAAE,QAAU,EAAA,OAAA,EAAS,SAAc,KAAA;AAClC,QAAA,IAAI,YAAc,EAAA;AAChB,UAAA,yBAAA,CAA0B,OAAO;AAAA,YAC/B,GAAG,OAAA;AAAA,YACH,OAAS,EAAA;AAAA,WACT,CAAA,CAAA;AACF,UAAA;AAAA;AAGF,QAAA,YAAA,CAAa,MAAM,KAAK,CAAA;AACxB,QAAA,yBAAA,CAA0B,MAAM,OAAO,CAAA;AACvC,QAAqB,kBAAA,GAAA,EAAE,QAAU,EAAA,OAAA,EAAS,CAAA;AAAA;AAC5C,KACF;AAEA,IAAA,MAAM,eAAe,CAAC,KAAA;AACtB,IAAA,MAAM,yBAA4B,GAAA,wCAAA;AAAA,MAChC,YAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,IAAI,yBAA4B,GAAA,MAAA;AAChC,IAAA,IAAI,yBAA2B,EAAA;AAC7B,MAAM,MAAA,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAA,6BAAA;AAAA,QAC1C;AAAA,OACF;AACA,MAAA,yBAAA,GAA4B,SAAU,CAAA,MAAA;AAAA,QACpC,cAAA;AAAA,QACA;AAAA,OACF;AAAA;AAGF,IAAM,MAAA,2BAAA,GACJ,CAAC,YAAA,IAAgB,yBAA2B,EAAA,OAAA;AAC9C,IAAA,MAAM,6BACJ,GAAA,CAAC,YAAgB,IAAA,CAAC,yBAA2B,EAAA,OAAA;AAC/C,IAAA,MAAM,YAAY,gBAAoB,IAAA,6BAAA;AAEtC,IAAA,MAAM,mCAAsC,GAAA,CAC1C,KAAiD,GAAA,EAC9C,KAAA;AACH,MAAA,YAAA,CAAa,MAAM,KAAK,CAAA;AACxB,MAAA,yBAAA,CAA0B,OAAO;AAAA,QAC/B,GAAG,4BAAA;AAAA,QACH,GAAG,KAAA;AAAA,QACH,OAAS,EAAA;AAAA,OACT,CAAA,CAAA;AAAA,KACJ;AAEA,IAAA,MAAM,4BAAsC,YAAY;AACtD,MAAM,MAAA,iBAAA,GAAoB,MAAM,gBAAA,CAAiB,gBAAgB,CAAA;AACjE,MAAoC,mCAAA,EAAA;AACpC,MAAA,qBAAA,CAAsB,IAAI,CAAA;AAC1B,MAAA,cAAA,CAAe,iBAAiB,CAAA;AAAA,KAClC;AAEA,IAAM,MAAA,sBAAA,GAAyB,CAAC,KAA0B,KAAA;AACxD,MAAA,MAAM,WAAc,GAAA,KAAA,CAAM,aAAc,CAAA,OAAA,CAAQ,MAAM,CAAA;AACtD,MAAA,IAAI,gBAAgB,KAAO,EAAA;AACzB,QAAoC,mCAAA,CAAA;AAAA,UAClC,OAAS,EAAA;AAAA,SACV,CAAA;AAAA;AACH,KACF;AAEA,IAAA,MAAM,kCAAkC,MAAM;AAC5C,MAAsB,qBAAA,CAAA,CAAC,GAAQ,KAAA,CAAC,GAAG,CAAA;AAAA,KACrC;AAEA,IAAA,MAAM,YAA6B,GAAA;AAAA,MACjC,MAAQ,EAAA;AAAA,QACN,QAAU,EAAA,QAAA;AAAA,QACV,IAAM,EAAA,GAAA;AAAA,QACN,OAAS,EAAA,OAAA;AAAA,QACT,KAAO,EAAA,WAAA;AAAA,QACP,UAAA;AAAA,QACA,WAAW,MAAO,CAAA;AAAA,OACpB;AAAA,MACA,UAAY,EAAA;AAAA,QACV,QAAU,EAAA,QAAA;AAAA,QACV,IAAM,EAAA,GAAA;AAAA,QACN,OAAS,EAAA,OAAA;AAAA,QACT,KAAO,EAAA,WAAA;AAAA,QACP,UAAA;AAAA,QACA,WAAW,MAAO,CAAA,MAAA;AAAA,QAClB,IAAM,EAAA;AAAA,OACR;AAAA,MACA,KAAO,EAAA;AAAA,QACL,WAAW,eAAgB,CAAA,KAAA;AAAA,QAC3B,QAAU,EAAA,OAAA;AAAA,QACV,UAAU,CAAC,UAAA;AAAA,QACX,UAAA;AAAA,QACA,QAAA,EAAU,OAAQ,CAAA,CAAC,UAAe,KAAA;AAChC,UAAA,uBAEK,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,YAAW,UAAA,CAAA,QAAA;AAAA,4BACZ,GAAA;AAAA,cAAC,sBAAA;AAAA,cAAA;AAAA,gBACC,UAAA;AAAA,gBACA,wBAA0B,EAAA;AAAA;AAAA,aAC5B;AAAA,4BACA,GAAA;AAAA,cAAC,sBAAA;AAAA,cAAA;AAAA,gBACC,YAAA;AAAA,gBACA,UAAA;AAAA,gBACA;AAAA;AAAA;AACF,WACF,EAAA,CAAA;AAAA,SAEH;AAAA,OACH;AAAA,MACA,gBAAkB,EAAA;AAAA,QAChB,WAAW,eAAgB,CAAA;AAAA,OAC7B;AAAA,MACA,UAAY,EAAA;AAAA,QACV,WAAW,eAAgB,CAAA,gBAAA;AAAA,QAC3B,QAAA,EAAU,QAAQ,MAAM;AACtB,UAAA,IAAI,yBAA2B,EAAA;AAC7B,YAAO,OAAA,yBAAA;AAAA;AACT,SACD;AAAA;AACH,KACF;AAEA,IACE,uBAAA,GAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA,YAAA;AAAA,QACP,YAAc,EAAA,CAAC,UAAY,EAAA,UAAA,EAAY,OAAO,sBAAsB,CAAA;AAAA,QAEpE,8BAAC,cACC,EAAA,EAAA,QAAA,kBAAA,IAAA;AAAA,UAAC,IAAK,CAAA,SAAA;AAAA,UAAL;AAAA,YACE,GAAG,IAAA;AAAA,YACJ,KAAA;AAAA,YACA,IAAA,EAAM,qBAAqB,MAAS,GAAA,UAAA;AAAA,YACpC,QAAU,EAAA,cAAA;AAAA,YACV,OAAS,EAAA,sBAAA;AAAA,YACT,SAAW,EAAA,IAAA,CAAK,SAAW,EAAA,eAAA,CAAgB,SAAS,CAAA;AAAA,YACpD,UAAA;AAAA,YACA,SAAA;AAAA,YACA,UAAA;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAC,GAAA,CAAA,UAAA,EAAA,EAAW,IAAG,OAAQ,EAAA,CAAA;AAAA,8BACvB,IAAA;AAAA,gBAAC,IAAK,CAAA,KAAA;AAAA,gBAAL;AAAA,kBACC,UAAA;AAAA,kBACA,SAAA,EAAW,IAAK,CAAA,MAAA,CAAO,UAAU,CAAA;AAAA,kBAEjC,QAAA,EAAA;AAAA,oCAAA,GAAA;AAAA,sBAAC,2BAAA;AAAA,sBAAA;AAAA,wBACC,cAAc,IAAK,CAAA,YAAA;AAAA,wBACnB,KAAO,EAAA,EAAE,GAAG,KAAA,EAAO,KAAM,EAAA;AAAA,wBAEzB,8BAAC,IAAK,CAAA,KAAA,EAAL,EAAW,GAAU,EAAA,SAAA,EAAW,OAAO,KAAO,EAAA;AAAA;AAAA,qBACjD;AAAA,yCACC,IAAK,CAAA,KAAA,EAAL,EAAW,SAAA,EAAW,OAAO,eAC5B,EAAA,QAAA,EAAA;AAAA,sCAAA,GAAA;AAAA,wBAAC,8BAAA;AAAA,wBAAA;AAAA,0BACC,WAAW,MAAO,CAAA,MAAA;AAAA,0BAClB,SAAW,EAAA,kBAAA;AAAA,0BACX,UAAA;AAAA,0BACA,OAAS,EAAA;AAAA;AAAA,uBACX;AAAA,sCACA,GAAA,CAAC,UAAW,EAAA,EAAA,EAAA,EAAG,QAAS,EAAA;AAAA,qBAC1B,EAAA,CAAA;AAAA,oCACA,GAAA;AAAA,sBAAC,mBAAA;AAAA,sBAAA;AAAA,wBACC,YAAA;AAAA,wBACA,SAAA;AAAA,wBACA,sBAAA;AAAA,wBACA,qBAAuB,EAAA;AAAA;AAAA;AACzB;AAAA;AAAA,eACF;AAAA,cACC,2BAAA,oBACE,GAAA,CAAA,gBAAA,EAAA,EAAkB,QAA0B,EAAA,yBAAA,EAAA,CAAA;AAAA,cAE9C,iCACC,sBAAuB,CAAA,OAAA,KAAY,eACjC,oBAAA,GAAA,CAAC,cAAY,QAA0B,EAAA,yBAAA,EAAA,CAAA;AAAA,8BAE3C,GAAA,CAAC,IAAK,EAAA,EAAA,EAAA,EAAI,6BACR,EAAA,QAAA,kBAAA,GAAA;AAAA,gBAAC,iBAAkB,CAAA,QAAA;AAAA,gBAAlB;AAAA,kBACC,KAAO,EAAA;AAAA,oBACL,SAAW,EAAA,KAAA;AAAA,oBACX,kBAAkB,EAAC;AAAA,oBACnB,iBAAmB,EAAA;AAAA,sBACjB,WAAa,EAAA,KAAA;AAAA,sBACb,KAAO,EAAA,IAAA;AAAA,sBACP,YAAc,EAAA,KAAA;AAAA,sBACd,YAAc,EAAA,KAAA;AAAA,sBACd,YAAc,EAAA,KAAA;AAAA,sBACd,QAAU,EAAA,KAAA;AAAA,sBACV,OAAS,EAAA,KAAA;AAAA,sBACT,cAAgB,EAAA,KAAA;AAAA,sBAChB,eAAiB,EAAA,KAAA;AAAA,sBACjB,QAAU,EAAA,KAAA;AAAA,sBACV,aAAe,EAAA;AAAA;AACjB,mBACF;AAAA,kBAEC;AAAA;AAAA,eAEL,EAAA;AAAA;AAAA;AAAA,SAEJ,EAAA;AAAA;AAAA,KACF;AAAA;AAGN;;;;"}
|
|
1
|
+
{"version":3,"file":"PasswordCreationField.mjs","sources":["../../../../../../src/components/PasswordCreationField/PasswordCreationField.tsx"],"sourcesContent":["import {\n type PropsWithChildren,\n useState,\n type ClipboardEvent,\n useDeferredValue,\n useMemo,\n} from \"react\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport styles from \"./PasswordCreationField.module.scss\";\nimport * as Aria from \"react-aria-components\";\nimport formFieldStyles from \"@/components/FormField/FormField.module.scss\";\nimport clsx from \"clsx\";\nimport { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\nimport { type ActionFn } from \"@/components/Action\";\nimport getStateFromLatestPolicyValidationResult from \"@/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult\";\nimport locales from \"./locales/*.locale.json\";\nimport generateValidationTranslation from \"@/components/PasswordCreationField/lib/generateValidationTranslation\";\nimport { FieldError } from \"@/components/FieldError\";\nimport FieldDescription from \"@/components/FieldDescription\";\nimport ComplexityIndicator from \"@/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator\";\nimport { generatePassword } from \"@/components/PasswordCreationField/worker/generatePassword\";\nimport TogglePasswordVisibilityButton from \"@/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton\";\nimport { FieldErrorContext } from \"react-aria-components\";\nimport { Wrap } from \"@/components/Wrap\";\nimport { ReactAriaControlledValueFix } from \"@/lib/react/ReactAriaControlledValueFix\";\nimport { ValidationResultButton } from \"@/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton\";\nimport { PasswordGenerateButton } from \"@/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton\";\nimport { useLocalizedContextStringFormatter } from \"@/components/TranslationProvider/useLocalizedContextStringFormatter\";\nimport type {\n PolicyValidationResult,\n PolicyGenericDeclaration,\n RuleValidationResult,\n} from \"@/integrations/@mittwald/password-tools-js\";\nimport {\n defaultPasswordCreationPolicy,\n Policy,\n} from \"@/integrations/@mittwald/password-tools-js\";\nimport { usePolicyValidationResult } from \"@/components/PasswordCreationField/lib/usePolicyValidationResult\";\nimport { useManagedValue } from \"@/lib/hooks/useManagedValue\";\n\nexport interface PasswordCreationFieldProps\n extends PropsWithChildren<\n Omit<Aria.TextFieldProps, \"children\" | \"value\" | \"defaultValue\"> &\n Partial<Pick<Aria.FieldErrorRenderProps, \"validationErrors\">>\n >,\n FlowComponentProps<HTMLInputElement> {\n value?: string;\n onValidationResult?: (result: { password: string; isValid: boolean }) => void;\n defaultValue?: string;\n placeholder?: string;\n validationPolicy?: PolicyGenericDeclaration;\n}\n\nexport interface ResolvedPolicyValidationResult\n extends Omit<PolicyValidationResult, \"isValid\"> {\n isValid: boolean | \"indeterminate\";\n ruleResults: RuleValidationResult[];\n}\n\n/** @flr-generate all */\nexport const PasswordCreationField = flowComponent(\n \"PasswordCreationField\",\n (props) => {\n const {\n children,\n className,\n ref,\n isDisabled,\n onValidationResult,\n isInvalid: invalidFromProps,\n validationPolicy:\n validationPolicyFromProps = defaultPasswordCreationPolicy,\n isRequired,\n ...rest\n } = props;\n\n const [isLoading, setIsLoading] = useState(false);\n const translate = useLocalizedContextStringFormatter(locales);\n const validationPolicy = useMemo(\n () => Policy.fromDeclaration(validationPolicyFromProps),\n [validationPolicyFromProps],\n );\n\n const { value, handleOnChange } = useManagedValue(props);\n const deferredValue = useDeferredValue(value);\n\n const [isPasswordRevealed, setIsPasswordRevealed] = useState(false);\n const initialPolicyValidationState: ResolvedPolicyValidationResult = {\n isValid: true,\n complexity: {\n min: validationPolicy.minComplexity,\n actual: 4,\n warning: null,\n },\n ruleResults: [],\n };\n\n const [policyValidationResult, setPolicyValidationResult] = useState(\n initialPolicyValidationState,\n );\n usePolicyValidationResult(\n validationPolicy,\n deferredValue,\n () => {\n if (isEmptyValue) {\n return;\n }\n\n setIsLoading(() => true);\n },\n ({ password, isValid, results }) => {\n if (isEmptyValue) {\n setPolicyValidationResult(() => ({\n ...results,\n isValid: true,\n }));\n return;\n }\n\n setIsLoading(() => false);\n setPolicyValidationResult(() => results);\n onValidationResult?.({ password, isValid });\n },\n );\n\n const isEmptyValue = !value;\n const stateFromValidationResult = getStateFromLatestPolicyValidationResult(\n isEmptyValue,\n policyValidationResult,\n );\n let latestValidationErrorText = undefined;\n if (stateFromValidationResult) {\n const [translationKey, translationValues] = generateValidationTranslation(\n stateFromValidationResult,\n );\n latestValidationErrorText = translate.format(\n translationKey,\n translationValues,\n );\n }\n\n const isValidFromValidationResult =\n !isEmptyValue && stateFromValidationResult?.isValid;\n const isInvalidFromValidationResult =\n !isEmptyValue && !stateFromValidationResult?.isValid;\n const isInvalid = invalidFromProps || isInvalidFromValidationResult;\n\n const setOptimisticPolicyValidationResult = (\n state: Partial<ResolvedPolicyValidationResult> = {},\n ) => {\n setIsLoading(() => false);\n setPolicyValidationResult(() => ({\n ...initialPolicyValidationState,\n ...state,\n isValid: true,\n }));\n };\n\n const onPasswordGenerateHandler: ActionFn = async () => {\n const generatedPassword = await generatePassword(validationPolicy);\n setOptimisticPolicyValidationResult();\n setIsPasswordRevealed(true);\n handleOnChange(generatedPassword);\n };\n\n const onPasswordPasteHandler = (event: ClipboardEvent) => {\n const pastedValue = event.clipboardData.getData(\"text\");\n if (pastedValue !== value) {\n setOptimisticPolicyValidationResult({\n isValid: \"indeterminate\",\n });\n }\n };\n\n const togglePasswordVisibilityHandler = () => {\n setIsPasswordRevealed((old) => !old);\n };\n\n const propsContext: PropsContext = {\n Button: {\n tunnelId: \"button\",\n size: \"m\",\n variant: \"plain\",\n color: \"secondary\",\n isDisabled: isDisabled,\n className: styles.button,\n },\n CopyButton: {\n tunnelId: \"button\",\n size: \"m\",\n variant: \"plain\",\n color: \"secondary\",\n isDisabled: isDisabled,\n className: styles.button,\n text: value,\n },\n Label: {\n className: formFieldStyles.label,\n tunnelId: \"label\",\n optional: !isRequired,\n isDisabled: isDisabled,\n children: dynamic((localProps) => {\n return (\n <>\n {localProps.children}\n <PasswordGenerateButton\n isDisabled={isDisabled}\n onGeneratePasswordAction={onPasswordGenerateHandler}\n />\n <ValidationResultButton\n isEmptyValue={isEmptyValue}\n isDisabled={isDisabled}\n policyValidationResult={policyValidationResult}\n />\n </>\n );\n }),\n },\n FieldDescription: {\n className: formFieldStyles.fieldDescription,\n },\n FieldError: {\n className: formFieldStyles.customFieldError,\n children: dynamic(() => {\n if (latestValidationErrorText) {\n return latestValidationErrorText;\n }\n }),\n },\n };\n\n return (\n <PropsContextProvider\n props={propsContext}\n dependencies={[isDisabled, isRequired, value, policyValidationResult]}\n >\n <TunnelProvider>\n <Aria.TextField\n {...rest}\n value={value}\n type={isPasswordRevealed ? \"text\" : \"password\"}\n onChange={handleOnChange}\n onPaste={onPasswordPasteHandler}\n className={clsx(className, formFieldStyles.formField)}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n isRequired={isRequired}\n >\n <TunnelExit id=\"label\" />\n <Aria.Group\n isDisabled={isDisabled}\n className={clsx(styles.inputGroup)}\n >\n <ReactAriaControlledValueFix\n inputContext={Aria.InputContext}\n props={{ ...props, value }}\n >\n <Aria.Input ref={ref} className={styles.input} />\n </ReactAriaControlledValueFix>\n <Aria.Group className={styles.buttonContainer}>\n <TogglePasswordVisibilityButton\n className={styles.button}\n isVisible={isPasswordRevealed}\n isDisabled={isDisabled}\n onPress={togglePasswordVisibilityHandler}\n />\n <TunnelExit id=\"button\" />\n </Aria.Group>\n <ComplexityIndicator\n isEmptyValue={isEmptyValue}\n isLoading={isLoading}\n policyValidationResult={policyValidationResult}\n validationResultState={stateFromValidationResult}\n />\n </Aria.Group>\n {isValidFromValidationResult && (\n <FieldDescription>{latestValidationErrorText}</FieldDescription>\n )}\n {isInvalidFromValidationResult &&\n policyValidationResult.isValid !== \"indeterminate\" && (\n <FieldError>{latestValidationErrorText}</FieldError>\n )}\n <Wrap if={isInvalidFromValidationResult}>\n <FieldErrorContext.Provider\n value={{\n isInvalid: false,\n validationErrors: [],\n validationDetails: {\n customError: false,\n valid: true,\n typeMismatch: false,\n stepMismatch: false,\n valueMissing: false,\n tooShort: false,\n tooLong: false,\n rangeUnderflow: false,\n patternMismatch: false,\n badInput: false,\n rangeOverflow: false,\n },\n }}\n >\n {children}\n </FieldErrorContext.Provider>\n </Wrap>\n </Aria.TextField>\n </TunnelProvider>\n </PropsContextProvider>\n );\n },\n);\n\nexport default PasswordCreationField;\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComplexityIndicator.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator.tsx"],"sourcesContent":["import React, { type FC, useLayoutEffect, useState } from \"react\";\nimport styles from \"./ComplexityIndicator.module.scss\";\nimport { getStatusFromPolicyValidationResult } from \"@/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult\";\nimport clsx from \"clsx\";\nimport type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\nimport { type Status } from \"@/lib/types/props\";\nimport type { StateFromLatestPolicyValidationResult } from \"@/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult\";\n\nexport type ComplexityStatus = Exclude<Status, \"info\"> | \"indeterminate\";\n\nexport interface ComplexityIndicatorProps {\n isLoading: boolean;\n isEmptyValue: boolean;\n validationResultState: StateFromLatestPolicyValidationResult;\n policyValidationResult: ResolvedPolicyValidationResult;\n}\n\n/** @internal */\nexport const ComplexityIndicator: FC<ComplexityIndicatorProps> = (props) => {\n const {\n policyValidationResult,\n validationResultState,\n isLoading,\n isEmptyValue,\n } = props;\n const complexityScore = policyValidationResult?.complexity;\n\n const [state, setState] = useState<{\n status: ComplexityStatus;\n percentage: number;\n visible: boolean;\n }>({\n percentage: 0,\n status: \"success\",\n visible: false,\n });\n\n useLayoutEffect(() => {\n if (isEmptyValue) {\n setState({\n status: \"success\",\n percentage: 0,\n visible: false,\n });\n return;\n }\n\n let complexityFulfilledPercentage = 0;\n if (policyValidationResult?.isValid === \"indeterminate\") {\n complexityFulfilledPercentage = 100;\n } else if (complexityScore && !isEmptyValue) {\n complexityFulfilledPercentage = Math.min(\n (100 / (complexityScore.min + 1)) * (complexityScore.actual + 1),\n 100,\n );\n }\n\n const policyValidationStatus = getStatusFromPolicyValidationResult(\n validationResultState?.isValid ?? policyValidationResult.isValid,\n policyValidationResult,\n );\n\n setState({\n status: policyValidationStatus,\n percentage: complexityFulfilledPercentage,\n visible: true,\n });\n }, [policyValidationResult, isEmptyValue]);\n\n const complexityVisible = state.visible;\n const complexityFulfilled = state.percentage === 100;\n\n const percentageClassName = clsx(\n styles.bar,\n !isEmptyValue && styles[`bar-background-status-${state.status}`],\n {\n [styles.loading as string]: isLoading,\n [styles.running as string]: !complexityFulfilled,\n },\n );\n\n return (\n <div\n aria-hidden={true}\n data-container=\"complexity\"\n data-complexity-visible={complexityVisible}\n data-complexity-status={state.status}\n data-complexity-percentage={state.percentage}\n className={clsx(styles.complexityIndicator, {\n [styles.hide as string]: !complexityVisible,\n })}\n >\n <div\n style={{\n width: `${state.percentage}%`,\n }}\n className={percentageClassName}\n />\n </div>\n );\n};\n\nexport default ComplexityIndicator;\n"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"ComplexityIndicator.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator.tsx"],"sourcesContent":["import React, { type FC, useLayoutEffect, useState } from \"react\";\nimport styles from \"./ComplexityIndicator.module.scss\";\nimport { getStatusFromPolicyValidationResult } from \"@/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult\";\nimport clsx from \"clsx\";\nimport type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\nimport { type Status } from \"@/lib/types/props\";\nimport type { StateFromLatestPolicyValidationResult } from \"@/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult\";\n\nexport type ComplexityStatus = Exclude<Status, \"info\"> | \"indeterminate\";\n\nexport interface ComplexityIndicatorProps {\n isLoading: boolean;\n isEmptyValue: boolean;\n validationResultState: StateFromLatestPolicyValidationResult;\n policyValidationResult: ResolvedPolicyValidationResult;\n}\n\n/** @internal */\nexport const ComplexityIndicator: FC<ComplexityIndicatorProps> = (props) => {\n const {\n policyValidationResult,\n validationResultState,\n isLoading,\n isEmptyValue,\n } = props;\n const complexityScore = policyValidationResult?.complexity;\n\n const [state, setState] = useState<{\n status: ComplexityStatus;\n percentage: number;\n visible: boolean;\n }>({\n percentage: 0,\n status: \"success\",\n visible: false,\n });\n\n useLayoutEffect(() => {\n if (isEmptyValue) {\n setState({\n status: \"success\",\n percentage: 0,\n visible: false,\n });\n return;\n }\n\n let complexityFulfilledPercentage = 0;\n if (policyValidationResult?.isValid === \"indeterminate\") {\n complexityFulfilledPercentage = 100;\n } else if (complexityScore && !isEmptyValue) {\n complexityFulfilledPercentage = Math.min(\n (100 / (complexityScore.min + 1)) * (complexityScore.actual + 1),\n 100,\n );\n }\n\n const policyValidationStatus = getStatusFromPolicyValidationResult(\n validationResultState?.isValid ?? policyValidationResult.isValid,\n policyValidationResult,\n );\n\n setState({\n status: policyValidationStatus,\n percentage: complexityFulfilledPercentage,\n visible: true,\n });\n }, [policyValidationResult, isEmptyValue]);\n\n const complexityVisible = state.visible;\n const complexityFulfilled = state.percentage === 100;\n\n const percentageClassName = clsx(\n styles.bar,\n !isEmptyValue && styles[`bar-background-status-${state.status}`],\n {\n [styles.loading as string]: isLoading,\n [styles.running as string]: !complexityFulfilled,\n },\n );\n\n return (\n <div\n aria-hidden={true}\n data-container=\"complexity\"\n data-complexity-visible={complexityVisible}\n data-complexity-status={state.status}\n data-complexity-percentage={state.percentage}\n className={clsx(styles.complexityIndicator, {\n [styles.hide as string]: !complexityVisible,\n })}\n >\n <div\n style={{\n width: `${state.percentage}%`,\n }}\n className={percentageClassName}\n />\n </div>\n );\n};\n\nexport default ComplexityIndicator;\n"],"names":[],"mappings":";;;;;;AAkBO,MAAM,mBAAA,GAAoD,CAAC,KAAA,KAAU;AAC1E,EAAA,MAAM;AAAA,IACJ,sBAAA;AAAA,IACA,qBAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF,GAAI,KAAA;AACJ,EAAA,MAAM,kBAAkB,sBAAA,EAAwB,UAAA;AAEhD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,QAAA,CAIvB;AAAA,IACD,UAAA,EAAY,CAAA;AAAA,IACZ,MAAA,EAAQ,SAAA;AAAA,IACR,OAAA,EAAS;AAAA,GACV,CAAA;AAED,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,QAAA,CAAS;AAAA,QACP,MAAA,EAAQ,SAAA;AAAA,QACR,UAAA,EAAY,CAAA;AAAA,QACZ,OAAA,EAAS;AAAA,OACV,CAAA;AACD,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,6BAAA,GAAgC,CAAA;AACpC,IAAA,IAAI,sBAAA,EAAwB,YAAY,eAAA,EAAiB;AACvD,MAAA,6BAAA,GAAgC,GAAA;AAAA,IAClC,CAAA,MAAA,IAAW,eAAA,IAAmB,CAAC,YAAA,EAAc;AAC3C,MAAA,6BAAA,GAAgC,IAAA,CAAK,GAAA;AAAA,QAClC,GAAA,IAAO,eAAA,CAAgB,GAAA,GAAM,CAAA,CAAA,IAAO,gBAAgB,MAAA,GAAS,CAAA,CAAA;AAAA,QAC9D;AAAA,OACF;AAAA,IACF;AAEA,IAAA,MAAM,sBAAA,GAAyB,mCAAA;AAAA,MAC7B,qBAAA,EAAuB,WAAW,sBAAA,CAAuB,OAAA;AAAA,MACzD;AAAA,KACF;AAEA,IAAA,QAAA,CAAS;AAAA,MACP,MAAA,EAAQ,sBAAA;AAAA,MACR,UAAA,EAAY,6BAAA;AAAA,MACZ,OAAA,EAAS;AAAA,KACV,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,sBAAA,EAAwB,YAAY,CAAC,CAAA;AAEzC,EAAA,MAAM,oBAAoB,KAAA,CAAM,OAAA;AAChC,EAAA,MAAM,mBAAA,GAAsB,MAAM,UAAA,KAAe,GAAA;AAEjD,EAAA,MAAM,mBAAA,GAAsB,IAAA;AAAA,IAC1B,MAAA,CAAO,GAAA;AAAA,IACP,CAAC,YAAA,IAAgB,MAAA,CAAO,CAAA,sBAAA,EAAyB,KAAA,CAAM,MAAM,CAAA,CAAE,CAAA;AAAA,IAC/D;AAAA,MACE,CAAC,MAAA,CAAO,OAAiB,GAAG,SAAA;AAAA,MAC5B,CAAC,MAAA,CAAO,OAAiB,GAAG,CAAC;AAAA;AAC/B,GACF;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAa,IAAA;AAAA,MACb,gBAAA,EAAe,YAAA;AAAA,MACf,yBAAA,EAAyB,iBAAA;AAAA,MACzB,0BAAwB,KAAA,CAAM,MAAA;AAAA,MAC9B,8BAA4B,KAAA,CAAM,UAAA;AAAA,MAClC,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,mBAAA,EAAqB;AAAA,QAC1C,CAAC,MAAA,CAAO,IAAc,GAAG,CAAC;AAAA,OAC3B,CAAA;AAAA,MAED,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO;AAAA,YACL,KAAA,EAAO,CAAA,EAAG,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,WAC5B;AAAA,UACA,SAAA,EAAW;AAAA;AAAA;AACb;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordGenerateButton.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx"],"sourcesContent":["import { type FC } from \"react\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"./../../locales/*.locale.json\";\nimport { Button } from \"@/components/Button\";\nimport { Action, type ActionFn } from \"@/components/Action\";\n\ninterface Props {\n isDisabled?: boolean;\n onGeneratePasswordAction?: ActionFn;\n}\n\nexport const PasswordGenerateButton: FC<Props> = (props) => {\n const { isDisabled, onGeneratePasswordAction } = props;\n const translate = useLocalizedStringFormatter(locales);\n\n return (\n <Action action={onGeneratePasswordAction} showFeedback={false}>\n <Button\n data-component=\"generatePassword\"\n isDisabled={isDisabled}\n variant=\"plain\"\n color=\"dark\"\n >\n {translate.format(\"button.generate\")}\n </Button>\n </Action>\n );\n};\n"],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"PasswordGenerateButton.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx"],"sourcesContent":["import { type FC } from \"react\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"./../../locales/*.locale.json\";\nimport { Button } from \"@/components/Button\";\nimport { Action, type ActionFn } from \"@/components/Action\";\n\ninterface Props {\n isDisabled?: boolean;\n onGeneratePasswordAction?: ActionFn;\n}\n\nexport const PasswordGenerateButton: FC<Props> = (props) => {\n const { isDisabled, onGeneratePasswordAction } = props;\n const translate = useLocalizedStringFormatter(locales);\n\n return (\n <Action action={onGeneratePasswordAction} showFeedback={false}>\n <Button\n data-component=\"generatePassword\"\n isDisabled={isDisabled}\n variant=\"plain\"\n color=\"dark\"\n >\n {translate.format(\"button.generate\")}\n </Button>\n </Action>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAWO,MAAM,sBAAA,GAAoC,CAAC,KAAA,KAAU;AAC1D,EAAA,MAAM,EAAE,UAAA,EAAY,wBAAA,EAAyB,GAAI,KAAA;AACjD,EAAA,MAAM,SAAA,GAAY,4BAA4B,OAAO,CAAA;AAErD,EAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,MAAA,EAAQ,wBAAA,EAA0B,cAAc,KAAA,EACtD,QAAA,kBAAA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,gBAAA,EAAe,kBAAA;AAAA,MACf,UAAA;AAAA,MACA,OAAA,EAAQ,OAAA;AAAA,MACR,KAAA,EAAM,MAAA;AAAA,MAEL,QAAA,EAAA,SAAA,CAAU,OAAO,iBAAiB;AAAA;AAAA,GACrC,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TogglePasswordVisibilityButton.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.tsx"],"sourcesContent":["import React, { type FC } from \"react\";\nimport { Tooltip, TooltipTrigger } from \"@/components/Tooltip\";\nimport Button from \"@/components/Button\";\nimport { IconHide, IconShow } from \"@/components/Icon/components/icons\";\nimport { Action, type ActionFn } from \"@/components/Action\";\nimport locales from \"./../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\n\ninterface Props extends PropsWithClassName {\n isDisabled?: boolean;\n isVisible: boolean;\n onPress: ActionFn;\n}\n\n/** @internal */\nexport const TogglePasswordVisibilityButton: FC<Props> = ({\n isVisible,\n isDisabled = false,\n onPress,\n className,\n}) => {\n const translate = useLocalizedStringFormatter(locales);\n\n const icon = isVisible ? <IconHide /> : <IconShow />;\n const tooltipText = translate.format(\n \"button.generate.tooltip.\" + (isVisible ? \"hide\" : \"show\"),\n );\n\n return (\n <Action action={onPress}>\n <TooltipTrigger>\n <Button\n className={className}\n size=\"m\"\n variant=\"plain\"\n color=\"secondary\"\n isDisabled={isDisabled}\n data-component=\"toggleRevealPassword\"\n aria-label={tooltipText}\n >\n {icon}\n <Tooltip>{tooltipText}</Tooltip>\n </Button>\n </TooltipTrigger>\n </Action>\n );\n};\n\nexport default TogglePasswordVisibilityButton;\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgBO,MAAM,iCAA4C,CAAC;AAAA,EACxD,SAAA;AAAA,EACA,
|
|
1
|
+
{"version":3,"file":"TogglePasswordVisibilityButton.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.tsx"],"sourcesContent":["import React, { type FC } from \"react\";\nimport { Tooltip, TooltipTrigger } from \"@/components/Tooltip\";\nimport Button from \"@/components/Button\";\nimport { IconHide, IconShow } from \"@/components/Icon/components/icons\";\nimport { Action, type ActionFn } from \"@/components/Action\";\nimport locales from \"./../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\n\ninterface Props extends PropsWithClassName {\n isDisabled?: boolean;\n isVisible: boolean;\n onPress: ActionFn;\n}\n\n/** @internal */\nexport const TogglePasswordVisibilityButton: FC<Props> = ({\n isVisible,\n isDisabled = false,\n onPress,\n className,\n}) => {\n const translate = useLocalizedStringFormatter(locales);\n\n const icon = isVisible ? <IconHide /> : <IconShow />;\n const tooltipText = translate.format(\n \"button.generate.tooltip.\" + (isVisible ? \"hide\" : \"show\"),\n );\n\n return (\n <Action action={onPress}>\n <TooltipTrigger>\n <Button\n className={className}\n size=\"m\"\n variant=\"plain\"\n color=\"secondary\"\n isDisabled={isDisabled}\n data-component=\"toggleRevealPassword\"\n aria-label={tooltipText}\n >\n {icon}\n <Tooltip>{tooltipText}</Tooltip>\n </Button>\n </TooltipTrigger>\n </Action>\n );\n};\n\nexport default TogglePasswordVisibilityButton;\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgBO,MAAM,iCAA4C,CAAC;AAAA,EACxD,SAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,OAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,SAAA,GAAY,4BAA4B,OAAO,CAAA;AAErD,EAAA,MAAM,OAAO,SAAA,mBAAY,GAAA,CAAC,QAAA,EAAA,EAAS,CAAA,uBAAM,QAAA,EAAA,EAAS,CAAA;AAClD,EAAA,MAAM,cAAc,SAAA,CAAU,MAAA;AAAA,IAC5B,0BAAA,IAA8B,YAAY,MAAA,GAAS,MAAA;AAAA,GACrD;AAEA,EAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,MAAA,EAAQ,OAAA,EACd,8BAAC,cAAA,EAAA,EACC,QAAA,kBAAA,IAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA,EAAK,GAAA;AAAA,MACL,OAAA,EAAQ,OAAA;AAAA,MACR,KAAA,EAAM,WAAA;AAAA,MACN,UAAA;AAAA,MACA,gBAAA,EAAe,sBAAA;AAAA,MACf,YAAA,EAAY,WAAA;AAAA,MAEX,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,wBACD,GAAA,CAAC,WAAS,QAAA,EAAA,WAAA,EAAY;AAAA;AAAA;AAAA,KAE1B,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationResultButton.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.tsx"],"sourcesContent":["import React, { type FC } from \"react\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\n\nimport locales from \"./../../locales/*.locale.json\";\nimport type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\nimport ValidationResultEntry from \"@/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry\";\nimport { Button } from \"@/components/Button\";\nimport {\n ContextualHelp,\n ContextualHelpTrigger,\n} from \"@/components/ContextualHelp\";\nimport { Heading } from \"@/components/Heading\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\n\ninterface Props extends PropsWithClassName {\n policyValidationResult?: ResolvedPolicyValidationResult;\n isDisabled?: boolean;\n isEmptyValue: boolean;\n}\n\nexport const ValidationResultButton: FC<Props> = (props) => {\n const { policyValidationResult, isDisabled, isEmptyValue, className } = props;\n\n const translate = useLocalizedStringFormatter(locales);\n\n let validationResults = policyValidationResult?.ruleResults?.filter((r) => {\n return isEmptyValue ? !r.isValid : true;\n });\n if (validationResults && validationResults.length === 0 && isEmptyValue) {\n // if we have no rules to show on first info - just list them all\n validationResults = policyValidationResult?.ruleResults;\n }\n\n const validationResultComponents =\n validationResults?.map((result, index) => {\n return (\n <ValidationResultEntry\n key={`${result.identifier}-${index}`}\n result={result}\n />\n );\n }) ?? [];\n\n return (\n <ContextualHelpTrigger>\n <Button\n data-component=\"showPasswordRules\"\n isDisabled={isDisabled}\n className={className}\n />\n <ContextualHelp>\n <Heading>{translate.format(\"password.requirements.heading\")}</Heading>\n {validationResultComponents.length === 0 && (\n <ValidationResultEntry result={{ isValid: true }} unspecifiedRules />\n )}\n {validationResultComponents}\n </ContextualHelp>\n </ContextualHelpTrigger>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ValidationResultButton.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.tsx"],"sourcesContent":["import React, { type FC } from \"react\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\n\nimport locales from \"./../../locales/*.locale.json\";\nimport type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\nimport ValidationResultEntry from \"@/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry\";\nimport { Button } from \"@/components/Button\";\nimport {\n ContextualHelp,\n ContextualHelpTrigger,\n} from \"@/components/ContextualHelp\";\nimport { Heading } from \"@/components/Heading\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\n\ninterface Props extends PropsWithClassName {\n policyValidationResult?: ResolvedPolicyValidationResult;\n isDisabled?: boolean;\n isEmptyValue: boolean;\n}\n\nexport const ValidationResultButton: FC<Props> = (props) => {\n const { policyValidationResult, isDisabled, isEmptyValue, className } = props;\n\n const translate = useLocalizedStringFormatter(locales);\n\n let validationResults = policyValidationResult?.ruleResults?.filter((r) => {\n return isEmptyValue ? !r.isValid : true;\n });\n if (validationResults && validationResults.length === 0 && isEmptyValue) {\n // if we have no rules to show on first info - just list them all\n validationResults = policyValidationResult?.ruleResults;\n }\n\n const validationResultComponents =\n validationResults?.map((result, index) => {\n return (\n <ValidationResultEntry\n key={`${result.identifier}-${index}`}\n result={result}\n />\n );\n }) ?? [];\n\n return (\n <ContextualHelpTrigger>\n <Button\n data-component=\"showPasswordRules\"\n isDisabled={isDisabled}\n className={className}\n />\n <ContextualHelp>\n <Heading>{translate.format(\"password.requirements.heading\")}</Heading>\n {validationResultComponents.length === 0 && (\n <ValidationResultEntry result={{ isValid: true }} unspecifiedRules />\n )}\n {validationResultComponents}\n </ContextualHelp>\n </ContextualHelpTrigger>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAoBO,MAAM,sBAAA,GAAoC,CAAC,KAAA,KAAU;AAC1D,EAAA,MAAM,EAAE,sBAAA,EAAwB,UAAA,EAAY,YAAA,EAAc,WAAU,GAAI,KAAA;AAExE,EAAA,MAAM,SAAA,GAAY,4BAA4B,OAAO,CAAA;AAErD,EAAA,IAAI,iBAAA,GAAoB,sBAAA,EAAwB,WAAA,EAAa,MAAA,CAAO,CAAC,CAAA,KAAM;AACzE,IAAA,OAAO,YAAA,GAAe,CAAC,CAAA,CAAE,OAAA,GAAU,IAAA;AAAA,EACrC,CAAC,CAAA;AACD,EAAA,IAAI,iBAAA,IAAqB,iBAAA,CAAkB,MAAA,KAAW,CAAA,IAAK,YAAA,EAAc;AAEvE,IAAA,iBAAA,GAAoB,sBAAA,EAAwB,WAAA;AAAA,EAC9C;AAEA,EAAA,MAAM,0BAAA,GACJ,iBAAA,EAAmB,GAAA,CAAI,CAAC,QAAQ,KAAA,KAAU;AACxC,IAAA,uBACE,GAAA;AAAA,MAAC,qBAAA;AAAA,MAAA;AAAA,QAEC;AAAA,OAAA;AAAA,MADK,CAAA,EAAG,MAAA,CAAO,UAAU,CAAA,CAAA,EAAI,KAAK,CAAA;AAAA,KAEpC;AAAA,EAEJ,CAAC,KAAK,EAAC;AAET,EAAA,4BACG,qBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,gBAAA,EAAe,mBAAA;AAAA,QACf,UAAA;AAAA,QACA;AAAA;AAAA,KACF;AAAA,yBACC,cAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,OAAA,EAAA,EAAS,QAAA,EAAA,SAAA,CAAU,MAAA,CAAO,+BAA+B,CAAA,EAAE,CAAA;AAAA,MAC3D,0BAAA,CAA2B,MAAA,KAAW,CAAA,oBACrC,GAAA,CAAC,qBAAA,EAAA,EAAsB,MAAA,EAAQ,EAAE,OAAA,EAAS,IAAA,EAAK,EAAG,gBAAA,EAAgB,IAAA,EAAC,CAAA;AAAA,MAEpE;AAAA,KAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationResultEntry.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React from \"react\";\nimport { Text } from \"@/components/Text\";\nimport { IconCircleCheck, IconCircleMinus } from \"@tabler/icons-react\";\nimport generateValidationTranslation from \"@/components/PasswordCreationField/lib/generateValidationTranslation\";\nimport locales from \"./../../locales/*.locale.json\";\nimport styles from \"./ValidationResultEntry.module.scss\";\nimport type { RuleValidationResult } from \"@/integrations/@mittwald/password-tools-js\";\nimport { useLocalizedContextStringFormatter } from \"@/components/TranslationProvider/useLocalizedContextStringFormatter\";\n\ninterface Props {\n result: Partial<RuleValidationResult>;\n unspecifiedRules?: boolean;\n}\n\n/** @internal */\nexport const ValidationResultEntry: FC<Props> = (props) => {\n const { result, unspecifiedRules = false } = props;\n const translate = useLocalizedContextStringFormatter(locales);\n\n const icon = result.isValid ? (\n <IconCircleCheck color=\"green\" />\n ) : (\n <IconCircleMinus color=\"red\" />\n );\n\n let [translationKey, translationValues] = generateValidationTranslation(\n result,\n true,\n );\n\n if (unspecifiedRules) {\n translationKey = `${translationKey}.unspecified`;\n translationValues = {};\n }\n\n return (\n <Text\n className={styles.validationResultEntry}\n data-rule={result.ruleType}\n data-rule-valid={result.isValid}\n key={translationKey}\n >\n {icon}\n {translate.format(translationKey, translationValues)}\n </Text>\n );\n};\n\nexport default ValidationResultEntry;\n"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ValidationResultEntry.mjs","sources":["../../../../../../../../src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React from \"react\";\nimport { Text } from \"@/components/Text\";\nimport { IconCircleCheck, IconCircleMinus } from \"@tabler/icons-react\";\nimport generateValidationTranslation from \"@/components/PasswordCreationField/lib/generateValidationTranslation\";\nimport locales from \"./../../locales/*.locale.json\";\nimport styles from \"./ValidationResultEntry.module.scss\";\nimport type { RuleValidationResult } from \"@/integrations/@mittwald/password-tools-js\";\nimport { useLocalizedContextStringFormatter } from \"@/components/TranslationProvider/useLocalizedContextStringFormatter\";\n\ninterface Props {\n result: Partial<RuleValidationResult>;\n unspecifiedRules?: boolean;\n}\n\n/** @internal */\nexport const ValidationResultEntry: FC<Props> = (props) => {\n const { result, unspecifiedRules = false } = props;\n const translate = useLocalizedContextStringFormatter(locales);\n\n const icon = result.isValid ? (\n <IconCircleCheck color=\"green\" />\n ) : (\n <IconCircleMinus color=\"red\" />\n );\n\n let [translationKey, translationValues] = generateValidationTranslation(\n result,\n true,\n );\n\n if (unspecifiedRules) {\n translationKey = `${translationKey}.unspecified`;\n translationValues = {};\n }\n\n return (\n <Text\n className={styles.validationResultEntry}\n data-rule={result.ruleType}\n data-rule-valid={result.isValid}\n key={translationKey}\n >\n {icon}\n {translate.format(translationKey, translationValues)}\n </Text>\n );\n};\n\nexport default ValidationResultEntry;\n"],"names":[],"mappings":";;;;;;;;;AAgBO,MAAM,qBAAA,GAAmC,CAAC,KAAA,KAAU;AACzD,EAAA,MAAM,EAAE,MAAA,EAAQ,gBAAA,GAAmB,KAAA,EAAM,GAAI,KAAA;AAC7C,EAAA,MAAM,SAAA,GAAY,mCAAmC,OAAO,CAAA;AAE5D,EAAA,MAAM,IAAA,GAAO,MAAA,CAAO,OAAA,mBAClB,GAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAM,OAAA,EAAQ,CAAA,mBAE/B,GAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAM,KAAA,EAAM,CAAA;AAG/B,EAAA,IAAI,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,6BAAA;AAAA,IACxC,MAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,IAAI,gBAAA,EAAkB;AACpB,IAAA,cAAA,GAAiB,GAAG,cAAc,CAAA,YAAA,CAAA;AAClC,IAAA,iBAAA,GAAoB,EAAC;AAAA,EACvB;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAW,MAAA,CAAO,qBAAA;AAAA,MAClB,aAAW,MAAA,CAAO,QAAA;AAAA,MAClB,mBAAiB,MAAA,CAAO,OAAA;AAAA,MAGvB,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,QACA,SAAA,CAAU,MAAA,CAAO,cAAA,EAAgB,iBAAiB;AAAA;AAAA,KAAA;AAAA,IAH9C;AAAA,GAIP;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateValidationTranslation.mjs","sources":["../../../../../../../src/components/PasswordCreationField/lib/generateValidationTranslation.ts"],"sourcesContent":["import {\n RuleType,\n type RuleValidationResult,\n} from \"@/integrations/@mittwald/password-tools-js\";\n\nconst generateTranslationString = (\n rule: Partial<RuleValidationResult> & { translationKey?: string },\n shortVersion = false,\n): string => {\n if (rule.translationKey) {\n return `validation.${rule.translationKey}`;\n }\n const translateString = `validation.${rule.ruleType ?? \"general\"}`;\n let finalTranslationString = \"\";\n\n if (\n (\"min\" in rule && rule.min !== undefined) ||\n (\"max\" in rule && rule.max !== undefined)\n ) {\n const breakingBoundaryProperty = rule.failingBoundary\n ? rule.failingBoundary\n : rule.min\n ? \"min\"\n : \"max\";\n\n if (rule.identifier) {\n finalTranslationString = `${translateString}.${rule.identifier}.${breakingBoundaryProperty}`;\n } else {\n finalTranslationString = `${translateString}.${breakingBoundaryProperty}`;\n }\n } else if (rule.identifier) {\n finalTranslationString = `${translateString}.${rule.identifier}`;\n } else {\n finalTranslationString = translateString;\n }\n\n return shortVersion\n ? `${finalTranslationString}.short`\n : finalTranslationString;\n};\n\nexport const generateValidationTranslation = (\n r: Partial<RuleValidationResult>,\n shotVersion = false,\n): [string, Record<string, string | number | boolean> | undefined] => {\n const translationKey = generateTranslationString(r, shotVersion);\n\n if (r.ruleType === RuleType.char && r.chars) {\n return [\n translationKey,\n { ...r, chars: r.chars.map((c) => c.char).join(\"\") },\n ];\n }\n\n return [\n translationKey,\n r as unknown as Record<string, string | number | boolean> | undefined,\n ];\n};\n\nexport default generateValidationTranslation;\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,
|
|
1
|
+
{"version":3,"file":"generateValidationTranslation.mjs","sources":["../../../../../../../src/components/PasswordCreationField/lib/generateValidationTranslation.ts"],"sourcesContent":["import {\n RuleType,\n type RuleValidationResult,\n} from \"@/integrations/@mittwald/password-tools-js\";\n\nconst generateTranslationString = (\n rule: Partial<RuleValidationResult> & { translationKey?: string },\n shortVersion = false,\n): string => {\n if (rule.translationKey) {\n return `validation.${rule.translationKey}`;\n }\n const translateString = `validation.${rule.ruleType ?? \"general\"}`;\n let finalTranslationString = \"\";\n\n if (\n (\"min\" in rule && rule.min !== undefined) ||\n (\"max\" in rule && rule.max !== undefined)\n ) {\n const breakingBoundaryProperty = rule.failingBoundary\n ? rule.failingBoundary\n : rule.min\n ? \"min\"\n : \"max\";\n\n if (rule.identifier) {\n finalTranslationString = `${translateString}.${rule.identifier}.${breakingBoundaryProperty}`;\n } else {\n finalTranslationString = `${translateString}.${breakingBoundaryProperty}`;\n }\n } else if (rule.identifier) {\n finalTranslationString = `${translateString}.${rule.identifier}`;\n } else {\n finalTranslationString = translateString;\n }\n\n return shortVersion\n ? `${finalTranslationString}.short`\n : finalTranslationString;\n};\n\nexport const generateValidationTranslation = (\n r: Partial<RuleValidationResult>,\n shotVersion = false,\n): [string, Record<string, string | number | boolean> | undefined] => {\n const translationKey = generateTranslationString(r, shotVersion);\n\n if (r.ruleType === RuleType.char && r.chars) {\n return [\n translationKey,\n { ...r, chars: r.chars.map((c) => c.char).join(\"\") },\n ];\n }\n\n return [\n translationKey,\n r as unknown as Record<string, string | number | boolean> | undefined,\n ];\n};\n\nexport default generateValidationTranslation;\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,yBAAA,GAA4B,CAChC,IAAA,EACA,YAAA,GAAe,KAAA,KACJ;AACX,EAAA,IAAI,KAAK,cAAA,EAAgB;AACvB,IAAA,OAAO,CAAA,WAAA,EAAc,KAAK,cAAc,CAAA,CAAA;AAAA,EAC1C;AACA,EAAA,MAAM,eAAA,GAAkB,CAAA,WAAA,EAAc,IAAA,CAAK,QAAA,IAAY,SAAS,CAAA,CAAA;AAChE,EAAA,IAAI,sBAAA,GAAyB,EAAA;AAE7B,EAAA,IACG,KAAA,IAAS,QAAQ,IAAA,CAAK,GAAA,KAAQ,UAC9B,KAAA,IAAS,IAAA,IAAQ,IAAA,CAAK,GAAA,KAAQ,MAAA,EAC/B;AACA,IAAA,MAAM,2BAA2B,IAAA,CAAK,eAAA,GAClC,KAAK,eAAA,GACL,IAAA,CAAK,MACH,KAAA,GACA,KAAA;AAEN,IAAA,IAAI,KAAK,UAAA,EAAY;AACnB,MAAA,sBAAA,GAAyB,GAAG,eAAe,CAAA,CAAA,EAAI,IAAA,CAAK,UAAU,IAAI,wBAAwB,CAAA,CAAA;AAAA,IAC5F,CAAA,MAAO;AACL,MAAA,sBAAA,GAAyB,CAAA,EAAG,eAAe,CAAA,CAAA,EAAI,wBAAwB,CAAA,CAAA;AAAA,IACzE;AAAA,EACF,CAAA,MAAA,IAAW,KAAK,UAAA,EAAY;AAC1B,IAAA,sBAAA,GAAyB,CAAA,EAAG,eAAe,CAAA,CAAA,EAAI,IAAA,CAAK,UAAU,CAAA,CAAA;AAAA,EAChE,CAAA,MAAO;AACL,IAAA,sBAAA,GAAyB,eAAA;AAAA,EAC3B;AAEA,EAAA,OAAO,YAAA,GACH,CAAA,EAAG,sBAAsB,CAAA,MAAA,CAAA,GACzB,sBAAA;AACN,CAAA;AAEO,MAAM,6BAAA,GAAgC,CAC3C,CAAA,EACA,WAAA,GAAc,KAAA,KACsD;AACpE,EAAA,MAAM,cAAA,GAAiB,yBAAA,CAA0B,CAAA,EAAG,WAAW,CAAA;AAE/D,EAAA,IAAI,CAAA,CAAE,QAAA,KAAa,QAAA,CAAS,IAAA,IAAQ,EAAE,KAAA,EAAO;AAC3C,IAAA,OAAO;AAAA,MACL,cAAA;AAAA,MACA,EAAE,GAAG,CAAA,EAAG,KAAA,EAAO,EAAE,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,IAAI,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAAE,KACrD;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStateFromLatestPolicyValidationResult.mjs","sources":["../../../../../../../src/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult.ts"],"sourcesContent":["import { type RuleValidationResult } from \"@/integrations/@mittwald/password-tools-js\";\nimport type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\n\nexport type StateFromLatestPolicyValidationResult =\n | undefined\n | Partial<RuleValidationResult>;\n\n/** @internal */\nexport const getStateFromLatestPolicyValidationResult = (\n isEmptyValue: boolean,\n result: ResolvedPolicyValidationResult,\n): StateFromLatestPolicyValidationResult => {\n if (result.ruleResults.length >= 1) {\n const failingRule = result.ruleResults.find((r) => !r.isValid);\n if (failingRule) {\n return failingRule;\n }\n }\n\n if (result.isValid === \"indeterminate\") {\n return undefined;\n }\n\n if (!isEmptyValue) {\n if (result.complexity.actual < result.complexity.min) {\n return {\n isValid: false,\n identifier: \"failingComplexity\",\n };\n }\n\n if (result.complexity.actual === result.complexity.min) {\n return {\n isValid: result.isValid,\n identifier: \"optimizeComplexity\",\n };\n }\n }\n\n return {\n isValid: true,\n identifier: \"securePassword\",\n };\n};\n\nexport default getStateFromLatestPolicyValidationResult;\n"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"getStateFromLatestPolicyValidationResult.mjs","sources":["../../../../../../../src/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult.ts"],"sourcesContent":["import { type RuleValidationResult } from \"@/integrations/@mittwald/password-tools-js\";\nimport type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\n\nexport type StateFromLatestPolicyValidationResult =\n | undefined\n | Partial<RuleValidationResult>;\n\n/** @internal */\nexport const getStateFromLatestPolicyValidationResult = (\n isEmptyValue: boolean,\n result: ResolvedPolicyValidationResult,\n): StateFromLatestPolicyValidationResult => {\n if (result.ruleResults.length >= 1) {\n const failingRule = result.ruleResults.find((r) => !r.isValid);\n if (failingRule) {\n return failingRule;\n }\n }\n\n if (result.isValid === \"indeterminate\") {\n return undefined;\n }\n\n if (!isEmptyValue) {\n if (result.complexity.actual < result.complexity.min) {\n return {\n isValid: false,\n identifier: \"failingComplexity\",\n };\n }\n\n if (result.complexity.actual === result.complexity.min) {\n return {\n isValid: result.isValid,\n identifier: \"optimizeComplexity\",\n };\n }\n }\n\n return {\n isValid: true,\n identifier: \"securePassword\",\n };\n};\n\nexport default getStateFromLatestPolicyValidationResult;\n"],"names":[],"mappings":";;;;;;AAQO,MAAM,wCAAA,GAA2C,CACtD,YAAA,EACA,MAAA,KAC0C;AAC1C,EAAA,IAAI,MAAA,CAAO,WAAA,CAAY,MAAA,IAAU,CAAA,EAAG;AAClC,IAAA,MAAM,WAAA,GAAc,OAAO,WAAA,CAAY,IAAA,CAAK,CAAC,CAAA,KAAM,CAAC,EAAE,OAAO,CAAA;AAC7D,IAAA,IAAI,WAAA,EAAa;AACf,MAAA,OAAO,WAAA;AAAA,IACT;AAAA,EACF;AAEA,EAAA,IAAI,MAAA,CAAO,YAAY,eAAA,EAAiB;AACtC,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,IAAI,MAAA,CAAO,UAAA,CAAW,MAAA,GAAS,MAAA,CAAO,WAAW,GAAA,EAAK;AACpD,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,KAAA;AAAA,QACT,UAAA,EAAY;AAAA,OACd;AAAA,IACF;AAEA,IAAA,IAAI,MAAA,CAAO,UAAA,CAAW,MAAA,KAAW,MAAA,CAAO,WAAW,GAAA,EAAK;AACtD,MAAA,OAAO;AAAA,QACL,SAAS,MAAA,CAAO,OAAA;AAAA,QAChB,UAAA,EAAY;AAAA,OACd;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,IAAA;AAAA,IACT,UAAA,EAAY;AAAA,GACd;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStatusFromPolicyValidationResult.mjs","sources":["../../../../../../../src/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult.ts"],"sourcesContent":["import type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\nimport type { ComplexityStatus } from \"@/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator\";\n\nexport const getStatusFromPolicyValidationResult = (\n isValid: ResolvedPolicyValidationResult[\"isValid\"],\n result: ResolvedPolicyValidationResult,\n): ComplexityStatus => {\n if (isValid === true) {\n if (\n result.complexity &&\n result.complexity.actual === result.complexity.min &&\n result.complexity.min !== 4\n ) {\n return \"warning\";\n }\n\n return \"success\";\n } else if (isValid === \"indeterminate\") {\n return \"indeterminate\";\n }\n\n return \"danger\";\n};\n\nexport default getStatusFromPolicyValidationResult;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getStatusFromPolicyValidationResult.mjs","sources":["../../../../../../../src/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult.ts"],"sourcesContent":["import type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\nimport type { ComplexityStatus } from \"@/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator\";\n\nexport const getStatusFromPolicyValidationResult = (\n isValid: ResolvedPolicyValidationResult[\"isValid\"],\n result: ResolvedPolicyValidationResult,\n): ComplexityStatus => {\n if (isValid === true) {\n if (\n result.complexity &&\n result.complexity.actual === result.complexity.min &&\n result.complexity.min !== 4\n ) {\n return \"warning\";\n }\n\n return \"success\";\n } else if (isValid === \"indeterminate\") {\n return \"indeterminate\";\n }\n\n return \"danger\";\n};\n\nexport default getStatusFromPolicyValidationResult;\n"],"names":[],"mappings":"AAGO,MAAM,mCAAA,GAAsC,CACjD,OAAA,EACA,MAAA,KACqB;AACrB,EAAA,IAAI,YAAY,IAAA,EAAM;AACpB,IAAA,IACE,MAAA,CAAO,UAAA,IACP,MAAA,CAAO,UAAA,CAAW,MAAA,KAAW,MAAA,CAAO,UAAA,CAAW,GAAA,IAC/C,MAAA,CAAO,UAAA,CAAW,GAAA,KAAQ,CAAA,EAC1B;AACA,MAAA,OAAO,SAAA;AAAA,IACT;AAEA,IAAA,OAAO,SAAA;AAAA,EACT,CAAA,MAAA,IAAW,YAAY,eAAA,EAAiB;AACtC,IAAA,OAAO,eAAA;AAAA,EACT;AAEA,EAAA,OAAO,QAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePolicyValidationResult.mjs","sources":["../../../../../../../src/components/PasswordCreationField/lib/usePolicyValidationResult.ts"],"sourcesContent":["import { startTransition, useEffect } from \"react\";\nimport type { PolicyValidationResult } from \"@/integrations/@mittwald/password-tools-js\";\nimport { isPromise } from \"remeda\";\nimport type { Policy } from \"@/integrations/@mittwald/password-tools-js\";\nimport type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\n\nexport const usePolicyValidationResult = (\n validationPolicy: Policy,\n password: string,\n onValidationStart?: () => void,\n onValidationResult?: (data: {\n password: string;\n isValid: boolean;\n results: ResolvedPolicyValidationResult;\n }) => void,\n) => {\n useEffect(() => {\n onValidationStart?.();\n validationPolicy.validate(password).then((validationResult) => {\n const setValidationResult = (\n password: string,\n policyValidationResult: PolicyValidationResult,\n ) => {\n const isValid = Boolean(policyValidationResult.isValid);\n onValidationResult?.({\n password,\n isValid,\n results: policyValidationResult as ResolvedPolicyValidationResult,\n });\n };\n\n startTransition(async () => {\n if (!isPromise(validationResult.isValid)) {\n return setValidationResult(password, validationResult);\n }\n\n void Promise.all([\n Promise.resolve(password),\n Promise.resolve(validationResult),\n ...validationResult.ruleResults,\n ]).then(\n ([\n resolvedValue,\n resolvedValidationResult,\n ...resolvedValidationRuleResults\n ]) => {\n startTransition(() => {\n setValidationResult(resolvedValue, {\n complexity: resolvedValidationResult.complexity,\n ruleResults: resolvedValidationRuleResults,\n isValid:\n resolvedValidationResult.isValid &&\n resolvedValidationRuleResults.every((r) => r.isValid),\n });\n });\n },\n );\n });\n });\n }, [password, validationPolicy]);\n};\n"],"names":["password"],"mappings":";;;AAMO,MAAM,
|
|
1
|
+
{"version":3,"file":"usePolicyValidationResult.mjs","sources":["../../../../../../../src/components/PasswordCreationField/lib/usePolicyValidationResult.ts"],"sourcesContent":["import { startTransition, useEffect } from \"react\";\nimport type { PolicyValidationResult } from \"@/integrations/@mittwald/password-tools-js\";\nimport { isPromise } from \"remeda\";\nimport type { Policy } from \"@/integrations/@mittwald/password-tools-js\";\nimport type { ResolvedPolicyValidationResult } from \"@/components/PasswordCreationField/PasswordCreationField\";\n\nexport const usePolicyValidationResult = (\n validationPolicy: Policy,\n password: string,\n onValidationStart?: () => void,\n onValidationResult?: (data: {\n password: string;\n isValid: boolean;\n results: ResolvedPolicyValidationResult;\n }) => void,\n) => {\n useEffect(() => {\n onValidationStart?.();\n validationPolicy.validate(password).then((validationResult) => {\n const setValidationResult = (\n password: string,\n policyValidationResult: PolicyValidationResult,\n ) => {\n const isValid = Boolean(policyValidationResult.isValid);\n onValidationResult?.({\n password,\n isValid,\n results: policyValidationResult as ResolvedPolicyValidationResult,\n });\n };\n\n startTransition(async () => {\n if (!isPromise(validationResult.isValid)) {\n return setValidationResult(password, validationResult);\n }\n\n void Promise.all([\n Promise.resolve(password),\n Promise.resolve(validationResult),\n ...validationResult.ruleResults,\n ]).then(\n ([\n resolvedValue,\n resolvedValidationResult,\n ...resolvedValidationRuleResults\n ]) => {\n startTransition(() => {\n setValidationResult(resolvedValue, {\n complexity: resolvedValidationResult.complexity,\n ruleResults: resolvedValidationRuleResults,\n isValid:\n resolvedValidationResult.isValid &&\n resolvedValidationRuleResults.every((r) => r.isValid),\n });\n });\n },\n );\n });\n });\n }, [password, validationPolicy]);\n};\n"],"names":["password"],"mappings":";;;AAMO,MAAM,yBAAA,GAA4B,CACvC,gBAAA,EACA,QAAA,EACA,mBACA,kBAAA,KAKG;AACH,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,iBAAA,IAAoB;AACpB,IAAA,gBAAA,CAAiB,QAAA,CAAS,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,gBAAA,KAAqB;AAC7D,MAAA,MAAM,mBAAA,GAAsB,CAC1BA,SAAAA,EACA,sBAAA,KACG;AACH,QAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,sBAAA,CAAuB,OAAO,CAAA;AACtD,QAAA,kBAAA,GAAqB;AAAA,UACnB,QAAA,EAAAA,SAAAA;AAAA,UACA,OAAA;AAAA,UACA,OAAA,EAAS;AAAA,SACV,CAAA;AAAA,MACH,CAAA;AAEA,MAAA,eAAA,CAAgB,YAAY;AAC1B,QAAA,IAAI,CAAC,SAAA,CAAU,gBAAA,CAAiB,OAAO,CAAA,EAAG;AACxC,UAAA,OAAO,mBAAA,CAAoB,UAAU,gBAAgB,CAAA;AAAA,QACvD;AAEA,QAAA,KAAK,QAAQ,GAAA,CAAI;AAAA,UACf,OAAA,CAAQ,QAAQ,QAAQ,CAAA;AAAA,UACxB,OAAA,CAAQ,QAAQ,gBAAgB,CAAA;AAAA,UAChC,GAAG,gBAAA,CAAiB;AAAA,SACrB,CAAA,CAAE,IAAA;AAAA,UACD,CAAC;AAAA,YACC,aAAA;AAAA,YACA,wBAAA;AAAA,YACG,GAAA;AAAA,WACL,KAAM;AACJ,YAAA,eAAA,CAAgB,MAAM;AACpB,cAAA,mBAAA,CAAoB,aAAA,EAAe;AAAA,gBACjC,YAAY,wBAAA,CAAyB,UAAA;AAAA,gBACrC,WAAA,EAAa,6BAAA;AAAA,gBACb,OAAA,EACE,yBAAyB,OAAA,IACzB,6BAAA,CAA8B,MAAM,CAAC,CAAA,KAAM,EAAE,OAAO;AAAA,eACvD,CAAA;AAAA,YACH,CAAC,CAAA;AAAA,UACH;AAAA,SACF;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,QAAA,EAAU,gBAAgB,CAAC,CAAA;AACjC;;;;"}
|
package/dist/js/components/src/components/PasswordCreationField/worker/generatePassword.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatePassword.mjs","sources":["../../../../../../../src/components/PasswordCreationField/worker/generatePassword.ts"],"sourcesContent":["import {\n Generator,\n type Policy,\n} from \"@/integrations/@mittwald/password-tools-js\";\n\nexport const generatePassword = async (\n validationPolicy: Policy,\n): Promise<string> => {\n return new Generator(validationPolicy).generatePassword();\n};\n"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"generatePassword.mjs","sources":["../../../../../../../src/components/PasswordCreationField/worker/generatePassword.ts"],"sourcesContent":["import {\n Generator,\n type Policy,\n} from \"@/integrations/@mittwald/password-tools-js\";\n\nexport const generatePassword = async (\n validationPolicy: Policy,\n): Promise<string> => {\n return new Generator(validationPolicy).generatePassword();\n};\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,gBAAA,GAAmB,OAC9B,gBAAA,KACoB;AACpB,EAAA,OAAO,IAAI,SAAA,CAAU,gBAAgB,CAAA,CAAE,gBAAA,EAAiB;AAC1D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.mjs","sources":["../../../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport type * as Aria from \"react-aria-components\";\nimport clsx from \"clsx\";\nimport { type OverlayController, useOverlayController } from \"@/lib/controller\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport OverlayContextProvider from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport styles from \"./Popover.module.scss\";\nimport PopoverContentView from \"@/views/PopoverContentView\";\nimport ClearPropsContextView from \"@/views/ClearPropsContextView\";\n\nexport interface PopoverProps\n extends PropsWithChildren<Omit<Aria.PopoverProps, \"children\">>,\n FlowComponentProps {\n /**\n * Whether the popover should display a tip, pointing towards the trigger\n * element.\n */\n withTip?: boolean;\n /** Whether the popover contains a dialog. */\n isDialogContent?: boolean;\n /** An overlay controller to control the popover state. */\n controller?: OverlayController;\n /** A fixed width for the popover. */\n width?: string | number;\n}\n\nexport const Popover = flowComponent(\"Popover\", (props) => {\n const {\n children,\n className,\n controller: controllerFromProps,\n defaultOpen = false,\n ref,\n ...contentProps\n } = props;\n\n const controllerFromContext = useOverlayController(\"Popover\", {\n reuseControllerFromContext: true,\n isDefaultOpen: defaultOpen,\n });\n\n const controller = controllerFromProps ?? controllerFromContext;\n const isOpen = controller.useIsOpen();\n\n const rootClassName = clsx(styles.popover, className);\n\n return (\n <ClearPropsContextView>\n <PopoverContentView\n {...contentProps}\n className={rootClassName}\n isOpen={isOpen}\n onOpenChange={(isOpen) => controller.setOpen(isOpen)}\n ref={ref}\n >\n <OverlayContextProvider type=\"Popover\" controller={controller}>\n {children}\n </OverlayContextProvider>\n </PopoverContentView>\n </ClearPropsContextView>\n );\n});\n\nexport default Popover;\n"],"names":["isOpen"],"mappings":";;;;;;;;;;;AA6BO,MAAM,
|
|
1
|
+
{"version":3,"file":"Popover.mjs","sources":["../../../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport type * as Aria from \"react-aria-components\";\nimport clsx from \"clsx\";\nimport { type OverlayController, useOverlayController } from \"@/lib/controller\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport OverlayContextProvider from \"@/lib/controller/overlay/OverlayContextProvider\";\nimport styles from \"./Popover.module.scss\";\nimport PopoverContentView from \"@/views/PopoverContentView\";\nimport ClearPropsContextView from \"@/views/ClearPropsContextView\";\n\nexport interface PopoverProps\n extends PropsWithChildren<Omit<Aria.PopoverProps, \"children\">>,\n FlowComponentProps {\n /**\n * Whether the popover should display a tip, pointing towards the trigger\n * element.\n */\n withTip?: boolean;\n /** Whether the popover contains a dialog. */\n isDialogContent?: boolean;\n /** An overlay controller to control the popover state. */\n controller?: OverlayController;\n /** A fixed width for the popover. */\n width?: string | number;\n}\n\nexport const Popover = flowComponent(\"Popover\", (props) => {\n const {\n children,\n className,\n controller: controllerFromProps,\n defaultOpen = false,\n ref,\n ...contentProps\n } = props;\n\n const controllerFromContext = useOverlayController(\"Popover\", {\n reuseControllerFromContext: true,\n isDefaultOpen: defaultOpen,\n });\n\n const controller = controllerFromProps ?? controllerFromContext;\n const isOpen = controller.useIsOpen();\n\n const rootClassName = clsx(styles.popover, className);\n\n return (\n <ClearPropsContextView>\n <PopoverContentView\n {...contentProps}\n className={rootClassName}\n isOpen={isOpen}\n onOpenChange={(isOpen) => controller.setOpen(isOpen)}\n ref={ref}\n >\n <OverlayContextProvider type=\"Popover\" controller={controller}>\n {children}\n </OverlayContextProvider>\n </PopoverContentView>\n </ClearPropsContextView>\n );\n});\n\nexport default Popover;\n"],"names":["isOpen"],"mappings":";;;;;;;;;;;AA6BO,MAAM,OAAA,GAAU,aAAA,CAAc,SAAA,EAAW,CAAC,KAAA,KAAU;AACzD,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA,EAAY,mBAAA;AAAA,IACZ,WAAA,GAAc,KAAA;AAAA,IACd,GAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,qBAAA,GAAwB,qBAAqB,SAAA,EAAW;AAAA,IAC5D,0BAAA,EAA4B,IAAA;AAAA,IAC5B,aAAA,EAAe;AAAA,GAChB,CAAA;AAED,EAAA,MAAM,aAAa,mBAAA,IAAuB,qBAAA;AAC1C,EAAA,MAAM,MAAA,GAAS,WAAW,SAAA,EAAU;AAEpC,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,OAAA,EAAS,SAAS,CAAA;AAEpD,EAAA,2BACG,qBAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACE,GAAG,YAAA;AAAA,MACJ,SAAA,EAAW,aAAA;AAAA,MACX,MAAA;AAAA,MACA,YAAA,EAAc,CAACA,OAAAA,KAAW,UAAA,CAAW,QAAQA,OAAM,CAAA;AAAA,MACnD,GAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,sBAAA,EAAA,EAAuB,IAAA,EAAK,SAAA,EAAU,YACpC,QAAA,EACH;AAAA;AAAA,GACF,EACF,CAAA;AAEJ,CAAC;;;;"}
|
package/dist/js/components/src/components/Popover/components/PopoverContent/PopoverContent.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverContent.mjs","sources":["../../../../../../../../src/components/Popover/components/PopoverContent/PopoverContent.tsx"],"sourcesContent":["import type { FC, PropsWithChildren, Ref, RefObject } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport styles from \"../../Popover.module.scss\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\n\nexport interface PopoverContentProps\n extends PropsWithChildren,\n PropsWithClassName {\n withTip?: boolean;\n isDialogContent?: boolean;\n isOpen?: boolean;\n width?: string | number;\n onOpenChange: (isOpen: boolean) => void;\n ref?: Ref<HTMLElement>;\n triggerRef?: RefObject<Element | null>;\n}\n\n/** @flr-generate all */\nexport const PopoverContent: FC<PopoverContentProps> = (props) => {\n const {\n children,\n className,\n isDialogContent = false,\n withTip,\n onOpenChange,\n ref,\n isOpen,\n width,\n ...rest\n } = props;\n\n const ContentComponent = isDialogContent ? Aria.Dialog : \"div\";\n\n return (\n <Aria.Popover\n {...rest}\n className={className}\n containerPadding={16}\n ref={ref}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n style={{ width }}\n >\n {withTip && (\n <Aria.OverlayArrow className={styles.tip}>\n <svg width={16} height={16} viewBox=\"0 0 16 16\">\n <path d=\"M0 0 L8 8 L16 0\" />\n </svg>\n </Aria.OverlayArrow>\n )}\n <ContentComponent className={styles.content}>{children}</ContentComponent>\n </Aria.Popover>\n );\n};\n\nexport default PopoverContent;\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"PopoverContent.mjs","sources":["../../../../../../../../src/components/Popover/components/PopoverContent/PopoverContent.tsx"],"sourcesContent":["import type { FC, PropsWithChildren, Ref, RefObject } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport styles from \"../../Popover.module.scss\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\n\nexport interface PopoverContentProps\n extends PropsWithChildren,\n PropsWithClassName {\n withTip?: boolean;\n isDialogContent?: boolean;\n isOpen?: boolean;\n width?: string | number;\n onOpenChange: (isOpen: boolean) => void;\n ref?: Ref<HTMLElement>;\n triggerRef?: RefObject<Element | null>;\n}\n\n/** @flr-generate all */\nexport const PopoverContent: FC<PopoverContentProps> = (props) => {\n const {\n children,\n className,\n isDialogContent = false,\n withTip,\n onOpenChange,\n ref,\n isOpen,\n width,\n ...rest\n } = props;\n\n const ContentComponent = isDialogContent ? Aria.Dialog : \"div\";\n\n return (\n <Aria.Popover\n {...rest}\n className={className}\n containerPadding={16}\n ref={ref}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n style={{ width }}\n >\n {withTip && (\n <Aria.OverlayArrow className={styles.tip}>\n <svg width={16} height={16} viewBox=\"0 0 16 16\">\n <path d=\"M0 0 L8 8 L16 0\" />\n </svg>\n </Aria.OverlayArrow>\n )}\n <ContentComponent className={styles.content}>{children}</ContentComponent>\n </Aria.Popover>\n );\n};\n\nexport default PopoverContent;\n"],"names":[],"mappings":";;;;AAkBO,MAAM,cAAA,GAA0C,CAAC,KAAA,KAAU;AAChE,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,eAAA,GAAkB,KAAA;AAAA,IAClB,OAAA;AAAA,IACA,YAAA;AAAA,IACA,GAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,gBAAA,GAAmB,eAAA,GAAkB,IAAA,CAAK,MAAA,GAAS,KAAA;AAEzD,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA,CAAK,OAAA;AAAA,IAAL;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA;AAAA,MACA,gBAAA,EAAkB,EAAA;AAAA,MAClB,GAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,KAAA,EAAO,EAAE,KAAA,EAAM;AAAA,MAEd,QAAA,EAAA;AAAA,QAAA,OAAA,oBACC,GAAA,CAAC,KAAK,YAAA,EAAL,EAAkB,WAAW,MAAA,CAAO,GAAA,EACnC,8BAAC,KAAA,EAAA,EAAI,KAAA,EAAO,IAAI,MAAA,EAAQ,EAAA,EAAI,SAAQ,WAAA,EAClC,QAAA,kBAAA,GAAA,CAAC,UAAK,CAAA,EAAE,iBAAA,EAAkB,GAC5B,CAAA,EACF,CAAA;AAAA,wBAEF,GAAA,CAAC,gBAAA,EAAA,EAAiB,SAAA,EAAW,MAAA,CAAO,SAAU,QAAA,EAAS;AAAA;AAAA;AAAA,GACzD;AAEJ;;;;"}
|