@contractspec/lib.design-system 3.11.2 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/browser/components/atoms/InputPassword.js +1 -0
- package/dist/browser/components/data-view/DataViewRenderer.js +1 -1
- package/dist/browser/components/forms/controls/index.js +1 -1
- package/dist/browser/components/legal/templates/ContactTemplate.js +1 -1
- package/dist/browser/components/list/List.js +1 -0
- package/dist/browser/components/list/index.js +1 -0
- package/dist/browser/components/molecules/FiltersToolbar.js +1 -1
- package/dist/browser/components/molecules/Tabs.js +1 -0
- package/dist/browser/components/typography/Typography.js +1 -0
- package/dist/browser/components/typography/index.js +1 -0
- package/dist/browser/controls.js +1 -0
- package/dist/browser/forms.js +1 -0
- package/dist/browser/hooks/useListUrlState.js +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/layout.js +1 -0
- package/dist/browser/list.js +1 -0
- package/dist/browser/renderers/form-contract/renderer.js +1 -1
- package/dist/browser/renderers/form-contract/shell.js +1 -1
- package/dist/browser/typography.js +1 -0
- package/dist/components/atoms/{ButtonLink.mobile.d.ts → ButtonLink.native.d.ts} +1 -1
- package/dist/components/atoms/InputPassword.d.ts +15 -0
- package/dist/components/atoms/InputPassword.js +1 -0
- package/dist/components/atoms/InputPassword.native.d.ts +17 -0
- package/dist/components/atoms/Link.native.d.ts +1 -1
- package/dist/components/data-view/DataViewRenderer.d.ts +3 -3
- package/dist/components/data-view/DataViewRenderer.js +1 -1
- package/dist/components/data-view/{DataViewRenderer.mobile.d.ts → DataViewRenderer.native.d.ts} +3 -3
- package/dist/components/forms/controls/index.d.ts +1 -0
- package/dist/components/forms/controls/index.js +1 -1
- package/dist/components/legal/templates/ContactTemplate.js +1 -1
- package/dist/components/list/List.d.ts +6 -0
- package/dist/components/list/List.js +1 -0
- package/dist/components/list/List.native.d.ts +6 -0
- package/dist/components/list/index.d.ts +1 -0
- package/dist/components/list/index.js +1 -0
- package/dist/components/molecules/FiltersToolbar.d.ts +1 -0
- package/dist/components/molecules/FiltersToolbar.js +1 -1
- package/dist/components/molecules/Tabs.d.ts +32 -0
- package/dist/components/molecules/Tabs.js +1 -0
- package/dist/components/molecules/Tabs.native.d.ts +32 -0
- package/dist/components/organisms/{AppHeader.mobile.d.ts → AppHeader.native.d.ts} +1 -1
- package/dist/components/typography/Typography.d.ts +19 -0
- package/dist/components/typography/Typography.js +1 -0
- package/dist/components/typography/Typography.native.d.ts +19 -0
- package/dist/components/typography/index.d.ts +1 -0
- package/dist/components/typography/index.js +1 -0
- package/dist/controls.d.ts +1 -0
- package/dist/controls.js +1 -0
- package/dist/forms.d.ts +1 -0
- package/dist/forms.js +1 -0
- package/dist/hooks/useListUrlState.d.ts +3 -1
- package/dist/hooks/useListUrlState.js +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +1 -1
- package/dist/layout.d.ts +1 -0
- package/dist/layout.js +1 -0
- package/dist/list.d.ts +1 -0
- package/dist/list.js +1 -0
- package/dist/native/components/agent/AgentMonitor.js +1 -0
- package/dist/native/components/agent/ApprovalQueue.js +1 -0
- package/dist/native/components/atoms/ActionButtons.js +1 -0
- package/dist/native/components/atoms/Button.js +1 -0
- package/dist/native/components/atoms/ButtonLink.js +1 -0
- package/dist/{browser/components/atoms/ButtonLink.mobile.js → native/components/atoms/ButtonLink.native.js} +1 -1
- package/dist/native/components/atoms/Cta.js +1 -0
- package/dist/native/components/atoms/DataChips.js +1 -0
- package/dist/native/components/atoms/EmptyState.js +1 -0
- package/dist/native/components/atoms/ErrorState.js +1 -0
- package/dist/native/components/atoms/ErrorState.native.js +1 -0
- package/dist/native/components/atoms/Input.js +1 -0
- package/dist/native/components/atoms/InputPassword.js +1 -0
- package/dist/native/components/atoms/InputPassword.native.js +1 -0
- package/dist/native/components/atoms/Link.js +1 -0
- package/dist/native/components/atoms/Link.native.js +1 -0
- package/dist/native/components/atoms/LoaderCircular.js +1 -0
- package/dist/native/components/atoms/NavBrand.js +1 -0
- package/dist/native/components/atoms/RankBadge.js +1 -0
- package/dist/native/components/atoms/ScoreBar.js +1 -0
- package/dist/native/components/atoms/Stepper.js +1 -0
- package/dist/native/components/atoms/Textarea.js +1 -0
- package/dist/native/components/data-table/DataTable.js +1 -0
- package/dist/native/components/data-table/DataTableToolbar.js +1 -0
- package/dist/{browser/components/data-table/DataTableToolbar.mobile.js → native/components/data-table/DataTableToolbar.native.js} +1 -1
- package/dist/native/components/data-table/DataTableToolbar.shared.js +1 -0
- package/dist/native/components/data-view/DataViewDetail.js +1 -0
- package/dist/native/components/data-view/DataViewList.js +1 -0
- package/dist/native/components/data-view/DataViewRenderer.js +1 -0
- package/dist/native/components/data-view/DataViewRenderer.native.js +1 -0
- package/dist/native/components/data-view/DataViewTable.js +1 -0
- package/dist/native/components/data-view/utils.js +1 -0
- package/dist/native/components/forms/ActionForm.js +1 -0
- package/dist/native/components/forms/FormCardLayout.js +1 -0
- package/dist/native/components/forms/FormDialog.js +1 -0
- package/dist/native/components/forms/FormLayout.js +1 -0
- package/dist/native/components/forms/FormOneByOneLayout.js +1 -0
- package/dist/native/components/forms/FormStepsLayout.js +1 -0
- package/dist/native/components/forms/ZodForm.js +1 -0
- package/dist/native/components/forms/controls/Autocomplete.js +1 -0
- package/dist/native/components/forms/controls/ChoiceControls.js +1 -0
- package/dist/native/components/forms/controls/Combobox.js +1 -0
- package/dist/native/components/forms/controls/DateTimeControls.js +1 -0
- package/dist/{components/forms/controls/DropdownMenu.mobile.js → native/components/forms/controls/DropdownMenu.js} +1 -1
- package/dist/native/components/forms/controls/Field.js +1 -0
- package/dist/native/components/forms/controls/InputGroup.js +1 -0
- package/dist/native/components/forms/controls/InputOTP.js +1 -0
- package/dist/native/components/forms/controls/LoadingButton.js +1 -0
- package/dist/native/components/forms/controls/NativeSelect.js +1 -0
- package/dist/native/components/forms/controls/Select.js +1 -0
- package/dist/native/components/forms/controls/index.js +1 -0
- package/dist/native/components/forms/index.js +1 -0
- package/dist/native/components/layout/Stack.js +1 -0
- package/dist/native/components/layout/index.js +1 -0
- package/dist/native/components/legal/atoms/DefinitionList.js +1 -0
- package/dist/native/components/legal/atoms/KeyValueList.js +1 -0
- package/dist/native/components/legal/atoms/LegalCallout.js +1 -0
- package/dist/native/components/legal/atoms/LegalHeading.js +1 -0
- package/dist/native/components/legal/atoms/LegalList.js +1 -0
- package/dist/native/components/legal/atoms/LegalSection.js +1 -0
- package/dist/native/components/legal/atoms/LegalText.js +1 -0
- package/dist/native/components/legal/molecules/Consent.js +1 -0
- package/dist/native/components/legal/molecules/ContactFields.js +1 -0
- package/dist/native/components/legal/molecules/LegalMeta.js +1 -0
- package/dist/native/components/legal/molecules/LegalTOC.js +1 -0
- package/dist/native/components/legal/organisms/ContactForm.js +1 -0
- package/dist/native/components/legal/organisms/GDPRDataRequest.js +1 -0
- package/dist/native/components/legal/organisms/GDPRRights.js +1 -0
- package/dist/native/components/legal/organisms/LegalPageLayout.js +1 -0
- package/dist/native/components/legal/templates/ContactTemplate.js +1 -0
- package/dist/native/components/legal/templates/CookiesTemplate.js +1 -0
- package/dist/native/components/legal/templates/PrivacyTemplate.js +1 -0
- package/dist/native/components/legal/templates/SalesTermsTemplate.js +1 -0
- package/dist/native/components/legal/templates/TermsTemplate.js +1 -0
- package/dist/native/components/list/List.js +1 -0
- package/dist/native/components/list/List.native.js +1 -0
- package/dist/native/components/list/index.js +1 -0
- package/dist/native/components/marketing/MarketingCard.js +1 -0
- package/dist/native/components/marketing/MarketingCardsSection.js +1 -0
- package/dist/native/components/marketing/MarketingComparisonSection.js +1 -0
- package/dist/native/components/marketing/MarketingIconCard.js +1 -0
- package/dist/native/components/marketing/MarketingSection.js +1 -0
- package/dist/native/components/marketing/MarketingStepCard.js +1 -0
- package/dist/native/components/molecules/AiLinkButton.js +1 -0
- package/dist/native/components/molecules/Breadcrumbs.js +1 -0
- package/dist/native/components/molecules/CodeBlock/CodeBlock.js +1 -0
- package/dist/native/components/molecules/CodeBlock/index.js +1 -0
- package/dist/native/components/molecules/CommandPalette.js +1 -0
- package/dist/native/components/molecules/CommandSearchTrigger.js +1 -0
- package/dist/native/components/molecules/CommandTabs/CommandTabs.js +1 -0
- package/dist/native/components/molecules/CommandTabs/index.js +1 -0
- package/dist/native/components/molecules/CopyButton/CopyButton.js +1 -0
- package/dist/native/components/molecules/CopyButton/index.js +1 -0
- package/dist/native/components/molecules/CopyButton/types.js +0 -0
- package/dist/native/components/molecules/DimensionScoresCard.js +1 -0
- package/dist/native/components/molecules/DropdownMenu.js +0 -0
- package/dist/native/components/molecules/EntityCard.js +1 -0
- package/dist/native/components/molecules/FiltersToolbar.js +1 -0
- package/dist/{browser/components/molecules/FiltersToolbar.mobile.js → native/components/molecules/FiltersToolbar.native.js} +1 -1
- package/dist/native/components/molecules/HoverPreview.js +1 -0
- package/dist/native/components/molecules/InstallCommand/InstallCommand.js +1 -0
- package/dist/native/components/molecules/InstallCommand/index.js +1 -0
- package/dist/native/components/molecules/InstallCommand/types.js +0 -0
- package/dist/native/components/molecules/LangSwitch.js +1 -0
- package/dist/native/components/molecules/LangSwitchDropdown.js +1 -0
- package/dist/native/components/molecules/LoaderBlock.js +1 -0
- package/dist/{browser/components/molecules/LoaderBlock.mobile.js → native/components/molecules/LoaderBlock.native.js} +1 -1
- package/dist/native/components/molecules/MarkdownRenderer/MarkdownRenderer.js +2 -0
- package/dist/native/components/molecules/MarkdownRenderer/formatInlineMarkdown.js +1 -0
- package/dist/native/components/molecules/MarkdownRenderer/index.js +1 -0
- package/dist/native/components/molecules/MarkdownRenderer/renderMarkdownTable.js +1 -0
- package/dist/native/components/molecules/MarkdownRenderer/types.js +0 -0
- package/dist/native/components/molecules/MobileNavMenu.js +1 -0
- package/dist/native/components/molecules/NavItemCard.js +1 -0
- package/dist/native/components/molecules/NavMain.js +1 -0
- package/dist/native/components/molecules/NavUser.js +1 -0
- package/dist/native/components/molecules/OverviewCard.js +1 -0
- package/dist/native/components/molecules/SkeletonBlock/index.js +1 -0
- package/dist/native/components/molecules/SkeletonBlock/types.js +0 -0
- package/dist/native/components/molecules/SkeletonCircle/index.js +1 -0
- package/dist/native/components/molecules/SkeletonCircle/types.js +0 -0
- package/dist/native/components/molecules/SkeletonList/index.js +1 -0
- package/dist/native/components/molecules/SkeletonList/types.js +0 -0
- package/dist/native/components/molecules/StatCard.js +1 -0
- package/dist/native/components/molecules/StatusChip.js +1 -0
- package/dist/native/components/molecules/Tabs.js +1 -0
- package/dist/native/components/molecules/Tabs.native.js +1 -0
- package/dist/native/components/molecules/hover-previews/Doc.js +1 -0
- package/dist/native/components/molecules/hover-previews/Media.js +1 -0
- package/dist/native/components/molecules/hover-previews/Simple.js +1 -0
- package/dist/native/components/molecules/hover-previews/Stats.js +1 -0
- package/dist/native/components/molecules/hover-previews/User.js +1 -0
- package/dist/native/components/organisms/AcademyLayout.js +1 -0
- package/dist/native/components/organisms/AppHeader.js +1 -0
- package/dist/{browser/components/organisms/AppHeader.mobile.js → native/components/organisms/AppHeader.native.js} +1 -1
- package/dist/native/components/organisms/AppLayout.js +1 -0
- package/dist/native/components/organisms/AppSidebar.js +1 -0
- package/dist/native/components/organisms/AppSidebar.native.js +0 -0
- package/dist/native/components/organisms/EmptyDataList.js +1 -0
- package/dist/native/components/organisms/EmptyDataList.types.js +0 -0
- package/dist/native/components/organisms/EmptySearchResult.js +1 -0
- package/dist/native/components/organisms/FAQSection.js +1 -0
- package/dist/native/components/organisms/FeatureCarousel.js +1 -0
- package/dist/native/components/organisms/FeaturesSection.js +1 -0
- package/dist/native/components/organisms/Footer.js +1 -0
- package/dist/native/components/organisms/GridLayout.js +1 -0
- package/dist/native/components/organisms/Header.js +1 -0
- package/dist/native/components/organisms/HeroResponsive.js +1 -0
- package/dist/native/components/organisms/HeroSection.js +1 -0
- package/dist/native/components/organisms/ListCardPage.js +1 -0
- package/dist/native/components/organisms/ListGridPage.js +1 -0
- package/dist/native/components/organisms/ListPageResponsive.js +1 -0
- package/dist/native/components/organisms/ListTablePage.js +1 -0
- package/dist/native/components/organisms/MarketingHeader.js +1 -0
- package/dist/native/components/organisms/MarketingHeaderDesktop.js +1 -0
- package/dist/native/components/organisms/MarketingHeaderMobile.js +1 -0
- package/dist/native/components/organisms/MarketingLayout.js +1 -0
- package/dist/native/components/organisms/ModelComparisonView.js +1 -0
- package/dist/native/components/organisms/PageHeaderResponsive.js +1 -0
- package/dist/{browser/components/organisms/PageHeaderResponsive.mobile.js → native/components/organisms/PageHeaderResponsive.native.js} +1 -1
- package/dist/native/components/organisms/PricingCarousel.js +1 -0
- package/dist/native/components/organisms/PricingSection.js +1 -0
- package/dist/native/components/organisms/TestimonialCarousel.js +1 -0
- package/dist/native/components/primitives/control.js +1 -0
- package/dist/native/components/primitives/themed.js +1 -0
- package/dist/native/components/providers/PackageManagerProvider.js +1 -0
- package/dist/native/components/templates/lists/ListPageTemplate/index.js +1 -0
- package/dist/{browser/components/templates/lists/ListPageTemplate/index.mobile.js → native/components/templates/lists/ListPageTemplate/index.native.js} +1 -1
- package/dist/native/components/templates/lists/ListPageTemplate/types.js +0 -0
- package/dist/native/components/typography/Typography.js +1 -0
- package/dist/native/components/typography/Typography.native.js +1 -0
- package/dist/native/components/typography/index.js +1 -0
- package/dist/native/components/visualization/ComparisonView.js +1 -0
- package/dist/{browser/components/visualization/ComparisonView.mobile.js → native/components/visualization/ComparisonView.native.js} +1 -1
- package/dist/native/components/visualization/TimelineView.js +1 -0
- package/dist/{browser/components/visualization/TimelineView.mobile.js → native/components/visualization/TimelineView.native.js} +1 -1
- package/dist/native/components/visualization/VisualizationCard.js +1 -0
- package/dist/native/components/visualization/VisualizationCard.native.js +1 -0
- package/dist/native/components/visualization/VisualizationGrid.js +1 -0
- package/dist/native/components/visualization/VisualizationRenderer.js +1 -0
- package/dist/native/components/visualization/types.js +0 -0
- package/dist/native/contracts.typecheck.js +1 -0
- package/dist/native/controls.js +1 -0
- package/dist/native/design-system.feature.js +1 -0
- package/dist/native/forms.js +1 -0
- package/dist/native/hooks/useListUrlState.js +1 -0
- package/dist/native/i18n/translation.js +1 -0
- package/dist/native/index.js +1 -0
- package/dist/native/layout.js +1 -0
- package/dist/native/lib/keyboard.js +1 -0
- package/dist/native/lib/utils.js +1 -0
- package/dist/native/list.js +1 -0
- package/dist/native/platform/useColorScheme.js +1 -0
- package/dist/native/platform/useReducedMotion.js +1 -0
- package/dist/native/platform/useResponsive.js +1 -0
- package/dist/native/platform/withPlatformUI.js +1 -0
- package/dist/native/renderers/form-contract/renderer.js +1 -0
- package/dist/native/renderers/form-contract/rich-fields.js +1 -0
- package/dist/native/renderers/form-contract/shell.js +1 -0
- package/dist/native/renderers/form-contract/values.js +1 -0
- package/dist/native/renderers/form-contract.js +1 -0
- package/dist/native/renderers/index.js +1 -0
- package/dist/native/theme/contracts.js +1 -0
- package/dist/native/theme/index.js +1 -0
- package/dist/native/theme/runtime-resolvers.js +1 -0
- package/dist/native/theme/runtime.js +1 -0
- package/dist/native/theme/tailwind-config.js +1 -0
- package/dist/native/theme/tailwind-css.js +9 -0
- package/dist/native/theme/tailwind-variables.js +1 -0
- package/dist/native/theme/tailwind.js +1 -0
- package/dist/native/theme/tokenBridge.js +1 -0
- package/dist/native/theme/tokens.js +1 -0
- package/dist/native/theme/variants.js +1 -0
- package/dist/native/types/nativewind-env.d.js +0 -0
- package/dist/native/types/navigation.js +0 -0
- package/dist/native/typography.js +1 -0
- package/dist/renderers/form-contract/renderer.js +1 -1
- package/dist/renderers/form-contract/shell.d.ts +5 -0
- package/dist/renderers/form-contract/shell.js +1 -1
- package/dist/typography.d.ts +1 -0
- package/dist/typography.js +1 -0
- package/package.json +3052 -22
- package/dist/browser/components/atoms/ErrorState.mobile.js +0 -1
- package/dist/browser/components/data-view/DataViewRenderer.mobile.js +0 -1
- package/dist/browser/components/visualization/VisualizationCard.mobile.js +0 -1
- package/dist/components/agent/ApprovalQueue.mobile.js +0 -1
- package/dist/components/atoms/Button.mobile.js +0 -1
- package/dist/components/atoms/ButtonLink.mobile.js +0 -1
- package/dist/components/atoms/Cta.mobile.js +0 -1
- package/dist/components/atoms/ErrorState.mobile.js +0 -1
- package/dist/components/atoms/Input.mobile.js +0 -1
- package/dist/components/atoms/LoaderCircular.mobile.js +0 -1
- package/dist/components/atoms/Textarea.mobile.js +0 -1
- package/dist/components/data-table/DataTable.mobile.js +0 -1
- package/dist/components/data-table/DataTableToolbar.mobile.js +0 -1
- package/dist/components/data-view/DataViewRenderer.mobile.js +0 -1
- package/dist/components/data-view/DataViewTable.mobile.js +0 -1
- package/dist/components/forms/controls/Autocomplete.mobile.js +0 -1
- package/dist/components/forms/controls/ChoiceControls.mobile.js +0 -1
- package/dist/components/forms/controls/Combobox.mobile.js +0 -1
- package/dist/components/forms/controls/DateTimeControls.mobile.js +0 -1
- package/dist/components/forms/controls/Field.mobile.js +0 -1
- package/dist/components/forms/controls/InputGroup.mobile.js +0 -1
- package/dist/components/forms/controls/InputOTP.mobile.js +0 -1
- package/dist/components/forms/controls/LoadingButton.mobile.js +0 -1
- package/dist/components/forms/controls/NativeSelect.mobile.js +0 -1
- package/dist/components/forms/controls/Select.mobile.js +0 -1
- package/dist/components/layout/Stack.mobile.js +0 -1
- package/dist/components/molecules/FiltersToolbar.mobile.js +0 -1
- package/dist/components/molecules/LoaderBlock.mobile.js +0 -1
- package/dist/components/molecules/SkeletonBlock/index.mobile.js +0 -1
- package/dist/components/molecules/SkeletonCircle/index.mobile.js +0 -1
- package/dist/components/molecules/SkeletonList/index.mobile.js +0 -1
- package/dist/components/native/BottomTabs.mobile.js +0 -1
- package/dist/components/native/FlatListScreen.mobile.js +0 -1
- package/dist/components/native/SheetMenu.mobile.js +0 -1
- package/dist/components/organisms/AppHeader.mobile.js +0 -1
- package/dist/components/organisms/EmptyDataList.mobile.js +0 -1
- package/dist/components/organisms/Header.mobile.js +0 -1
- package/dist/components/organisms/ListTablePage.mobile.js +0 -1
- package/dist/components/organisms/PageHeaderResponsive.mobile.js +0 -1
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.js +0 -1
- package/dist/components/visualization/ComparisonView.mobile.js +0 -1
- package/dist/components/visualization/TimelineView.mobile.js +0 -1
- package/dist/components/visualization/VisualizationCard.mobile.js +0 -1
- package/dist/components/visualization/VisualizationGrid.mobile.js +0 -1
- package/dist/components/visualization/VisualizationRenderer.mobile.js +0 -1
- package/dist/platform/useColorScheme.mobile.js +0 -1
- package/dist/platform/useReducedMotion.mobile.js +0 -1
- package/dist/platform/useResponsive.mobile.js +0 -1
- /package/dist/components/agent/{ApprovalQueue.mobile.d.ts → ApprovalQueue.native.d.ts} +0 -0
- /package/dist/components/atoms/{Button.mobile.d.ts → Button.native.d.ts} +0 -0
- /package/dist/components/atoms/{Cta.mobile.d.ts → Cta.native.d.ts} +0 -0
- /package/dist/components/atoms/{ErrorState.mobile.d.ts → ErrorState.native.d.ts} +0 -0
- /package/dist/components/atoms/{Input.mobile.d.ts → Input.native.d.ts} +0 -0
- /package/dist/components/atoms/{LoaderCircular.mobile.d.ts → LoaderCircular.native.d.ts} +0 -0
- /package/dist/components/atoms/{Textarea.mobile.d.ts → Textarea.native.d.ts} +0 -0
- /package/dist/components/data-table/{DataTable.mobile.d.ts → DataTable.native.d.ts} +0 -0
- /package/dist/components/data-table/{DataTableToolbar.mobile.d.ts → DataTableToolbar.native.d.ts} +0 -0
- /package/dist/components/data-view/{DataViewTable.mobile.d.ts → DataViewTable.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{Autocomplete.mobile.d.ts → Autocomplete.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{ChoiceControls.mobile.d.ts → ChoiceControls.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{Combobox.mobile.d.ts → Combobox.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{DateTimeControls.mobile.d.ts → DateTimeControls.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{DropdownMenu.mobile.d.ts → DropdownMenu.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{Field.mobile.d.ts → Field.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{InputGroup.mobile.d.ts → InputGroup.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{InputOTP.mobile.d.ts → InputOTP.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{LoadingButton.mobile.d.ts → LoadingButton.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{NativeSelect.mobile.d.ts → NativeSelect.native.d.ts} +0 -0
- /package/dist/components/forms/controls/{Select.mobile.d.ts → Select.native.d.ts} +0 -0
- /package/dist/components/layout/{Stack.mobile.d.ts → Stack.native.d.ts} +0 -0
- /package/dist/components/molecules/{FiltersToolbar.mobile.d.ts → FiltersToolbar.native.d.ts} +0 -0
- /package/dist/components/molecules/{LoaderBlock.mobile.d.ts → LoaderBlock.native.d.ts} +0 -0
- /package/dist/components/molecules/SkeletonBlock/{index.mobile.d.ts → index.native.d.ts} +0 -0
- /package/dist/components/molecules/SkeletonCircle/{index.mobile.d.ts → index.native.d.ts} +0 -0
- /package/dist/components/molecules/SkeletonList/{index.mobile.d.ts → index.native.d.ts} +0 -0
- /package/dist/components/native/{BottomTabs.mobile.d.ts → BottomTabs.native.d.ts} +0 -0
- /package/dist/components/native/{FlatListScreen.mobile.d.ts → FlatListScreen.native.d.ts} +0 -0
- /package/dist/components/native/{SheetMenu.mobile.d.ts → SheetMenu.native.d.ts} +0 -0
- /package/dist/components/organisms/{AppSidebar.mobile.d.ts → AppSidebar.native.d.ts} +0 -0
- /package/dist/components/organisms/{EmptyDataList.mobile.d.ts → EmptyDataList.native.d.ts} +0 -0
- /package/dist/components/organisms/{Header.mobile.d.ts → Header.native.d.ts} +0 -0
- /package/dist/components/organisms/{ListTablePage.mobile.d.ts → ListTablePage.native.d.ts} +0 -0
- /package/dist/components/organisms/{PageHeaderResponsive.mobile.d.ts → PageHeaderResponsive.native.d.ts} +0 -0
- /package/dist/components/templates/lists/ListPageTemplate/{index.mobile.d.ts → index.native.d.ts} +0 -0
- /package/dist/components/visualization/{ComparisonView.mobile.d.ts → ComparisonView.native.d.ts} +0 -0
- /package/dist/components/visualization/{TimelineView.mobile.d.ts → TimelineView.native.d.ts} +0 -0
- /package/dist/components/visualization/{VisualizationCard.mobile.d.ts → VisualizationCard.native.d.ts} +0 -0
- /package/dist/components/visualization/{VisualizationGrid.mobile.d.ts → VisualizationGrid.native.d.ts} +0 -0
- /package/dist/components/visualization/{VisualizationRenderer.mobile.d.ts → VisualizationRenderer.native.d.ts} +0 -0
- /package/dist/{browser/components/agent/ApprovalQueue.mobile.js → native/components/agent/ApprovalQueue.native.js} +0 -0
- /package/dist/{browser/components/atoms/Button.mobile.js → native/components/atoms/Button.native.js} +0 -0
- /package/dist/{browser/components/atoms/Cta.mobile.js → native/components/atoms/Cta.native.js} +0 -0
- /package/dist/{browser/components/atoms/Input.mobile.js → native/components/atoms/Input.native.js} +0 -0
- /package/dist/{browser/components/atoms/LoaderCircular.mobile.js → native/components/atoms/LoaderCircular.native.js} +0 -0
- /package/dist/{browser/components/atoms/Textarea.mobile.js → native/components/atoms/Textarea.native.js} +0 -0
- /package/dist/{browser/components/data-table/DataTable.mobile.js → native/components/data-table/DataTable.native.js} +0 -0
- /package/dist/{browser/components/data-view/DataViewTable.mobile.js → native/components/data-view/DataViewTable.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/Autocomplete.mobile.js → native/components/forms/controls/Autocomplete.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/ChoiceControls.mobile.js → native/components/forms/controls/ChoiceControls.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/Combobox.mobile.js → native/components/forms/controls/Combobox.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/DateTimeControls.mobile.js → native/components/forms/controls/DateTimeControls.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/DropdownMenu.mobile.js → native/components/forms/controls/DropdownMenu.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/Field.mobile.js → native/components/forms/controls/Field.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/InputGroup.mobile.js → native/components/forms/controls/InputGroup.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/InputOTP.mobile.js → native/components/forms/controls/InputOTP.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/LoadingButton.mobile.js → native/components/forms/controls/LoadingButton.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/NativeSelect.mobile.js → native/components/forms/controls/NativeSelect.native.js} +0 -0
- /package/dist/{browser/components/forms/controls/Select.mobile.js → native/components/forms/controls/Select.native.js} +0 -0
- /package/dist/{browser/components/layout/Stack.mobile.js → native/components/layout/Stack.native.js} +0 -0
- /package/dist/{browser/components/organisms/AppSidebar.mobile.js → native/components/molecules/CodeBlock/types.js} +0 -0
- /package/dist/{components/organisms/AppSidebar.mobile.js → native/components/molecules/CommandTabs/types.js} +0 -0
- /package/dist/{browser/components/molecules/SkeletonBlock/index.mobile.js → native/components/molecules/SkeletonBlock/index.native.js} +0 -0
- /package/dist/{browser/components/molecules/SkeletonCircle/index.mobile.js → native/components/molecules/SkeletonCircle/index.native.js} +0 -0
- /package/dist/{browser/components/molecules/SkeletonList/index.mobile.js → native/components/molecules/SkeletonList/index.native.js} +0 -0
- /package/dist/{browser/components/native/BottomTabs.mobile.js → native/components/native/BottomTabs.native.js} +0 -0
- /package/dist/{browser/components/native/FlatListScreen.mobile.js → native/components/native/FlatListScreen.native.js} +0 -0
- /package/dist/{browser/components/native/SheetMenu.mobile.js → native/components/native/SheetMenu.native.js} +0 -0
- /package/dist/{browser/components/organisms/EmptyDataList.mobile.js → native/components/organisms/EmptyDataList.native.js} +0 -0
- /package/dist/{browser/components/organisms/Header.mobile.js → native/components/organisms/Header.native.js} +0 -0
- /package/dist/{browser/components/organisms/ListTablePage.mobile.js → native/components/organisms/ListTablePage.native.js} +0 -0
- /package/dist/{browser/components/visualization/VisualizationGrid.mobile.js → native/components/visualization/VisualizationGrid.native.js} +0 -0
- /package/dist/{browser/components/visualization/VisualizationRenderer.mobile.js → native/components/visualization/VisualizationRenderer.native.js} +0 -0
- /package/dist/{browser/platform/useColorScheme.mobile.js → native/platform/useColorScheme.native.js} +0 -0
- /package/dist/{browser/platform/useReducedMotion.mobile.js → native/platform/useReducedMotion.native.js} +0 -0
- /package/dist/{browser/platform/useResponsive.mobile.js → native/platform/useResponsive.native.js} +0 -0
- /package/dist/platform/{useColorScheme.mobile.d.ts → useColorScheme.native.d.ts} +0 -0
- /package/dist/platform/{useReducedMotion.mobile.d.ts → useReducedMotion.native.d.ts} +0 -0
- /package/dist/platform/{useResponsive.mobile.d.ts → useResponsive.native.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -285,10 +285,11 @@ hidden-column recovery without widening the primitive table API.
|
|
|
285
285
|
### Renderers and hooks
|
|
286
286
|
|
|
287
287
|
- renderer exports from `./renderers`
|
|
288
|
-
- form-contract renderer support, including readonly, autocomplete, address, phone, date, time, datetime, semantic FormSpec groups, grid layout hints, and text/textarea input groups
|
|
288
|
+
- form-contract renderer support, including readonly, password, autocomplete, address, phone, date, time, datetime, semantic FormSpec groups, grid layout hints, mobile-safe FormSpec column helper output, and text/textarea input groups
|
|
289
289
|
- translation-aware rendering through `DesignSystemTranslationProvider` and `createTranslationResolver`
|
|
290
290
|
- theme-aware form controls and stack primitives that consume ThemeSpec component variant props
|
|
291
|
-
- hooks such as `useListUrlState
|
|
291
|
+
- hooks such as `useListUrlState`, including scoped list filters where locked constraints are excluded from user-editable URL state
|
|
292
|
+
- DataViewRenderer filter chips for scoped DataView filters, including disabled locked chips on web and native surfaces
|
|
292
293
|
- navigation-related shared types
|
|
293
294
|
|
|
294
295
|
### Component composition layers
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as v}from"react/jsx-runtime";import{InputPassword as k}from"@contractspec/lib.ui-kit-web/ui/input-password";import{mapKeyboardToWeb as T}from"../../lib/keyboard";import{useThemedTextField as f}from"../primitives/control";import{useTranslatedText as g}from"../primitives/themed";function I(q){return q==="new"?"new-password":"password"}function P(q){return q==="new"?"new-password":"current-password"}export function InputPassword({value:q,defaultValue:J,onChange:M,onSubmit:Q,onFocus:R,onBlur:U,placeholder:X,disabled:Y,readOnly:Z,maxLength:$,name:_,className:j,keyboard:G,componentKey:B,themeVariant:N,placeholderI18n:O,ariaLabelI18n:S,passwordPurpose:D="current",visibilityToggle:W,showLabel:C,hideLabel:V,showLabelI18n:F,hideLabelI18n:K,...A}){const H=g(),x=T({kind:I(D),...G,autoComplete:G?.autoComplete??A.autoComplete??P(D)}),z=f({defaultComponentKey:"InputPassword",componentKey:B,themeVariant:N,className:j,style:A.style,placeholder:X,placeholderI18n:O,ariaLabelI18n:S});return v(k,{...z.themed.props,...A,...x,className:z.themed.className,style:z.themed.style,value:q,defaultValue:J,onChange:M,onFocus:R,onBlur:U,placeholder:z.placeholder,"aria-label":z.ariaLabel,disabled:Y,readOnly:Z,maxLength:$,name:_,passwordPurpose:D,visibilityToggle:W,showLabel:H(F??C??"Show password"),hideLabel:H(K??V??"Hide password"),onKeyDown:(E)=>{A.onKeyDown?.(E);if(E.defaultPrevented||E.key!=="Enter")return;Q?.()}})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as J,jsxs as c,Fragment as p}from"react/jsx-runtime";import{resolveDataViewFilters as S}from"@contractspec/lib.contracts-spec/data-views";import{Pagination as d}from"@contractspec/lib.ui-kit-web/ui/atoms/Pagination";import{VStack as h}from"@contractspec/lib.ui-kit-web/ui/stack";import{Text as f}from"@contractspec/lib.ui-kit-web/ui/text";import*as L from"react";import{resolveTranslationString as V,useDesignSystemTranslation as u}from"../../i18n/translation";import{FiltersToolbar as m}from"../molecules/FiltersToolbar";import{DataViewDetail as v}from"./DataViewDetail";import{DataViewList as b}from"./DataViewList";import{DataViewTable as y}from"./DataViewTable";export function DataViewRenderer({spec:B,items:G=[],item:X=null,className:M,renderActions:$,onSelect:q,onRowClick:P,toolbar:R,loading:T,headerActions:Y,emptyState:Q,footer:j,search:w,onSearchChange:_,filters:I,onFilterChange:Z,pagination:K,onPageChange:D}){const z=u(),O=L.useMemo(()=>S({filters:B.view.filters,scope:B.view.filterScope,user:g(I)}),[I,B.view.filterScope,B.view.filters]),N=L.useMemo(()=>{if(B.view.filterScope){const E=Object.entries(O.user).map(([H,W])=>({key:H,label:`${A(B,H)}: ${F(W)}`,onRemove:()=>{const{[H]:r,...C}=O.user;Z?.(C)}})),U=O.lockedChips==="hidden"?[]:Object.entries(O.locked).map(([H,W])=>({key:`locked-${H}`,label:`${A(B,H)}: ${F(W)}`,disabled:!0}));return[...E,...U]}return I?Object.entries(I).map(([E,U])=>({key:E,label:`${E}: ${String(U)}`,onRemove:()=>{const{[E]:H,...W}=I;Z?.(W)}})):[]},[I,Z,O,B]),k=B.view.filterScope?Object.keys(O.user).length>0:Boolean(I&&Object.keys(I).length>0),x=L.useMemo(()=>{switch(B.view.kind){case"list":return J(b,{spec:B,items:G,className:M,renderActions:$,onSelect:q,emptyState:Q});case"table":return J(y,{spec:B,items:G,className:M,onRowClick:P,toolbar:R,loading:T,emptyState:Q,headerActions:Y,footer:j});case"detail":return J(v,{spec:B,item:X,className:M,emptyState:Q,headerActions:Y});case"grid":{const E=B.view,U={kind:"list",layout:"card",fields:E.fields,filters:E.filters,actions:E.actions,primaryField:E.primaryField,secondaryFields:E.secondaryFields,filterScope:E.filterScope},H={...B,view:U};return J(b,{spec:H,items:G,className:M,renderActions:$,onSelect:q,emptyState:Q})}default:return J(f,{className:M,children:V("Unsupported data view kind",z)})}},[B,G,X,M,$,q,P,R,T,Y,Q,j,z]);if(!(B.view.kind==="list"||B.view.kind==="table"||B.view.kind==="grid"))return J(p,{children:x});return c(h,{gap:"lg",children:[(B.view.filters?.length||_||N.length)&&J(m,{searchValue:w,onSearchChange:_,searchPlaceholder:V("Search...",z)??"Search...",activeChips:N,onClearAll:k?()=>Z?.({}):void 0,right:B.view.kind==="table"?void 0:Y}),x,K&&K.total>0&&J(d,{currentPage:K.page,totalPages:Math.ceil(K.total/K.pageSize),totalItems:K.total,itemsPerPage:K.pageSize,onPageChange:(E)=>D?.(E),onItemsPerPageChange:(E)=>{D?.(1)},showItemsPerPage:!1})]})}function g(B){if(!B)return;return Object.fromEntries(Object.entries(B??{}).filter((G)=>Boolean(G[1]&&typeof G[1]==="object"&&"kind"in G[1]&&typeof G[1].kind==="string")))}function A(B,G){return B.view.filters?.find((X)=>X.key===G)?.label??G}function F(B){if(!B)return"";if(B.kind==="single")return String(B.value);if(B.kind==="multi")return B.values.map(String).join(", ");if(B.kind==="range")return[B.from==null?"":String(B.from),B.to==null?"":String(B.to)].filter(Boolean).join(" - ");return`${B.mode}(${B.clauses.length})`}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{Autocomplete}from"./Autocomplete";export{Checkbox,RadioGroup,RadioGroupItem,Switch}from"./ChoiceControls";export{Combobox}from"./Combobox";export{DatePicker,DateRangePicker,DateTimePicker,TimePicker}from"./DateTimeControls";export{DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger}from"./DropdownMenu";export{Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet}from"./Field";export{InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea}from"./InputGroup";export{InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot}from"./InputOTP";export{LoadingButton}from"./LoadingButton";export{NativeSelect,NativeSelectOptGroup,NativeSelectOption}from"./NativeSelect";export{Select}from"./Select";
|
|
1
|
+
export{InputPassword}from"../../atoms/InputPassword";export{Autocomplete}from"./Autocomplete";export{Checkbox,RadioGroup,RadioGroupItem,Switch}from"./ChoiceControls";export{Combobox}from"./Combobox";export{DatePicker,DateRangePicker,DateTimePicker,TimePicker}from"./DateTimeControls";export{DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger}from"./DropdownMenu";export{Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet}from"./Field";export{InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea}from"./InputGroup";export{InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot}from"./InputOTP";export{LoadingButton}from"./LoadingButton";export{NativeSelect,NativeSelectOptGroup,NativeSelectOption}from"./NativeSelect";export{Select}from"./Select";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as c}from"react/jsx-runtime";import*as i from"react";import{Button as u}from"
|
|
1
|
+
import{jsx as e,jsxs as c}from"react/jsx-runtime";import*as i from"react";import{Button as u}from"../../atoms/Button";import{ContactFields as d}from"../molecules/ContactFields";import{LegalPageLayout as g}from"../organisms/LegalPageLayout";export function ContactTemplate({title:r="Contact",meta:m,onSubmit:a}){const[o,s]=i.useState({name:"",email:"",subject:"",message:""}),[t,n]=i.useState(!1);return e(g,{title:r,meta:m,children:c("form",{onSubmit:async(l)=>{l.preventDefault();if(!a)return;n(!0);try{await a(o)}finally{n(!1)}},className:"space-y-6",children:[e(d,{value:o,onChange:s,disabled:t}),e(u,{disabled:t,type:"submit",children:t?"Envoi…":"Envoyer"})]})})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as D}from"react/jsx-runtime";import{List as E,ListItem as F}from"@contractspec/lib.ui-kit-web/ui/list";import{useThemedPrimitive as C}from"../primitives/themed";export function List({componentKey:q,themeVariant:z,className:A,...B}){const g=C({defaultComponentKey:"List",componentKey:q,themeVariant:z,className:A});return D(E,{...g.props,...B,className:g.className})}export function ListItem({componentKey:q,themeVariant:z,className:A,...B}){const g=C({defaultComponentKey:"ListItem",componentKey:q,themeVariant:z,className:A});return D(F,{...g.props,...B,className:g.className})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{List,ListItem}from"./List";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as E,jsxs as D}from"react/jsx-runtime";import{Badge as
|
|
1
|
+
import{jsx as E,jsxs as D}from"react/jsx-runtime";import{Badge as I}from"@contractspec/lib.ui-kit-web/ui/badge";import{cn as W}from"@contractspec/lib.ui-kit-web/ui/utils";import*as K from"react";import{Button as X}from"../atoms/Button";import{Input as N}from"../atoms/Input";export function FiltersToolbar({className:Y,children:Z,right:$,searchPlaceholder:k,searchValue:G,onSearchChange:F,onSearchSubmit:L,debounceMs:O=250,activeChips:T=[],onClearAll:H}){const[J,U]=K.useState(G??"");K.useEffect(()=>{U(G??"")},[G]);K.useEffect(()=>{if(!F)return;const z=setTimeout(()=>F(J),O);return()=>clearTimeout(z)},[J,O,F]);return D("div",{className:W("space-y-2",Y),children:[D("div",{className:"flex flex-col items-stretch gap-2 md:flex-row md:items-center md:justify-between",children:[D("div",{className:"flex flex-1 items-center gap-2",children:[F?D("div",{className:"flex flex-1 items-center gap-2",children:[E(N,{value:J,onChange:(z)=>U(z.target.value),onKeyDown:(z)=>{if(z.key==="Enter")L?.()},placeholder:k,keyboard:{kind:"search"}}),E(X,{variant:"outline",onPress:()=>L?.(),className:"shrink-0",children:"Rechercher"})]}):null,Z]}),$]}),(T.length>0||H)&&D("div",{className:"flex flex-wrap items-center gap-2",children:[T.map((z)=>D(I,{variant:"secondary",className:W("inline-flex items-center gap-2",z.disabled&&"opacity-70"),children:[E("span",{children:z.label}),z.onRemove&&!z.disabled&&E("button",{type:"button","aria-label":"Supprimer le filtre",onClick:z.onRemove,className:"rounded-xs px-1 text-base hover:bg-muted",children:"×"})]},z.key)),H&&E(X,{size:"sm",variant:"ghost",onPress:H,children:"Effacer les filtres"})]})]})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as H}from"react/jsx-runtime";import{Tabs as R,TabsContent as S,TabsList as U,TabsTrigger as X}from"@contractspec/lib.ui-kit-web/ui/tabs";import{useThemedPrimitive as G}from"../primitives/themed";export function Tabs({value:z,defaultValue:A,onValueChange:B,className:D,children:q,orientation:F,dir:E,activationMode:J,componentKey:O,themeVariant:Q}){console.log("tabs web");const I=G({defaultComponentKey:"Tabs",componentKey:O,themeVariant:Q,className:D});return H(R,{...I.props,value:z,defaultValue:A,onValueChange:B,className:I.className,orientation:F,dir:E,activationMode:J,children:q})}export function TabsList({className:z,children:A,componentKey:B,themeVariant:D}){const q=G({defaultComponentKey:"TabsList",componentKey:B,themeVariant:D,className:z});return H(U,{...q.props,className:q.className,children:A})}export function TabsTrigger({value:z,disabled:A,className:B,children:D,componentKey:q,themeVariant:F}){const E=G({defaultComponentKey:"TabsTrigger",componentKey:q,themeVariant:F,className:B});return H(X,{...E.props,value:z,disabled:A,className:E.className,children:D})}export function TabsContent({value:z,forceMount:A,className:B,children:D,componentKey:q,themeVariant:F}){const E=G({defaultComponentKey:"TabsContent",componentKey:q,themeVariant:F,className:B});return H(S,{...E.props,value:z,forceMount:A?!0:void 0,className:E.className,children:D})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as G}from"react/jsx-runtime";import{Text as I}from"@contractspec/lib.ui-kit-web/ui/text";import{BlockQuote as J,Code as O,H1 as R,H2 as U,H3 as X,H4 as Y,Large as Z,Lead as $,Muted as B,P as M,Small as Q}from"@contractspec/lib.ui-kit-web/ui/typography";import{useThemedPrimitive as S}from"../primitives/themed";function F({defaultComponentKey:z,componentKey:A,themeVariant:D,className:E}){return S({defaultComponentKey:z,componentKey:A,themeVariant:D,className:E})}export function Text({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Text",componentKey:z,themeVariant:A,className:D});return G(I,{...q.props,...E,className:q.className})}export function H1({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"H1",componentKey:z,themeVariant:A,className:D});return G(R,{...q.props,...E,className:q.className})}export function H2({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"H2",componentKey:z,themeVariant:A,className:D});return G(U,{...q.props,...E,className:q.className})}export function H3({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"H3",componentKey:z,themeVariant:A,className:D});return G(X,{...q.props,...E,className:q.className})}export function H4({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"H4",componentKey:z,themeVariant:A,className:D});return G(Y,{...q.props,...E,className:q.className})}export function P({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"P",componentKey:z,themeVariant:A,className:D});return G(M,{...q.props,...E,className:q.className})}export function Lead({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Lead",componentKey:z,themeVariant:A,className:D});return G($,{...q.props,...E,className:q.className})}export function Large({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Large",componentKey:z,themeVariant:A,className:D});return G(Z,{...q.props,...E,className:q.className})}export function Small({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Small",componentKey:z,themeVariant:A,className:D});return G(Q,{...q.props,...E,className:q.className})}export function Muted({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Muted",componentKey:z,themeVariant:A,className:D});return G(B,{...q.props,...E,className:q.className})}export function Code({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Code",componentKey:z,themeVariant:A,className:D});return G(O,{...q.props,...E,className:q.className})}export function BlockQuote({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"BlockQuote",componentKey:z,themeVariant:A,className:D});return G(J,{...q.props,...E,className:q.className})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{BlockQuote,Code,H1,H2,H3,H4,Large,Lead,Muted,P,Small,Text}from"./Typography";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./components/forms/controls";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./components/forms";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import{createInitialListFilters as N,sanitizeListUserFilters as _}from"@contractspec/lib.presentation-runtime-core";import*as Q from"react";export function useListUrlState({defaults:E,paramKeys:h={q:"q",page:"page",limit:"limit",sort:"sort",filters:"f"},replaceState:$=!0,filterScope:J}){const Y=Q.useMemo(()=>({...N(J),..._(E.filters,J)}),[E.filters,J]),Z=Q.useCallback(()=>{if(typeof window>"u")return E;const A=new URL(window.location.href).searchParams,V=(X,M)=>{const H=X?Number(X):NaN;return Number.isFinite(H)&&H>0?H:M},C=A.get(h.filters);let B=E.filters;if(C)try{B=_(JSON.parse(C),J)}catch{B=Y}else B=Y;return{q:A.get(h.q)??E.q,page:V(A.get(h.page),E.page),limit:V(A.get(h.limit),E.limit),sort:A.get(h.sort),filters:B}},[Y,E,J,h]),[T,b]=Q.useState(Z),W=Q.useCallback((G)=>{if(typeof window>"u")return;const A=new URL(window.location.href),V=A.searchParams,C={...T,...G,filters:_(G.filters??T.filters,J)},B=(M,H)=>{if(H==null||H===""||H==="null")V.delete(M);else V.set(M,H)};B(h.q,C.q||null);B(h.page,String(C.page));B(h.limit,String(C.limit));B(h.sort,C.sort??null);try{const M=JSON.stringify(C.filters??{});B(h.filters,M==="{}"?null:M)}catch{}const X=`${A.pathname}?${V.toString()}${A.hash}`;if($)window.history.replaceState({},"",X);else window.history.pushState({},"",X);b(C)},[J,T,h,$]),I=Q.useCallback((G,A)=>{W({filters:{...T.filters,[G]:A}})},[T.filters,W]),j=Q.useCallback(()=>{W({filters:{},page:1})},[W]);Q.useEffect(()=>{const G=()=>b(Z());window.addEventListener("popstate",G);return()=>window.removeEventListener("popstate",G)},[Z]);return{state:T,setState:W,setFilter:I,clearFilters:j}}
|
package/dist/browser/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AgentMonitor}from"./components/agent/AgentMonitor";export{ApprovalQueue}from"./components/agent/ApprovalQueue";export{DeleteButton,EditButton,ToggleButton,ToggleLeftButton,ToggleRightButton,ViewButton}from"./components/atoms/ActionButtons";export{Button}from"./components/atoms/Button";export{ButtonLink}from"./components/atoms/ButtonLink";export{Cta}from"./components/atoms/Cta";export{DateChip,DurationChip,PlaceChip,TimeChip}from"./components/atoms/DataChips";export{EmptyState}from"./components/atoms/EmptyState";export{ErrorState}from"./components/atoms/ErrorState";export{Input}from"./components/atoms/Input";export{Link}from"./components/atoms/Link";export{LoaderCircular}from"./components/atoms/LoaderCircular";export{NavBrand}from"./components/atoms/NavBrand";export{RankBadge}from"./components/atoms/RankBadge";export{ScoreBar}from"./components/atoms/ScoreBar";export{Stepper}from"./components/atoms/Stepper";export{Textarea}from"./components/atoms/Textarea";export{DataTable}from"./components/data-table/DataTable";export{DataTableToolbar}from"./components/data-table/DataTableToolbar";export{DataViewDetail}from"./components/data-view/DataViewDetail";export{DataViewList}from"./components/data-view/DataViewList";export{DataViewRenderer}from"./components/data-view/DataViewRenderer";export{DataViewTable}from"./components/data-view/DataViewTable";export*from"./components/forms";export*from"./components/layout";export{DefinitionList}from"./components/legal/atoms/DefinitionList";export{KeyValueList}from"./components/legal/atoms/KeyValueList";export{LegalCallout}from"./components/legal/atoms/LegalCallout";export{LegalHeading}from"./components/legal/atoms/LegalHeading";export{LegalList}from"./components/legal/atoms/LegalList";export{LegalSection}from"./components/legal/atoms/LegalSection";export{LegalText}from"./components/legal/atoms/LegalText";export{ConsentItem,ConsentList}from"./components/legal/molecules/Consent";export{ContactFields}from"./components/legal/molecules/ContactFields";export{LegalMeta}from"./components/legal/molecules/LegalMeta";export{LegalTOC}from"./components/legal/molecules/LegalTOC";export*from"./components/legal/organisms/ContactForm";export*from"./components/legal/organisms/GDPRDataRequest";export*from"./components/legal/organisms/GDPRRights";export*from"./components/legal/organisms/LegalPageLayout";export{ContactTemplate}from"./components/legal/templates/ContactTemplate";export{CookiesTemplate}from"./components/legal/templates/CookiesTemplate";export{PrivacyTemplate}from"./components/legal/templates/PrivacyTemplate";export{SalesTermsTemplate}from"./components/legal/templates/SalesTermsTemplate";export{TermsTemplate}from"./components/legal/templates/TermsTemplate";export{MarketingCard,MarketingCardContent,MarketingCardDescription,MarketingCardHeader,MarketingCardTitle}from"./components/marketing/MarketingCard";export{MarketingCardsSection}from"./components/marketing/MarketingCardsSection";export{MarketingComparisonSection}from"./components/marketing/MarketingComparisonSection";export{MarketingIconCard}from"./components/marketing/MarketingIconCard";export{MarketingSection}from"./components/marketing/MarketingSection";export{MarketingStepCard}from"./components/marketing/MarketingStepCard";export{AiLinkButton}from"./components/molecules/AiLinkButton";export{Breadcrumbs}from"./components/molecules/Breadcrumbs";export{CodeBlock}from"./components/molecules/CodeBlock";export{CommandPalette}from"./components/molecules/CommandPalette";export{CommandSearchTrigger}from"./components/molecules/CommandSearchTrigger";export{CommandTabs}from"./components/molecules/CommandTabs";export{CopyButton}from"./components/molecules/CopyButton";export{DimensionScoresCard}from"./components/molecules/DimensionScoresCard";export{EntityCard}from"./components/molecules/EntityCard";export{FiltersToolbar}from"./components/molecules/FiltersToolbar";export{HoverPreview}from"./components/molecules/HoverPreview";export{HoverPreviewDoc}from"./components/molecules/hover-previews/Doc";export{HoverPreviewMedia}from"./components/molecules/hover-previews/Media";export{HoverPreviewSimple}from"./components/molecules/hover-previews/Simple";export{HoverPreviewStats}from"./components/molecules/hover-previews/Stats";export{HoverPreviewUser}from"./components/molecules/hover-previews/User";export{InstallCommand}from"./components/molecules/InstallCommand";export{LangSwitch}from"./components/molecules/LangSwitch";export{LoaderBlock}from"./components/molecules/LoaderBlock";export{MarkdownRenderer}from"./components/molecules/MarkdownRenderer";export{NavMain}from"./components/molecules/NavMain";export{NavUser}from"./components/molecules/NavUser";export{OverviewCard}from"./components/molecules/OverviewCard";export{SkeletonBlock}from"./components/molecules/SkeletonBlock";export{SkeletonCircle}from"./components/molecules/SkeletonCircle";export{SkeletonList}from"./components/molecules/SkeletonList";export{StatCard,StatCardGroup}from"./components/molecules/StatCard";export{StatusChip}from"./components/molecules/StatusChip";export{AcademyLayout}from"./components/organisms/AcademyLayout";export{AppHeader}from"./components/organisms/AppHeader";export{AppLayout}from"./components/organisms/AppLayout";export{AppSidebar}from"./components/organisms/AppSidebar";export{EmptyDataList}from"./components/organisms/EmptyDataList";export{EmptySearchResult}from"./components/organisms/EmptySearchResult";export{FAQSection}from"./components/organisms/FAQSection";export{FeatureCarousel}from"./components/organisms/FeatureCarousel";export{FeaturesSection}from"./components/organisms/FeaturesSection";export{Footer}from"./components/organisms/Footer";export{DesktopHeader,Header,MobileHeader}from"./components/organisms/Header";export{HeroResponsive}from"./components/organisms/HeroResponsive";export{HeroSection}from"./components/organisms/HeroSection";export{ListCardPage}from"./components/organisms/ListCardPage";export{ListGridPage}from"./components/organisms/ListGridPage";export{ListPageResponsive}from"./components/organisms/ListPageResponsive";export{ListTablePage}from"./components/organisms/ListTablePage";export{MarketingHeader}from"./components/organisms/MarketingHeader";export{MarketingHeaderDesktop}from"./components/organisms/MarketingHeaderDesktop";export{MarketingHeaderMobile}from"./components/organisms/MarketingHeaderMobile";export{MarketingLayout}from"./components/organisms/MarketingLayout";export{ModelComparisonView}from"./components/organisms/ModelComparisonView";export{PageHeaderResponsive}from"./components/organisms/PageHeaderResponsive";export{PricingCarousel}from"./components/organisms/PricingCarousel";export{PricingSection}from"./components/organisms/PricingSection";export{TestimonialCarousel}from"./components/organisms/TestimonialCarousel";export{PackageManagerProvider,usePackageManager}from"./components/providers/PackageManagerProvider";export{ListPageTemplate}from"./components/templates/lists/ListPageTemplate";export{ComparisonView}from"./components/visualization/ComparisonView";export{TimelineView}from"./components/visualization/TimelineView";export{VisualizationCard}from"./components/visualization/VisualizationCard";export{VisualizationGrid}from"./components/visualization/VisualizationGrid";export{VisualizationRenderer}from"./components/visualization/VisualizationRenderer";export*from"./design-system.feature";export{useListUrlState}from"./hooks/useListUrlState";export*from"./i18n/translation";export{useColorScheme}from"./platform/useColorScheme";export{useReducedMotion}from"./platform/useReducedMotion";export{useResponsive}from"./platform/useResponsive";export*from"./platform/withPlatformUI";export*from"./renderers";export*from"./theme";export*from"./types/navigation";
|
|
1
|
+
export{AgentMonitor}from"./components/agent/AgentMonitor";export{ApprovalQueue}from"./components/agent/ApprovalQueue";export{DeleteButton,EditButton,ToggleButton,ToggleLeftButton,ToggleRightButton,ViewButton}from"./components/atoms/ActionButtons";export{Button}from"./components/atoms/Button";export{ButtonLink}from"./components/atoms/ButtonLink";export{Cta}from"./components/atoms/Cta";export{DateChip,DurationChip,PlaceChip,TimeChip}from"./components/atoms/DataChips";export{EmptyState}from"./components/atoms/EmptyState";export{ErrorState}from"./components/atoms/ErrorState";export{Input}from"./components/atoms/Input";export{InputPassword}from"./components/atoms/InputPassword";export{Link}from"./components/atoms/Link";export{LoaderCircular}from"./components/atoms/LoaderCircular";export{NavBrand}from"./components/atoms/NavBrand";export{RankBadge}from"./components/atoms/RankBadge";export{ScoreBar}from"./components/atoms/ScoreBar";export{Stepper}from"./components/atoms/Stepper";export{Textarea}from"./components/atoms/Textarea";export{DataTable}from"./components/data-table/DataTable";export{DataTableToolbar}from"./components/data-table/DataTableToolbar";export{DataViewDetail}from"./components/data-view/DataViewDetail";export{DataViewList}from"./components/data-view/DataViewList";export{DataViewRenderer}from"./components/data-view/DataViewRenderer";export{DataViewTable}from"./components/data-view/DataViewTable";export*from"./components/forms";export*from"./components/layout";export{DefinitionList}from"./components/legal/atoms/DefinitionList";export{KeyValueList}from"./components/legal/atoms/KeyValueList";export{LegalCallout}from"./components/legal/atoms/LegalCallout";export{LegalHeading}from"./components/legal/atoms/LegalHeading";export{LegalList}from"./components/legal/atoms/LegalList";export{LegalSection}from"./components/legal/atoms/LegalSection";export{LegalText}from"./components/legal/atoms/LegalText";export{ConsentItem,ConsentList}from"./components/legal/molecules/Consent";export{ContactFields}from"./components/legal/molecules/ContactFields";export{LegalMeta}from"./components/legal/molecules/LegalMeta";export{LegalTOC}from"./components/legal/molecules/LegalTOC";export*from"./components/legal/organisms/ContactForm";export*from"./components/legal/organisms/GDPRDataRequest";export*from"./components/legal/organisms/GDPRRights";export*from"./components/legal/organisms/LegalPageLayout";export{ContactTemplate}from"./components/legal/templates/ContactTemplate";export{CookiesTemplate}from"./components/legal/templates/CookiesTemplate";export{PrivacyTemplate}from"./components/legal/templates/PrivacyTemplate";export{SalesTermsTemplate}from"./components/legal/templates/SalesTermsTemplate";export{TermsTemplate}from"./components/legal/templates/TermsTemplate";export{List,ListItem}from"./components/list";export{MarketingCard,MarketingCardContent,MarketingCardDescription,MarketingCardHeader,MarketingCardTitle}from"./components/marketing/MarketingCard";export{MarketingCardsSection}from"./components/marketing/MarketingCardsSection";export{MarketingComparisonSection}from"./components/marketing/MarketingComparisonSection";export{MarketingIconCard}from"./components/marketing/MarketingIconCard";export{MarketingSection}from"./components/marketing/MarketingSection";export{MarketingStepCard}from"./components/marketing/MarketingStepCard";export{AiLinkButton}from"./components/molecules/AiLinkButton";export{Breadcrumbs}from"./components/molecules/Breadcrumbs";export{CodeBlock}from"./components/molecules/CodeBlock";export{CommandPalette}from"./components/molecules/CommandPalette";export{CommandSearchTrigger}from"./components/molecules/CommandSearchTrigger";export{CommandTabs}from"./components/molecules/CommandTabs";export{CopyButton}from"./components/molecules/CopyButton";export{DimensionScoresCard}from"./components/molecules/DimensionScoresCard";export{EntityCard}from"./components/molecules/EntityCard";export{FiltersToolbar}from"./components/molecules/FiltersToolbar";export{HoverPreview}from"./components/molecules/HoverPreview";export{HoverPreviewDoc}from"./components/molecules/hover-previews/Doc";export{HoverPreviewMedia}from"./components/molecules/hover-previews/Media";export{HoverPreviewSimple}from"./components/molecules/hover-previews/Simple";export{HoverPreviewStats}from"./components/molecules/hover-previews/Stats";export{HoverPreviewUser}from"./components/molecules/hover-previews/User";export{InstallCommand}from"./components/molecules/InstallCommand";export{LangSwitch}from"./components/molecules/LangSwitch";export{LoaderBlock}from"./components/molecules/LoaderBlock";export{MarkdownRenderer}from"./components/molecules/MarkdownRenderer";export{NavMain}from"./components/molecules/NavMain";export{NavUser}from"./components/molecules/NavUser";export{OverviewCard}from"./components/molecules/OverviewCard";export{SkeletonBlock}from"./components/molecules/SkeletonBlock";export{SkeletonCircle}from"./components/molecules/SkeletonCircle";export{SkeletonList}from"./components/molecules/SkeletonList";export{StatCard,StatCardGroup}from"./components/molecules/StatCard";export{StatusChip}from"./components/molecules/StatusChip";export{Tabs,TabsContent,TabsList,TabsTrigger}from"./components/molecules/Tabs";export{AcademyLayout}from"./components/organisms/AcademyLayout";export{AppHeader}from"./components/organisms/AppHeader";export{AppLayout}from"./components/organisms/AppLayout";export{AppSidebar}from"./components/organisms/AppSidebar";export{EmptyDataList}from"./components/organisms/EmptyDataList";export{EmptySearchResult}from"./components/organisms/EmptySearchResult";export{FAQSection}from"./components/organisms/FAQSection";export{FeatureCarousel}from"./components/organisms/FeatureCarousel";export{FeaturesSection}from"./components/organisms/FeaturesSection";export{Footer}from"./components/organisms/Footer";export{DesktopHeader,Header,MobileHeader}from"./components/organisms/Header";export{HeroResponsive}from"./components/organisms/HeroResponsive";export{HeroSection}from"./components/organisms/HeroSection";export{ListCardPage}from"./components/organisms/ListCardPage";export{ListGridPage}from"./components/organisms/ListGridPage";export{ListPageResponsive}from"./components/organisms/ListPageResponsive";export{ListTablePage}from"./components/organisms/ListTablePage";export{MarketingHeader}from"./components/organisms/MarketingHeader";export{MarketingHeaderDesktop}from"./components/organisms/MarketingHeaderDesktop";export{MarketingHeaderMobile}from"./components/organisms/MarketingHeaderMobile";export{MarketingLayout}from"./components/organisms/MarketingLayout";export{ModelComparisonView}from"./components/organisms/ModelComparisonView";export{PageHeaderResponsive}from"./components/organisms/PageHeaderResponsive";export{PricingCarousel}from"./components/organisms/PricingCarousel";export{PricingSection}from"./components/organisms/PricingSection";export{TestimonialCarousel}from"./components/organisms/TestimonialCarousel";export{PackageManagerProvider,usePackageManager}from"./components/providers/PackageManagerProvider";export{ListPageTemplate}from"./components/templates/lists/ListPageTemplate";export{BlockQuote,Code,H1,H2,H3,H4,Large,Lead,Muted,P,Small,Text}from"./components/typography";export{ComparisonView}from"./components/visualization/ComparisonView";export{TimelineView}from"./components/visualization/TimelineView";export{VisualizationCard}from"./components/visualization/VisualizationCard";export{VisualizationGrid}from"./components/visualization/VisualizationGrid";export{VisualizationRenderer}from"./components/visualization/VisualizationRenderer";export*from"./design-system.feature";export{useListUrlState}from"./hooks/useListUrlState";export*from"./i18n/translation";export{useColorScheme}from"./platform/useColorScheme";export{useReducedMotion}from"./platform/useReducedMotion";export{useResponsive}from"./platform/useResponsive";export*from"./platform/withPlatformUI";export*from"./renderers";export*from"./theme";export*from"./types/navigation";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./components/layout";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./components/list";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{shadcnDriver as j}from"@contractspec/lib.contracts-runtime-client-react/drivers/shadcn";import{createFormRenderer as q}from"@contractspec/lib.contracts-runtime-client-react/form-render";import{Autocomplete as z}from"../../components/forms/controls/Autocomplete";import{Checkbox as H,RadioGroup as J,Switch as K}from"../../components/forms/controls/ChoiceControls";import{DatePicker as M,DateTimePicker as N,TimePicker as O}from"../../components/forms/controls/DateTimeControls";import{FieldContent as Q,FieldGroup as U,FieldLegend as V,FieldSet as X,Field as Y,InputGroup as Z,InputGroupAddon as _}from"../../components/forms/controls/Field";import{Select as $}from"../../components/forms/controls/Select";import{AddressField as g,PhoneField as v}from"./rich-fields";import{Actions as
|
|
1
|
+
import{shadcnDriver as j}from"@contractspec/lib.contracts-runtime-client-react/drivers/shadcn";import{createFormRenderer as q}from"@contractspec/lib.contracts-runtime-client-react/form-render";import{Autocomplete as z}from"../../components/forms/controls/Autocomplete";import{Checkbox as H,RadioGroup as J,Switch as K}from"../../components/forms/controls/ChoiceControls";import{DatePicker as M,DateTimePicker as N,TimePicker as O}from"../../components/forms/controls/DateTimeControls";import{FieldContent as Q,FieldGroup as U,FieldLegend as V,FieldSet as X,Field as Y,InputGroup as Z,InputGroupAddon as _}from"../../components/forms/controls/Field";import{Select as $}from"../../components/forms/controls/Select";import{AddressField as g,PhoneField as v}from"./rich-fields";import{Actions as B,FieldArray as E,FieldArrayItem as W,FormRoot as b,InputGroupIcon as f,TranslatedButton as w,TranslatedFieldDescription as y,TranslatedFieldError as C,TranslatedFieldLabel as L,TranslatedInput as R,TranslatedInputGroupInput as k,TranslatedInputGroupText as x,TranslatedInputGroupTextarea as D,TranslatedPasswordInput as S,TranslatedTextarea as P}from"./shell";export const formRenderer=q({submitMode:"button",driver:j({FormRoot:b,Field:Y,FieldLabel:L,FieldDescription:y,FieldError:C,FieldContent:Q,FieldGroup:U,FieldSet:X,FieldLegend:V,FieldArray:E,FieldArrayItem:W,Actions:B,Input:R,PasswordInput:S,Textarea:P,InputGroup:Z,InputGroupAddon:_,InputGroupInput:k,InputGroupTextarea:D,InputGroupText:x,InputGroupIcon:f,Select:$,Checkbox:H,RadioGroup:J,Switch:K,Autocomplete:z,AddressField:g,PhoneField:v,DateField:M,TimeField:O,DateTimeField:N,Button:w})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as z}from"react/jsx-runtime";import{CalendarIcon as Y,ClockIcon as Z,InfoIcon as
|
|
1
|
+
import{jsx as z}from"react/jsx-runtime";import{CalendarIcon as Y,ClockIcon as Z,InfoIcon as X,MailIcon as $,SearchIcon as v,UserIcon as B}from"lucide-react";import{Button as D}from"../../components/atoms/Button";import{Input as E}from"../../components/atoms/Input";import{InputPassword as H}from"../../components/atoms/InputPassword";import{Textarea as M}from"../../components/atoms/Textarea";import{FieldDescription as U,FieldError as K,FieldLabel as F,InputGroupInput as L,InputGroupText as V,InputGroupTextarea as G}from"../../components/forms/controls/Field";import{HStack as P,VStack as W}from"../../components/layout/Stack";import{useTranslatedNode as J,useTranslatedText as O}from"../../components/primitives/themed";export const TranslatedFieldLabel=(g)=>{const q=J();return z(F,{...g,children:q(g.children)})},TranslatedFieldDescription=(g)=>{const q=J();return z(U,{...g,children:q(g.children)})},TranslatedFieldError=(g)=>{const q=J();return z(K,{...g,children:q(g.children)})},TranslatedInput=(g)=>{const q=O();return z(E,{...g,placeholder:q(g.placeholder)})},TranslatedPasswordInput=(g)=>{const q=O(),{showLabelI18n:A,hideLabelI18n:Q,...R}=g;return z(H,{...R,placeholder:q(g.placeholder),showLabel:q(A??g.showLabel),hideLabel:q(Q??g.hideLabel)})},TranslatedTextarea=(g)=>{const q=O();return z(M,{...g,placeholder:q(g.placeholder)})},TranslatedInputGroupInput=(g)=>{const q=O();return z(L,{...g,placeholder:q(g.placeholder)})},TranslatedInputGroupTextarea=(g)=>{const q=O();return z(G,{...g,placeholder:q(g.placeholder)})},TranslatedInputGroupText=(g)=>{const q=J();return z(V,{...g,children:q(g.children)})};const S={calendar:Y,clock:Z,info:X,mail:$,search:v,user:B};export const InputGroupIcon=({iconKey:g,label:q})=>{const A=S[g]??X;return z(A,{"aria-hidden":q?void 0:!0,"aria-label":q,className:"size-4"})},TranslatedButton=({children:g,onClick:q,onPress:A,...Q})=>{const R=J();return z(D,{...Q,onClick:q?()=>q():void 0,onPress:A??q,children:R(g)})},FormRoot=({children:g,className:q})=>z(W,{gap:"lg",className:q,children:g}),FieldArray=({children:g,className:q})=>z(W,{gap:"md",className:q,children:g}),FieldArrayItem=({children:g,className:q})=>z(W,{gap:"sm",className:q,children:g}),Actions=({children:g,className:q})=>z(P,{gap:"sm",wrap:"wrap",className:q,children:g});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./components/typography";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type InputPasswordProps as WebInputPasswordProps } from '@contractspec/lib.ui-kit-web/ui/input-password';
|
|
2
|
+
import { type ControlThemeProps, type TextFieldBaseProps } from '../primitives/control';
|
|
3
|
+
type PasswordPurpose = 'current' | 'new';
|
|
4
|
+
interface InputPasswordBaseProps extends TextFieldBaseProps {
|
|
5
|
+
name?: string;
|
|
6
|
+
passwordPurpose?: PasswordPurpose;
|
|
7
|
+
visibilityToggle?: boolean;
|
|
8
|
+
showLabel?: string;
|
|
9
|
+
hideLabel?: string;
|
|
10
|
+
showLabelI18n?: string;
|
|
11
|
+
hideLabelI18n?: string;
|
|
12
|
+
}
|
|
13
|
+
export type InputPasswordProps = Omit<WebInputPasswordProps, 'type' | 'showLabel' | 'hideLabel' | 'passwordPurpose' | 'visibilityToggle'> & InputPasswordBaseProps & ControlThemeProps;
|
|
14
|
+
export declare function InputPassword({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, name, className, keyboard, componentKey, themeVariant, placeholderI18n, ariaLabelI18n, passwordPurpose, visibilityToggle, showLabel, hideLabel, showLabelI18n, hideLabelI18n, ...rest }: InputPasswordProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as v}from"react/jsx-runtime";import{InputPassword as k}from"@contractspec/lib.ui-kit-web/ui/input-password";import{mapKeyboardToWeb as T}from"../../lib/keyboard";import{useThemedTextField as f}from"../primitives/control";import{useTranslatedText as g}from"../primitives/themed";function I(q){return q==="new"?"new-password":"password"}function P(q){return q==="new"?"new-password":"current-password"}export function InputPassword({value:q,defaultValue:J,onChange:M,onSubmit:Q,onFocus:R,onBlur:U,placeholder:X,disabled:Y,readOnly:Z,maxLength:$,name:_,className:j,keyboard:G,componentKey:B,themeVariant:N,placeholderI18n:O,ariaLabelI18n:S,passwordPurpose:D="current",visibilityToggle:W,showLabel:C,hideLabel:V,showLabelI18n:F,hideLabelI18n:K,...A}){const H=g(),x=T({kind:I(D),...G,autoComplete:G?.autoComplete??A.autoComplete??P(D)}),z=f({defaultComponentKey:"InputPassword",componentKey:B,themeVariant:N,className:j,style:A.style,placeholder:X,placeholderI18n:O,ariaLabelI18n:S});return v(k,{...z.themed.props,...A,...x,className:z.themed.className,style:z.themed.style,value:q,defaultValue:J,onChange:M,onFocus:R,onBlur:U,placeholder:z.placeholder,"aria-label":z.ariaLabel,disabled:Y,readOnly:Z,maxLength:$,name:_,passwordPurpose:D,visibilityToggle:W,showLabel:H(F??C??"Show password"),hideLabel:H(K??V??"Hide password"),onKeyDown:(E)=>{A.onKeyDown?.(E);if(E.defaultPrevented||E.key!=="Enter")return;Q?.()}})}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type InputPasswordProps as NativeInputPasswordProps } from '@contractspec/lib.ui-kit/ui/input-password';
|
|
2
|
+
import { type ControlThemeProps, type TextFieldBaseProps } from '../primitives/control';
|
|
3
|
+
type PasswordPurpose = 'current' | 'new';
|
|
4
|
+
interface InputPasswordBaseProps extends TextFieldBaseProps {
|
|
5
|
+
value?: string;
|
|
6
|
+
defaultValue?: string;
|
|
7
|
+
onChange?: (text: string) => void;
|
|
8
|
+
passwordPurpose?: PasswordPurpose;
|
|
9
|
+
visibilityToggle?: boolean;
|
|
10
|
+
showLabel?: string;
|
|
11
|
+
hideLabel?: string;
|
|
12
|
+
showLabelI18n?: string;
|
|
13
|
+
hideLabelI18n?: string;
|
|
14
|
+
}
|
|
15
|
+
export type InputPasswordProps = Omit<NativeInputPasswordProps, 'value' | 'defaultValue' | 'onChangeText' | 'secureTextEntry' | 'textContentType' | 'showLabel' | 'hideLabel' | 'passwordPurpose' | 'visibilityToggle'> & InputPasswordBaseProps & ControlThemeProps;
|
|
16
|
+
export declare function InputPassword({ value, defaultValue, onChange, onSubmit, onFocus, onBlur, placeholder, disabled, readOnly, maxLength, className, keyboard, componentKey, themeVariant, placeholderI18n, ariaLabelI18n, passwordPurpose, visibilityToggle, showLabel, hideLabel, showLabelI18n, hideLabelI18n, ...rest }: InputPasswordProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export default InputPassword;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { Link } from '@contractspec/lib.ui-kit/ui/link';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DataViewSpec } from '@contractspec/lib.contracts-spec/data-views';
|
|
1
|
+
import type { DataViewFilterSet, DataViewSpec } from '@contractspec/lib.contracts-spec/data-views';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
export interface DataViewRendererProps {
|
|
4
4
|
spec: DataViewSpec;
|
|
@@ -15,8 +15,8 @@ export interface DataViewRendererProps {
|
|
|
15
15
|
footer?: React.ReactNode;
|
|
16
16
|
search?: string;
|
|
17
17
|
onSearchChange?: (value: string) => void;
|
|
18
|
-
filters?: Record<string, unknown
|
|
19
|
-
onFilterChange?: (filters: Record<string, unknown>) => void;
|
|
18
|
+
filters?: Record<string, unknown> | DataViewFilterSet;
|
|
19
|
+
onFilterChange?: (filters: Record<string, unknown> | DataViewFilterSet) => void;
|
|
20
20
|
pagination?: {
|
|
21
21
|
page: number;
|
|
22
22
|
pageSize: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as J,jsxs as c,Fragment as p}from"react/jsx-runtime";import{resolveDataViewFilters as S}from"@contractspec/lib.contracts-spec/data-views";import{Pagination as d}from"@contractspec/lib.ui-kit-web/ui/atoms/Pagination";import{VStack as h}from"@contractspec/lib.ui-kit-web/ui/stack";import{Text as f}from"@contractspec/lib.ui-kit-web/ui/text";import*as L from"react";import{resolveTranslationString as V,useDesignSystemTranslation as u}from"../../i18n/translation";import{FiltersToolbar as m}from"../molecules/FiltersToolbar";import{DataViewDetail as v}from"./DataViewDetail";import{DataViewList as b}from"./DataViewList";import{DataViewTable as y}from"./DataViewTable";export function DataViewRenderer({spec:B,items:G=[],item:X=null,className:M,renderActions:$,onSelect:q,onRowClick:P,toolbar:R,loading:T,headerActions:Y,emptyState:Q,footer:j,search:w,onSearchChange:_,filters:I,onFilterChange:Z,pagination:K,onPageChange:D}){const z=u(),O=L.useMemo(()=>S({filters:B.view.filters,scope:B.view.filterScope,user:g(I)}),[I,B.view.filterScope,B.view.filters]),N=L.useMemo(()=>{if(B.view.filterScope){const E=Object.entries(O.user).map(([H,W])=>({key:H,label:`${A(B,H)}: ${F(W)}`,onRemove:()=>{const{[H]:r,...C}=O.user;Z?.(C)}})),U=O.lockedChips==="hidden"?[]:Object.entries(O.locked).map(([H,W])=>({key:`locked-${H}`,label:`${A(B,H)}: ${F(W)}`,disabled:!0}));return[...E,...U]}return I?Object.entries(I).map(([E,U])=>({key:E,label:`${E}: ${String(U)}`,onRemove:()=>{const{[E]:H,...W}=I;Z?.(W)}})):[]},[I,Z,O,B]),k=B.view.filterScope?Object.keys(O.user).length>0:Boolean(I&&Object.keys(I).length>0),x=L.useMemo(()=>{switch(B.view.kind){case"list":return J(b,{spec:B,items:G,className:M,renderActions:$,onSelect:q,emptyState:Q});case"table":return J(y,{spec:B,items:G,className:M,onRowClick:P,toolbar:R,loading:T,emptyState:Q,headerActions:Y,footer:j});case"detail":return J(v,{spec:B,item:X,className:M,emptyState:Q,headerActions:Y});case"grid":{const E=B.view,U={kind:"list",layout:"card",fields:E.fields,filters:E.filters,actions:E.actions,primaryField:E.primaryField,secondaryFields:E.secondaryFields,filterScope:E.filterScope},H={...B,view:U};return J(b,{spec:H,items:G,className:M,renderActions:$,onSelect:q,emptyState:Q})}default:return J(f,{className:M,children:V("Unsupported data view kind",z)})}},[B,G,X,M,$,q,P,R,T,Y,Q,j,z]);if(!(B.view.kind==="list"||B.view.kind==="table"||B.view.kind==="grid"))return J(p,{children:x});return c(h,{gap:"lg",children:[(B.view.filters?.length||_||N.length)&&J(m,{searchValue:w,onSearchChange:_,searchPlaceholder:V("Search...",z)??"Search...",activeChips:N,onClearAll:k?()=>Z?.({}):void 0,right:B.view.kind==="table"?void 0:Y}),x,K&&K.total>0&&J(d,{currentPage:K.page,totalPages:Math.ceil(K.total/K.pageSize),totalItems:K.total,itemsPerPage:K.pageSize,onPageChange:(E)=>D?.(E),onItemsPerPageChange:(E)=>{D?.(1)},showItemsPerPage:!1})]})}function g(B){if(!B)return;return Object.fromEntries(Object.entries(B??{}).filter((G)=>Boolean(G[1]&&typeof G[1]==="object"&&"kind"in G[1]&&typeof G[1].kind==="string")))}function A(B,G){return B.view.filters?.find((X)=>X.key===G)?.label??G}function F(B){if(!B)return"";if(B.kind==="single")return String(B.value);if(B.kind==="multi")return B.values.map(String).join(", ");if(B.kind==="range")return[B.from==null?"":String(B.from),B.to==null?"":String(B.to)].filter(Boolean).join(" - ");return`${B.mode}(${B.clauses.length})`}
|
package/dist/components/data-view/{DataViewRenderer.mobile.d.ts → DataViewRenderer.native.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DataViewSpec } from '@contractspec/lib.contracts-spec/data-views';
|
|
1
|
+
import type { DataViewFilterSet, DataViewSpec } from '@contractspec/lib.contracts-spec/data-views';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
export interface DataViewRendererProps {
|
|
4
4
|
spec: DataViewSpec;
|
|
@@ -15,8 +15,8 @@ export interface DataViewRendererProps {
|
|
|
15
15
|
footer?: React.ReactNode;
|
|
16
16
|
search?: string;
|
|
17
17
|
onSearchChange?: (value: string) => void;
|
|
18
|
-
filters?: Record<string, unknown
|
|
19
|
-
onFilterChange?: (filters: Record<string, unknown>) => void;
|
|
18
|
+
filters?: Record<string, unknown> | DataViewFilterSet;
|
|
19
|
+
onFilterChange?: (filters: Record<string, unknown> | DataViewFilterSet) => void;
|
|
20
20
|
pagination?: {
|
|
21
21
|
page: number;
|
|
22
22
|
pageSize: number;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { InputPassword } from '../../atoms/InputPassword';
|
|
1
2
|
export { Autocomplete, type AutocompleteProps, } from './Autocomplete';
|
|
2
3
|
export { Checkbox, RadioGroup, RadioGroupItem, Switch, } from './ChoiceControls';
|
|
3
4
|
export { Combobox, type ComboboxProps } from './Combobox';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{Autocomplete}from"./Autocomplete";export{Checkbox,RadioGroup,RadioGroupItem,Switch}from"./ChoiceControls";export{Combobox}from"./Combobox";export{DatePicker,DateRangePicker,DateTimePicker,TimePicker}from"./DateTimeControls";export{DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger}from"./DropdownMenu";export{Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet}from"./Field";export{InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea}from"./InputGroup";export{InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot}from"./InputOTP";export{LoadingButton}from"./LoadingButton";export{NativeSelect,NativeSelectOptGroup,NativeSelectOption}from"./NativeSelect";export{Select}from"./Select";
|
|
1
|
+
export{InputPassword}from"../../atoms/InputPassword";export{Autocomplete}from"./Autocomplete";export{Checkbox,RadioGroup,RadioGroupItem,Switch}from"./ChoiceControls";export{Combobox}from"./Combobox";export{DatePicker,DateRangePicker,DateTimePicker,TimePicker}from"./DateTimeControls";export{DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger}from"./DropdownMenu";export{Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet}from"./Field";export{InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea}from"./InputGroup";export{InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot}from"./InputOTP";export{LoadingButton}from"./LoadingButton";export{NativeSelect,NativeSelectOptGroup,NativeSelectOption}from"./NativeSelect";export{Select}from"./Select";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as c}from"react/jsx-runtime";import*as i from"react";import{Button as u}from"
|
|
1
|
+
import{jsx as e,jsxs as c}from"react/jsx-runtime";import*as i from"react";import{Button as u}from"../../atoms/Button";import{ContactFields as d}from"../molecules/ContactFields";import{LegalPageLayout as g}from"../organisms/LegalPageLayout";export function ContactTemplate({title:r="Contact",meta:m,onSubmit:a}){const[o,s]=i.useState({name:"",email:"",subject:"",message:""}),[t,n]=i.useState(!1);return e(g,{title:r,meta:m,children:c("form",{onSubmit:async(l)=>{l.preventDefault();if(!a)return;n(!0);try{await a(o)}finally{n(!1)}},className:"space-y-6",children:[e(d,{value:o,onChange:s,disabled:t}),e(u,{disabled:t,type:"submit",children:t?"Envoi\u2026":"Envoyer"})]})})}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ListItemProps as WebListItemProps, type ListProps as WebListProps } from '@contractspec/lib.ui-kit-web/ui/list';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../primitives/themed';
|
|
3
|
+
export type ListProps = WebListProps & ThemedPrimitiveProps;
|
|
4
|
+
export type ListItemProps = WebListItemProps & ThemedPrimitiveProps;
|
|
5
|
+
export declare function List({ componentKey, themeVariant, className, ...props }: ListProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function ListItem({ componentKey, themeVariant, className, ...props }: ListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as D}from"react/jsx-runtime";import{List as E,ListItem as F}from"@contractspec/lib.ui-kit-web/ui/list";import{useThemedPrimitive as C}from"../primitives/themed";export function List({componentKey:q,themeVariant:z,className:A,...B}){const g=C({defaultComponentKey:"List",componentKey:q,themeVariant:z,className:A});return D(E,{...g.props,...B,className:g.className})}export function ListItem({componentKey:q,themeVariant:z,className:A,...B}){const g=C({defaultComponentKey:"ListItem",componentKey:q,themeVariant:z,className:A});return D(F,{...g.props,...B,className:g.className})}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ListItemProps as NativeListItemProps, type ListProps as NativeListProps } from '@contractspec/lib.ui-kit/ui/list';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../primitives/themed';
|
|
3
|
+
export type ListProps = NativeListProps & ThemedPrimitiveProps;
|
|
4
|
+
export type ListItemProps = NativeListItemProps & ThemedPrimitiveProps;
|
|
5
|
+
export declare function List({ componentKey, themeVariant, className, ...props }: ListProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function ListItem({ componentKey, themeVariant, className, ...props }: ListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { List, ListItem, type ListItemProps, type ListProps } from './List';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{List,ListItem}from"./List";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as E,jsxs as D}from"react/jsx-runtime";import{Badge as
|
|
1
|
+
import{jsx as E,jsxs as D}from"react/jsx-runtime";import{Badge as I}from"@contractspec/lib.ui-kit-web/ui/badge";import{cn as W}from"@contractspec/lib.ui-kit-web/ui/utils";import*as K from"react";import{Button as X}from"../atoms/Button";import{Input as N}from"../atoms/Input";export function FiltersToolbar({className:Y,children:Z,right:$,searchPlaceholder:k,searchValue:G,onSearchChange:F,onSearchSubmit:L,debounceMs:O=250,activeChips:T=[],onClearAll:H}){const[J,U]=K.useState(G??"");K.useEffect(()=>{U(G??"")},[G]);K.useEffect(()=>{if(!F)return;const z=setTimeout(()=>F(J),O);return()=>clearTimeout(z)},[J,O,F]);return D("div",{className:W("space-y-2",Y),children:[D("div",{className:"flex flex-col items-stretch gap-2 md:flex-row md:items-center md:justify-between",children:[D("div",{className:"flex flex-1 items-center gap-2",children:[F?D("div",{className:"flex flex-1 items-center gap-2",children:[E(N,{value:J,onChange:(z)=>U(z.target.value),onKeyDown:(z)=>{if(z.key==="Enter")L?.()},placeholder:k,keyboard:{kind:"search"}}),E(X,{variant:"outline",onPress:()=>L?.(),className:"shrink-0",children:"Rechercher"})]}):null,Z]}),$]}),(T.length>0||H)&&D("div",{className:"flex flex-wrap items-center gap-2",children:[T.map((z)=>D(I,{variant:"secondary",className:W("inline-flex items-center gap-2",z.disabled&&"opacity-70"),children:[E("span",{children:z.label}),z.onRemove&&!z.disabled&&E("button",{type:"button","aria-label":"Supprimer le filtre",onClick:z.onRemove,className:"rounded-xs px-1 text-base hover:bg-muted",children:"\xD7"})]},z.key)),H&&E(X,{size:"sm",variant:"ghost",onPress:H,children:"Effacer les filtres"})]})]})}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../primitives/themed';
|
|
3
|
+
export interface TabsProps extends ThemedPrimitiveProps {
|
|
4
|
+
value?: string;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
onValueChange?: (value: string) => void;
|
|
7
|
+
className?: string;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
orientation?: 'horizontal' | 'vertical';
|
|
10
|
+
dir?: 'ltr' | 'rtl';
|
|
11
|
+
activationMode?: 'automatic' | 'manual';
|
|
12
|
+
}
|
|
13
|
+
export interface TabsListProps extends ThemedPrimitiveProps {
|
|
14
|
+
className?: string;
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
export interface TabsTriggerProps extends ThemedPrimitiveProps {
|
|
18
|
+
value: string;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
className?: string;
|
|
21
|
+
children?: React.ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export interface TabsContentProps extends ThemedPrimitiveProps {
|
|
24
|
+
value: string;
|
|
25
|
+
forceMount?: boolean;
|
|
26
|
+
className?: string;
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
}
|
|
29
|
+
export declare function Tabs({ value, defaultValue, onValueChange, className, children, orientation, dir, activationMode, componentKey, themeVariant, }: TabsProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare function TabsList({ className, children, componentKey, themeVariant, }: TabsListProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare function TabsTrigger({ value, disabled, className, children, componentKey, themeVariant, }: TabsTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export declare function TabsContent({ value, forceMount, className, children, componentKey, themeVariant, }: TabsContentProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as H}from"react/jsx-runtime";import{Tabs as R,TabsContent as S,TabsList as U,TabsTrigger as X}from"@contractspec/lib.ui-kit-web/ui/tabs";import{useThemedPrimitive as G}from"../primitives/themed";export function Tabs({value:z,defaultValue:A,onValueChange:B,className:D,children:q,orientation:F,dir:E,activationMode:J,componentKey:O,themeVariant:Q}){console.log("tabs web");const I=G({defaultComponentKey:"Tabs",componentKey:O,themeVariant:Q,className:D});return H(R,{...I.props,value:z,defaultValue:A,onValueChange:B,className:I.className,orientation:F,dir:E,activationMode:J,children:q})}export function TabsList({className:z,children:A,componentKey:B,themeVariant:D}){const q=G({defaultComponentKey:"TabsList",componentKey:B,themeVariant:D,className:z});return H(U,{...q.props,className:q.className,children:A})}export function TabsTrigger({value:z,disabled:A,className:B,children:D,componentKey:q,themeVariant:F}){const E=G({defaultComponentKey:"TabsTrigger",componentKey:q,themeVariant:F,className:B});return H(X,{...E.props,value:z,disabled:A,className:E.className,children:D})}export function TabsContent({value:z,forceMount:A,className:B,children:D,componentKey:q,themeVariant:F}){const E=G({defaultComponentKey:"TabsContent",componentKey:q,themeVariant:F,className:B});return H(S,{...E.props,value:z,forceMount:A?!0:void 0,className:E.className,children:D})}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ThemedPrimitiveProps } from '../primitives/themed';
|
|
3
|
+
export interface TabsProps extends ThemedPrimitiveProps {
|
|
4
|
+
value?: string;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
onValueChange?: (value: string) => void;
|
|
7
|
+
className?: string;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
orientation?: 'horizontal' | 'vertical';
|
|
10
|
+
dir?: 'ltr' | 'rtl';
|
|
11
|
+
activationMode?: 'automatic' | 'manual';
|
|
12
|
+
}
|
|
13
|
+
export interface TabsListProps extends ThemedPrimitiveProps {
|
|
14
|
+
className?: string;
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
export interface TabsTriggerProps extends ThemedPrimitiveProps {
|
|
18
|
+
value: string;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
className?: string;
|
|
21
|
+
children?: React.ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export interface TabsContentProps extends ThemedPrimitiveProps {
|
|
24
|
+
value: string;
|
|
25
|
+
forceMount?: boolean;
|
|
26
|
+
className?: string;
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
}
|
|
29
|
+
export declare function Tabs({ value, defaultValue, onValueChange, className, children, orientation, dir, activationMode, componentKey, themeVariant, }: TabsProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare function TabsList({ className, children, componentKey, themeVariant, }: TabsListProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare function TabsTrigger({ value, disabled, className, children, componentKey, themeVariant, }: TabsTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export declare function TabsContent({ value, forceMount, className, children, componentKey, themeVariant, }: TabsContentProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Text as WebText } from '@contractspec/lib.ui-kit-web/ui/text';
|
|
2
|
+
import { BlockQuote as WebBlockQuote, Code as WebCode, H1 as WebH1, H2 as WebH2, H3 as WebH3, H4 as WebH4, Large as WebLarge, Lead as WebLead, Muted as WebMuted, P as WebP, Small as WebSmall } from '@contractspec/lib.ui-kit-web/ui/typography';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { type ThemedPrimitiveProps } from '../primitives/themed';
|
|
5
|
+
type ThemedTextProps = React.ComponentProps<typeof WebText> & ThemedPrimitiveProps;
|
|
6
|
+
type ThemedTypographyProps<TComponent extends React.ElementType> = React.ComponentProps<TComponent> & ThemedPrimitiveProps;
|
|
7
|
+
export declare function Text({ componentKey, themeVariant, className, ...props }: ThemedTextProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function H1({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebH1>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function H2({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebH2>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function H3({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebH3>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function H4({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebH4>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function P({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebP>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function Lead({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebLead>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function Large({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebLarge>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function Small({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebSmall>): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function Muted({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebMuted>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function Code({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebCode>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function BlockQuote({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof WebBlockQuote>): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as G}from"react/jsx-runtime";import{Text as I}from"@contractspec/lib.ui-kit-web/ui/text";import{BlockQuote as J,Code as O,H1 as R,H2 as U,H3 as X,H4 as Y,Large as Z,Lead as $,Muted as B,P as M,Small as Q}from"@contractspec/lib.ui-kit-web/ui/typography";import{useThemedPrimitive as S}from"../primitives/themed";function F({defaultComponentKey:z,componentKey:A,themeVariant:D,className:E}){return S({defaultComponentKey:z,componentKey:A,themeVariant:D,className:E})}export function Text({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Text",componentKey:z,themeVariant:A,className:D});return G(I,{...q.props,...E,className:q.className})}export function H1({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"H1",componentKey:z,themeVariant:A,className:D});return G(R,{...q.props,...E,className:q.className})}export function H2({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"H2",componentKey:z,themeVariant:A,className:D});return G(U,{...q.props,...E,className:q.className})}export function H3({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"H3",componentKey:z,themeVariant:A,className:D});return G(X,{...q.props,...E,className:q.className})}export function H4({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"H4",componentKey:z,themeVariant:A,className:D});return G(Y,{...q.props,...E,className:q.className})}export function P({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"P",componentKey:z,themeVariant:A,className:D});return G(M,{...q.props,...E,className:q.className})}export function Lead({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Lead",componentKey:z,themeVariant:A,className:D});return G($,{...q.props,...E,className:q.className})}export function Large({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Large",componentKey:z,themeVariant:A,className:D});return G(Z,{...q.props,...E,className:q.className})}export function Small({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Small",componentKey:z,themeVariant:A,className:D});return G(Q,{...q.props,...E,className:q.className})}export function Muted({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Muted",componentKey:z,themeVariant:A,className:D});return G(B,{...q.props,...E,className:q.className})}export function Code({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"Code",componentKey:z,themeVariant:A,className:D});return G(O,{...q.props,...E,className:q.className})}export function BlockQuote({componentKey:z,themeVariant:A,className:D,...E}){const q=F({defaultComponentKey:"BlockQuote",componentKey:z,themeVariant:A,className:D});return G(J,{...q.props,...E,className:q.className})}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Text as NativeText } from '@contractspec/lib.ui-kit/ui/text';
|
|
2
|
+
import { BlockQuote as NativeBlockQuote, Code as NativeCode, H1 as NativeH1, H2 as NativeH2, H3 as NativeH3, H4 as NativeH4, Large as NativeLarge, Lead as NativeLead, Muted as NativeMuted, P as NativeP, Small as NativeSmall } from '@contractspec/lib.ui-kit/ui/typography';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { type ThemedPrimitiveProps } from '../primitives/themed';
|
|
5
|
+
type ThemedTextProps = React.ComponentProps<typeof NativeText> & ThemedPrimitiveProps;
|
|
6
|
+
type ThemedTypographyProps<TComponent extends React.ElementType> = React.ComponentProps<TComponent> & ThemedPrimitiveProps;
|
|
7
|
+
export declare function Text({ componentKey, themeVariant, className, ...props }: ThemedTextProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const H1: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeH1>) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const H2: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeH2>) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const H3: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeH3>) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const H4: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeH4>) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const P: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeP>) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const Lead: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeLead>) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare const Large: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeLarge>) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const Small: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeSmall>) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare const Muted: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeMuted>) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare const Code: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeCode>) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare const BlockQuote: ({ componentKey, themeVariant, className, ...props }: ThemedTypographyProps<typeof NativeBlockQuote>) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BlockQuote, Code, H1, H2, H3, H4, Large, Lead, Muted, P, Small, Text, } from './Typography';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{BlockQuote,Code,H1,H2,H3,H4,Large,Lead,Muted,P,Small,Text}from"./Typography";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components/forms/controls';
|
package/dist/controls.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./components/forms/controls";
|
package/dist/forms.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components/forms';
|
package/dist/forms.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./components/forms";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ListFilterScope } from '@contractspec/lib.presentation-runtime-core';
|
|
1
2
|
export interface ListUrlState<TFilters extends Record<string, unknown> = Record<string, unknown>> {
|
|
2
3
|
q: string;
|
|
3
4
|
page: number;
|
|
@@ -5,8 +6,9 @@ export interface ListUrlState<TFilters extends Record<string, unknown> = Record<
|
|
|
5
6
|
sort?: string | null;
|
|
6
7
|
filters: TFilters;
|
|
7
8
|
}
|
|
8
|
-
export declare function useListUrlState<TFilters extends Record<string, unknown> = Record<string, unknown>>({ defaults, paramKeys, replaceState, }: {
|
|
9
|
+
export declare function useListUrlState<TFilters extends Record<string, unknown> = Record<string, unknown>>({ defaults, paramKeys, replaceState, filterScope, }: {
|
|
9
10
|
defaults: ListUrlState<TFilters>;
|
|
11
|
+
filterScope?: ListFilterScope<TFilters>;
|
|
10
12
|
paramKeys?: {
|
|
11
13
|
q: string;
|
|
12
14
|
page: string;
|