@contractspec/lib.design-system 3.10.0 → 3.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +116 -5
- package/dist/browser/components/agent/AgentMonitor.js +1 -0
- package/dist/browser/components/agent/ApprovalQueue.js +1 -0
- package/dist/browser/components/agent/ApprovalQueue.mobile.js +1 -0
- package/dist/browser/components/atoms/ActionButtons.js +1 -0
- package/dist/browser/components/atoms/Button.js +1 -0
- package/dist/browser/components/atoms/Button.mobile.js +1 -0
- package/dist/browser/components/atoms/ButtonLink.js +1 -0
- package/dist/browser/components/atoms/ButtonLink.mobile.js +1 -0
- package/dist/browser/components/atoms/Cta.js +1 -0
- package/dist/browser/components/atoms/Cta.mobile.js +1 -0
- package/dist/browser/components/atoms/DataChips.js +1 -0
- package/dist/browser/components/atoms/EmptyState.js +1 -0
- package/dist/browser/components/atoms/ErrorState.js +1 -0
- package/dist/browser/components/atoms/ErrorState.mobile.js +1 -0
- package/dist/browser/components/atoms/Input.js +1 -0
- package/dist/browser/components/atoms/Input.mobile.js +1 -0
- package/dist/browser/components/atoms/Link.js +1 -0
- package/dist/browser/components/atoms/Link.web.js +1 -0
- package/dist/browser/components/atoms/LoaderCircular.js +1 -0
- package/dist/browser/components/atoms/LoaderCircular.mobile.js +1 -0
- package/dist/browser/components/atoms/NavBrand.js +1 -0
- package/dist/browser/components/atoms/RankBadge.js +1 -0
- package/dist/browser/components/atoms/ScoreBar.js +1 -0
- package/dist/browser/components/atoms/Stepper.js +1 -0
- package/dist/browser/components/atoms/Textarea.js +1 -0
- package/dist/browser/components/atoms/Textarea.mobile.js +1 -0
- package/dist/browser/components/data-table/DataTable.js +1 -0
- package/dist/browser/components/data-table/DataTable.mobile.js +1 -0
- package/dist/browser/components/data-table/DataTableToolbar.js +1 -0
- package/dist/browser/components/data-table/DataTableToolbar.mobile.js +1 -0
- package/dist/browser/components/data-table/DataTableToolbar.shared.js +1 -0
- package/dist/browser/components/data-view/DataViewDetail.js +1 -0
- package/dist/browser/components/data-view/DataViewList.js +1 -0
- package/dist/browser/components/data-view/DataViewRenderer.js +1 -0
- package/dist/browser/components/data-view/DataViewRenderer.mobile.js +1 -0
- package/dist/browser/components/data-view/DataViewTable.js +1 -0
- package/dist/browser/components/data-view/DataViewTable.mobile.js +1 -0
- package/dist/browser/components/data-view/utils.js +1 -0
- package/dist/browser/components/forms/ActionForm.js +1 -0
- package/dist/browser/components/forms/FormCardLayout.js +1 -0
- package/dist/browser/components/forms/FormDialog.js +1 -0
- package/dist/browser/components/forms/FormLayout.js +1 -0
- package/dist/browser/components/forms/FormOneByOneLayout.js +1 -0
- package/dist/browser/components/forms/FormStepsLayout.js +1 -0
- package/dist/browser/components/forms/ZodForm.js +1 -0
- package/dist/browser/components/forms/controls/Autocomplete.js +1 -0
- package/dist/browser/components/forms/controls/Autocomplete.mobile.js +1 -0
- package/dist/browser/components/forms/controls/ChoiceControls.js +1 -0
- package/dist/browser/components/forms/controls/ChoiceControls.mobile.js +1 -0
- package/dist/browser/components/forms/controls/Combobox.js +1 -0
- package/dist/browser/components/forms/controls/Combobox.mobile.js +1 -0
- package/dist/browser/components/forms/controls/DateTimeControls.js +1 -0
- package/dist/browser/components/forms/controls/DateTimeControls.mobile.js +1 -0
- package/dist/browser/components/forms/controls/DropdownMenu.js +1 -0
- package/dist/browser/components/forms/controls/DropdownMenu.mobile.js +1 -0
- package/dist/browser/components/forms/controls/Field.js +1 -0
- package/dist/browser/components/forms/controls/Field.mobile.js +1 -0
- package/dist/browser/components/forms/controls/InputGroup.js +1 -0
- package/dist/browser/components/forms/controls/InputGroup.mobile.js +1 -0
- package/dist/browser/components/forms/controls/InputOTP.js +1 -0
- package/dist/browser/components/forms/controls/InputOTP.mobile.js +1 -0
- package/dist/browser/components/forms/controls/LoadingButton.js +1 -0
- package/dist/browser/components/forms/controls/LoadingButton.mobile.js +1 -0
- package/dist/browser/components/forms/controls/NativeSelect.js +1 -0
- package/dist/browser/components/forms/controls/NativeSelect.mobile.js +1 -0
- package/dist/browser/components/forms/controls/Select.js +1 -0
- package/dist/browser/components/forms/controls/Select.mobile.js +1 -0
- package/dist/browser/components/forms/controls/index.js +1 -0
- package/dist/browser/components/forms/index.js +1 -0
- package/dist/browser/components/layout/Stack.js +1 -0
- package/dist/browser/components/layout/Stack.mobile.js +1 -0
- package/dist/browser/components/layout/index.js +1 -0
- package/dist/browser/components/legal/atoms/DefinitionList.js +1 -0
- package/dist/browser/components/legal/atoms/KeyValueList.js +1 -0
- package/dist/browser/components/legal/atoms/LegalCallout.js +1 -0
- package/dist/browser/components/legal/atoms/LegalHeading.js +1 -0
- package/dist/browser/components/legal/atoms/LegalList.js +1 -0
- package/dist/browser/components/legal/atoms/LegalSection.js +1 -0
- package/dist/browser/components/legal/atoms/LegalText.js +1 -0
- package/dist/browser/components/legal/molecules/Consent.js +1 -0
- package/dist/browser/components/legal/molecules/ContactFields.js +1 -0
- package/dist/browser/components/legal/molecules/LegalMeta.js +1 -0
- package/dist/browser/components/legal/molecules/LegalTOC.js +1 -0
- package/dist/browser/components/legal/organisms/ContactForm.js +1 -0
- package/dist/browser/components/legal/organisms/GDPRDataRequest.js +1 -0
- package/dist/browser/components/legal/organisms/GDPRRights.js +1 -0
- package/dist/browser/components/legal/organisms/LegalPageLayout.js +1 -0
- package/dist/browser/components/legal/templates/ContactTemplate.js +1 -0
- package/dist/browser/components/legal/templates/CookiesTemplate.js +1 -0
- package/dist/browser/components/legal/templates/PrivacyTemplate.js +1 -0
- package/dist/browser/components/legal/templates/SalesTermsTemplate.js +1 -0
- package/dist/browser/components/legal/templates/TermsTemplate.js +1 -0
- package/dist/browser/components/marketing/MarketingCard.js +1 -0
- package/dist/browser/components/marketing/MarketingCardsSection.js +1 -0
- package/dist/browser/components/marketing/MarketingComparisonSection.js +1 -0
- package/dist/browser/components/marketing/MarketingIconCard.js +1 -0
- package/dist/browser/components/marketing/MarketingSection.js +1 -0
- package/dist/browser/components/marketing/MarketingStepCard.js +1 -0
- package/dist/browser/components/molecules/AiLinkButton.js +1 -0
- package/dist/browser/components/molecules/Breadcrumbs.js +1 -0
- package/dist/browser/components/molecules/CodeBlock/CodeBlock.js +1 -0
- package/dist/browser/components/molecules/CodeBlock/index.js +1 -0
- package/dist/browser/components/molecules/CodeBlock/types.js +0 -0
- package/dist/browser/components/molecules/CommandPalette.js +1 -0
- package/dist/browser/components/molecules/CommandSearchTrigger.js +1 -0
- package/dist/browser/components/molecules/CommandTabs/CommandTabs.js +1 -0
- package/dist/browser/components/molecules/CommandTabs/index.js +1 -0
- package/dist/browser/components/molecules/CommandTabs/types.js +0 -0
- package/dist/browser/components/molecules/CopyButton/CopyButton.js +1 -0
- package/dist/browser/components/molecules/CopyButton/index.js +1 -0
- package/dist/browser/components/molecules/CopyButton/types.js +0 -0
- package/dist/browser/components/molecules/DimensionScoresCard.js +1 -0
- package/dist/browser/components/molecules/DropdownMenu.js +0 -0
- package/dist/browser/components/molecules/EntityCard.js +1 -0
- package/dist/browser/components/molecules/FiltersToolbar.js +1 -0
- package/dist/browser/components/molecules/FiltersToolbar.mobile.js +1 -0
- package/dist/browser/components/molecules/HoverPreview.js +1 -0
- package/dist/browser/components/molecules/InstallCommand/InstallCommand.js +1 -0
- package/dist/browser/components/molecules/InstallCommand/index.js +1 -0
- package/dist/browser/components/molecules/InstallCommand/types.js +0 -0
- package/dist/browser/components/molecules/LangSwitch.js +1 -0
- package/dist/browser/components/molecules/LangSwitchDropdown.js +1 -0
- package/dist/browser/components/molecules/LoaderBlock.js +1 -0
- package/dist/browser/components/molecules/LoaderBlock.mobile.js +1 -0
- package/dist/browser/components/molecules/MarkdownRenderer/MarkdownRenderer.js +2 -0
- package/dist/browser/components/molecules/MarkdownRenderer/formatInlineMarkdown.js +1 -0
- package/dist/browser/components/molecules/MarkdownRenderer/index.js +1 -0
- package/dist/browser/components/molecules/MarkdownRenderer/renderMarkdownTable.js +1 -0
- package/dist/browser/components/molecules/MarkdownRenderer/types.js +0 -0
- package/dist/browser/components/molecules/MobileNavMenu.js +1 -0
- package/dist/browser/components/molecules/NavItemCard.js +1 -0
- package/dist/browser/components/molecules/NavMain.js +1 -0
- package/dist/browser/components/molecules/NavUser.js +1 -0
- package/dist/browser/components/molecules/OverviewCard.js +1 -0
- package/dist/browser/components/molecules/SkeletonBlock/index.js +1 -0
- package/dist/browser/components/molecules/SkeletonBlock/index.mobile.js +1 -0
- package/dist/browser/components/molecules/SkeletonBlock/index.web.js +1 -0
- package/dist/browser/components/molecules/SkeletonBlock/types.js +0 -0
- package/dist/browser/components/molecules/SkeletonCircle/index.js +1 -0
- package/dist/browser/components/molecules/SkeletonCircle/index.mobile.js +1 -0
- package/dist/browser/components/molecules/SkeletonCircle/index.web.js +1 -0
- package/dist/browser/components/molecules/SkeletonCircle/types.js +0 -0
- package/dist/browser/components/molecules/SkeletonList/index.js +1 -0
- package/dist/browser/components/molecules/SkeletonList/index.mobile.js +1 -0
- package/dist/browser/components/molecules/SkeletonList/index.web.js +1 -0
- package/dist/browser/components/molecules/SkeletonList/types.js +0 -0
- package/dist/browser/components/molecules/StatCard.js +1 -0
- package/dist/browser/components/molecules/StatusChip.js +1 -0
- package/dist/browser/components/molecules/hover-previews/Doc.js +1 -0
- package/dist/browser/components/molecules/hover-previews/Media.js +1 -0
- package/dist/browser/components/molecules/hover-previews/Simple.js +1 -0
- package/dist/browser/components/molecules/hover-previews/Stats.js +1 -0
- package/dist/browser/components/molecules/hover-previews/User.js +1 -0
- package/dist/browser/components/native/BottomTabs.mobile.js +1 -0
- package/dist/browser/components/native/FlatListScreen.mobile.js +1 -0
- package/dist/browser/components/native/SheetMenu.mobile.js +1 -0
- package/dist/browser/components/organisms/AcademyLayout.js +1 -0
- package/dist/browser/components/organisms/AppHeader.js +1 -0
- package/dist/browser/components/organisms/AppHeader.mobile.js +1 -0
- package/dist/browser/components/organisms/AppLayout.js +1 -0
- package/dist/browser/components/organisms/AppSidebar.js +1 -0
- package/dist/browser/components/organisms/AppSidebar.mobile.js +0 -0
- package/dist/browser/components/organisms/EmptyDataList.js +1 -0
- package/dist/browser/components/organisms/EmptyDataList.mobile.js +1 -0
- package/dist/browser/components/organisms/EmptyDataList.types.js +0 -0
- package/dist/browser/components/organisms/EmptySearchResult.js +1 -0
- package/dist/browser/components/organisms/FAQSection.js +1 -0
- package/dist/browser/components/organisms/FeatureCarousel.js +1 -0
- package/dist/browser/components/organisms/FeaturesSection.js +1 -0
- package/dist/browser/components/organisms/Footer.js +1 -0
- package/dist/browser/components/organisms/GridLayout.js +1 -0
- package/dist/browser/components/organisms/Header.js +1 -0
- package/dist/browser/components/organisms/Header.mobile.js +1 -0
- package/dist/browser/components/organisms/HeroResponsive.js +1 -0
- package/dist/browser/components/organisms/HeroSection.js +1 -0
- package/dist/browser/components/organisms/ListCardPage.js +1 -0
- package/dist/browser/components/organisms/ListGridPage.js +1 -0
- package/dist/browser/components/organisms/ListPageResponsive.js +1 -0
- package/dist/browser/components/organisms/ListTablePage.js +1 -0
- package/dist/browser/components/organisms/ListTablePage.mobile.js +1 -0
- package/dist/browser/components/organisms/MarketingHeader.js +1 -0
- package/dist/browser/components/organisms/MarketingHeaderDesktop.js +1 -0
- package/dist/browser/components/organisms/MarketingHeaderMobile.js +1 -0
- package/dist/browser/components/organisms/MarketingLayout.js +1 -0
- package/dist/browser/components/organisms/ModelComparisonView.js +1 -0
- package/dist/browser/components/organisms/PageHeaderResponsive.js +1 -0
- package/dist/browser/components/organisms/PageHeaderResponsive.mobile.js +1 -0
- package/dist/browser/components/organisms/PricingCarousel.js +1 -0
- package/dist/browser/components/organisms/PricingSection.js +1 -0
- package/dist/browser/components/organisms/TestimonialCarousel.js +1 -0
- package/dist/browser/components/primitives/control.js +1 -0
- package/dist/browser/components/primitives/themed.js +1 -0
- package/dist/browser/components/providers/PackageManagerProvider.js +1 -0
- package/dist/browser/components/templates/lists/ListPageTemplate/index.js +1 -0
- package/dist/browser/components/templates/lists/ListPageTemplate/index.mobile.js +1 -0
- package/dist/browser/components/templates/lists/ListPageTemplate/index.web.js +1 -0
- package/dist/browser/components/templates/lists/ListPageTemplate/types.js +0 -0
- package/dist/browser/components/visualization/ComparisonView.js +1 -0
- package/dist/browser/components/visualization/ComparisonView.mobile.js +1 -0
- package/dist/browser/components/visualization/TimelineView.js +1 -0
- package/dist/browser/components/visualization/TimelineView.mobile.js +1 -0
- package/dist/browser/components/visualization/VisualizationCard.js +1 -0
- package/dist/browser/components/visualization/VisualizationCard.mobile.js +1 -0
- package/dist/browser/components/visualization/VisualizationGrid.js +1 -0
- package/dist/browser/components/visualization/VisualizationGrid.mobile.js +1 -0
- package/dist/browser/components/visualization/VisualizationRenderer.js +1 -0
- package/dist/browser/components/visualization/VisualizationRenderer.mobile.js +1 -0
- package/dist/browser/components/visualization/types.js +0 -0
- package/dist/browser/contracts.typecheck.js +1 -0
- package/dist/browser/design-system.feature.js +1 -0
- package/dist/browser/hooks/useListUrlState.js +1 -0
- package/dist/browser/i18n/translation.js +1 -0
- package/dist/browser/index.js +1 -1
- package/dist/browser/lib/keyboard.js +1 -0
- package/dist/browser/lib/utils.js +1 -0
- package/dist/browser/platform/useColorScheme.js +1 -0
- package/dist/browser/platform/useColorScheme.mobile.js +1 -0
- package/dist/browser/platform/useReducedMotion.js +1 -0
- package/dist/browser/platform/useReducedMotion.mobile.js +1 -0
- package/dist/browser/platform/useResponsive.js +1 -0
- package/dist/browser/platform/useResponsive.mobile.js +1 -0
- package/dist/browser/platform/withPlatformUI.js +1 -0
- package/dist/browser/renderers/form-contract/renderer.js +1 -0
- package/dist/browser/renderers/form-contract/rich-fields.js +1 -0
- package/dist/browser/renderers/form-contract/shell.js +1 -0
- package/dist/browser/renderers/form-contract/values.js +1 -0
- package/dist/browser/renderers/form-contract.js +1 -0
- package/dist/browser/renderers/index.js +1 -0
- package/dist/browser/theme/contracts.js +1 -0
- package/dist/browser/theme/index.js +1 -0
- package/dist/browser/theme/runtime-resolvers.js +1 -0
- package/dist/browser/theme/runtime.js +1 -0
- package/dist/browser/theme/tailwind-config.js +1 -0
- package/dist/browser/theme/tailwind-css.js +9 -0
- package/dist/browser/theme/tailwind-variables.js +1 -0
- package/dist/browser/theme/tailwind.js +1 -0
- package/dist/browser/theme/tokenBridge.js +1 -0
- package/dist/browser/theme/tokens.js +1 -0
- package/dist/browser/theme/variants.js +1 -0
- package/dist/browser/types/nativewind-env.d.js +0 -0
- package/dist/browser/types/navigation.js +0 -0
- package/dist/components/agent/AgentMonitor.js +1 -0
- package/dist/components/agent/ApprovalQueue.js +1 -0
- package/dist/components/agent/ApprovalQueue.mobile.js +1 -0
- package/dist/components/atoms/ActionButtons.js +1 -0
- package/dist/components/atoms/Button.d.ts +3 -2
- package/dist/components/atoms/Button.js +1 -0
- package/dist/components/atoms/Button.mobile.d.ts +3 -2
- package/dist/components/atoms/Button.mobile.js +1 -0
- package/dist/components/atoms/ButtonLink.js +1 -0
- package/dist/components/atoms/ButtonLink.mobile.js +1 -0
- package/dist/components/atoms/Cta.js +1 -0
- package/dist/components/atoms/Cta.mobile.js +1 -0
- package/dist/components/atoms/DataChips.js +1 -0
- package/dist/components/atoms/EmptyState.js +1 -0
- package/dist/components/atoms/ErrorState.js +1 -0
- package/dist/components/atoms/ErrorState.mobile.js +1 -0
- package/dist/components/atoms/Input.d.ts +4 -12
- package/dist/components/atoms/Input.js +1 -0
- package/dist/components/atoms/Input.mobile.d.ts +4 -13
- package/dist/components/atoms/Input.mobile.js +1 -0
- package/dist/components/atoms/Link.js +1 -0
- package/dist/components/atoms/Link.web.js +1 -0
- package/dist/components/atoms/LoaderCircular.js +1 -0
- package/dist/components/atoms/LoaderCircular.mobile.js +1 -0
- package/dist/components/atoms/NavBrand.js +1 -0
- package/dist/components/atoms/RankBadge.js +1 -0
- package/dist/components/atoms/ScoreBar.js +1 -0
- package/dist/components/atoms/Stepper.js +1 -0
- package/dist/components/atoms/Textarea.d.ts +4 -10
- package/dist/components/atoms/Textarea.js +1 -0
- package/dist/components/atoms/Textarea.mobile.d.ts +4 -13
- package/dist/components/atoms/Textarea.mobile.js +1 -0
- package/dist/components/data-table/DataTable.js +1 -0
- package/dist/components/data-table/DataTable.mobile.js +1 -0
- package/dist/components/data-table/DataTableToolbar.js +1 -0
- package/dist/components/data-table/DataTableToolbar.mobile.js +1 -0
- package/dist/components/data-table/DataTableToolbar.shared.js +1 -0
- package/dist/components/data-view/DataViewDetail.js +1 -0
- package/dist/components/data-view/DataViewList.js +1 -0
- package/dist/components/data-view/DataViewRenderer.js +1 -0
- package/dist/components/data-view/DataViewRenderer.mobile.js +1 -0
- package/dist/components/data-view/DataViewTable.d.ts +1 -1
- package/dist/components/data-view/DataViewTable.js +1 -0
- package/dist/components/data-view/DataViewTable.mobile.d.ts +1 -1
- package/dist/components/data-view/DataViewTable.mobile.js +1 -0
- package/dist/components/data-view/utils.js +1 -0
- package/dist/components/forms/ActionForm.js +1 -0
- package/dist/components/forms/FormCardLayout.js +1 -0
- package/dist/components/forms/FormDialog.js +1 -0
- package/dist/components/forms/FormLayout.js +1 -0
- package/dist/components/forms/FormOneByOneLayout.js +1 -0
- package/dist/components/forms/FormStepsLayout.js +1 -0
- package/dist/components/forms/ZodForm.js +1 -0
- package/dist/components/forms/controls/Autocomplete.d.ts +17 -0
- package/dist/components/forms/controls/Autocomplete.js +1 -0
- package/dist/components/forms/controls/Autocomplete.mobile.d.ts +17 -0
- package/dist/components/forms/controls/Autocomplete.mobile.js +1 -0
- package/dist/components/forms/controls/ChoiceControls.d.ts +26 -0
- package/dist/components/forms/controls/ChoiceControls.js +1 -0
- package/dist/components/forms/controls/ChoiceControls.mobile.d.ts +26 -0
- package/dist/components/forms/controls/ChoiceControls.mobile.js +1 -0
- package/dist/components/forms/controls/Combobox.d.ts +4 -0
- package/dist/components/forms/controls/Combobox.js +1 -0
- package/dist/components/forms/controls/Combobox.mobile.d.ts +2 -0
- package/dist/components/forms/controls/Combobox.mobile.js +1 -0
- package/dist/components/forms/controls/DateTimeControls.d.ts +20 -0
- package/dist/components/forms/controls/DateTimeControls.js +1 -0
- package/dist/components/forms/controls/DateTimeControls.mobile.d.ts +20 -0
- package/dist/components/forms/controls/DateTimeControls.mobile.js +1 -0
- package/dist/components/forms/controls/DropdownMenu.d.ts +1 -0
- package/dist/components/forms/controls/DropdownMenu.js +1 -0
- package/dist/components/forms/controls/DropdownMenu.mobile.d.ts +1 -0
- package/dist/components/forms/controls/DropdownMenu.mobile.js +1 -0
- package/dist/components/forms/controls/Field.d.ts +27 -0
- package/dist/components/forms/controls/Field.js +1 -0
- package/dist/components/forms/controls/Field.mobile.d.ts +2 -0
- package/dist/components/forms/controls/Field.mobile.js +1 -0
- package/dist/components/forms/controls/InputGroup.d.ts +1 -0
- package/dist/components/forms/controls/InputGroup.js +1 -0
- package/dist/components/forms/controls/InputGroup.mobile.d.ts +5 -0
- package/dist/components/forms/controls/InputGroup.mobile.js +1 -0
- package/dist/components/forms/controls/InputOTP.d.ts +1 -0
- package/dist/components/forms/controls/InputOTP.js +1 -0
- package/dist/components/forms/controls/InputOTP.mobile.d.ts +2 -0
- package/dist/components/forms/controls/InputOTP.mobile.js +1 -0
- package/dist/components/forms/controls/LoadingButton.d.ts +4 -0
- package/dist/components/forms/controls/LoadingButton.js +1 -0
- package/dist/components/forms/controls/LoadingButton.mobile.d.ts +4 -0
- package/dist/components/forms/controls/LoadingButton.mobile.js +1 -0
- package/dist/components/forms/controls/NativeSelect.d.ts +7 -0
- package/dist/components/forms/controls/NativeSelect.js +1 -0
- package/dist/components/forms/controls/NativeSelect.mobile.d.ts +2 -0
- package/dist/components/forms/controls/NativeSelect.mobile.js +1 -0
- package/dist/components/forms/controls/Select.d.ts +15 -0
- package/dist/components/forms/controls/Select.js +1 -0
- package/dist/components/forms/controls/Select.mobile.d.ts +13 -0
- package/dist/components/forms/controls/Select.mobile.js +1 -0
- package/dist/components/forms/controls/index.d.ts +11 -0
- package/dist/components/forms/controls/index.js +1 -0
- package/dist/components/forms/index.d.ts +8 -0
- package/dist/components/forms/index.js +1 -0
- package/dist/components/layout/Stack.d.ts +9 -0
- package/dist/components/layout/Stack.js +1 -0
- package/dist/components/layout/Stack.mobile.d.ts +13 -0
- package/dist/components/layout/Stack.mobile.js +1 -0
- package/dist/components/layout/index.d.ts +1 -0
- package/dist/components/layout/index.js +1 -0
- package/dist/components/legal/atoms/DefinitionList.js +1 -0
- package/dist/components/legal/atoms/KeyValueList.js +1 -0
- package/dist/components/legal/atoms/LegalCallout.d.ts +1 -1
- package/dist/components/legal/atoms/LegalCallout.js +1 -0
- package/dist/components/legal/atoms/LegalHeading.js +1 -0
- package/dist/components/legal/atoms/LegalList.d.ts +1 -1
- package/dist/components/legal/atoms/LegalList.js +1 -0
- package/dist/components/legal/atoms/LegalSection.d.ts +1 -1
- package/dist/components/legal/atoms/LegalSection.js +1 -0
- package/dist/components/legal/atoms/LegalText.js +1 -0
- package/dist/components/legal/molecules/Consent.js +1 -0
- package/dist/components/legal/molecules/ContactFields.js +1 -0
- package/dist/components/legal/molecules/LegalMeta.js +1 -0
- package/dist/components/legal/molecules/LegalTOC.js +1 -0
- package/dist/components/legal/organisms/ContactForm.js +1 -0
- package/dist/components/legal/organisms/GDPRDataRequest.js +1 -0
- package/dist/components/legal/organisms/GDPRRights.js +1 -0
- package/dist/components/legal/organisms/LegalPageLayout.js +1 -0
- package/dist/components/legal/templates/ContactTemplate.js +1 -0
- package/dist/components/legal/templates/CookiesTemplate.js +1 -0
- package/dist/components/legal/templates/PrivacyTemplate.js +1 -0
- package/dist/components/legal/templates/SalesTermsTemplate.js +1 -0
- package/dist/components/legal/templates/TermsTemplate.js +1 -0
- package/dist/components/marketing/MarketingCard.js +1 -0
- package/dist/components/marketing/MarketingCardsSection.js +1 -0
- package/dist/components/marketing/MarketingComparisonSection.js +1 -0
- package/dist/components/marketing/MarketingIconCard.js +1 -0
- package/dist/components/marketing/MarketingSection.js +1 -0
- package/dist/components/marketing/MarketingStepCard.js +1 -0
- package/dist/components/molecules/AiLinkButton.js +1 -0
- package/dist/components/molecules/Breadcrumbs.js +1 -0
- package/dist/components/molecules/CodeBlock/CodeBlock.js +1 -0
- package/dist/components/molecules/CodeBlock/index.js +1 -0
- package/dist/components/molecules/CodeBlock/types.js +0 -0
- package/dist/components/molecules/CommandPalette.js +1 -0
- package/dist/components/molecules/CommandSearchTrigger.js +1 -0
- package/dist/components/molecules/CommandTabs/CommandTabs.js +1 -0
- package/dist/components/molecules/CommandTabs/index.js +1 -0
- package/dist/components/molecules/CommandTabs/types.js +0 -0
- package/dist/components/molecules/CopyButton/CopyButton.js +1 -0
- package/dist/components/molecules/CopyButton/index.js +1 -0
- package/dist/components/molecules/CopyButton/types.js +0 -0
- package/dist/components/molecules/DimensionScoresCard.js +1 -0
- package/dist/components/molecules/DropdownMenu.js +0 -0
- package/dist/components/molecules/EntityCard.js +1 -0
- package/dist/components/molecules/FiltersToolbar.js +1 -0
- package/dist/components/molecules/FiltersToolbar.mobile.js +1 -0
- package/dist/components/molecules/HoverPreview.js +1 -0
- package/dist/components/molecules/InstallCommand/InstallCommand.js +1 -0
- package/dist/components/molecules/InstallCommand/index.js +1 -0
- package/dist/components/molecules/InstallCommand/types.js +0 -0
- package/dist/components/molecules/LangSwitch.js +1 -0
- package/dist/components/molecules/LangSwitchDropdown.js +1 -0
- package/dist/components/molecules/LoaderBlock.js +1 -0
- package/dist/components/molecules/LoaderBlock.mobile.js +1 -0
- package/dist/components/molecules/MarkdownRenderer/MarkdownRenderer.js +2 -0
- package/dist/components/molecules/MarkdownRenderer/formatInlineMarkdown.js +1 -0
- package/dist/components/molecules/MarkdownRenderer/index.js +1 -0
- package/dist/components/molecules/MarkdownRenderer/renderMarkdownTable.js +1 -0
- package/dist/components/molecules/MarkdownRenderer/types.js +0 -0
- package/dist/components/molecules/MobileNavMenu.js +1 -0
- package/dist/components/molecules/NavItemCard.js +1 -0
- package/dist/components/molecules/NavMain.js +1 -0
- package/dist/components/molecules/NavUser.js +1 -0
- package/dist/components/molecules/OverviewCard.js +1 -0
- package/dist/components/molecules/SkeletonBlock/index.js +1 -0
- package/dist/components/molecules/SkeletonBlock/index.mobile.js +1 -0
- package/dist/components/molecules/SkeletonBlock/index.web.js +1 -0
- package/dist/components/molecules/SkeletonBlock/types.js +0 -0
- package/dist/components/molecules/SkeletonCircle/index.js +1 -0
- package/dist/components/molecules/SkeletonCircle/index.mobile.js +1 -0
- package/dist/components/molecules/SkeletonCircle/index.web.js +1 -0
- package/dist/components/molecules/SkeletonCircle/types.js +0 -0
- package/dist/components/molecules/SkeletonList/index.js +1 -0
- package/dist/components/molecules/SkeletonList/index.mobile.js +1 -0
- package/dist/components/molecules/SkeletonList/index.web.js +1 -0
- package/dist/components/molecules/SkeletonList/types.js +0 -0
- package/dist/components/molecules/StatCard.js +1 -0
- package/dist/components/molecules/StatusChip.d.ts +1 -1
- package/dist/components/molecules/StatusChip.js +1 -0
- package/dist/components/molecules/hover-previews/Doc.js +1 -0
- package/dist/components/molecules/hover-previews/Media.js +1 -0
- package/dist/components/molecules/hover-previews/Simple.js +1 -0
- package/dist/components/molecules/hover-previews/Stats.js +1 -0
- package/dist/components/molecules/hover-previews/User.js +1 -0
- package/dist/components/native/BottomTabs.mobile.js +1 -0
- package/dist/components/native/FlatListScreen.mobile.js +1 -0
- package/dist/components/native/SheetMenu.mobile.js +1 -0
- package/dist/components/organisms/AcademyLayout.js +1 -0
- package/dist/components/organisms/AppHeader.js +1 -0
- package/dist/components/organisms/AppHeader.mobile.js +1 -0
- package/dist/components/organisms/AppLayout.js +1 -0
- package/dist/components/organisms/AppSidebar.js +1 -0
- package/dist/components/organisms/AppSidebar.mobile.js +0 -0
- package/dist/components/organisms/EmptyDataList.js +1 -0
- package/dist/components/organisms/EmptyDataList.mobile.js +1 -0
- package/dist/components/organisms/EmptyDataList.types.js +0 -0
- package/dist/components/organisms/EmptySearchResult.js +1 -0
- package/dist/components/organisms/FAQSection.js +1 -0
- package/dist/components/organisms/FeatureCarousel.js +1 -0
- package/dist/components/organisms/FeaturesSection.js +1 -0
- package/dist/components/organisms/Footer.js +1 -0
- package/dist/components/organisms/GridLayout.js +1 -0
- package/dist/components/organisms/Header.js +1 -0
- package/dist/components/organisms/Header.mobile.js +1 -0
- package/dist/components/organisms/HeroResponsive.js +1 -0
- package/dist/components/organisms/HeroSection.js +1 -0
- package/dist/components/organisms/ListCardPage.js +1 -0
- package/dist/components/organisms/ListGridPage.js +1 -0
- package/dist/components/organisms/ListPageResponsive.js +1 -0
- package/dist/components/organisms/ListTablePage.js +1 -0
- package/dist/components/organisms/ListTablePage.mobile.js +1 -0
- package/dist/components/organisms/MarketingHeader.js +1 -0
- package/dist/components/organisms/MarketingHeaderDesktop.js +1 -0
- package/dist/components/organisms/MarketingHeaderMobile.js +1 -0
- package/dist/components/organisms/MarketingLayout.js +1 -0
- package/dist/components/organisms/ModelComparisonView.js +1 -0
- package/dist/components/organisms/PageHeaderResponsive.js +1 -0
- package/dist/components/organisms/PageHeaderResponsive.mobile.js +1 -0
- package/dist/components/organisms/PricingCarousel.js +1 -0
- package/dist/components/organisms/PricingSection.js +1 -0
- package/dist/components/organisms/TestimonialCarousel.js +1 -0
- package/dist/components/primitives/control.d.ts +894 -0
- package/dist/components/primitives/control.js +1 -0
- package/dist/components/primitives/themed.d.ts +881 -0
- package/dist/components/primitives/themed.js +1 -0
- package/dist/components/providers/PackageManagerProvider.js +1 -0
- package/dist/components/templates/lists/ListPageTemplate/index.js +1 -0
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.js +1 -0
- package/dist/components/templates/lists/ListPageTemplate/index.web.js +1 -0
- package/dist/components/templates/lists/ListPageTemplate/types.js +0 -0
- package/dist/components/visualization/ComparisonView.js +1 -0
- package/dist/components/visualization/ComparisonView.mobile.js +1 -0
- package/dist/components/visualization/TimelineView.js +1 -0
- package/dist/components/visualization/TimelineView.mobile.js +1 -0
- package/dist/components/visualization/VisualizationCard.js +1 -0
- package/dist/components/visualization/VisualizationCard.mobile.js +1 -0
- package/dist/components/visualization/VisualizationGrid.js +1 -0
- package/dist/components/visualization/VisualizationGrid.mobile.js +1 -0
- package/dist/components/visualization/VisualizationRenderer.js +1 -0
- package/dist/components/visualization/VisualizationRenderer.mobile.js +1 -0
- package/dist/components/visualization/types.js +0 -0
- package/dist/contracts.typecheck.js +1 -0
- package/dist/design-system.feature.d.ts +1 -0
- package/dist/design-system.feature.js +1 -0
- package/dist/hooks/useListUrlState.js +1 -0
- package/dist/i18n/translation.js +1 -0
- package/dist/index.d.ts +4 -11
- package/dist/index.js +1 -2
- package/dist/lib/keyboard.js +1 -0
- package/dist/lib/utils.js +1 -0
- package/dist/platform/useColorScheme.js +1 -0
- package/dist/platform/useColorScheme.mobile.js +1 -0
- package/dist/platform/useReducedMotion.js +1 -0
- package/dist/platform/useReducedMotion.mobile.js +1 -0
- package/dist/platform/useResponsive.js +1 -0
- package/dist/platform/useResponsive.mobile.js +1 -0
- package/dist/platform/withPlatformUI.js +1 -0
- package/dist/renderers/form-contract/renderer.d.ts +3 -0
- package/dist/renderers/form-contract/renderer.js +1 -0
- package/dist/renderers/form-contract/rich-fields.d.ts +23 -0
- package/dist/renderers/form-contract/rich-fields.js +1 -0
- package/dist/renderers/form-contract/shell.d.ts +35 -0
- package/dist/renderers/form-contract/shell.js +1 -0
- package/dist/renderers/form-contract/values.d.ts +27 -0
- package/dist/renderers/form-contract/values.js +1 -0
- package/dist/renderers/form-contract.d.ts +1 -3
- package/dist/renderers/form-contract.js +1 -0
- package/dist/renderers/index.js +1 -0
- package/dist/theme/contracts.d.ts +3 -0
- package/dist/theme/contracts.js +1 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/index.js +1 -0
- package/dist/theme/runtime-resolvers.d.ts +26 -0
- package/dist/theme/runtime-resolvers.js +1 -0
- package/dist/theme/runtime.d.ts +34 -0
- package/dist/theme/runtime.js +1 -0
- package/dist/theme/tailwind-config.d.ts +15 -0
- package/dist/theme/tailwind-config.js +1 -0
- package/dist/theme/tailwind-css.d.ts +2 -0
- package/dist/theme/tailwind-css.js +9 -0
- package/dist/theme/tailwind-variables.d.ts +19 -0
- package/dist/theme/tailwind-variables.js +1 -0
- package/dist/theme/tailwind.d.ts +3 -0
- package/dist/theme/tailwind.js +1 -0
- package/dist/theme/tokenBridge.js +1 -0
- package/dist/theme/tokens.js +1 -0
- package/dist/theme/variants.d.ts +1 -1
- package/dist/theme/variants.js +1 -0
- package/dist/types/nativewind-env.d.js +0 -0
- package/dist/types/navigation.js +0 -0
- package/package.json +70 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as C}from"react/jsx-runtime";import{Input as _}from"@contractspec/lib.ui-kit/ui/input";import{mapKeyboardToNative as j}from"../../lib/keyboard";import{useThemedTextField as B}from"../primitives/control";export function Input({value:z,defaultValue:A,onChange:D,onSubmit:E,onFocus:G,onBlur:H,placeholder:J,disabled:M,readOnly:P,maxLength:Q,className:R,keyboard:U,componentKey:W,themeVariant:X,placeholderI18n:Y,ariaLabelI18n:Z,...$}){const w=j(U),q=B({defaultComponentKey:"Input",componentKey:W,themeVariant:X,className:R,placeholder:J,placeholderI18n:Y,ariaLabelI18n:Z});return C(_,{...q.themed.props,...$,className:q.themed.className,value:z,defaultValue:A,onChangeText:D,onSubmitEditing:E,onFocus:G,onBlur:H,placeholder:q.placeholder,accessibilityLabel:q.ariaLabel,editable:!M&&!P,maxLength:Q,...w})}export default Input;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";export function Link({children:t,...r}){return o("a",{...r,children:t})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import n from"next/link";export function Link({href:e,children:r,...o}){return t(n,{href:e||"#",...o,children:r})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as A,jsxs as I}from"react/jsx-runtime";import{cn as q}from"@contractspec/lib.ui-kit-web/ui/utils";import{cva as F}from"class-variance-authority";import{Loader2 as G}from"lucide-react";const H=F("animate-spin",{variants:{size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},tone:{default:"text-foreground",muted:"text-muted-foreground"}},defaultVariants:{size:"md",tone:"muted"}});export function LoaderCircular({size:B,tone:C,label:g,className:D,...E}){return I("div",{className:q("inline-flex items-center gap-2",D),role:"status","aria-live":"polite","aria-busy":!0,...E,children:[A(G,{className:q(H({size:B,tone:C}))}),g?A("span",{className:"text-base text-muted-foreground",children:g}):null]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t,jsxs as n}from"react/jsx-runtime";import{ActivityIndicator as l,Text as o,View as i}from"react-native";function m(e){switch(e){case"sm":return"small";case"lg":return"large";case"md":default:return"small"}}export function LoaderCircular({size:e="md",label:r,className:a}){return n(i,{className:["inline-flex flex-row items-center gap-2",a].filter(Boolean).join(" "),children:[t(l,{size:m(e)}),r?t(o,{className:"text-base text-muted-foreground",children:r}):null]})}export default LoaderCircular;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as z,jsxs as D}from"react/jsx-runtime";import{cn as C}from"@contractspec/lib.ui-kit-web/ui/utils";export function NavBrand({href:d="/",logo:A,title:q,className:B}){const v=D("div",{className:C("flex items-center gap-2 truncate font-semibold",B),children:[A,q&&z("span",{className:"truncate font-bold text-xl",children:q})]});return d?z("a",{href:d,className:"flex items-center","aria-label":"Home",children:v}):v}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as C,jsxs as D}from"react/jsx-runtime";import{cn as F}from"@contractspec/lib.ui-kit-web/ui/utils";import{cva as G}from"class-variance-authority";const H=G("inline-flex items-center justify-center gap-1 rounded-md font-semibold tabular-nums",{variants:{size:{sm:"h-6 min-w-6 px-1.5 text-xs",md:"h-8 min-w-8 px-2 text-sm",lg:"h-10 min-w-10 px-3 text-base"}},defaultVariants:{size:"md"}});function J(q){if(q===1)return"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-300";if(q===2)return"bg-slate-100 text-slate-700 dark:bg-slate-800/40 dark:text-slate-300";if(q===3)return"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300";return"bg-muted text-muted-foreground"}function K({rank:q,previousRank:B}){const A=B-q;if(A>0)return C("span",{className:"text-green-600 text-xs dark:text-green-400","aria-label":`Up ${A}`,children:"\u25B2"});if(A<0)return C("span",{className:"text-red-600 text-xs dark:text-red-400","aria-label":`Down ${Math.abs(A)}`,children:"\u25BC"});return C("span",{className:"text-muted-foreground text-xs","aria-label":"Unchanged",children:"\u2013"})}export function RankBadge({rank:q,previousRank:B,size:A,className:E}){return D("span",{className:F(H({size:A}),J(q),E),children:[D("span",{children:["#",q]}),B!=null&&C(K,{rank:q,previousRank:B})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as q,jsxs as H}from"react/jsx-runtime";import{cn as A}from"@contractspec/lib.ui-kit-web/ui/utils";import{cva as J}from"class-variance-authority";const G=J("rounded-full",{variants:{size:{sm:"h-2",md:"h-3",lg:"h-4"}},defaultVariants:{size:"md"}});function K(d){if(d>=75)return"bg-green-500";if(d>=50)return"bg-yellow-500";if(d>=25)return"bg-orange-500";return"bg-red-500"}export function ScoreBar({score:d,label:g,maxScore:B=100,showValue:D=!0,size:E,className:I}){const F=Math.max(0,Math.min(100,d/B*100));return H("div",{className:A("flex flex-col gap-1",I),children:[(g||D)&&H("div",{className:"flex items-center justify-between text-sm",children:[g&&q("span",{className:"text-muted-foreground capitalize",children:g}),D&&q("span",{className:"font-medium tabular-nums",children:Math.round(d*10)/10})]}),q("div",{className:A("w-full overflow-hidden bg-muted",G({size:E})),role:"progressbar","aria-valuenow":d,"aria-valuemin":0,"aria-valuemax":B,"aria-label":g??"Score",children:q("div",{className:A("h-full transition-all duration-300",G({size:E}),K(F)),style:{width:`${F}%`}})})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as h}from"react/jsx-runtime";import{Stepper as g}from"@contractspec/lib.ui-kit-web/ui/stepper";export function Stepper(d){return h(g,{...d})}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { type TextareaProps as WebTextareaProps } from '@contractspec/lib.ui-kit-web/ui/textarea';
|
|
2
|
-
import { type
|
|
3
|
-
interface
|
|
2
|
+
import { type ControlThemeProps, type TextFieldBaseProps } from '../primitives/control';
|
|
3
|
+
interface TextareaBaseProps extends TextFieldBaseProps {
|
|
4
4
|
value?: string;
|
|
5
5
|
defaultValue?: string;
|
|
6
|
-
placeholder?: string;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
readOnly?: boolean;
|
|
9
|
-
maxLength?: number;
|
|
10
6
|
name?: string;
|
|
11
|
-
className?: string;
|
|
12
7
|
rows?: number;
|
|
13
|
-
keyboard?: KeyboardOptions;
|
|
14
8
|
}
|
|
15
|
-
export type TextareaProps = WebTextareaProps &
|
|
16
|
-
export declare function Textarea({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, name, className, rows, keyboard, ...rest }: TextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export type TextareaProps = WebTextareaProps & TextareaBaseProps & ControlThemeProps;
|
|
10
|
+
export declare function Textarea({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, name, className, rows, keyboard, componentKey, themeVariant, placeholderI18n, ariaLabelI18n, ...rest }: TextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
17
11
|
export default Textarea;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as k}from"react/jsx-runtime";import{Textarea as O}from"@contractspec/lib.ui-kit-web/ui/textarea";import*as W from"react";import{mapKeyboardToWeb as v}from"../../lib/keyboard";import{useThemedTextField as F}from"../primitives/control";export function Textarea({value:D,defaultValue:E,onChange:z,onSubmit:I,onFocus:G,onBlur:H,placeholder:J,disabled:M,readOnly:P,maxLength:Q,name:S,className:U,rows:X,keyboard:Y,componentKey:Z,themeVariant:$,placeholderI18n:R,ariaLabelI18n:_,...A}){const j=v(Y),q=F({defaultComponentKey:"Textarea",componentKey:Z,themeVariant:$,className:U,style:A.style,placeholder:J,placeholderI18n:R,ariaLabelI18n:_}),B=W.useCallback((N)=>z?.(N),[z]);return k(O,{...q.themed.props,...A,className:q.themed.className,style:q.themed.style,value:D,defaultValue:E,onChange:B,onFocus:G,onBlur:H,placeholder:q.placeholder,"aria-label":q.ariaLabel,disabled:M,readOnly:P,maxLength:Q,name:S,rows:X,...j})}export default Textarea;
|
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import { Textarea as NativeTextarea } from '@contractspec/lib.ui-kit/ui/textarea';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { type
|
|
4
|
-
interface
|
|
3
|
+
import { type ControlThemeProps, type TextFieldBaseProps } from '../primitives/control';
|
|
4
|
+
interface TextareaBaseProps extends TextFieldBaseProps {
|
|
5
5
|
value?: string;
|
|
6
6
|
defaultValue?: string;
|
|
7
7
|
onChange?: (text: string) => void;
|
|
8
|
-
onSubmit?: () => void;
|
|
9
|
-
onFocus?: () => void;
|
|
10
|
-
onBlur?: () => void;
|
|
11
|
-
placeholder?: string;
|
|
12
|
-
disabled?: boolean;
|
|
13
|
-
readOnly?: boolean;
|
|
14
|
-
maxLength?: number;
|
|
15
|
-
className?: string;
|
|
16
|
-
keyboard?: KeyboardOptions;
|
|
17
8
|
}
|
|
18
9
|
type NativeTextareaComponentProps = React.ComponentProps<typeof NativeTextarea>;
|
|
19
|
-
export type TextareaProps = Omit<NativeTextareaComponentProps, 'onChangeText' | 'value' | 'defaultValue'> &
|
|
20
|
-
export declare function Textarea({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, className, keyboard, ...rest }: TextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export type TextareaProps = Omit<NativeTextareaComponentProps, 'onChangeText' | 'value' | 'defaultValue'> & TextareaBaseProps & ControlThemeProps;
|
|
11
|
+
export declare function Textarea({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, className, keyboard, componentKey, themeVariant, placeholderI18n, ariaLabelI18n, ...rest }: TextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
21
12
|
export default Textarea;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as C}from"react/jsx-runtime";import{Textarea as _}from"@contractspec/lib.ui-kit/ui/textarea";import{mapKeyboardToNative as j}from"../../lib/keyboard";import{useThemedTextField as B}from"../primitives/control";export function Textarea({value:z,defaultValue:A,onChange:D,onSubmit:E,onFocus:G,onBlur:H,placeholder:J,disabled:M,readOnly:P,maxLength:Q,className:R,keyboard:U,componentKey:W,themeVariant:X,placeholderI18n:Y,ariaLabelI18n:Z,...$}){const w=j(U),q=B({defaultComponentKey:"Textarea",componentKey:W,themeVariant:X,className:R,placeholder:J,placeholderI18n:Y,ariaLabelI18n:Z});return C(_,{...q.themed.props,...$,className:q.themed.className,value:z,defaultValue:A,onChangeText:D,onSubmitEditing:E,onFocus:G,onBlur:H,placeholder:q.placeholder,accessibilityLabel:q.ariaLabel,editable:!M&&!P,maxLength:Q,...w})}export default Textarea;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as q,jsxs as E}from"react/jsx-runtime";import{Card as X,CardContent as Y,CardDescription as Z,CardHeader as $,CardTitle as K}from"@contractspec/lib.ui-kit-web/ui/card";import{DataTable as V}from"@contractspec/lib.ui-kit-web/ui/data-table";import{HStack as v,VStack as H}from"@contractspec/lib.ui-kit-web/ui/stack";import{resolveTranslationNode as I,useDesignSystemTranslation as P}from"../../i18n/translation";export function DataTable({controller:J,title:z,description:B,className:L,headerActions:F,toolbar:M,footer:O,emptyState:Q,loading:U,onRowPress:W}){const G=P();return E(X,{className:L,children:[z||B||F?q($,{children:E(v,{justify:"between",align:"start",children:[E(H,{gap:"xs",children:[z?q(K,{children:I(z,G)}):null,B?q(Z,{children:I(B,G)}):null]}),F]})}):null,q(Y,{children:q(V,{controller:J,toolbar:M,footer:O,emptyState:Q,loading:U,onRowPress:W})})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as q,jsxs as E}from"react/jsx-runtime";import{Card as X,CardContent as Y,CardDescription as Z,CardHeader as $,CardTitle as K}from"@contractspec/lib.ui-kit/ui/card";import{DataTable as V}from"@contractspec/lib.ui-kit/ui/data-table";import{HStack as v,VStack as H}from"@contractspec/lib.ui-kit/ui/stack";import{resolveTranslationNode as I,useDesignSystemTranslation as P}from"../../i18n/translation";export function DataTable({controller:J,title:z,description:B,className:L,headerActions:F,toolbar:M,footer:O,emptyState:Q,loading:U,onRowPress:W}){const G=P();return E(X,{className:L,children:[z||B||F?q($,{children:E(v,{justify:"between",align:"start",children:[E(H,{gap:"xs",children:[z?q(K,{children:I(z,G)}):null,B?q(Z,{children:I(B,G)}):null]}),F]})}):null,q(Y,{children:q(V,{controller:J,toolbar:M,footer:O,emptyState:Q,loading:U,onRowPress:W})})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as D,jsxs as a}from"react/jsx-runtime";import{Button as h}from"../atoms/Button";import{FiltersToolbar as c}from"../molecules/FiltersToolbar";import{getHiddenDataColumns as f,showHiddenDataColumns as g}from"./DataTableToolbar.shared";export function DataTableToolbar({controller:e,className:l,searchPlaceholder:n,searchValue:r,onSearchChange:s,onSearchSubmit:d,debounceMs:i,activeChips:m=[],onClearAll:u,actionsStart:p,actionsEnd:b,selectionSummary:o}){const t=f(e),T=o===void 0&&e.selectionMode!=="none"?a("span",{className:"text-muted-foreground text-sm",children:["Selected ",e.selectedRowIds.length]}):o;return D(c,{className:l,searchPlaceholder:n,searchValue:r,onSearchChange:s,onSearchSubmit:d,debounceMs:i,activeChips:m,onClearAll:u,right:a("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[T,t.length?a(h,{variant:"outline",size:"sm",onPress:()=>g(e),children:["Show ",t.length," Hidden"]}):null,b]}),children:p})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as A,jsxs as z}from"react/jsx-runtime";import{HStack as $}from"@contractspec/lib.ui-kit/ui/stack";import{Text as f}from"@contractspec/lib.ui-kit/ui/text";import{Button as k}from"../atoms/Button";import{FiltersToolbar as B}from"../molecules/FiltersToolbar.mobile";import{getHiddenDataColumns as p,showHiddenDataColumns as w}from"./DataTableToolbar.shared";export function DataTableToolbar({controller:q,className:J,searchPlaceholder:K,searchValue:L,onSearchChange:O,onSearchSubmit:Q,debounceMs:R,activeChips:U=[],onClearAll:W,actionsStart:X,actionsEnd:Y,selectionSummary:G}){const I=p(q),Z=G===void 0&&q.selectionMode!=="none"?z(f,{className:"text-muted-foreground text-sm",children:["Selected ",q.selectedRowIds.length]}):G;return A(B,{className:J,searchPlaceholder:K,searchValue:L,onSearchChange:O,onSearchSubmit:Q,debounceMs:R,activeChips:U,onClearAll:W,right:z($,{className:"flex flex-wrap items-center justify-end gap-2",children:[Z,I.length?z(k,{variant:"outline",size:"sm",onPress:()=>w(q),children:["Show ",I.length," Hidden"]}):null,Y]}),children:X})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function getHiddenDataColumns(t){return t.columns.filter((e)=>e.kind==="data"&&e.canHide&&!e.visible)}export function showHiddenDataColumns(t){getHiddenDataColumns(t).forEach((e)=>e.toggleVisibility?.(!0))}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as a}from"react/jsx-runtime";import{resolveTranslationString as r,useDesignSystemTranslation as N}from"../../i18n/translation";import{cn as u}from"../../lib/utils";import{MarkdownRenderer as f}from"../molecules/MarkdownRenderer";import{DataViewFormattedValue as w,getAtPath as V}from"./utils";export function DataViewDetail({spec:t,item:l,className:n,emptyState:v,headerActions:c}){const d=N();if(t.view.kind!=="detail")throw Error(`DataViewDetail received view kind "${t.view.kind}", expected "detail".`);const m=t.view,s=m.fields;if(!l)return a("div",{className:u("flex w-full flex-col gap-4",n),children:[a("div",{className:"flex items-center justify-between",children:[e("h3",{className:"font-semibold text-base text-foreground",children:r(t.meta.title,d)}),c]}),v??e("div",{className:"rounded-md border border-muted-foreground/40 border-dashed p-8 text-center text-muted-foreground text-sm",children:"Select a record to view details."})]});const p=m.sections&&m.sections.length>0?m.sections:[{fields:s.map((i)=>i.key)}];return a("div",{className:u("flex w-full flex-col gap-6",n),children:[a("div",{className:"flex items-center justify-between",children:[a("div",{children:[e("h3",{className:"font-semibold text-foreground text-xl",children:r(t.meta.title,d)}),e("div",{className:"text-muted-foreground text-sm",children:e(f,{content:r(t.meta.description??"",d)??""})})]}),c]}),e("div",{className:"flex flex-col gap-6",children:p.map((i,g)=>a("div",{className:"rounded-lg border border-border bg-card p-4 shadow-sm",children:[i.title?e("h4",{className:"mb-2 font-semibold text-muted-foreground text-sm uppercase tracking-wide",children:r(i.title,d)}):null,i.description?e("div",{className:"mb-4 text-muted-foreground text-sm",children:e(f,{content:r(i.description,d)??""})}):null,e("dl",{className:"grid gap-4 md:grid-cols-2",children:i.fields.map((b)=>{const o=k(s,b);if(!o)return null;const D=V(l,o.dataPath);return a("div",{className:"flex flex-col gap-1",children:[e("dt",{className:"font-semibold text-muted-foreground/80 text-xs uppercase",children:r(o.label,d)}),e("dd",{className:"text-foreground text-sm",children:e(w,{value:D,format:o.format})})]},o.key)})})]},g))})]})}function k(t,l){return t.find((n)=>n.key===l)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t,jsxs as m}from"react/jsx-runtime";import{resolveTranslationString as w,useDesignSystemTranslation as k}from"../../i18n/translation";import{cn as c}from"../../lib/utils";import{DisplayValue as f}from"./DataViewTable";export function DataViewList({spec:e,items:r,className:i,renderActions:d,onSelect:u,emptyState:g}){const v=k();if(e.view.kind!=="list")throw Error(`DataViewList received view kind "${e.view.kind}", expected "list".`);const n=e.view,o=n.fields,l=n.primaryField??o.find((a)=>a.key===n.primaryField)?.key??o[0]?.key;if(!r.length)return t("div",{className:c("flex w-full flex-col gap-4",i),children:g??t("div",{className:"rounded-md border border-muted-foreground/40 border-dashed p-8 text-center text-muted-foreground text-sm",children:"No records available."})});return t("div",{className:c("flex w-full flex-col gap-4",i),children:r.map((a,b)=>{const p=y(a);return m("button",{type:"button",className:c("flex w-full flex-col gap-2 rounded-lg border border-muted bg-card p-4 text-left shadow-sm transition hover:border-primary/40 hover:shadow-md focus-visible:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",n.layout==="compact"&&"md:flex-row md:items-center md:gap-4"),onClick:()=>u?.(a),children:[m("div",{className:"flex flex-1 flex-col gap-1",children:[l?t("span",{className:"font-medium text-base text-foreground",children:t(f,{item:p,fields:o,fieldKey:l})}):null,t("div",{className:"flex flex-wrap gap-x-4 gap-y-1 text-muted-foreground text-sm",children:D(n,l).map((s)=>m("span",{className:"flex items-center gap-1.5",children:[t("span",{className:"font-medium text-foreground/80",children:x(o,s,v)}),t("span",{children:t(f,{item:p,fields:o,fieldKey:s})})]},s))})]}),d?t("div",{className:"flex shrink-0 items-center gap-2",children:d(a)}):null]},b)})})}function y(e){if(e&&typeof e==="object")return e;return{}}function x(e,r,i){return w(e.find((d)=>d.key===r)?.label??r,i)}function D(e,r){if(e.secondaryFields?.length)return e.secondaryFields;return e.fields.map((i)=>i.key).filter((i)=>i!==r)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as G,jsxs as w,Fragment as d}from"react/jsx-runtime";import{Pagination as b}from"@contractspec/lib.ui-kit-web/ui/atoms/Pagination";import{VStack as j}from"@contractspec/lib.ui-kit-web/ui/stack";import{Text as _}from"@contractspec/lib.ui-kit-web/ui/text";import*as k from"react";import{resolveTranslationString as F,useDesignSystemTranslation as N}from"../../i18n/translation";import{FiltersToolbar as x}from"../molecules/FiltersToolbar";import{DataViewDetail as A}from"./DataViewDetail";import{DataViewList as T}from"./DataViewList";import{DataViewTable as C}from"./DataViewTable";export function DataViewRenderer({spec:E,items:M=[],item:Y=null,className:I,renderActions:Q,onSelect:U,onRowClick:Z,toolbar:$,loading:q,headerActions:O,emptyState:K,footer:z,search:V,onSearchChange:L,filters:J,onFilterChange:P,pagination:H,onPageChange:R}){const W=N(),u=k.useMemo(()=>{switch(E.view.kind){case"list":return G(T,{spec:E,items:M,className:I,renderActions:Q,onSelect:U,emptyState:K});case"table":return G(C,{spec:E,items:M,className:I,onRowClick:Z,toolbar:$,loading:q,emptyState:K,headerActions:O,footer:z});case"detail":return G(A,{spec:E,item:Y,className:I,emptyState:K,headerActions:O});case"grid":{const B=E.view,X={kind:"list",layout:"card",fields:B.fields,filters:B.filters,actions:B.actions,primaryField:B.primaryField,secondaryFields:B.secondaryFields},v={...E,view:X};return G(T,{spec:v,items:M,className:I,renderActions:Q,onSelect:U,emptyState:K})}default:return G(_,{className:I,children:F("Unsupported data view kind",W)})}},[E,M,Y,I,Q,U,Z,$,q,O,K,z,W]);if(!(E.view.kind==="list"||E.view.kind==="table"||E.view.kind==="grid"))return G(d,{children:u});return w(j,{gap:"lg",children:[(E.view.filters?.length||L)&&G(x,{searchValue:V,onSearchChange:L,searchPlaceholder:F("Search...",W)??"Search...",activeChips:J?Object.entries(J).map(([B,X])=>({key:B,label:`${B}: ${X}`,onRemove:()=>{if(J){const{[B]:v,...D}=J;P?.(D)}}})):[],onClearAll:J&&Object.keys(J).length>0?()=>P?.({}):void 0,right:E.view.kind==="table"?void 0:O}),u,H&&H.total>0&&G(b,{currentPage:H.page,totalPages:Math.ceil(H.total/H.pageSize),totalItems:H.total,itemsPerPage:H.pageSize,onPageChange:(B)=>R?.(B),onItemsPerPageChange:(B)=>{R?.(1)},showItemsPerPage:!1})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as G,jsxs as d,Fragment as w}from"react/jsx-runtime";import{Pagination as D}from"@contractspec/lib.ui-kit/ui/atoms/Pagination";import{VStack as j}from"@contractspec/lib.ui-kit/ui/stack";import{Text as _}from"@contractspec/lib.ui-kit/ui/text";import*as k from"react";import{resolveTranslationString as F,useDesignSystemTranslation as N}from"../../i18n/translation";import{FiltersToolbar as x}from"../molecules/FiltersToolbar";import{DataViewDetail as A}from"./DataViewDetail";import{DataViewList as T}from"./DataViewList";import{DataViewTable as C}from"./DataViewTable";export function DataViewRenderer({spec:E,items:M=[],item:Y=null,className:I,renderActions:Q,onSelect:U,onRowClick:Z,toolbar:$,loading:q,headerActions:O,emptyState:K,footer:z,search:V,onSearchChange:L,filters:J,onFilterChange:P,pagination:H,onPageChange:R}){const W=N(),u=k.useMemo(()=>{switch(E.view.kind){case"list":return G(T,{spec:E,items:M,className:I,renderActions:Q,onSelect:U,emptyState:K});case"table":return G(C,{spec:E,items:M,className:I,onRowClick:Z,toolbar:$,loading:q,emptyState:K,headerActions:O,footer:z});case"detail":return G(A,{spec:E,item:Y,className:I,emptyState:K,headerActions:O});case"grid":{const B=E.view,X={kind:"list",layout:"card",fields:B.fields,filters:B.filters,actions:B.actions,primaryField:B.primaryField,secondaryFields:B.secondaryFields},v={...E,view:X};return G(T,{spec:v,items:M,className:I,renderActions:Q,onSelect:U,emptyState:K})}default:return G(_,{className:I,children:F("Unsupported data view kind",W)})}},[E,M,Y,I,Q,U,Z,$,q,O,K,z,W]);if(!(E.view.kind==="list"||E.view.kind==="table"||E.view.kind==="grid"))return G(w,{children:u});return d(j,{gap:"lg",children:[(E.view.filters?.length||L)&&G(x,{searchValue:V,onSearchChange:L,searchPlaceholder:F("Search...",W)??"Search...",activeChips:J?Object.entries(J).map(([B,X])=>({key:B,label:`${B}: ${X}`,onRemove:()=>{if(J){const{[B]:v,...b}=J;P?.(b)}}})):[],onClearAll:J&&Object.keys(J).length>0?()=>P?.({}):void 0,right:E.view.kind==="table"?void 0:O}),u,H&&H.total>0?G(D,{currentPage:H.page,totalPages:Math.ceil(H.total/H.pageSize),totalItems:H.total,itemsPerPage:H.pageSize,onPageChange:(B)=>R?.(B),onItemsPerPageChange:(B)=>{R?.(1)},showItemsPerPage:!1}):null]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as E,jsxs as V}from"react/jsx-runtime";import{useDataViewTable as A}from"@contractspec/lib.presentation-runtime-react";import{HStack as F,VStack as h}from"@contractspec/lib.ui-kit-web/ui/stack";import{Text as X}from"@contractspec/lib.ui-kit-web/ui/text";import*as C from"react";import{resolveTranslationString as W,useDesignSystemTranslation as K}from"../../i18n/translation";import{DataTable as R}from"../data-table/DataTable";import{DataViewFormattedValue as Y,getAtPath as g}from"./utils";export function DataViewTable({spec:q,items:J,className:L,onRowClick:G,toolbar:O,loading:Z,emptyState:$,headerActions:B,footer:H}){const Q=K();if(q.view.kind!=="table")throw Error(`DataViewTable received view kind "${q.view.kind}", expected "table".`);const M=q.view,P=C.useMemo(()=>(M.rowExpansion?.fields??[]).map((z)=>M.fields.find((I)=>I.key===z)).filter((z)=>Boolean(z)),[M.fields,M.rowExpansion?.fields]),N=A({spec:q,data:J,renderValue:({value:z,field:I})=>E(Y,{value:z,format:I.format}),renderExpandedContent:P.length>0?({item:z,fields:I})=>E(h,{gap:"sm",className:"py-2",children:I.map((U)=>V(F,{justify:"between",align:"start",children:[E(X,{className:"font-medium text-muted-foreground text-sm",children:W(U.label,Q)}),E(X,{className:"text-right text-sm",children:E(DisplayValue,{item:z,fields:I,fieldKey:U.key})})]},U.key))}):void 0});return E(R,{controller:N,className:L,title:W(q.meta.title,Q),description:W(q.meta.description,Q),toolbar:O,loading:Z,headerActions:B,emptyState:$,footer:H,onRowPress:G?(z)=>G(z.original):void 0})}function D(q,J){return q.find((L)=>L.key===J)}export function DisplayValue({item:q,fields:J,fieldKey:L}){const G=D(J,L);if(!G)return"";const O=g(q,G.dataPath);return E(Y,{value:O,format:G.format})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as E,jsxs as D}from"react/jsx-runtime";import{useDataViewTable as A}from"@contractspec/lib.presentation-runtime-react";import{HStack as F,VStack as h}from"@contractspec/lib.ui-kit/ui/stack";import{Text as X}from"@contractspec/lib.ui-kit/ui/text";import*as C from"react";import{resolveTranslationString as W,useDesignSystemTranslation as K}from"../../i18n/translation";import{DataTable as R}from"../data-table/DataTable";import{DataViewFormattedValue as Y,getAtPath as b}from"./utils";export function DataViewTable({spec:q,items:J,className:L,onRowClick:G,toolbar:O,loading:Z,emptyState:$,headerActions:B,footer:H}){const Q=K();if(q.view.kind!=="table")throw Error(`DataViewTable received view kind "${q.view.kind}", expected "table".`);const M=q.view,P=C.useMemo(()=>(M.rowExpansion?.fields??[]).map((z)=>M.fields.find((I)=>I.key===z)).filter((z)=>Boolean(z)),[M.fields,M.rowExpansion?.fields]),N=A({spec:q,data:J,renderValue:({value:z,field:I})=>E(Y,{value:z,format:I.format}),renderExpandedContent:P.length>0?({item:z,fields:I})=>E(h,{gap:"sm",className:"py-2",children:I.map((U)=>D(F,{justify:"between",align:"start",children:[E(X,{className:"font-medium text-muted-foreground text-sm",children:W(U.label,Q)}),E(X,{className:"text-right text-sm",children:E(DisplayValue,{item:z,fields:I,fieldKey:U.key})})]},U.key))}):void 0});return E(R,{controller:N,className:L,title:W(q.meta.title,Q),description:W(q.meta.description,Q),toolbar:O,loading:Z,headerActions:B,emptyState:$,footer:H,onRowPress:G?(z)=>G(z.original):void 0})}function g(q,J){return q.find((L)=>L.key===J)}export function DisplayValue({item:q,fields:J,fieldKey:L}){const G=g(J,L);if(!G)return"";const O=b(q,G.dataPath);return E(Y,{value:O,format:G.format})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as m}from"react/jsx-runtime";import{MarkdownRenderer as a}from"../molecules/MarkdownRenderer";export function getAtPath(t,e){if(!t)return;if(!e)return t;const r=e.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let n=t;for(const o of r){if(n==null||typeof n!=="object"&&!Array.isArray(n))return;n=n[o]}return n}export function DataViewFormattedValue({value:t,format:e}){if(t==null)return"";switch(e){case"boolean":return t?"Yes":"No";case"currency":return typeof t==="number"?new Intl.NumberFormat(void 0,{style:"currency",currency:"USD"}).format(t):String(t);case"percentage":return typeof t==="number"?`${(t*100).toFixed(1)}%`:String(t);case"date":return i(t,{dateStyle:"medium"});case"dateTime":return i(t,{dateStyle:"medium",timeStyle:"short"});case"markdown":return m(a,{content:t});default:return String(t)}}function i(t,e){if(t instanceof Date)return new Intl.DateTimeFormat(void 0,e).format(t);if(typeof t==="string"||typeof t==="number"){const r=new Date(t);if(!Number.isNaN(r.getTime()))return new Intl.DateTimeFormat(void 0,e).format(r)}return String(t??"")}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as B}from"react/jsx-runtime";import{cn as A}from"@contractspec/lib.ui-kit-web/ui/utils";export function ActionForm({action:g,children:q,className:v,...z}){return B("form",{action:g,className:A("space-y-3",v),...z,children:q})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as g,jsxs as z}from"react/jsx-runtime";import{Card as G,CardContent as I,CardHeader as J,CardTitle as K}from"@contractspec/lib.ui-kit-web/ui/card";import{cn as B}from"@contractspec/lib.ui-kit-web/ui/utils";export function FormCardLayout({title:q,description:v,actions:A,children:D,className:E,contentClassName:F}){return z(G,{className:B("border-none shadow-2xs",E),children:[(q||v)&&z(J,{children:[q&&g(K,{children:q}),v&&g("div",{className:"text-base text-muted-foreground",children:v})]}),z(I,{className:B("p-4 md:p-5",F),children:[g("div",{className:"space-y-4",children:D}),A&&g("div",{className:"mt-4 flex justify-end gap-2",children:A})]})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as q,jsxs as A}from"react/jsx-runtime";import{Dialog as K,DialogContent as L,DialogDescription as M,DialogFooter as N,DialogHeader as P,DialogTitle as Q}from"@contractspec/lib.ui-kit-web/ui/dialog";export function FormDialog({open:B,onOpenChange:E,title:G,description:v,children:I,footer:z,maxWidth:J="sm:max-w-[480px]"}){return q(K,{open:B,onOpenChange:E,children:A(L,{className:J,children:[A(P,{children:[q(Q,{children:G}),v&&q(M,{children:v})]}),I,z&&q(N,{children:z})]})})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as z}from"react/jsx-runtime";import{cn as v}from"@contractspec/lib.ui-kit-web/ui/utils";export function FormSection({children:q,className:g}){return z("div",{className:v("space-y-4",g),children:q})}export function FormRow({children:q,className:g}){return z("div",{className:v("grid grid-cols-1 gap-4 md:grid-cols-2",g),children:q})}export function FormGrid({children:q,cols:g=2,className:A}){return z("div",{className:v("grid gap-4",g===1?"grid-cols-1":g===2?"grid-cols-2":g===3?"grid-cols-3":"grid-cols-4",A),children:q})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as A,jsxs as F}from"react/jsx-runtime";import{cn as V}from"@contractspec/lib.ui-kit-web/ui/utils";import*as M from"react";import{Button as O}from"../atoms/Button";export function FormOneByOneLayout({fields:q,initialKey:D,onComplete:P,className:Q}){const G=M.useMemo(()=>Object.fromEntries(q.map((z,U)=>[z.key,U])),[q]),[E,H]=M.useState(()=>{if(D&&D in G)return G[D]||0;return 0}),J=E===q.length-1,g=q[E];if(!g)return null;const S=async()=>{if(g.validate&&!g.validate())return;if(J)await P?.();else H((z)=>Math.min(z+1,q.length-1))},T=()=>H((z)=>Math.max(0,z-1));return F("div",{className:V("flex min-h-[320px] flex-col items-stretch justify-between",Q),children:[F("div",{className:"space-y-2",children:[A("div",{className:"font-medium text-lg",children:g.title}),g.description&&A("div",{className:"text-base text-muted-foreground",children:g.description}),A("div",{className:"pt-2",children:g.input})]}),F("div",{className:"mt-6 flex items-center justify-between",children:[A(O,{variant:"ghost",onPress:T,disabled:E===0,children:"Back"}),A(O,{onPress:S,children:J?"Done":"Continue"})]})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as z,jsxs as D}from"react/jsx-runtime";import{Separator as Z}from"@contractspec/lib.ui-kit-web/ui/separator";import{cn as $}from"@contractspec/lib.ui-kit-web/ui/utils";import*as Q from"react";import{Button as T}from"../atoms/Button";export function FormStepsLayout({steps:g,initialStepKey:E,onFinish:G,canNext:H,className:U}){const J=Q.useMemo(()=>Object.fromEntries(g.map((A,Y)=>[A.key,Y])),[g]),[C,M]=Q.useState(()=>{if(E&&E in J)return J[E]||0;return 0}),V=C===0,O=C===g.length-1,q=g[C];if(!q)return null;const W=async()=>{if(!O){if(H&&!H(q.key))return;M((A)=>Math.min(A+1,g.length-1))}else if(G)await G()},X=()=>M((A)=>Math.max(0,A-1));return D("div",{className:$("space-y-4",U),children:[D("div",{className:"flex items-center justify-between",children:[z("div",{className:"truncate font-medium text-lg",children:q.title}),D("div",{className:"text-base text-muted-foreground",children:[C+1," / ",g.length]})]}),q.description&&z("div",{className:"text-base text-muted-foreground",children:q.description}),z(Z,{}),z("div",{children:q.content}),D("div",{className:"flex items-center justify-between",children:[z(T,{variant:"ghost",onPress:X,disabled:V,children:"Back"}),z(T,{onPress:W,children:O?"Finish":"Next"})]})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as q}from"react/jsx-runtime";import{Form as E,useForm as G,zodResolver as H}from"@contractspec/lib.ui-kit-web/ui/form";export function ZodForm({schema:A,defaultValues:B,onSubmit:C,children:D}){const g=G({resolver:H(A),defaultValues:B});return q(E,{...g,children:q("form",{onSubmit:g.handleSubmit(C),children:D(g)})})}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AutocompleteOption } from '@contractspec/lib.contracts-spec/forms';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
3
|
+
export interface AutocompleteProps extends ThemedPrimitiveProps {
|
|
4
|
+
query: string;
|
|
5
|
+
options: AutocompleteOption[];
|
|
6
|
+
selectedOptions: AutocompleteOption[];
|
|
7
|
+
onQueryChange?: (query: string) => void;
|
|
8
|
+
onSelectOption?: (option: AutocompleteOption) => void;
|
|
9
|
+
onRemoveOption?: (option: AutocompleteOption) => void;
|
|
10
|
+
multiple?: boolean;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
readOnly?: boolean;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
className?: string;
|
|
15
|
+
emptyText?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function Autocomplete({ query, options, selectedOptions, onQueryChange, onSelectOption, onRemoveOption, multiple, placeholder, placeholderI18n, readOnly, disabled, className, componentKey, themeVariant, emptyText, }: AutocompleteProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as A,jsxs as J}from"react/jsx-runtime";import{Command as k,CommandEmpty as S,CommandGroup as b,CommandInput as f,CommandItem as C,CommandList as T}from"@contractspec/lib.ui-kit-web/ui/command";import{Text as Y}from"@contractspec/lib.ui-kit-web/ui/text";import{Button as V}from"../../atoms/Button";import{HStack as w,VStack as Z}from"../../layout/Stack";import{useThemedPrimitive as v,useTranslatedText as _}from"../../primitives/themed";function M(F){return typeof F==="string"?F:String(F??"")}export function Autocomplete({query:F,options:$,selectedOptions:U,onQueryChange:E,onSelectOption:G,onRemoveOption:H,multiple:L,placeholder:P,placeholderI18n:g,readOnly:W,disabled:X,className:q,componentKey:B,themeVariant:K,emptyText:N="No results found."}){const D=_(),Q=v({defaultComponentKey:"Autocomplete",componentKey:B,themeVariant:K,className:q});return J(Z,{gap:"sm",className:Q.className,children:[J(k,{shouldFilter:!1,className:"rounded-md border border-input",children:[A(f,{value:F,onValueChange:E,placeholder:D(g??P),disabled:X||W}),J(T,{children:[A(S,{children:D(N)}),A(b,{children:$.map((z)=>{const R=U.some((I)=>M(I.value)===M(z.value));return J(C,{value:D(z.labelI18n)??z.labelI18n,onSelect:()=>G?.(z),disabled:X||z.disabled||W,children:[J(Z,{gap:"xs",children:[A(Y,{children:D(z.labelI18n)}),z.descriptionI18n?A(Y,{className:"text-muted-foreground text-xs",children:D(z.descriptionI18n)}):null]}),R?A(Y,{className:"ml-auto text-muted-foreground text-xs",children:D("Selected")}):null]},M(z.value))})})]})]}),U.length?A(w,{gap:"sm",wrap:"wrap",children:U.map((z)=>A(V,{type:"button",variant:"outline",size:"sm",onClick:()=>H?.(z),disabled:!L||W||X,children:D(z.labelI18n)},`selected-${M(z.value)}`))}):null]})}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AutocompleteOption } from '@contractspec/lib.contracts-spec/forms';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
3
|
+
export interface AutocompleteProps extends ThemedPrimitiveProps {
|
|
4
|
+
query: string;
|
|
5
|
+
options: AutocompleteOption[];
|
|
6
|
+
selectedOptions: AutocompleteOption[];
|
|
7
|
+
onQueryChange?: (query: string) => void;
|
|
8
|
+
onSelectOption?: (option: AutocompleteOption) => void;
|
|
9
|
+
onRemoveOption?: (option: AutocompleteOption) => void;
|
|
10
|
+
multiple?: boolean;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
readOnly?: boolean;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
className?: string;
|
|
15
|
+
emptyText?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function Autocomplete({ query, options, selectedOptions, onQueryChange, onSelectOption, onRemoveOption, multiple, placeholder, placeholderI18n, readOnly, disabled, className, componentKey, themeVariant, emptyText, }: AutocompleteProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as A,jsxs as S}from"react/jsx-runtime";import{Text as J}from"@contractspec/lib.ui-kit/ui/text";import{Button as U}from"../../atoms/Button";import{Input as R}from"../../atoms/Input";import{HStack as B,VStack as W}from"../../layout/Stack";import{useThemedPrimitive as I,useTranslatedText as k}from"../../primitives/themed";function X(D){return typeof D==="string"?D:String(D??"")}export function Autocomplete({query:D,options:L,selectedOptions:M,onQueryChange:Y,onSelectOption:Z,onRemoveOption:$,multiple:H,placeholder:P,placeholderI18n:g,readOnly:F,disabled:G,className:q,componentKey:C,themeVariant:K,emptyText:N="No results found."}){const E=k(),Q=I({defaultComponentKey:"Autocomplete",componentKey:C,themeVariant:K,className:q});return S(W,{gap:"sm",className:Q.className,children:[A(R,{value:D,onChange:(z)=>{if(typeof z==="string")Y?.(z)},placeholder:E(g??P),disabled:G||F}),A(W,{gap:"xs",children:L.length?L.map((z)=>A(U,{variant:"ghost",onPress:()=>Z?.(z),disabled:G||z.disabled||F,children:A(J,{children:E(z.labelI18n)})},X(z.value))):A(J,{children:E(N)})}),M.length?A(B,{gap:"sm",wrap:"wrap",children:M.map((z)=>A(U,{variant:"outline",size:"sm",onPress:()=>$?.(z),disabled:!H||F||G,children:A(J,{children:E(z.labelI18n)})},`selected-${X(z.value)}`))}):null]})}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { FormOption } from '@contractspec/lib.contracts-spec/forms';
|
|
2
|
+
import { RadioGroupItem } from '@contractspec/lib.ui-kit-web/ui/radio-group';
|
|
3
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
4
|
+
export interface CheckboxProps extends ThemedPrimitiveProps {
|
|
5
|
+
checked?: boolean;
|
|
6
|
+
onCheckedChange?: (value: boolean) => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function Checkbox({ componentKey, themeVariant, className, checked, onCheckedChange, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export interface SwitchProps extends ThemedPrimitiveProps {
|
|
12
|
+
checked?: boolean;
|
|
13
|
+
onCheckedChange?: (value: boolean) => void;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function Switch({ componentKey, themeVariant, className, checked, onCheckedChange, ...props }: SwitchProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export interface RadioGroupProps extends ThemedPrimitiveProps {
|
|
19
|
+
options?: FormOption[];
|
|
20
|
+
value?: unknown;
|
|
21
|
+
onValueChange?: (value: unknown) => void;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function RadioGroup({ options, value, onValueChange, disabled, componentKey, themeVariant, className, }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export { RadioGroupItem };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as A,jsxs as W}from"react/jsx-runtime";import{Checkbox as Z}from"@contractspec/lib.ui-kit-web/ui/checkbox";import{Label as $}from"@contractspec/lib.ui-kit-web/ui/label";import{RadioGroupItem,RadioGroup as H}from"@contractspec/lib.ui-kit-web/ui/radio-group";import{Switch as L}from"@contractspec/lib.ui-kit-web/ui/switch";import{HStack as G,VStack as P}from"../../layout/Stack";import{optionValue as X}from"../../primitives/control";import{useThemedPrimitive as U,useTranslatedText as R}from"../../primitives/themed";export function Checkbox({componentKey:B,themeVariant:z,className:D,checked:E,onCheckedChange:F,...J}){const q=U({defaultComponentKey:"Checkbox",componentKey:B,themeVariant:z,className:D});return A(Z,{...q.props,...J,className:q.className,checked:Boolean(E),onCheckedChange:(M)=>F?.(Boolean(M))})}export function Switch({componentKey:B,themeVariant:z,className:D,checked:E,onCheckedChange:F,...J}){const q=U({defaultComponentKey:"Switch",componentKey:B,themeVariant:z,className:D});return A(L,{...q.props,...J,className:q.className,checked:Boolean(E),onCheckedChange:(M)=>F?.(Boolean(M))})}export function RadioGroup({options:B,value:z,onValueChange:D,disabled:E,componentKey:F,themeVariant:J,className:q}){const M=R(),Y=U({defaultComponentKey:"RadioGroup",componentKey:F,themeVariant:J,className:q});return A(H,{value:z==null?"":X(z),onValueChange:(O)=>D?.(O),disabled:E,className:Y.className,children:A(P,{gap:"sm",children:B?.map((O)=>{const Q=X(O.value);return W(G,{gap:"sm",align:"center",children:[A(RadioGroupItem,{value:Q,id:Q,disabled:O.disabled}),A($,{htmlFor:Q,children:M(O.labelI18n)})]},Q)})})})}export{RadioGroupItem};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { FormOption } from '@contractspec/lib.contracts-spec/forms';
|
|
2
|
+
import { RadioGroupItem } from '@contractspec/lib.ui-kit/ui/radio-group';
|
|
3
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
4
|
+
export interface CheckboxProps extends ThemedPrimitiveProps {
|
|
5
|
+
checked?: boolean;
|
|
6
|
+
onCheckedChange?: (value: boolean) => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function Checkbox({ componentKey, themeVariant, className, checked, onCheckedChange, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export interface SwitchProps extends ThemedPrimitiveProps {
|
|
12
|
+
checked?: boolean;
|
|
13
|
+
onCheckedChange?: (value: boolean) => void;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function Switch({ componentKey, themeVariant, className, checked, onCheckedChange, ...props }: SwitchProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export interface RadioGroupProps extends ThemedPrimitiveProps {
|
|
19
|
+
options?: FormOption[];
|
|
20
|
+
value?: unknown;
|
|
21
|
+
onValueChange?: (value: unknown) => void;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function RadioGroup({ options, value, onValueChange, disabled, componentKey, themeVariant, className, }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export { RadioGroupItem };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as A,jsxs as R}from"react/jsx-runtime";import{Checkbox as Y}from"@contractspec/lib.ui-kit/ui/checkbox";import{Label as Z}from"@contractspec/lib.ui-kit/ui/label";import{RadioGroup as $,RadioGroupItem}from"@contractspec/lib.ui-kit/ui/radio-group";import{Switch as H}from"@contractspec/lib.ui-kit/ui/switch";import{HStack as L,VStack as G}from"../../layout/Stack";import{optionValue as W}from"../../primitives/control";import{useThemedPrimitive as Q,useTranslatedText as P}from"../../primitives/themed";export function Checkbox({componentKey:B,themeVariant:z,className:D,checked:E,onCheckedChange:F,...J}){const q=Q({defaultComponentKey:"Checkbox",componentKey:B,themeVariant:z,className:D});return A(Y,{...q.props,...J,className:q.className,checked:Boolean(E),onCheckedChange:(M)=>F?.(Boolean(M))})}export function Switch({componentKey:B,themeVariant:z,className:D,checked:E,onCheckedChange:F,...J}){const q=Q({defaultComponentKey:"Switch",componentKey:B,themeVariant:z,className:D});return A(H,{...q.props,...J,className:q.className,checked:Boolean(E),onCheckedChange:(M)=>F?.(Boolean(M))})}export function RadioGroup({options:B,value:z,onValueChange:D,disabled:E,componentKey:F,themeVariant:J,className:q}){const M=P(),X=Q({defaultComponentKey:"RadioGroup",componentKey:F,themeVariant:J,className:q});return A($,{value:z==null?"":W(z),onValueChange:(O)=>D?.(O),disabled:E,className:X.className,children:A(G,{gap:"sm",children:B?.map((O)=>{const U=W(O.value);return R(L,{gap:"sm",align:"center",children:[A(RadioGroupItem,{value:U,disabled:O.disabled}),A(Z,{children:M(O.labelI18n)})]},U)})})})}export{RadioGroupItem};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type ComboboxProps as WebComboboxProps } from '@contractspec/lib.ui-kit-web/ui/combobox';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
3
|
+
export type ComboboxProps = WebComboboxProps & ThemedPrimitiveProps;
|
|
4
|
+
export declare function Combobox({ componentKey, themeVariant, className, placeholder, placeholderI18n, searchPlaceholder, emptyText, ...props }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as O}from"react/jsx-runtime";import{Combobox as J}from"@contractspec/lib.ui-kit-web/ui/combobox";import{useThemedPrimitive as L,useTranslatedText as M}from"../../primitives/themed";export function Combobox({componentKey:z,themeVariant:A,className:B,placeholder:D,placeholderI18n:E,searchPlaceholder:F,emptyText:G,...H}){const g=M(),q=L({defaultComponentKey:"Combobox",componentKey:z,themeVariant:A,className:B});return O(J,{...q.props,...H,className:q.className,placeholder:g(E??D),searchPlaceholder:g(F),emptyText:g(G)})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Autocomplete as Combobox}from"./Autocomplete";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type DatePickerProps as WebDatePickerProps } from '@contractspec/lib.ui-kit-web/ui/date-picker';
|
|
2
|
+
import { type DateRangePickerProps as WebDateRangePickerProps } from '@contractspec/lib.ui-kit-web/ui/date-range-picker';
|
|
3
|
+
import { type DateTimePickerProps as WebDateTimePickerProps } from '@contractspec/lib.ui-kit-web/ui/datetime-picker';
|
|
4
|
+
import { type TimePickerProps as WebTimePickerProps } from '@contractspec/lib.ui-kit-web/ui/time-picker';
|
|
5
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
6
|
+
type BaseDateTimeProps = ThemedPrimitiveProps & {
|
|
7
|
+
className?: string;
|
|
8
|
+
};
|
|
9
|
+
export type DatePickerProps = WebDatePickerProps & BaseDateTimeProps;
|
|
10
|
+
export declare function DatePicker({ componentKey, themeVariant, placeholder, placeholderI18n, className, ...props }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export type TimePickerProps = WebTimePickerProps & BaseDateTimeProps;
|
|
12
|
+
export declare function TimePicker({ componentKey, themeVariant, placeholder, placeholderI18n, className, ...props }: TimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export type DateTimePickerProps = WebDateTimePickerProps & BaseDateTimeProps & {
|
|
14
|
+
datePlaceholderI18n?: string;
|
|
15
|
+
timePlaceholderI18n?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function DateTimePicker({ componentKey, themeVariant, datePlaceholder, timePlaceholder, datePlaceholderI18n, timePlaceholderI18n, className, ...props }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export type DateRangePickerProps = WebDateRangePickerProps & BaseDateTimeProps;
|
|
19
|
+
export declare function DateRangePicker({ componentKey, themeVariant, className, ...props }: DateRangePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as J}from"react/jsx-runtime";import{DatePicker as Q}from"@contractspec/lib.ui-kit-web/ui/date-picker";import{DateRangePicker as S}from"@contractspec/lib.ui-kit-web/ui/date-range-picker";import{DateTimePicker as U}from"@contractspec/lib.ui-kit-web/ui/datetime-picker";import{TimePicker as X}from"@contractspec/lib.ui-kit-web/ui/time-picker";import{useThemedPrimitive as H,useTranslatedText as L}from"../../primitives/themed";export function DatePicker({componentKey:z,themeVariant:A,placeholder:B,placeholderI18n:C,className:q,...F}){const G=L(),E=H({defaultComponentKey:"DatePicker",componentKey:z,themeVariant:A,className:q});return J(Q,{...E.props,...F,className:E.className,placeholder:G(C??B)})}export function TimePicker({componentKey:z,themeVariant:A,placeholder:B,placeholderI18n:C,className:q,...F}){const G=L(),E=H({defaultComponentKey:"TimePicker",componentKey:z,themeVariant:A,className:q});return J(X,{...E.props,...F,className:E.className,placeholder:G(C??B)})}export function DateTimePicker({componentKey:z,themeVariant:A,datePlaceholder:B,timePlaceholder:C,datePlaceholderI18n:q,timePlaceholderI18n:F,className:G,...E}){const M=L(),O=H({defaultComponentKey:"DateTimePicker",componentKey:z,themeVariant:A,className:G});return J(U,{...O.props,...E,className:O.className,datePlaceholder:M(q??B),timePlaceholder:M(F??C)})}export function DateRangePicker({componentKey:z,themeVariant:A,className:B,...C}){const q=H({defaultComponentKey:"DateRangePicker",componentKey:z,themeVariant:A,className:B});return J(S,{...q.props,...C,className:q.className})}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type DatePickerProps as NativeDatePickerProps } from '@contractspec/lib.ui-kit/ui/date-picker';
|
|
2
|
+
import { type DateRangePickerProps as NativeDateRangePickerProps } from '@contractspec/lib.ui-kit/ui/date-range-picker';
|
|
3
|
+
import { type DateTimePickerProps as NativeDateTimePickerProps } from '@contractspec/lib.ui-kit/ui/datetime-picker';
|
|
4
|
+
import { type TimePickerProps as NativeTimePickerProps } from '@contractspec/lib.ui-kit/ui/time-picker';
|
|
5
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
6
|
+
type BaseDateTimeProps = ThemedPrimitiveProps & {
|
|
7
|
+
className?: string;
|
|
8
|
+
};
|
|
9
|
+
export type DatePickerProps = NativeDatePickerProps & BaseDateTimeProps;
|
|
10
|
+
export declare function DatePicker({ componentKey, themeVariant, placeholder, placeholderI18n, className, ...props }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export type TimePickerProps = NativeTimePickerProps & BaseDateTimeProps;
|
|
12
|
+
export declare function TimePicker({ componentKey, themeVariant, placeholder, placeholderI18n, className, ...props }: TimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export type DateTimePickerProps = NativeDateTimePickerProps & BaseDateTimeProps & {
|
|
14
|
+
datePlaceholderI18n?: string;
|
|
15
|
+
timePlaceholderI18n?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function DateTimePicker({ componentKey, themeVariant, datePlaceholder, timePlaceholder, datePlaceholderI18n, timePlaceholderI18n, className, ...props }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export type DateRangePickerProps = NativeDateRangePickerProps & BaseDateTimeProps;
|
|
19
|
+
export declare function DateRangePicker({ componentKey, themeVariant, className, ...props }: DateRangePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as J}from"react/jsx-runtime";import{DatePicker as Q}from"@contractspec/lib.ui-kit/ui/date-picker";import{DateRangePicker as S}from"@contractspec/lib.ui-kit/ui/date-range-picker";import{DateTimePicker as U}from"@contractspec/lib.ui-kit/ui/datetime-picker";import{TimePicker as W}from"@contractspec/lib.ui-kit/ui/time-picker";import{useThemedPrimitive as H,useTranslatedText as L}from"../../primitives/themed";export function DatePicker({componentKey:z,themeVariant:A,placeholder:B,placeholderI18n:C,className:q,...F}){const G=L(),E=H({defaultComponentKey:"DatePicker",componentKey:z,themeVariant:A,className:q});return J(Q,{...E.props,...F,className:E.className,placeholder:G(C??B)})}export function TimePicker({componentKey:z,themeVariant:A,placeholder:B,placeholderI18n:C,className:q,...F}){const G=L(),E=H({defaultComponentKey:"TimePicker",componentKey:z,themeVariant:A,className:q});return J(W,{...E.props,...F,className:E.className,placeholder:G(C??B)})}export function DateTimePicker({componentKey:z,themeVariant:A,datePlaceholder:B,timePlaceholder:C,datePlaceholderI18n:q,timePlaceholderI18n:F,className:G,...E}){const M=L(),O=H({defaultComponentKey:"DateTimePicker",componentKey:z,themeVariant:A,className:G});return J(U,{...O.props,...E,className:O.className,datePlaceholder:M(q??B),timePlaceholder:M(F??C)})}export function DateRangePicker({componentKey:z,themeVariant:A,className:B,...C}){const q=H({defaultComponentKey:"DateRangePicker",componentKey:z,themeVariant:A,className:B});return J(S,{...q.props,...C,className:q.className})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from '@contractspec/lib.ui-kit-web/ui/dropdown-menu';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger}from"@contractspec/lib.ui-kit-web/ui/dropdown-menu";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from '@contractspec/lib.ui-kit/ui/dropdown-menu';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger}from"@contractspec/lib.ui-kit/ui/dropdown-menu";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Field as WebField, FieldContent as WebFieldContent, FieldDescription as WebFieldDescription, FieldError as WebFieldError, FieldGroup as WebFieldGroup, FieldLabel as WebFieldLabel, FieldLegend as WebFieldLegend, FieldSeparator as WebFieldSeparator, FieldSet as WebFieldSet } from '@contractspec/lib.ui-kit-web/ui/field';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
4
|
+
type FieldBaseProps<TProps> = TProps & ThemedPrimitiveProps;
|
|
5
|
+
export type FieldProps = FieldBaseProps<React.ComponentProps<typeof WebField>>;
|
|
6
|
+
export declare function Field({ componentKey, themeVariant, className, layout: _layout, ...props }: FieldProps & {
|
|
7
|
+
layout?: unknown;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export type FieldSetProps = FieldBaseProps<React.ComponentProps<typeof WebFieldSet>>;
|
|
10
|
+
export declare function FieldSet({ componentKey, themeVariant, className, ...props }: FieldSetProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export type FieldLegendProps = FieldBaseProps<React.ComponentProps<typeof WebFieldLegend>>;
|
|
12
|
+
export declare function FieldLegend({ componentKey, themeVariant, className, children, ...props }: FieldLegendProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export type FieldContentProps = FieldBaseProps<React.ComponentProps<typeof WebFieldContent>>;
|
|
14
|
+
export declare function FieldContent({ componentKey, themeVariant, className, ...props }: FieldContentProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export type FieldGroupProps = FieldBaseProps<React.ComponentProps<typeof WebFieldGroup>> & {
|
|
16
|
+
layout?: unknown;
|
|
17
|
+
};
|
|
18
|
+
export declare function FieldGroup({ componentKey, themeVariant, className, layout: _layout, ...props }: FieldGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export type FieldLabelProps = FieldBaseProps<React.ComponentProps<typeof WebFieldLabel>>;
|
|
20
|
+
export declare function FieldLabel({ componentKey, themeVariant, className, children, ...props }: FieldLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export type FieldDescriptionProps = FieldBaseProps<React.ComponentProps<typeof WebFieldDescription>>;
|
|
22
|
+
export declare function FieldDescription({ componentKey, themeVariant, className, children, ...props }: FieldDescriptionProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export type FieldErrorProps = FieldBaseProps<React.ComponentProps<typeof WebFieldError>>;
|
|
24
|
+
export declare function FieldError({ componentKey, themeVariant, className, children, ...props }: FieldErrorProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export type FieldSeparatorProps = FieldBaseProps<React.ComponentProps<typeof WebFieldSeparator>>;
|
|
26
|
+
export declare function FieldSeparator({ componentKey, themeVariant, className, children, ...props }: FieldSeparatorProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, } from '@contractspec/lib.ui-kit-web/ui/input-group';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as O}from"react/jsx-runtime";import{Field as R,FieldContent as U,FieldDescription as X,FieldError as Y,FieldGroup as Z,FieldLabel as $,FieldLegend as k,FieldSeparator as C,FieldSet as D}from"@contractspec/lib.ui-kit-web/ui/field";import{useThemedPrimitive as M,useTranslatedNode as Q}from"../../primitives/themed";export function Field({componentKey:A,themeVariant:B,className:H,layout:I,...z}){const q=M({defaultComponentKey:"Field",componentKey:A,themeVariant:B,className:H});return O(R,{...q.props,...z,className:q.className})}export function FieldSet({componentKey:A,themeVariant:B,className:H,...I}){const z=M({defaultComponentKey:"FieldSet",componentKey:A,themeVariant:B,className:H});return O(D,{...z.props,...I,className:z.className})}export function FieldLegend({componentKey:A,themeVariant:B,className:H,children:I,...z}){const q=M({defaultComponentKey:"FieldLegend",componentKey:A,themeVariant:B,className:H}),J=Q();return O(k,{...q.props,...z,className:q.className,children:J(I)})}export function FieldContent({componentKey:A,themeVariant:B,className:H,...I}){const z=M({defaultComponentKey:"FieldContent",componentKey:A,themeVariant:B,className:H});return O(U,{...z.props,...I,className:z.className})}export function FieldGroup({componentKey:A,themeVariant:B,className:H,layout:I,...z}){const q=M({defaultComponentKey:"FieldGroup",componentKey:A,themeVariant:B,className:H});return O(Z,{...q.props,...z,className:q.className})}export function FieldLabel({componentKey:A,themeVariant:B,className:H,children:I,...z}){const q=M({defaultComponentKey:"FieldLabel",componentKey:A,themeVariant:B,className:H}),J=Q();return O($,{...q.props,...z,className:q.className,children:J(I)})}export function FieldDescription({componentKey:A,themeVariant:B,className:H,children:I,...z}){const q=M({defaultComponentKey:"FieldDescription",componentKey:A,themeVariant:B,className:H}),J=Q();return O(X,{...q.props,...z,className:q.className,children:J(I)})}export function FieldError({componentKey:A,themeVariant:B,className:H,children:I,...z}){const q=M({defaultComponentKey:"FieldError",componentKey:A,themeVariant:B,className:H}),J=Q();return O(Y,{...q.props,...z,className:q.className,children:J(I)})}export function FieldSeparator({componentKey:A,themeVariant:B,className:H,children:I,...z}){const q=M({defaultComponentKey:"FieldSeparator",componentKey:A,themeVariant:B,className:H}),J=Q();return O(C,{...q.props,...z,className:q.className,children:J(I)})}export{InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea}from"@contractspec/lib.ui-kit-web/ui/input-group";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type { FieldContentProps, FieldDescriptionProps, FieldErrorProps, FieldGroupProps, FieldLabelProps, FieldLegendProps, FieldProps, FieldSeparatorProps, FieldSetProps, } from './Field';
|
|
2
|
+
export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, } from './Field';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet}from"./Field";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, } from '@contractspec/lib.ui-kit-web/ui/input-group';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea}from"@contractspec/lib.ui-kit-web/ui/input-group";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { Text as InputGroupText } from '@contractspec/lib.ui-kit/ui/text';
|
|
2
|
+
export { Button as InputGroupButton } from '../../atoms/Button';
|
|
3
|
+
export { Input as InputGroupInput } from '../../atoms/Input';
|
|
4
|
+
export { Textarea as InputGroupTextarea } from '../../atoms/Textarea';
|
|
5
|
+
export { HStack as InputGroup, HStack as InputGroupAddon, } from '../../layout/Stack';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Text as InputGroupText}from"@contractspec/lib.ui-kit/ui/text";export{Button as InputGroupButton}from"../../atoms/Button";export{Input as InputGroupInput}from"../../atoms/Input";export{Textarea as InputGroupTextarea}from"../../atoms/Textarea";export{HStack as InputGroup,HStack as InputGroupAddon}from"../../layout/Stack";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, } from '@contractspec/lib.ui-kit-web/ui/input-otp';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot}from"@contractspec/lib.ui-kit-web/ui/input-otp";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Input as InputOTP}from"../../atoms/Input";export{Box as InputOTPSlot,Box as InputOTPSeparator,HStack as InputOTPGroup}from"../../layout/Stack";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type LoadingButtonProps as WebLoadingButtonProps } from '@contractspec/lib.ui-kit-web/ui/loading-button';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
3
|
+
export type LoadingButtonProps = WebLoadingButtonProps & ThemedPrimitiveProps;
|
|
4
|
+
export declare function LoadingButton({ componentKey, themeVariant, className, children, loadingText, labelI18n, ...props }: LoadingButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as S}from"react/jsx-runtime";import{LoadingButton as M}from"@contractspec/lib.ui-kit-web/ui/loading-button";import{useThemedPrimitive as O,useTranslatedNode as Q,useTranslatedText as R}from"../../primitives/themed";export function LoadingButton({componentKey:z,themeVariant:A,className:C,children:D,loadingText:E,labelI18n:F,...G}){const q=O({defaultComponentKey:"LoadingButton",componentKey:z,themeVariant:A,className:C}),H=Q(),J=R();return S(M,{...q.props,...G,className:q.className,loadingText:J(E),children:H(F??D)})}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type LoadingButtonProps as NativeLoadingButtonProps } from '@contractspec/lib.ui-kit/ui/loading-button';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
3
|
+
export type LoadingButtonProps = NativeLoadingButtonProps & ThemedPrimitiveProps;
|
|
4
|
+
export declare function LoadingButton({ componentKey, themeVariant, className, children, loadingText, labelI18n, ...props }: LoadingButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as S}from"react/jsx-runtime";import{LoadingButton as M}from"@contractspec/lib.ui-kit/ui/loading-button";import{useThemedPrimitive as O,useTranslatedNode as Q,useTranslatedText as R}from"../../primitives/themed";export function LoadingButton({componentKey:z,themeVariant:A,className:C,children:D,loadingText:E,labelI18n:F,...G}){const q=O({defaultComponentKey:"LoadingButton",componentKey:z,themeVariant:A,className:C}),H=Q(),J=R();return S(M,{...q.props,...G,className:q.className,loadingText:J(E),children:H(F??D)})}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NativeSelectOptGroup, NativeSelect as WebNativeSelect } from '@contractspec/lib.ui-kit-web/ui/native-select';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { type ThemedPrimitiveProps } from '../../primitives/themed';
|
|
4
|
+
export type NativeSelectProps = React.ComponentProps<typeof WebNativeSelect> & ThemedPrimitiveProps;
|
|
5
|
+
export declare function NativeSelect({ componentKey, themeVariant, className, placeholderI18n: _placeholderI18n, ...props }: NativeSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function NativeSelectOption(props: React.ComponentProps<'option'>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export { NativeSelectOptGroup };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as A}from"react/jsx-runtime";import{NativeSelectOptGroup,NativeSelect as D,NativeSelectOption as E}from"@contractspec/lib.ui-kit-web/ui/native-select";import{useThemedPrimitive as F,useTranslatedText as H}from"../../primitives/themed";export function NativeSelect({componentKey:g,themeVariant:q,className:B,placeholderI18n:I,...C}){const z=F({defaultComponentKey:"NativeSelect",componentKey:g,themeVariant:q,className:B});return A(D,{...z.props,...C,className:z.className})}export function NativeSelectOption(g){const q=H();return A(E,{...g,children:typeof g.children==="string"?q(g.children):g.children})}export{NativeSelectOptGroup};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Select as NativeSelect,SelectGroup as NativeSelectOptGroup,SelectItem as NativeSelectOption}from"./Select";
|