@lssm/lib.design-system 0.0.0-canary-20251120192244 → 0.0.0-canary-20251206160926
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 +21 -0
- package/dist/_virtual/rolldown_runtime.js +23 -16
- package/dist/components/agent/AgentMonitor.d.ts +28 -0
- package/dist/components/agent/AgentMonitor.js +78 -0
- package/dist/components/agent/ApprovalQueue.d.ts +25 -0
- package/dist/components/agent/ApprovalQueue.js +88 -0
- package/dist/components/atoms/ActionButtons.d.ts +11 -12
- package/dist/components/atoms/ActionButtons.js +3 -4
- package/dist/components/atoms/Button.d.ts +3 -4
- package/dist/components/atoms/Button.js +2 -3
- package/dist/components/atoms/Button.mobile.d.ts +3 -4
- package/dist/components/atoms/Button.mobile.js +2 -3
- package/dist/components/atoms/ButtonLink.d.ts +3 -4
- package/dist/components/atoms/ButtonLink.js +2 -4
- package/dist/components/atoms/ButtonLink.mobile.d.ts +3 -4
- package/dist/components/atoms/ButtonLink.mobile.js +2 -3
- package/dist/components/atoms/Cta.d.ts +4 -5
- package/dist/components/atoms/Cta.js +2 -3
- package/dist/components/atoms/Cta.mobile.d.ts +1 -2
- package/dist/components/atoms/Cta.mobile.js +2 -4
- package/dist/components/atoms/DataChips.d.ts +8 -9
- package/dist/components/atoms/DataChips.js +5 -6
- package/dist/components/atoms/EmptyState.d.ts +3 -4
- package/dist/components/atoms/EmptyState.js +1 -3
- package/dist/components/atoms/ErrorState.d.ts +3 -4
- package/dist/components/atoms/ErrorState.js +1 -2
- package/dist/components/atoms/ErrorState.mobile.d.ts +3 -4
- package/dist/components/atoms/ErrorState.mobile.js +1 -2
- package/dist/components/atoms/Input.d.ts +3 -4
- package/dist/components/atoms/Input.js +2 -3
- package/dist/components/atoms/Input.mobile.d.ts +3 -4
- package/dist/components/atoms/Input.mobile.js +2 -3
- package/dist/components/atoms/Link.d.ts +3 -4
- package/dist/components/atoms/Link.js +2 -3
- package/dist/components/atoms/Link.web.d.ts +3 -4
- package/dist/components/atoms/Link.web.js +2 -3
- package/dist/components/atoms/LoaderCircular.d.ts +5 -6
- package/dist/components/atoms/LoaderCircular.js +2 -3
- package/dist/components/atoms/LoaderCircular.mobile.d.ts +3 -4
- package/dist/components/atoms/LoaderCircular.mobile.js +1 -2
- package/dist/components/atoms/NavBrand.d.ts +3 -4
- package/dist/components/atoms/NavBrand.js +1 -3
- package/dist/components/atoms/Stepper.d.ts +3 -4
- package/dist/components/atoms/Stepper.js +1 -3
- package/dist/components/atoms/Textarea.d.ts +3 -4
- package/dist/components/atoms/Textarea.js +2 -3
- package/dist/components/atoms/Textarea.mobile.d.ts +3 -4
- package/dist/components/atoms/Textarea.mobile.js +2 -3
- package/dist/components/data-view/DataViewDetail.d.ts +3 -4
- package/dist/components/data-view/DataViewDetail.js +10 -12
- package/dist/components/data-view/DataViewList.d.ts +3 -4
- package/dist/components/data-view/DataViewList.js +6 -8
- package/dist/components/data-view/DataViewRenderer.d.ts +3 -4
- package/dist/components/data-view/DataViewRenderer.js +1 -3
- package/dist/components/data-view/DataViewTable.d.ts +3 -4
- package/dist/components/data-view/DataViewTable.js +10 -12
- package/dist/components/data-view/utils.d.ts +1 -2
- package/dist/components/data-view/utils.js +1 -3
- package/dist/components/forms/FormCardLayout.d.ts +3 -4
- package/dist/components/forms/FormCardLayout.js +1 -2
- package/dist/components/forms/FormDialog.d.ts +3 -4
- package/dist/components/forms/FormDialog.js +1 -3
- package/dist/components/forms/FormLayout.d.ts +5 -6
- package/dist/components/forms/FormLayout.js +1 -3
- package/dist/components/forms/FormOneByOneLayout.d.ts +3 -4
- package/dist/components/forms/FormOneByOneLayout.js +1 -2
- package/dist/components/forms/FormStepsLayout.d.ts +3 -4
- package/dist/components/forms/FormStepsLayout.js +1 -2
- package/dist/components/forms/ZodForm.d.ts +3 -4
- package/dist/components/forms/ZodForm.js +1 -3
- package/dist/components/legal/atoms/DefinitionList.d.ts +3 -4
- package/dist/components/legal/atoms/DefinitionList.js +1 -2
- package/dist/components/legal/atoms/KeyValueList.d.ts +3 -4
- package/dist/components/legal/atoms/KeyValueList.js +1 -2
- package/dist/components/legal/atoms/LegalCallout.d.ts +5 -6
- package/dist/components/legal/atoms/LegalCallout.js +2 -3
- package/dist/components/legal/atoms/LegalHeading.d.ts +5 -6
- package/dist/components/legal/atoms/LegalHeading.js +2 -3
- package/dist/components/legal/atoms/LegalList.d.ts +5 -6
- package/dist/components/legal/atoms/LegalList.js +2 -3
- package/dist/components/legal/atoms/LegalSection.d.ts +5 -6
- package/dist/components/legal/atoms/LegalSection.js +2 -3
- package/dist/components/legal/atoms/LegalText.d.ts +6 -7
- package/dist/components/legal/atoms/LegalText.js +2 -3
- package/dist/components/legal/molecules/Consent.d.ts +4 -5
- package/dist/components/legal/molecules/Consent.js +1 -2
- package/dist/components/legal/molecules/ContactFields.d.ts +3 -4
- package/dist/components/legal/molecules/ContactFields.js +1 -2
- package/dist/components/legal/molecules/LegalMeta.d.ts +3 -4
- package/dist/components/legal/molecules/LegalMeta.js +1 -2
- package/dist/components/legal/molecules/LegalTOC.d.ts +5 -6
- package/dist/components/legal/molecules/LegalTOC.js +2 -3
- package/dist/components/legal/organisms/ContactForm.d.ts +3 -4
- package/dist/components/legal/organisms/ContactForm.js +1 -2
- package/dist/components/legal/organisms/GDPRDataRequest.d.ts +3 -4
- package/dist/components/legal/organisms/GDPRDataRequest.js +1 -2
- package/dist/components/legal/organisms/GDPRRights.d.ts +3 -4
- package/dist/components/legal/organisms/GDPRRights.js +1 -2
- package/dist/components/legal/organisms/LegalPageLayout.d.ts +3 -4
- package/dist/components/legal/organisms/LegalPageLayout.js +1 -2
- package/dist/components/legal/templates/ContactTemplate.d.ts +3 -4
- package/dist/components/legal/templates/ContactTemplate.js +1 -2
- package/dist/components/legal/templates/CookiesTemplate.d.ts +3 -4
- package/dist/components/legal/templates/CookiesTemplate.js +1 -2
- package/dist/components/legal/templates/PrivacyTemplate.d.ts +3 -4
- package/dist/components/legal/templates/PrivacyTemplate.js +1 -2
- package/dist/components/legal/templates/SalesTermsTemplate.d.ts +3 -4
- package/dist/components/legal/templates/SalesTermsTemplate.js +1 -2
- package/dist/components/legal/templates/TermsTemplate.d.ts +3 -4
- package/dist/components/legal/templates/TermsTemplate.js +1 -3
- package/dist/components/molecules/AiLinkButton.d.ts +3 -4
- package/dist/components/molecules/AiLinkButton.js +1 -2
- package/dist/components/molecules/Breadcrumbs.d.ts +3 -4
- package/dist/components/molecules/Breadcrumbs.js +1 -3
- package/dist/components/molecules/CommandPalette.d.ts +3 -4
- package/dist/components/molecules/CommandPalette.js +1 -3
- package/dist/components/molecules/CommandSearchTrigger.d.ts +3 -4
- package/dist/components/molecules/CommandSearchTrigger.js +1 -3
- package/dist/components/molecules/EntityCard.d.ts +6 -7
- package/dist/components/molecules/EntityCard.js +2 -4
- package/dist/components/molecules/FiltersToolbar.d.ts +3 -4
- package/dist/components/molecules/FiltersToolbar.js +1 -2
- package/dist/components/molecules/FiltersToolbar.mobile.d.ts +3 -4
- package/dist/components/molecules/FiltersToolbar.mobile.js +1 -2
- package/dist/components/molecules/HoverPreview.d.ts +3 -4
- package/dist/components/molecules/HoverPreview.js +3 -5
- package/dist/components/molecules/LangSwitch.d.ts +3 -4
- package/dist/components/molecules/LangSwitch.js +1 -3
- package/dist/components/molecules/LangSwitchDropdown.d.ts +3 -4
- package/dist/components/molecules/LangSwitchDropdown.js +1 -2
- package/dist/components/molecules/LoaderBlock.d.ts +3 -4
- package/dist/components/molecules/LoaderBlock.js +1 -2
- package/dist/components/molecules/LoaderBlock.mobile.d.ts +3 -4
- package/dist/components/molecules/LoaderBlock.mobile.js +1 -2
- package/dist/components/molecules/MobileNavMenu.d.ts +3 -4
- package/dist/components/molecules/MobileNavMenu.js +1 -3
- package/dist/components/molecules/NavItemCard.d.ts +3 -4
- package/dist/components/molecules/NavItemCard.js +1 -3
- package/dist/components/molecules/NavMain.d.ts +3 -4
- package/dist/components/molecules/NavMain.js +1 -2
- package/dist/components/molecules/NavUser.d.ts +3 -4
- package/dist/components/molecules/NavUser.js +1 -2
- package/dist/components/molecules/OverviewCard.d.ts +3 -4
- package/dist/components/molecules/OverviewCard.js +1 -3
- package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts +3 -4
- package/dist/components/molecules/SkeletonBlock/index.mobile.js +1 -2
- package/dist/components/molecules/SkeletonBlock/index.web.d.ts +3 -4
- package/dist/components/molecules/SkeletonBlock/index.web.js +1 -2
- package/dist/components/molecules/SkeletonBlock/types.d.ts +1 -2
- package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts +3 -4
- package/dist/components/molecules/SkeletonCircle/index.mobile.js +1 -2
- package/dist/components/molecules/SkeletonCircle/index.web.d.ts +3 -4
- package/dist/components/molecules/SkeletonCircle/index.web.js +1 -2
- package/dist/components/molecules/SkeletonCircle/types.d.ts +1 -2
- package/dist/components/molecules/SkeletonList/index.mobile.d.ts +3 -4
- package/dist/components/molecules/SkeletonList/index.mobile.js +1 -2
- package/dist/components/molecules/SkeletonList/index.web.d.ts +3 -4
- package/dist/components/molecules/SkeletonList/index.web.js +1 -2
- package/dist/components/molecules/SkeletonList/types.d.ts +1 -2
- package/dist/components/molecules/StatCard.d.ts +7 -8
- package/dist/components/molecules/StatCard.js +2 -4
- package/dist/components/molecules/StatusChip.d.ts +6 -7
- package/dist/components/molecules/StatusChip.js +2 -4
- package/dist/components/molecules/hover-previews/Doc.d.ts +3 -4
- package/dist/components/molecules/hover-previews/Doc.js +1 -3
- package/dist/components/molecules/hover-previews/Media.d.ts +3 -4
- package/dist/components/molecules/hover-previews/Media.js +1 -3
- package/dist/components/molecules/hover-previews/Simple.d.ts +3 -4
- package/dist/components/molecules/hover-previews/Simple.js +1 -3
- package/dist/components/molecules/hover-previews/Stats.d.ts +3 -4
- package/dist/components/molecules/hover-previews/Stats.js +1 -3
- package/dist/components/molecules/hover-previews/User.d.ts +3 -4
- package/dist/components/molecules/hover-previews/User.js +1 -3
- package/dist/components/native/BottomTabs.mobile.d.ts +3 -4
- package/dist/components/native/BottomTabs.mobile.js +1 -3
- package/dist/components/native/FlatListScreen.mobile.d.ts +5 -6
- package/dist/components/native/FlatListScreen.mobile.js +2 -4
- package/dist/components/native/SheetMenu.mobile.d.ts +3 -4
- package/dist/components/native/SheetMenu.mobile.js +1 -3
- package/dist/components/organisms/AcademyLayout.d.ts +3 -4
- package/dist/components/organisms/AcademyLayout.js +1 -3
- package/dist/components/organisms/AppHeader.d.ts +3 -4
- package/dist/components/organisms/AppHeader.js +2 -4
- package/dist/components/organisms/AppHeader.mobile.d.ts +3 -4
- package/dist/components/organisms/AppHeader.mobile.js +1 -3
- package/dist/components/organisms/AppLayout.d.ts +3 -4
- package/dist/components/organisms/AppLayout.js +1 -3
- package/dist/components/organisms/AppSidebar.d.ts +3 -4
- package/dist/components/organisms/AppSidebar.js +1 -2
- package/dist/components/organisms/EmptyDataList.d.ts +3 -4
- package/dist/components/organisms/EmptyDataList.js +1 -2
- package/dist/components/organisms/EmptyDataList.mobile.d.ts +3 -4
- package/dist/components/organisms/EmptyDataList.mobile.js +1 -2
- package/dist/components/organisms/EmptyDataList.types.d.ts +1 -2
- package/dist/components/organisms/EmptySearchResult.d.ts +3 -4
- package/dist/components/organisms/EmptySearchResult.js +1 -2
- package/dist/components/organisms/FAQSection.d.ts +3 -4
- package/dist/components/organisms/FAQSection.js +1 -2
- package/dist/components/organisms/FeatureCarousel.d.ts +3 -4
- package/dist/components/organisms/FeatureCarousel.js +2 -3
- package/dist/components/organisms/FeaturesSection.d.ts +3 -4
- package/dist/components/organisms/FeaturesSection.js +1 -2
- package/dist/components/organisms/Footer.d.ts +3 -4
- package/dist/components/organisms/Footer.js +1 -2
- package/dist/components/organisms/GridLayout.d.ts +5 -6
- package/dist/components/organisms/GridLayout.js +1 -2
- package/dist/components/organisms/Header.d.ts +5 -6
- package/dist/components/organisms/Header.js +1 -3
- package/dist/components/organisms/Header.mobile.d.ts +3 -4
- package/dist/components/organisms/Header.mobile.js +1 -3
- package/dist/components/organisms/HeroResponsive.d.ts +3 -4
- package/dist/components/organisms/HeroResponsive.js +1 -3
- package/dist/components/organisms/HeroSection.d.ts +3 -4
- package/dist/components/organisms/HeroSection.js +1 -2
- package/dist/components/organisms/ListCardPage.d.ts +6 -7
- package/dist/components/organisms/ListCardPage.js +1 -3
- package/dist/components/organisms/ListGridPage.d.ts +6 -7
- package/dist/components/organisms/ListGridPage.js +1 -3
- package/dist/components/organisms/ListPageResponsive.d.ts +3 -4
- package/dist/components/organisms/ListPageResponsive.js +1 -3
- package/dist/components/organisms/ListTablePage.d.ts +5 -6
- package/dist/components/organisms/ListTablePage.js +1 -3
- package/dist/components/organisms/MarketingHeader.d.ts +3 -4
- package/dist/components/organisms/MarketingHeader.js +1 -3
- package/dist/components/organisms/MarketingHeaderDesktop.d.ts +3 -4
- package/dist/components/organisms/MarketingHeaderDesktop.js +1 -3
- package/dist/components/organisms/MarketingHeaderMobile.d.ts +3 -4
- package/dist/components/organisms/MarketingHeaderMobile.js +1 -3
- package/dist/components/organisms/MarketingLayout.d.ts +3 -4
- package/dist/components/organisms/MarketingLayout.js +1 -3
- package/dist/components/organisms/PageHeaderResponsive.d.ts +3 -4
- package/dist/components/organisms/PageHeaderResponsive.js +1 -3
- package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts +3 -4
- package/dist/components/organisms/PageHeaderResponsive.mobile.js +1 -3
- package/dist/components/organisms/PricingCarousel.d.ts +3 -4
- package/dist/components/organisms/PricingCarousel.js +2 -3
- package/dist/components/organisms/PricingSection.d.ts +3 -4
- package/dist/components/organisms/PricingSection.js +1 -2
- package/dist/components/organisms/TestimonialCarousel.d.ts +3 -4
- package/dist/components/organisms/TestimonialCarousel.js +2 -3
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts +3 -4
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.js +1 -2
- package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts +3 -4
- package/dist/components/templates/lists/ListPageTemplate/index.web.js +1 -2
- package/dist/components/templates/lists/ListPageTemplate/types.d.ts +1 -2
- package/dist/hooks/useListUrlState.d.ts +1 -2
- package/dist/hooks/useListUrlState.js +1 -2
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -2
- package/dist/lib/keyboard.d.ts +1 -2
- package/dist/lib/keyboard.js +1 -2
- package/dist/lib/utils.d.ts +1 -2
- package/dist/lib/utils.js +1 -2
- package/dist/platform/useColorScheme.d.ts +1 -2
- package/dist/platform/useColorScheme.js +1 -3
- package/dist/platform/useColorScheme.mobile.d.ts +1 -2
- package/dist/platform/useColorScheme.mobile.js +1 -3
- package/dist/platform/useReducedMotion.d.ts +1 -2
- package/dist/platform/useReducedMotion.js +1 -3
- package/dist/platform/useReducedMotion.mobile.d.ts +1 -2
- package/dist/platform/useReducedMotion.mobile.js +1 -3
- package/dist/platform/useResponsive.d.ts +1 -2
- package/dist/platform/useResponsive.js +1 -3
- package/dist/platform/useResponsive.mobile.d.ts +1 -2
- package/dist/platform/useResponsive.mobile.js +1 -3
- package/dist/platform/withPlatformUI.d.ts +1 -2
- package/dist/platform/withPlatformUI.js +1 -3
- package/dist/renderers/form-contract.d.ts +3 -4
- package/dist/renderers/form-contract.js +2 -4
- package/dist/theme/tokenBridge.d.ts +1 -2
- package/dist/theme/tokenBridge.js +1 -3
- package/dist/theme/tokens.d.ts +1 -2
- package/dist/theme/tokens.js +1 -3
- package/dist/theme/variants.d.ts +5 -6
- package/dist/theme/variants.js +1 -3
- package/dist/types/navigation.d.ts +1 -2
- package/package.json +16 -10
- package/dist/components/atoms/ActionButtons.d.ts.map +0 -1
- package/dist/components/atoms/ActionButtons.js.map +0 -1
- package/dist/components/atoms/Button.d.ts.map +0 -1
- package/dist/components/atoms/Button.js.map +0 -1
- package/dist/components/atoms/Button.mobile.d.ts.map +0 -1
- package/dist/components/atoms/Button.mobile.js.map +0 -1
- package/dist/components/atoms/ButtonLink.d.ts.map +0 -1
- package/dist/components/atoms/ButtonLink.js.map +0 -1
- package/dist/components/atoms/ButtonLink.mobile.d.ts.map +0 -1
- package/dist/components/atoms/ButtonLink.mobile.js.map +0 -1
- package/dist/components/atoms/Cta.d.ts.map +0 -1
- package/dist/components/atoms/Cta.js.map +0 -1
- package/dist/components/atoms/Cta.mobile.d.ts.map +0 -1
- package/dist/components/atoms/Cta.mobile.js.map +0 -1
- package/dist/components/atoms/DataChips.d.ts.map +0 -1
- package/dist/components/atoms/DataChips.js.map +0 -1
- package/dist/components/atoms/EmptyState.d.ts.map +0 -1
- package/dist/components/atoms/EmptyState.js.map +0 -1
- package/dist/components/atoms/ErrorState.d.ts.map +0 -1
- package/dist/components/atoms/ErrorState.js.map +0 -1
- package/dist/components/atoms/ErrorState.mobile.d.ts.map +0 -1
- package/dist/components/atoms/ErrorState.mobile.js.map +0 -1
- package/dist/components/atoms/Input.d.ts.map +0 -1
- package/dist/components/atoms/Input.js.map +0 -1
- package/dist/components/atoms/Input.mobile.d.ts.map +0 -1
- package/dist/components/atoms/Input.mobile.js.map +0 -1
- package/dist/components/atoms/Link.d.ts.map +0 -1
- package/dist/components/atoms/Link.js.map +0 -1
- package/dist/components/atoms/Link.web.d.ts.map +0 -1
- package/dist/components/atoms/Link.web.js.map +0 -1
- package/dist/components/atoms/LoaderCircular.d.ts.map +0 -1
- package/dist/components/atoms/LoaderCircular.js.map +0 -1
- package/dist/components/atoms/LoaderCircular.mobile.d.ts.map +0 -1
- package/dist/components/atoms/LoaderCircular.mobile.js.map +0 -1
- package/dist/components/atoms/NavBrand.d.ts.map +0 -1
- package/dist/components/atoms/NavBrand.js.map +0 -1
- package/dist/components/atoms/Stepper.d.ts.map +0 -1
- package/dist/components/atoms/Stepper.js.map +0 -1
- package/dist/components/atoms/Textarea.d.ts.map +0 -1
- package/dist/components/atoms/Textarea.js.map +0 -1
- package/dist/components/atoms/Textarea.mobile.d.ts.map +0 -1
- package/dist/components/atoms/Textarea.mobile.js.map +0 -1
- package/dist/components/data-view/DataViewDetail.d.ts.map +0 -1
- package/dist/components/data-view/DataViewDetail.js.map +0 -1
- package/dist/components/data-view/DataViewList.d.ts.map +0 -1
- package/dist/components/data-view/DataViewList.js.map +0 -1
- package/dist/components/data-view/DataViewRenderer.d.ts.map +0 -1
- package/dist/components/data-view/DataViewRenderer.js.map +0 -1
- package/dist/components/data-view/DataViewTable.d.ts.map +0 -1
- package/dist/components/data-view/DataViewTable.js.map +0 -1
- package/dist/components/data-view/utils.d.ts.map +0 -1
- package/dist/components/data-view/utils.js.map +0 -1
- package/dist/components/forms/FormCardLayout.d.ts.map +0 -1
- package/dist/components/forms/FormCardLayout.js.map +0 -1
- package/dist/components/forms/FormDialog.d.ts.map +0 -1
- package/dist/components/forms/FormDialog.js.map +0 -1
- package/dist/components/forms/FormLayout.d.ts.map +0 -1
- package/dist/components/forms/FormLayout.js.map +0 -1
- package/dist/components/forms/FormOneByOneLayout.d.ts.map +0 -1
- package/dist/components/forms/FormOneByOneLayout.js.map +0 -1
- package/dist/components/forms/FormStepsLayout.d.ts.map +0 -1
- package/dist/components/forms/FormStepsLayout.js.map +0 -1
- package/dist/components/forms/ZodForm.d.ts.map +0 -1
- package/dist/components/forms/ZodForm.js.map +0 -1
- package/dist/components/legal/atoms/DefinitionList.d.ts.map +0 -1
- package/dist/components/legal/atoms/DefinitionList.js.map +0 -1
- package/dist/components/legal/atoms/KeyValueList.d.ts.map +0 -1
- package/dist/components/legal/atoms/KeyValueList.js.map +0 -1
- package/dist/components/legal/atoms/LegalCallout.d.ts.map +0 -1
- package/dist/components/legal/atoms/LegalCallout.js.map +0 -1
- package/dist/components/legal/atoms/LegalHeading.d.ts.map +0 -1
- package/dist/components/legal/atoms/LegalHeading.js.map +0 -1
- package/dist/components/legal/atoms/LegalList.d.ts.map +0 -1
- package/dist/components/legal/atoms/LegalList.js.map +0 -1
- package/dist/components/legal/atoms/LegalSection.d.ts.map +0 -1
- package/dist/components/legal/atoms/LegalSection.js.map +0 -1
- package/dist/components/legal/atoms/LegalText.d.ts.map +0 -1
- package/dist/components/legal/atoms/LegalText.js.map +0 -1
- package/dist/components/legal/molecules/Consent.d.ts.map +0 -1
- package/dist/components/legal/molecules/Consent.js.map +0 -1
- package/dist/components/legal/molecules/ContactFields.d.ts.map +0 -1
- package/dist/components/legal/molecules/ContactFields.js.map +0 -1
- package/dist/components/legal/molecules/LegalMeta.d.ts.map +0 -1
- package/dist/components/legal/molecules/LegalMeta.js.map +0 -1
- package/dist/components/legal/molecules/LegalTOC.d.ts.map +0 -1
- package/dist/components/legal/molecules/LegalTOC.js.map +0 -1
- package/dist/components/legal/organisms/ContactForm.d.ts.map +0 -1
- package/dist/components/legal/organisms/ContactForm.js.map +0 -1
- package/dist/components/legal/organisms/GDPRDataRequest.d.ts.map +0 -1
- package/dist/components/legal/organisms/GDPRDataRequest.js.map +0 -1
- package/dist/components/legal/organisms/GDPRRights.d.ts.map +0 -1
- package/dist/components/legal/organisms/GDPRRights.js.map +0 -1
- package/dist/components/legal/organisms/LegalPageLayout.d.ts.map +0 -1
- package/dist/components/legal/organisms/LegalPageLayout.js.map +0 -1
- package/dist/components/legal/templates/ContactTemplate.d.ts.map +0 -1
- package/dist/components/legal/templates/ContactTemplate.js.map +0 -1
- package/dist/components/legal/templates/CookiesTemplate.d.ts.map +0 -1
- package/dist/components/legal/templates/CookiesTemplate.js.map +0 -1
- package/dist/components/legal/templates/PrivacyTemplate.d.ts.map +0 -1
- package/dist/components/legal/templates/PrivacyTemplate.js.map +0 -1
- package/dist/components/legal/templates/SalesTermsTemplate.d.ts.map +0 -1
- package/dist/components/legal/templates/SalesTermsTemplate.js.map +0 -1
- package/dist/components/legal/templates/TermsTemplate.d.ts.map +0 -1
- package/dist/components/legal/templates/TermsTemplate.js.map +0 -1
- package/dist/components/molecules/AiLinkButton.d.ts.map +0 -1
- package/dist/components/molecules/AiLinkButton.js.map +0 -1
- package/dist/components/molecules/Breadcrumbs.d.ts.map +0 -1
- package/dist/components/molecules/Breadcrumbs.js.map +0 -1
- package/dist/components/molecules/CommandPalette.d.ts.map +0 -1
- package/dist/components/molecules/CommandPalette.js.map +0 -1
- package/dist/components/molecules/CommandSearchTrigger.d.ts.map +0 -1
- package/dist/components/molecules/CommandSearchTrigger.js.map +0 -1
- package/dist/components/molecules/EntityCard.d.ts.map +0 -1
- package/dist/components/molecules/EntityCard.js.map +0 -1
- package/dist/components/molecules/FiltersToolbar.d.ts.map +0 -1
- package/dist/components/molecules/FiltersToolbar.js.map +0 -1
- package/dist/components/molecules/FiltersToolbar.mobile.d.ts.map +0 -1
- package/dist/components/molecules/FiltersToolbar.mobile.js.map +0 -1
- package/dist/components/molecules/HoverPreview.d.ts.map +0 -1
- package/dist/components/molecules/HoverPreview.js.map +0 -1
- package/dist/components/molecules/LangSwitch.d.ts.map +0 -1
- package/dist/components/molecules/LangSwitch.js.map +0 -1
- package/dist/components/molecules/LangSwitchDropdown.d.ts.map +0 -1
- package/dist/components/molecules/LangSwitchDropdown.js.map +0 -1
- package/dist/components/molecules/LoaderBlock.d.ts.map +0 -1
- package/dist/components/molecules/LoaderBlock.js.map +0 -1
- package/dist/components/molecules/LoaderBlock.mobile.d.ts.map +0 -1
- package/dist/components/molecules/LoaderBlock.mobile.js.map +0 -1
- package/dist/components/molecules/MobileNavMenu.d.ts.map +0 -1
- package/dist/components/molecules/MobileNavMenu.js.map +0 -1
- package/dist/components/molecules/NavItemCard.d.ts.map +0 -1
- package/dist/components/molecules/NavItemCard.js.map +0 -1
- package/dist/components/molecules/NavMain.d.ts.map +0 -1
- package/dist/components/molecules/NavMain.js.map +0 -1
- package/dist/components/molecules/NavUser.d.ts.map +0 -1
- package/dist/components/molecules/NavUser.js.map +0 -1
- package/dist/components/molecules/OverviewCard.d.ts.map +0 -1
- package/dist/components/molecules/OverviewCard.js.map +0 -1
- package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts.map +0 -1
- package/dist/components/molecules/SkeletonBlock/index.mobile.js.map +0 -1
- package/dist/components/molecules/SkeletonBlock/index.web.d.ts.map +0 -1
- package/dist/components/molecules/SkeletonBlock/index.web.js.map +0 -1
- package/dist/components/molecules/SkeletonBlock/types.d.ts.map +0 -1
- package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts.map +0 -1
- package/dist/components/molecules/SkeletonCircle/index.mobile.js.map +0 -1
- package/dist/components/molecules/SkeletonCircle/index.web.d.ts.map +0 -1
- package/dist/components/molecules/SkeletonCircle/index.web.js.map +0 -1
- package/dist/components/molecules/SkeletonCircle/types.d.ts.map +0 -1
- package/dist/components/molecules/SkeletonList/index.mobile.d.ts.map +0 -1
- package/dist/components/molecules/SkeletonList/index.mobile.js.map +0 -1
- package/dist/components/molecules/SkeletonList/index.web.d.ts.map +0 -1
- package/dist/components/molecules/SkeletonList/index.web.js.map +0 -1
- package/dist/components/molecules/SkeletonList/types.d.ts.map +0 -1
- package/dist/components/molecules/StatCard.d.ts.map +0 -1
- package/dist/components/molecules/StatCard.js.map +0 -1
- package/dist/components/molecules/StatusChip.d.ts.map +0 -1
- package/dist/components/molecules/StatusChip.js.map +0 -1
- package/dist/components/molecules/hover-previews/Doc.d.ts.map +0 -1
- package/dist/components/molecules/hover-previews/Doc.js.map +0 -1
- package/dist/components/molecules/hover-previews/Media.d.ts.map +0 -1
- package/dist/components/molecules/hover-previews/Media.js.map +0 -1
- package/dist/components/molecules/hover-previews/Simple.d.ts.map +0 -1
- package/dist/components/molecules/hover-previews/Simple.js.map +0 -1
- package/dist/components/molecules/hover-previews/Stats.d.ts.map +0 -1
- package/dist/components/molecules/hover-previews/Stats.js.map +0 -1
- package/dist/components/molecules/hover-previews/User.d.ts.map +0 -1
- package/dist/components/molecules/hover-previews/User.js.map +0 -1
- package/dist/components/native/BottomTabs.mobile.d.ts.map +0 -1
- package/dist/components/native/BottomTabs.mobile.js.map +0 -1
- package/dist/components/native/FlatListScreen.mobile.d.ts.map +0 -1
- package/dist/components/native/FlatListScreen.mobile.js.map +0 -1
- package/dist/components/native/SheetMenu.mobile.d.ts.map +0 -1
- package/dist/components/native/SheetMenu.mobile.js.map +0 -1
- package/dist/components/organisms/AcademyLayout.d.ts.map +0 -1
- package/dist/components/organisms/AcademyLayout.js.map +0 -1
- package/dist/components/organisms/AppHeader.d.ts.map +0 -1
- package/dist/components/organisms/AppHeader.js.map +0 -1
- package/dist/components/organisms/AppHeader.mobile.d.ts.map +0 -1
- package/dist/components/organisms/AppHeader.mobile.js.map +0 -1
- package/dist/components/organisms/AppLayout.d.ts.map +0 -1
- package/dist/components/organisms/AppLayout.js.map +0 -1
- package/dist/components/organisms/AppSidebar.d.ts.map +0 -1
- package/dist/components/organisms/AppSidebar.js.map +0 -1
- package/dist/components/organisms/EmptyDataList.d.ts.map +0 -1
- package/dist/components/organisms/EmptyDataList.js.map +0 -1
- package/dist/components/organisms/EmptyDataList.mobile.d.ts.map +0 -1
- package/dist/components/organisms/EmptyDataList.mobile.js.map +0 -1
- package/dist/components/organisms/EmptyDataList.types.d.ts.map +0 -1
- package/dist/components/organisms/EmptySearchResult.d.ts.map +0 -1
- package/dist/components/organisms/EmptySearchResult.js.map +0 -1
- package/dist/components/organisms/FAQSection.d.ts.map +0 -1
- package/dist/components/organisms/FAQSection.js.map +0 -1
- package/dist/components/organisms/FeatureCarousel.d.ts.map +0 -1
- package/dist/components/organisms/FeatureCarousel.js.map +0 -1
- package/dist/components/organisms/FeaturesSection.d.ts.map +0 -1
- package/dist/components/organisms/FeaturesSection.js.map +0 -1
- package/dist/components/organisms/Footer.d.ts.map +0 -1
- package/dist/components/organisms/Footer.js.map +0 -1
- package/dist/components/organisms/GridLayout.d.ts.map +0 -1
- package/dist/components/organisms/GridLayout.js.map +0 -1
- package/dist/components/organisms/Header.d.ts.map +0 -1
- package/dist/components/organisms/Header.js.map +0 -1
- package/dist/components/organisms/Header.mobile.d.ts.map +0 -1
- package/dist/components/organisms/Header.mobile.js.map +0 -1
- package/dist/components/organisms/HeroResponsive.d.ts.map +0 -1
- package/dist/components/organisms/HeroResponsive.js.map +0 -1
- package/dist/components/organisms/HeroSection.d.ts.map +0 -1
- package/dist/components/organisms/HeroSection.js.map +0 -1
- package/dist/components/organisms/ListCardPage.d.ts.map +0 -1
- package/dist/components/organisms/ListCardPage.js.map +0 -1
- package/dist/components/organisms/ListGridPage.d.ts.map +0 -1
- package/dist/components/organisms/ListGridPage.js.map +0 -1
- package/dist/components/organisms/ListPageResponsive.d.ts.map +0 -1
- package/dist/components/organisms/ListPageResponsive.js.map +0 -1
- package/dist/components/organisms/ListTablePage.d.ts.map +0 -1
- package/dist/components/organisms/ListTablePage.js.map +0 -1
- package/dist/components/organisms/MarketingHeader.d.ts.map +0 -1
- package/dist/components/organisms/MarketingHeader.js.map +0 -1
- package/dist/components/organisms/MarketingHeaderDesktop.d.ts.map +0 -1
- package/dist/components/organisms/MarketingHeaderDesktop.js.map +0 -1
- package/dist/components/organisms/MarketingHeaderMobile.d.ts.map +0 -1
- package/dist/components/organisms/MarketingHeaderMobile.js.map +0 -1
- package/dist/components/organisms/MarketingLayout.d.ts.map +0 -1
- package/dist/components/organisms/MarketingLayout.js.map +0 -1
- package/dist/components/organisms/PageHeaderResponsive.d.ts.map +0 -1
- package/dist/components/organisms/PageHeaderResponsive.js.map +0 -1
- package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts.map +0 -1
- package/dist/components/organisms/PageHeaderResponsive.mobile.js.map +0 -1
- package/dist/components/organisms/PricingCarousel.d.ts.map +0 -1
- package/dist/components/organisms/PricingCarousel.js.map +0 -1
- package/dist/components/organisms/PricingSection.d.ts.map +0 -1
- package/dist/components/organisms/PricingSection.js.map +0 -1
- package/dist/components/organisms/TestimonialCarousel.d.ts.map +0 -1
- package/dist/components/organisms/TestimonialCarousel.js.map +0 -1
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts.map +0 -1
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.js.map +0 -1
- package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts.map +0 -1
- package/dist/components/templates/lists/ListPageTemplate/index.web.js.map +0 -1
- package/dist/components/templates/lists/ListPageTemplate/types.d.ts.map +0 -1
- package/dist/hooks/useListUrlState.d.ts.map +0 -1
- package/dist/hooks/useListUrlState.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/keyboard.d.ts.map +0 -1
- package/dist/lib/keyboard.js.map +0 -1
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js.map +0 -1
- package/dist/platform/useColorScheme.d.ts.map +0 -1
- package/dist/platform/useColorScheme.js.map +0 -1
- package/dist/platform/useColorScheme.mobile.d.ts.map +0 -1
- package/dist/platform/useColorScheme.mobile.js.map +0 -1
- package/dist/platform/useReducedMotion.d.ts.map +0 -1
- package/dist/platform/useReducedMotion.js.map +0 -1
- package/dist/platform/useReducedMotion.mobile.d.ts.map +0 -1
- package/dist/platform/useReducedMotion.mobile.js.map +0 -1
- package/dist/platform/useResponsive.d.ts.map +0 -1
- package/dist/platform/useResponsive.js.map +0 -1
- package/dist/platform/useResponsive.mobile.d.ts.map +0 -1
- package/dist/platform/useResponsive.mobile.js.map +0 -1
- package/dist/platform/withPlatformUI.d.ts.map +0 -1
- package/dist/platform/withPlatformUI.js.map +0 -1
- package/dist/renderers/form-contract.d.ts.map +0 -1
- package/dist/renderers/form-contract.js.map +0 -1
- package/dist/theme/tokenBridge.d.ts.map +0 -1
- package/dist/theme/tokenBridge.js.map +0 -1
- package/dist/theme/tokens.d.ts.map +0 -1
- package/dist/theme/tokens.js.map +0 -1
- package/dist/theme/variants.d.ts.map +0 -1
- package/dist/theme/variants.js.map +0 -1
- package/dist/types/navigation.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListCardPage.js","names":[],"sources":["../../../src/components/organisms/ListCardPage.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\nimport { useResponsive } from '../../platform/useResponsive';\n\nconst containerVariants = cva('', {\n variants: {\n density: {\n compact: 'gap-3',\n comfortable: 'gap-4 md:gap-5',\n },\n },\n defaultVariants: {\n density: 'comfortable',\n },\n});\n\nconst gridVariants = cva('grid', {\n variants: {\n size: {\n sm: 'gap-3',\n md: 'gap-4',\n lg: 'gap-6',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport interface ListCardPageProps<T>\n extends VariantProps<typeof containerVariants>,\n VariantProps<typeof gridVariants> {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n items: T[];\n renderCard: (item: T, index: number) => React.ReactNode;\n className?: string;\n columns?: { mobile?: number; tablet?: number; desktop?: number };\n}\n\nexport function ListCardPage<T>({\n title,\n subtitle,\n items,\n renderCard,\n className,\n columns,\n density,\n size,\n}: ListCardPageProps<T>) {\n const { screen } = useResponsive();\n const cols =\n screen === 'desktop'\n ? (columns?.desktop ?? 3)\n : screen === 'tablet'\n ? (columns?.tablet ?? 2)\n : (columns?.mobile ?? 1);\n const presetColsClass =\n cols === 1\n ? 'grid-cols-1'\n : cols === 2\n ? 'grid-cols-2'\n : cols === 3\n ? 'grid-cols-3'\n : cols === 4\n ? 'grid-cols-4'\n : 'grid-cols-3';\n return (\n <VStack\n className={[containerVariants({ density }), className]\n .filter(Boolean)\n .join(' ')}\n >\n <VStack className=\"gap-1\">\n <h1 className=\"text-2xl font-bold md:text-3xl\">{title}</h1>\n {subtitle ? (\n <p className=\"text-muted-foreground text-base\">{subtitle}</p>\n ) : null}\n </VStack>\n <div className={[gridVariants({ size }), presetColsClass].join(' ')}>\n {items.map((item, index) => (\n <Card key={index} className=\"border-none shadow-2xs\">\n <CardContent className=\"p-4 md:p-5 lg:p-6\">\n {renderCard(item, index)}\n </CardContent>\n </Card>\n ))}\n </div>\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;;;AAQA,MAAM,oBAAoB,IAAI,IAAI;CAChC,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EACf,SAAS,eACV;CACF,CAAC;AAEF,MAAM,eAAe,IAAI,QAAQ;CAC/B,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAaF,SAAgB,aAAgB,EAC9B,OACA,UACA,OACA,YACA,WACA,SACA,SACA,QACuB;CACvB,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,OACJ,WAAW,YACN,SAAS,WAAW,IACrB,WAAW,WACR,SAAS,UAAU,IACnB,SAAS,UAAU;CAC5B,MAAM,kBACJ,SAAS,IACL,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA;AACZ,QACE,qBAAC;EACC,WAAW,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,UAAU,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;aAEZ,qBAAC;GAAO,WAAU;cAChB,oBAAC;IAAG,WAAU;cAAkC;KAAW,EAC1D,WACC,oBAAC;IAAE,WAAU;cAAmC;KAAa,GAC3D;IACG,EACT,oBAAC;GAAI,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,IAAI;aAChE,MAAM,KAAK,MAAM,UAChB,oBAAC;IAAiB,WAAU;cAC1B,oBAAC;KAAY,WAAU;eACpB,WAAW,MAAM,MAAM;MACZ;MAHL,MAIJ,CACP;IACE;GACC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListGridPage.d.ts","names":[],"sources":["../../../src/components/organisms/ListGridPage.tsx"],"sourcesContent":[],"mappings":";;;;;;cAOM;;IAUJ,gCAAA,CAAA;cAEI,uBAWJ;EAvBI,IAAA,CAAA,EAAA,IAAA,GAAA,IAAA,GAUJ,IAAA,GAAA,IAAA,GAAA,SAAA;IAaA,gCAAA,CAAA,SAAA,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;AAEe,UAAA,iBAAiB,CAAA,CAAA,CAAA,SACxB,YADwB,CAAA,OACJ,iBADI,CAAA,EAE9B,YAF8B,CAAA,OAEV,eAFU,CAAA,CAAA;EACJ,KAAA,EAErB,OAAA,CAAM,SAFe;EACN,QAAA,CAAA,EAEX,OAAA,CAAM,SAFK;EACf,KAAM,EAEN,CAFM,EAAA;EACF,UAAM,EAAA,CAAA,IAAA,EAEE,CAFF,EAAA,KAAA,EAAA,MAAA,EAAA,GAEuB,OAAA,CAAM,SAF7B;EACV,SAAA,CAAA,EAAA,MAAA;EACY,OAAA,CAAA,EAAA;IAAqB,MAAM,CAAA,EAAA,MAAA;IALtC,MAAA,CAAA,EAAA,MAAA;IACN,OAAA,CAAA,EAAA,MAAA;EAAY,CAAA;AAShB;AACE,iBADc,YACd,CAAA,CAAA,CAAA,CAAA;EAAA,KAAA;EAAA,QAAA;EAAA,KAAA;EAAA,UAAA;EAAA,SAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAQC,iBARD,CAQmB,CARnB,CAAA,CAAA,EAQqB,mBAAA,CAAA,GAAA,CAAA,OARrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListGridPage.js","names":[],"sources":["../../../src/components/organisms/ListGridPage.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useResponsive } from '../../platform/useResponsive';\n\nconst containerVariants = cva('', {\n variants: {\n density: {\n compact: 'gap-3',\n comfortable: 'gap-4 md:gap-5 lg:gap-6',\n },\n },\n defaultVariants: {\n density: 'comfortable',\n },\n});\n\nconst gridGapVariants = cva('', {\n variants: {\n size: {\n sm: 'gap-3',\n md: 'gap-4',\n lg: 'gap-6',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport interface ListGridPageProps<T>\n extends VariantProps<typeof containerVariants>,\n VariantProps<typeof gridGapVariants> {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n items: T[];\n renderItem: (item: T, index: number) => React.ReactNode;\n className?: string;\n columns?: { mobile?: number; tablet?: number; desktop?: number };\n}\n\nexport function ListGridPage<T>({\n title,\n subtitle,\n items,\n renderItem,\n className,\n columns,\n density,\n size,\n}: ListGridPageProps<T>) {\n const { screen } = useResponsive();\n const cols =\n screen === 'desktop'\n ? (columns?.desktop ?? 3)\n : screen === 'tablet'\n ? (columns?.tablet ?? 2)\n : (columns?.mobile ?? 1);\n const gridClass = `grid ${gridGapVariants({ size })}`;\n const colsClass = `grid-cols-${cols}`;\n // Tailwind can't generate dynamic classes reliably; provide common presets\n const presetColsClass =\n cols === 1\n ? 'grid-cols-1'\n : cols === 2\n ? 'grid-cols-2'\n : cols === 3\n ? 'grid-cols-3'\n : cols === 4\n ? 'grid-cols-4'\n : 'grid-cols-3';\n\n return (\n <VStack\n className={[containerVariants({ density }), className]\n .filter(Boolean)\n .join(' ')}\n >\n <VStack className=\"gap-1\">\n <h1 className=\"text-2xl font-bold md:text-3xl\">{title}</h1>\n {subtitle ? (\n <p className=\"text-muted-foreground text-base\">{subtitle}</p>\n ) : null}\n </VStack>\n <div className={`${gridClass} ${presetColsClass}`}>\n {items.map((item, idx) => (\n <div key={idx}>{renderItem(item, idx)}</div>\n ))}\n </div>\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;;AAOA,MAAM,oBAAoB,IAAI,IAAI;CAChC,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EACf,SAAS,eACV;CACF,CAAC;AAEF,MAAM,kBAAkB,IAAI,IAAI;CAC9B,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAaF,SAAgB,aAAgB,EAC9B,OACA,UACA,OACA,YACA,WACA,SACA,SACA,QACuB;CACvB,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,OACJ,WAAW,YACN,SAAS,WAAW,IACrB,WAAW,WACR,SAAS,UAAU,IACnB,SAAS,UAAU;CAC5B,MAAM,YAAY,QAAQ,gBAAgB,EAAE,MAAM,CAAC;AACjC,IAAa,KAAb;CAElB,MAAM,kBACJ,SAAS,IACL,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA,SAAS,IACP,gBACA;AAEZ,QACE,qBAAC;EACC,WAAW,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,UAAU,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;aAEZ,qBAAC;GAAO,WAAU;cAChB,oBAAC;IAAG,WAAU;cAAkC;KAAW,EAC1D,WACC,oBAAC;IAAE,WAAU;cAAmC;KAAa,GAC3D;IACG,EACT,oBAAC;GAAI,WAAW,GAAG,UAAU,GAAG;aAC7B,MAAM,KAAK,MAAM,QAChB,oBAAC,mBAAe,WAAW,MAAM,IAAI,IAA3B,IAAkC,CAC5C;IACE;GACC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListPageResponsive.d.ts","names":[],"sources":["../../../src/components/organisms/ListPageResponsive.tsx"],"sourcesContent":[],"mappings":";;;;iBAOgB,6BAA6B,cAAc,KAAE,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListPageResponsive.js","names":[],"sources":["../../../src/components/organisms/ListPageResponsive.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useResponsive } from '../../platform/useResponsive';\nimport { ListPage } from '@lssm/lib.ui-kit-web/ui/organisms/ListPage';\nimport type { ListPageProps } from '@lssm/lib.ui-kit-web/ui/organisms/ListPage/types';\n\nexport function ListPageResponsive<T>(props: ListPageProps<T>) {\n const { screen } = useResponsive();\n const className = [\n props.className,\n screen === 'desktop'\n ? 'space-y-6'\n : screen === 'tablet'\n ? 'space-y-5'\n : 'space-y-4',\n ]\n .filter(Boolean)\n .join(' ');\n return <ListPage {...props} className={className} />;\n}\n"],"mappings":";;;;;;;;;AAOA,SAAgB,mBAAsB,OAAyB;CAC7D,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,YAAY,CAChB,MAAM,WACN,WAAW,YACP,cACA,WAAW,WACT,cACA,YACP,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;AACZ,QAAO,oBAAC;EAAS,GAAI;EAAkB;GAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListTablePage.d.ts","names":[],"sources":["../../../src/components/organisms/ListTablePage.tsx"],"sourcesContent":[],"mappings":";;;;;;UAeiB;UACP,OAAA,CAAM;eACD,qBAAqB,OAAA,CAAM;;AAF1C;cAMM,iBALU,EAAA,CAAA,KAC0B,CAD1B,EAAA,CAAA;EACD,OAAA,CAAA,EAAA,SAAA,GAAA,aAAA,GAAA,IAAA,GAAA,SAAA;CAAqB,GAclC,gCAAA,CAAA,SAdwC,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;AAAS,UAgBlC,kBAhBkC,CAAA,CAAA,CAAA,SAiBzC,YAjByC,CAAA,OAiBrB,iBAjBqB,CAAA,CAAA;EAI7C,KAAA,EAcG,OAAA,CAAM,SAJb;EAEe,QAAA,CAAA,EAGJ,OAAA,CAAM,SAHgB;EACL,KAAA,EAGrB,CAHqB,EAAA;EACrB,OAAM,EAGJ,WAHI,CAGQ,CAHR,CAAA,EAAA;EACF,SAAM,CAAA,EAAA,MAAA;EACV,aAAA,CAAA,EAAA,CAAA,IAAA,EAGgB,CAHhB,EAAA,KAAA,EAAA,MAAA,EAAA,GAGqC,OAAA,CAAM,SAH3C;;AACE,iBAKK,aALL,CAAA,CAAA,CAAA,CAAA;EAAA,KAAA;EAAA,QAAA;EAAA,KAAA;EAAA,OAAA;EAAA,SAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAaR,kBAbQ,CAaW,CAbX,CAAA,CAAA,EAaa,mBAAA,CAAA,GAAA,CAAA,OAbb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListTablePage.js","names":[],"sources":["../../../src/components/organisms/ListTablePage.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n} from '@lssm/lib.ui-kit-web/ui/table';\nimport { useResponsive } from '../../platform/useResponsive';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nexport interface TableColumn<T> {\n header: React.ReactNode;\n cell: (item: T, index: number) => React.ReactNode;\n className?: string;\n}\n\nconst containerVariants = cva('', {\n variants: {\n density: {\n compact: 'gap-3',\n comfortable: 'gap-4 md:gap-5',\n },\n },\n defaultVariants: {\n density: 'comfortable',\n },\n});\n\nexport interface ListTablePageProps<T>\n extends VariantProps<typeof containerVariants> {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n items: T[];\n columns: TableColumn<T>[];\n className?: string;\n renderActions?: (item: T, index: number) => React.ReactNode;\n}\n\nexport function ListTablePage<T>({\n title,\n subtitle,\n items,\n columns,\n className,\n density,\n renderActions,\n}: ListTablePageProps<T>) {\n const { screen } = useResponsive();\n const titleSize = screen === 'desktop' ? 'text-3xl' : 'text-2xl';\n\n return (\n <VStack\n className={[containerVariants({ density }), className]\n .filter(Boolean)\n .join(' ')}\n >\n <VStack className=\"gap-1\">\n <h1 className={`${titleSize} font-bold`}>{title}</h1>\n {subtitle ? (\n <p className=\"text-muted-foreground text-base\">{subtitle}</p>\n ) : null}\n </VStack>\n\n <Table>\n <TableHeader>\n <TableRow>\n {columns.map((col, i) => (\n <TableHead key={i} className={col.className}>\n {col.header}\n </TableHead>\n ))}\n {renderActions ? <TableHead /> : null}\n </TableRow>\n </TableHeader>\n <TableBody>\n {items.map((item, rowIdx) => (\n <TableRow key={rowIdx}>\n {columns.map((col, colIdx) => (\n <TableCell key={colIdx} className={col.className}>\n {col.cell(item, rowIdx)}\n </TableCell>\n ))}\n {renderActions ? (\n <TableCell>\n <div className=\"flex items-center justify-end gap-2\">\n {renderActions(item, rowIdx)}\n </div>\n </TableCell>\n ) : null}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;;;AAqBA,MAAM,oBAAoB,IAAI,IAAI;CAChC,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EACf,SAAS,eACV;CACF,CAAC;AAYF,SAAgB,cAAiB,EAC/B,OACA,UACA,OACA,SACA,WACA,SACA,iBACwB;CACxB,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,YAAY,WAAW,YAAY,aAAa;AAEtD,QACE,qBAAC;EACC,WAAW,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,UAAU,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;aAEZ,qBAAC;GAAO,WAAU;cAChB,oBAAC;IAAG,WAAW,GAAG,UAAU;cAAc;KAAW,EACpD,WACC,oBAAC;IAAE,WAAU;cAAmC;KAAa,GAC3D;IACG,EAET,qBAAC,oBACC,oBAAC,yBACC,qBAAC,uBACE,QAAQ,KAAK,KAAK,MACjB,oBAAC;GAAkB,WAAW,IAAI;aAC/B,IAAI;KADS,EAEJ,CACZ,EACD,gBAAgB,oBAAC,cAAY,GAAG,QACxB,GACC,EACd,oBAAC,uBACE,MAAM,KAAK,MAAM,WAChB,qBAAC,uBACE,QAAQ,KAAK,KAAK,WACjB,oBAAC;GAAuB,WAAW,IAAI;aACpC,IAAI,KAAK,MAAM,OAAO;KADT,OAEJ,CACZ,EACD,gBACC,oBAAC,uBACC,oBAAC;GAAI,WAAU;aACZ,cAAc,MAAM,OAAO;IACxB,GACI,GACV,SAZS,OAaJ,CACX,GACQ,IACN;GACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingHeader.d.ts","names":[],"sources":["../../../src/components/organisms/MarketingHeader.tsx"],"sourcesContent":[],"mappings":";;;;;;;UAsCiB,oBAAA;QACT,OAAA,CAAM;QACN;EAFS,QAAA,CAAA,EAAA;IACT,IAAM,CAAA,EAAA,MAAA;IACN,KAAA,CAAA,EAAA,MAAA;IAKG,QAAA,CAAA,EAAA,MAAA;IAEH,KAAA,EAFG,YAEH,EAAA;EAGE,CAAA;EAC0C,GAAA,CAAA,EAJ5C,SAI4C;EAA5B,SAAM,CAAA,EAAA,MAAA;EACX,OAAA,CAAA,EAAA,SAAA,GAAA,aAAA;EAAe,KAAA,CAAA,EAFxB,OAAA,CAAM,SAEkB;EAalB,oBAAe,EAdP,OAAA,CAAM,cAcC,CAAA,OAdqB,cAcrB,CAAA,CAAA,QAAA,CAAA;EAC7B,eAAA,EAdiB,eAcjB;;AAEA,iBAHc,eAAA,CAGd;EAAA,IAAA;EAAA,GAAA;EAAA,QAAA;EAAA,GAAA;EAAA,SAAA;EAAA,OAAA;EAAA,KAAA;EAAA,oBAAA;EAAA;AAAA,CAAA,EAOC,oBAPD,CAAA,EAOqB,mBAAA,CAAA,GAAA,CAAA,OAPrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingHeader.js","names":["React","Nav","NavList","NavItem","NavTrigger","NavContent","NavLink"],"sources":["../../../src/components/organisms/MarketingHeader.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { Button } from '../atoms/Button';\nimport { ButtonLink } from '../atoms/ButtonLink';\nimport {\n NavigationMenu as Nav,\n NavigationMenuContent as NavContent,\n NavigationMenuItem as NavItem,\n NavigationMenuLink as NavLink,\n NavigationMenuList as NavList,\n NavigationMenuTrigger as NavTrigger,\n} from '@lssm/lib.ui-kit-web/ui/navigation-menu';\nimport { Separator } from '@lssm/lib.ui-kit-web/ui/separator';\nimport {\n Sheet,\n SheetContent,\n SheetHeader,\n SheetTrigger,\n} from '@lssm/lib.ui-kit-web/ui/sheet';\nimport { Menu } from 'lucide-react';\nimport { MobileNavMenu } from '../molecules/MobileNavMenu';\nimport { CommandSearchTrigger } from '../molecules/CommandSearchTrigger';\nimport { LangSwitchDropdown } from '../molecules/LangSwitchDropdown';\nimport type {\n CtaAction,\n HeaderNavItem,\n UserMenuItem,\n} from '../../types/navigation';\nimport { NavUser } from '../molecules/NavUser';\nimport { cva } from 'class-variance-authority';\nimport { NavItemCard } from '../molecules/NavItemCard';\nimport { Box, HStack, VStack } from '@lssm/lib.ui-kit-web/ui/stack';\nimport { CommandPalette } from '../molecules/CommandPalette';\nimport type { LangSwitchProps } from '../molecules/LangSwitch';\nimport { Text } from '@lssm/lib.ui-kit-web/ui/text';\n\nexport interface MarketingHeaderProps {\n logo: React.ReactNode;\n nav?: HeaderNavItem[];\n userMenu?: {\n name?: string;\n email?: string;\n imageUrl?: string;\n items: UserMenuItem[];\n };\n cta?: CtaAction;\n className?: string;\n density?: 'compact' | 'comfortable';\n right?: React.ReactNode; // e.g. AI link button, extra actions\n commandPaletteGroups: React.ComponentProps<typeof CommandPalette>['groups'];\n langSwitchProps: LangSwitchProps;\n}\n\nconst headerVariants = cva('flex items-center justify-between gap-4', {\n variants: {\n density: {\n compact: 'px-3 py-2',\n comfortable: 'px-4 py-3',\n },\n },\n defaultVariants: { density: 'comfortable' },\n});\n\nexport function MarketingHeader({\n logo,\n nav = [],\n userMenu,\n cta,\n className,\n density,\n right,\n commandPaletteGroups,\n langSwitchProps,\n}: MarketingHeaderProps) {\n const [open, setOpen] = React.useState(false);\n return (\n <HStack\n as=\"header\"\n className={cn(\n 'bg-background/95 supports-backdrop-filter:bg-background/60 sticky top-0 z-50 w-full border-b backdrop-blur-xs',\n className\n )}\n >\n <HStack\n className={cn(\n 'mx-auto w-full max-w-7xl items-center justify-center',\n headerVariants({ density })\n )}\n >\n {/* Mobile: compact left cluster */}\n <VStack className=\"flex items-center gap-2 md:hidden\">\n {/* Menu trigger (sheet) */}\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" aria-label=\"Open menu\">\n <Menu className=\"h-5 w-5\" />\n </Button>\n </SheetTrigger>\n\n <SheetContent side=\"left\" className=\"w-[320px] p-4\">\n <SheetHeader>\n <CommandSearchTrigger groups={commandPaletteGroups} />\n {/*<SheetTitle>Menu</SheetTitle>*/}\n </SheetHeader>\n\n {cta && (\n <VStack className=\"mb-3\">\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n <Text>{cta.label}</Text>\n </ButtonLink>\n </VStack>\n )}\n\n <MobileNavMenu items={nav} />\n </SheetContent>\n </Sheet>\n </VStack>\n\n {logo}\n\n {/* Desktop navigation */}\n <HStack className=\"hidden items-center gap-4 md:flex\">\n {nav.length > 0 && (\n <>\n <Separator orientation=\"vertical\" className=\"h-6\" />\n <Nav className=\"hidden md:flex\">\n <NavList>\n {nav.map((item) => (\n <NavItem key={String(item.key ?? item.href ?? item.label)}>\n {item.items && item.items.length > 0 ? (\n <>\n <NavTrigger>{item.label}</NavTrigger>\n <NavContent>\n <div className=\"grid w-[760px] grid-cols-3 gap-3 p-3\">\n {item.items.map((link) => (\n <NavItemCard key={link.href} item={link} />\n ))}\n </div>\n </NavContent>\n </>\n ) : (\n <NavLink href={item.href || '#'}>{item.label}</NavLink>\n )}\n </NavItem>\n ))}\n </NavList>\n </Nav>\n </>\n )}\n </HStack>\n\n <HStack className=\"flex items-center gap-2\">\n {/* Desktop: show search trigger and custom right slot */}\n <Box className=\"hidden items-center gap-2 md:flex\">\n <CommandSearchTrigger groups={commandPaletteGroups} />\n </Box>\n\n <LangSwitchDropdown\n value={langSwitchProps.value}\n onChange={langSwitchProps.onChange}\n options={langSwitchProps.options}\n />\n\n {right && <Box className=\"hidden md:flex\">{right}</Box>}\n\n {cta && (\n <Box className=\"hidden md:flex\">\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n <Text>{cta.label}</Text>\n </ButtonLink>\n </Box>\n )}\n\n {userMenu && <NavUser {...userMenu} />}\n </HStack>\n </HStack>\n </HStack>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuDA,MAAM,iBAAiB,IAAI,2CAA2C;CACpE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CAAC;AAEF,SAAgB,gBAAgB,EAC9B,MACA,MAAM,EAAE,EACR,UACA,KACA,WACA,SACA,OACA,sBACA,mBACuB;CACvB,MAAM,CAAC,MAAM,WAAWA,QAAM,SAAS,MAAM;AAC7C,QACE,oBAAC;EACC,IAAG;EACH,WAAW,GACT,iHACA,UACD;YAED,qBAAC;GACC,WAAW,GACT,wDACA,eAAe,EAAE,SAAS,CAAC,CAC5B;;IAGD,oBAAC;KAAO,WAAU;eAEhB,qBAAC;MAAY;MAAM,cAAc;iBAC/B,oBAAC;OAAa;iBACZ,oBAAC;QAAO,SAAQ;QAAQ,MAAK;QAAO,cAAW;kBAC7C,oBAAC,QAAK,WAAU,YAAY;SACrB;QACI,EAEf,qBAAC;OAAa,MAAK;OAAO,WAAU;;QAClC,oBAAC,yBACC,oBAAC,wBAAqB,QAAQ,uBAAwB,GAE1C;QAEb,OACC,oBAAC;SAAO,WAAU;mBAChB,oBAAC;UACC,SAAS,IAAI;UACb,MAAM,IAAI;UACV,MAAM,IAAI;UACV,SAAS,IAAI;oBAEb,oBAAC,kBAAM,IAAI,QAAa;WACb;UACN;QAGX,oBAAC,iBAAc,OAAO,MAAO;;QAChB;OACT;MACD;IAER;IAGD,oBAAC;KAAO,WAAU;eACf,IAAI,SAAS,KACZ,4CACE,oBAAC;MAAU,aAAY;MAAW,WAAU;OAAQ,EACpD,oBAACC;MAAI,WAAU;gBACb,oBAACC,gCACE,IAAI,KAAK,SACR,oBAACC,gCACE,KAAK,SAAS,KAAK,MAAM,SAAS,IACjC,4CACE,oBAACC,mCAAY,KAAK,QAAmB,EACrC,oBAACC,mCACC,oBAAC;OAAI,WAAU;iBACZ,KAAK,MAAM,KAAK,SACf,oBAAC,eAA4B,MAAM,QAAjB,KAAK,KAAoB,CAC3C;QACE,GACK,IACZ,GAEH,oBAACC;OAAQ,MAAM,KAAK,QAAQ;iBAAM,KAAK;QAAgB,IAb7C,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,MAAM,CAe/C,CACV,GACM;OACN,IACL;MAEE;IAET,qBAAC;KAAO,WAAU;;MAEhB,oBAAC;OAAI,WAAU;iBACb,oBAAC,wBAAqB,QAAQ,uBAAwB;QAClD;MAEN,oBAAC;OACC,OAAO,gBAAgB;OACvB,UAAU,gBAAgB;OAC1B,SAAS,gBAAgB;QACzB;MAED,SAAS,oBAAC;OAAI,WAAU;iBAAkB;QAAY;MAEtD,OACC,oBAAC;OAAI,WAAU;iBACb,oBAAC;QACC,SAAS,IAAI;QACb,MAAM,IAAI;QACV,MAAM,IAAI;QACV,SAAS,IAAI;kBAEb,oBAAC,kBAAM,IAAI,QAAa;SACb;QACT;MAGP,YAAY,oBAAC,WAAQ,GAAI,WAAY;;MAC/B;;IACF;GACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingHeaderDesktop.d.ts","names":[],"sources":["../../../src/components/organisms/MarketingHeaderDesktop.tsx"],"sourcesContent":[],"mappings":";;;;iBAgCgB,sBAAA;;;;;;;;GAQb,uBAAoB,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingHeaderDesktop.js","names":["Nav","NavList","NavItem","NavTrigger","NavContent","NavLink"],"sources":["../../../src/components/organisms/MarketingHeaderDesktop.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport {\n NavigationMenu as Nav,\n NavigationMenuContent as NavContent,\n NavigationMenuItem as NavItem,\n NavigationMenuLink as NavLink,\n NavigationMenuList as NavList,\n NavigationMenuTrigger as NavTrigger,\n} from '@lssm/lib.ui-kit-web/ui/navigation-menu';\nimport { Separator } from '@lssm/lib.ui-kit-web/ui/separator';\nimport type { MarketingHeaderProps } from './MarketingHeader';\nimport { cva } from 'class-variance-authority';\nimport { NavUser } from '../molecules/NavUser';\nimport { NavItemCard } from '../molecules/NavItemCard';\nimport { ButtonLink } from '../atoms/ButtonLink';\n\nconst headerVariants = cva(\n 'hidden items-center justify-between gap-4 md:flex',\n {\n variants: {\n density: {\n compact: 'px-3 py-2',\n comfortable: 'px-4 py-3',\n },\n },\n defaultVariants: { density: 'comfortable' },\n }\n);\n\nexport function MarketingHeaderDesktop({\n logo,\n nav = [],\n userMenu,\n cta,\n className,\n density,\n right,\n}: MarketingHeaderProps) {\n return (\n <div\n className={cn(\n 'bg-background/95 supports-backdrop-filter:bg-background/60 w-full border-b backdrop-blur-xs',\n className\n )}\n >\n <div\n className={cn('mx-auto w-full max-w-7xl', headerVariants({ density }))}\n >\n <div className=\"flex items-center gap-4\">\n {logo}\n {nav.length > 0 && (\n <>\n <Separator orientation=\"vertical\" className=\"h-6\" />\n <Nav>\n <NavList>\n {nav.map((item) => (\n <NavItem key={String(item.key ?? item.href ?? item.label)}>\n {item.items && item.items.length > 0 ? (\n <>\n <NavTrigger>{item.label}</NavTrigger>\n <NavContent>\n <div className=\"grid w-[760px] grid-cols-3 gap-3 p-3\">\n {item.items.map((link) => (\n <NavItemCard key={link.href} item={link} />\n ))}\n </div>\n </NavContent>\n </>\n ) : (\n <NavLink href={item.href || '#'}>{item.label}</NavLink>\n )}\n </NavItem>\n ))}\n </NavList>\n </Nav>\n </>\n )}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {right}\n {cta && (\n <ButtonLink\n variant={cta.variant}\n size={cta.size}\n href={cta.href}\n onClick={cta.onClick}\n >\n {cta.label}\n </ButtonLink>\n )}\n {userMenu && <NavUser {...userMenu} />}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAmBA,MAAM,iBAAiB,IACrB,qDACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EAAE,SAAS,eAAe;CAC5C,CACF;AAED,SAAgB,uBAAuB,EACrC,MACA,MAAM,EAAE,EACR,UACA,KACA,WACA,SACA,SACuB;AACvB,QACE,oBAAC;EACC,WAAW,GACT,+FACA,UACD;YAED,qBAAC;GACC,WAAW,GAAG,4BAA4B,eAAe,EAAE,SAAS,CAAC,CAAC;cAEtE,qBAAC;IAAI,WAAU;eACZ,MACA,IAAI,SAAS,KACZ,4CACE,oBAAC;KAAU,aAAY;KAAW,WAAU;MAAQ,EACpD,oBAACA,4BACC,oBAACC,gCACE,IAAI,KAAK,SACR,oBAACC,gCACE,KAAK,SAAS,KAAK,MAAM,SAAS,IACjC,4CACE,oBAACC,mCAAY,KAAK,QAAmB,EACrC,oBAACC,mCACC,oBAAC;KAAI,WAAU;eACZ,KAAK,MAAM,KAAK,SACf,oBAAC,eAA4B,MAAM,QAAjB,KAAK,KAAoB,CAC3C;MACE,GACK,IACZ,GAEH,oBAACC;KAAQ,MAAM,KAAK,QAAQ;eAAM,KAAK;MAAgB,IAb7C,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,MAAM,CAe/C,CACV,GACM,GACN,IACL;KAED,EAEN,qBAAC;IAAI,WAAU;;KACZ;KACA,OACC,oBAAC;MACC,SAAS,IAAI;MACb,MAAM,IAAI;MACV,MAAM,IAAI;MACV,SAAS,IAAI;gBAEZ,IAAI;OACM;KAEd,YAAY,oBAAC,WAAQ,GAAI,WAAY;;KAClC;IACF;GACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingHeaderMobile.d.ts","names":[],"sources":["../../../src/components/organisms/MarketingHeaderMobile.tsx"],"sourcesContent":[],"mappings":";;;;iBAqBgB,qBAAA;;;;;GAKb,uBAAoB,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingHeaderMobile.js","names":["React"],"sources":["../../../src/components/organisms/MarketingHeaderMobile.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { Button } from '../atoms/Button';\nimport {\n Sheet,\n SheetContent,\n SheetTrigger,\n SheetTitle,\n SheetHeader,\n SheetFooter,\n SheetDescription,\n} from '@lssm/lib.ui-kit-web/ui/sheet';\nimport { Menu } from 'lucide-react';\nimport type { MarketingHeaderProps } from './MarketingHeader';\nimport { MobileNavMenu } from '../molecules/MobileNavMenu';\nimport { CommandSearchTrigger } from '../molecules/CommandSearchTrigger';\nimport { LangSwitchDropdown } from '../molecules/LangSwitchDropdown';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\n\nexport function MarketingHeaderMobile({\n logo,\n nav = [],\n className,\n right,\n}: MarketingHeaderProps) {\n const [open, setOpen] = React.useState(false);\n return (\n <div\n className={cn(\n 'bg-background/95 supports-backdrop-filter:bg-background/60 w-full border-b backdrop-blur-xs md:hidden',\n className\n )}\n >\n <div className=\"mx-auto flex w-full max-w-7xl items-center justify-between px-3 py-2\">\n <div className=\"flex items-center gap-2\">\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" aria-label=\"Open menu\">\n <Menu className=\"h-5 w-5\" />\n </Button>\n </SheetTrigger>\n <SheetContent side=\"left\" className=\"w-[320px] p-4\">\n <SheetHeader>\n <SheetTitle>Menu</SheetTitle>\n <SheetDescription>\n <div className=\"mb-3\">\n <CommandSearchTrigger groups={[]} compact />\n </div>\n <MobileNavMenu items={nav} />\n </SheetDescription>\n </SheetHeader>\n <VStack>\n <MobileNavMenu items={nav} />\n </VStack>\n <SheetFooter>\n {right}\n {/* todo */}\n </SheetFooter>\n </SheetContent>\n </Sheet>\n {logo}\n </div>\n <div className=\"flex items-center gap-2\">\n <LangSwitchDropdown\n value={'en'}\n options={[\n { code: 'fr', label: 'FR' },\n { code: 'en', label: 'EN' },\n ]}\n onChange={() => {}}\n />\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAAgB,sBAAsB,EACpC,MACA,MAAM,EAAE,EACR,WACA,SACuB;CACvB,MAAM,CAAC,MAAM,WAAWA,QAAM,SAAS,MAAM;AAC7C,QACE,oBAAC;EACC,WAAW,GACT,yGACA,UACD;YAED,qBAAC;GAAI,WAAU;cACb,qBAAC;IAAI,WAAU;eACb,qBAAC;KAAY;KAAM,cAAc;gBAC/B,oBAAC;MAAa;gBACZ,oBAAC;OAAO,SAAQ;OAAQ,MAAK;OAAO,cAAW;iBAC7C,oBAAC,QAAK,WAAU,YAAY;QACrB;OACI,EACf,qBAAC;MAAa,MAAK;MAAO,WAAU;;OAClC,qBAAC,0BACC,oBAAC,wBAAW,SAAiB,EAC7B,qBAAC,+BACC,oBAAC;QAAI,WAAU;kBACb,oBAAC;SAAqB,QAAQ,EAAE;SAAE;UAAU;SACxC,EACN,oBAAC,iBAAc,OAAO,MAAO,IACZ,IACP;OACd,oBAAC,oBACC,oBAAC,iBAAc,OAAO,MAAO,GACtB;OACT,oBAAC,yBACE,QAEW;;OACD;MACT,EACP;KACG,EACN,oBAAC;IAAI,WAAU;cACb,oBAAC;KACC,OAAO;KACP,SAAS,CACP;MAAE,MAAM;MAAM,OAAO;MAAM,EAC3B;MAAE,MAAM;MAAM,OAAO;MAAM,CAC5B;KACD,gBAAgB;MAChB;KACE;IACF;GACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingLayout.d.ts","names":[],"sources":["../../../src/components/organisms/MarketingLayout.tsx"],"sourcesContent":[],"mappings":";;;;UAMiB,oBAAA;UACP,OAAA,CAAM;YACJ,OAAA,CAAM;EAFD,MAAA,CAAA,EAGN,OAAA,CAAM,SAHoB;EAC3B,SAAM,CAAA,EAAA,MAAA;;AAEL,iBAIK,eAAA,CAJC;EAAA,MAAA;EAAA,QAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EASd,oBATc,CAAA,EASM,mBAAA,CAAA,GAAA,CAAA,OATN"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingLayout.js","names":[],"sources":["../../../src/components/organisms/MarketingLayout.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { VStack } from '@lssm/lib.ui-kit-web/ui/stack';\n\nexport interface MarketingLayoutProps {\n header: React.ReactNode;\n children: React.ReactNode;\n footer?: React.ReactNode;\n className?: string;\n}\n\nexport function MarketingLayout({\n header,\n children,\n footer,\n className,\n}: MarketingLayoutProps) {\n return (\n <VStack className={cn('bg-background min-h-svh', className)}>\n {header}\n {/* <main id=\"main\" className=\"mx-auto w-full max-w-7xl px-4 py-8\"> */}\n <main id=\"main\" className=\"flex-1\">\n {children}\n </main>\n {footer}\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;AAaA,SAAgB,gBAAgB,EAC9B,QACA,UACA,QACA,aACuB;AACvB,QACE,qBAAC;EAAO,WAAW,GAAG,2BAA2B,UAAU;;GACxD;GAED,oBAAC;IAAK,IAAG;IAAO,WAAU;IACvB;KACI;GACN;;GACM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeaderResponsive.d.ts","names":[],"sources":["../../../src/components/organisms/PageHeaderResponsive.tsx"],"sourcesContent":[],"mappings":";;;;UASiB,yBAAA,SAAkC;iBAEnC,oBAAA,QAA4B,4BAAyB,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeaderResponsive.js","names":["WebPageHeader"],"sources":["../../../src/components/organisms/PageHeaderResponsive.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n PageHeader as WebPageHeader,\n type PageHeaderProps,\n} from '@lssm/lib.ui-kit-web/ui/page-header';\nimport { useResponsive } from '../../platform/useResponsive';\n\nexport interface PageHeaderResponsiveProps extends PageHeaderProps {}\n\nexport function PageHeaderResponsive(props: PageHeaderResponsiveProps) {\n const { screen } = useResponsive();\n const spacing =\n screen === 'desktop' ? 'lg' : screen === 'tablet' ? 'md' : 'sm';\n return (\n <WebPageHeader {...props} spacing={props.spacing ?? (spacing as any)} />\n );\n}\n"],"mappings":";;;;;;;;;AAWA,SAAgB,qBAAqB,OAAkC;CACrE,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,UACJ,WAAW,YAAY,OAAO,WAAW,WAAW,OAAO;AAC7D,QACE,oBAACA;EAAc,GAAI;EAAO,SAAS,MAAM,WAAY;GAAmB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeaderResponsive.mobile.d.ts","names":[],"sources":["../../../src/components/organisms/PageHeaderResponsive.mobile.tsx"],"sourcesContent":[],"mappings":";;;;UAOU,KAAA;SACD,OAAA,CAAM;aACF,OAAA,CAAM;EAFT,OAAA,CAAK,EAGH,OAAA,CAAM,SAHH;EACN,UAAM,CAAA,EAGA,OAAA,CAAM,SAHN;EACF,OAAM,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA;EACP,SAAM,CAAA,EAAA,MAAA;;AACY,iBAKd,oBAAA,CALc;EAAA,KAAA;EAAA,QAAA;EAAA,OAAA;EAAA,UAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAY3B,KAZ2B,CAAA,EAYtB,mBAAA,CAAA,GAAA,CAAA,OAZsB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeaderResponsive.mobile.js","names":[],"sources":["../../../src/components/organisms/PageHeaderResponsive.mobile.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { HStack, VStack } from '@lssm/lib.ui-kit/ui/stack';\nimport { Text } from '@lssm/lib.ui-kit/ui/text';\nimport { useResponsive } from '../../platform/useResponsive.mobile';\n\ninterface Props {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n actions?: React.ReactNode;\n breadcrumb?: React.ReactNode;\n spacing?: 'sm' | 'md' | 'lg';\n className?: string;\n}\n\nexport function PageHeaderResponsive({\n title,\n subtitle,\n actions,\n breadcrumb,\n spacing,\n className,\n}: Props) {\n const { screen } = useResponsive();\n const resolvedSpacing =\n spacing ??\n (screen === 'desktop' ? 'lg' : screen === 'tablet' ? 'md' : 'sm');\n const gapClass =\n resolvedSpacing === 'lg'\n ? 'gap-4'\n : resolvedSpacing === 'md'\n ? 'gap-3'\n : 'gap-2';\n\n return (\n <VStack className={[gapClass, className].filter(Boolean).join(' ')}>\n {breadcrumb}\n <HStack className=\"items-start justify-between\">\n <VStack className=\"gap-1\">\n {typeof title === 'string' ? (\n <Text className=\"text-2xl font-bold\">{title}</Text>\n ) : (\n title\n )}\n {subtitle ? (\n typeof subtitle === 'string' ? (\n <Text className=\"text-muted-foreground text-base\">\n {subtitle}\n </Text>\n ) : (\n subtitle\n )\n ) : null}\n </VStack>\n\n {actions}\n </HStack>\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,qBAAqB,EACnC,OACA,UACA,SACA,YACA,SACA,aACQ;CACR,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,kBACJ,YACC,WAAW,YAAY,OAAO,WAAW,WAAW,OAAO;AAQ9D,QACE,qBAAC;EAAO,WAAW,CAPnB,oBAAoB,OAChB,UACA,oBAAoB,OAClB,UACA,SAGwB,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;aAC/D,YACD,qBAAC;GAAO,WAAU;cAChB,qBAAC;IAAO,WAAU;eACf,OAAO,UAAU,WAChB,oBAAC;KAAK,WAAU;eAAsB;MAAa,GAEnD,OAED,WACC,OAAO,aAAa,WAClB,oBAAC;KAAK,WAAU;eACb;MACI,GAEP,WAEA;KACG,EAER;IACM;GACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PricingCarousel.d.ts","names":[],"sources":["../../../src/components/organisms/PricingCarousel.tsx"],"sourcesContent":[],"mappings":";;;UAYiB,YAAA;;;EAAA,OAAA,CAAA,EAAA,MAAY;EASb,QAAA,EAAA,MAAA,EAAe;EAC7B,GAAA,CAAA,EAAA;IACA,KAAA,EAAA,MAAA;IAEO,IAAA,CAAA,EAAA,MAAA;IAER,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,CAAA;;;iBANe,eAAA;;;;SAIP;;IAER,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PricingCarousel.js","names":[],"sources":["../../../src/components/organisms/PricingCarousel.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from '@lssm/lib.ui-kit-web/ui/carousel';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\nimport { Button } from '../atoms/Button';\nimport { ButtonLink } from '../atoms/ButtonLink';\n\nexport interface PricingSlide {\n name: string;\n price: string;\n tagline?: string;\n features: string[];\n cta?: { label: string; href?: string; onPress?: () => void };\n highlighted?: boolean;\n}\n\nexport function PricingCarousel({\n tiers,\n className,\n}: {\n tiers: PricingSlide[];\n className?: string;\n}) {\n return (\n <div className={className}>\n <Carousel>\n <CarouselContent>\n {tiers.map((t, i) => (\n <CarouselItem key={i}>\n <Card\n className={\n t.highlighted ? 'border-primary shadow-lg' : undefined\n }\n >\n <CardContent className=\"p-6\">\n <div className=\"text-muted-foreground mb-2 text-base font-medium\">\n {t.name}\n </div>\n <div className=\"text-3xl font-semibold\">{t.price}</div>\n {t.tagline && (\n <div className=\"text-muted-foreground mt-1 text-base\">\n {t.tagline}\n </div>\n )}\n <ul className=\"mt-4 space-y-2 text-base\">\n {t.features.map((f, j) => (\n <li key={j} className=\"flex items-start gap-2\">\n <span className=\"bg-primary mt-1 h-1.5 w-1.5 rounded-full\" />\n <span>{f}</span>\n </li>\n ))}\n </ul>\n {t.cta && (\n <div className=\"mt-6\">\n {t.cta.href ? (\n <ButtonLink className=\"w-full\" href={t.cta.href}>\n {t.cta.label}\n </ButtonLink>\n ) : (\n <Button className=\"w-full\" onPress={t.cta.onPress}>\n {t.cta.label}\n </Button>\n )}\n </div>\n )}\n </CardContent>\n </Card>\n </CarouselItem>\n ))}\n </CarouselContent>\n <CarouselPrevious />\n <CarouselNext />\n </Carousel>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,gBAAgB,EAC9B,OACA,aAIC;AACD,QACE,oBAAC;EAAe;YACd,qBAAC;GACC,oBAAC,6BACE,MAAM,KAAK,GAAG,MACb,oBAAC,0BACC,oBAAC;IACC,WACE,EAAE,cAAc,6BAA6B;cAG/C,qBAAC;KAAY,WAAU;;MACrB,oBAAC;OAAI,WAAU;iBACZ,EAAE;QACC;MACN,oBAAC;OAAI,WAAU;iBAA0B,EAAE;QAAY;MACtD,EAAE,WACD,oBAAC;OAAI,WAAU;iBACZ,EAAE;QACC;MAER,oBAAC;OAAG,WAAU;iBACX,EAAE,SAAS,KAAK,GAAG,MAClB,qBAAC;QAAW,WAAU;mBACpB,oBAAC,UAAK,WAAU,6CAA6C,EAC7D,oBAAC,oBAAM,IAAS;UAFT,EAGJ,CACL;QACC;MACJ,EAAE,OACD,oBAAC;OAAI,WAAU;iBACZ,EAAE,IAAI,OACL,oBAAC;QAAW,WAAU;QAAS,MAAM,EAAE,IAAI;kBACxC,EAAE,IAAI;SACI,GAEb,oBAAC;QAAO,WAAU;QAAS,SAAS,EAAE,IAAI;kBACvC,EAAE,IAAI;SACA;QAEP;;MAEI;KACT,IAtCU,EAuCJ,CACf,GACc;GAClB,oBAAC,qBAAmB;GACpB,oBAAC,iBAAe;MACP;GACP"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PricingSection.d.ts","names":[],"sources":["../../../src/components/organisms/PricingSection.tsx"],"sourcesContent":[],"mappings":";;;;;iBAMgB,cAAA;;;;;;SAMP;UACC,OAAA,CAAM;EAPA,QAAA,CAAA,EAQH,OAAA,CAAM,SARW;EAC5B,SAAA,CAAA,EAAA,MAAA;CACA,CAAA,EAQD,mBAAA,CAAA,GAAA,CAAA,OARC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PricingSection.js","names":[],"sources":["../../../src/components/organisms/PricingSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n PricingTable,\n type PricingTier,\n} from '@lssm/lib.ui-kit-web/ui/marketing/PricingTable';\n\nexport function PricingSection({\n tiers,\n title,\n subtitle,\n className,\n}: {\n tiers: PricingTier[];\n title?: React.ReactNode;\n subtitle?: React.ReactNode;\n className?: string;\n}) {\n return (\n <section className={`py-12 sm:py-16 lg:py-24 ${className || ''}`}>\n <div className=\"container mx-auto px-4 sm:px-6 lg:px-8\">\n {title ? (\n <div className=\"mb-8 text-center\">\n <h2 className=\"text-3xl font-bold md:text-4xl\">{title}</h2>\n {subtitle ? (\n <p className=\"text-muted-foreground mx-auto mt-2 max-w-2xl text-base\">\n {subtitle}\n </p>\n ) : null}\n </div>\n ) : null}\n <PricingTable tiers={tiers} />\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;AAMA,SAAgB,eAAe,EAC7B,OACA,OACA,UACA,aAMC;AACD,QACE,oBAAC;EAAQ,WAAW,2BAA2B,aAAa;YAC1D,qBAAC;GAAI,WAAU;cACZ,QACC,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAG,WAAU;eAAkC;MAAW,EAC1D,WACC,oBAAC;KAAE,WAAU;eACV;MACC,GACF;KACA,GACJ,MACJ,oBAAC,gBAAoB,QAAS;IAC1B;GACE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TestimonialCarousel.d.ts","names":[],"sources":["../../../src/components/organisms/TestimonialCarousel.tsx"],"sourcesContent":[],"mappings":";;;;UAUiB,WAAA;SACR,OAAA,CAAM;UACL,OAAA,CAAM;EAFC,IAAA,CAAA,EAGR,OAAA,CAAM,SAHa;EACnB,MAAM,CAAA,EAGJ,OAAA,CAAM,SAHF;;AAEN,iBAIO,mBAAA,CAJD;EAAA,YAAA;EAAA;AAIf,CAJe,EAAA;EACJ,YAAM,EAOD,WAPC,EAAA;EAAS,SAAA,CAAA,EAAA,MAAA;AAG1B,CAAA,CAAA,EAMC,mBAAA,CAAA,GAAA,CAAA,OANkC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TestimonialCarousel.js","names":[],"sources":["../../../src/components/organisms/TestimonialCarousel.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n} from '@lssm/lib.ui-kit-web/ui/carousel';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\n\nexport interface Testimonial {\n quote: React.ReactNode;\n author: React.ReactNode;\n role?: React.ReactNode;\n avatar?: React.ReactNode;\n}\n\nexport function TestimonialCarousel({\n testimonials,\n className,\n}: {\n testimonials: Testimonial[];\n className?: string;\n}) {\n return (\n <div className={className}>\n <Carousel>\n <CarouselContent>\n {testimonials.map((t, i) => (\n <CarouselItem key={i}>\n <Card>\n <CardContent className=\"p-6\">\n <div className=\"text-lg\">{t.quote}</div>\n <div className=\"mt-4 flex items-center gap-3\">\n {t.avatar}\n <div className=\"text-base\">\n <div className=\"font-medium\">{t.author}</div>\n {t.role && (\n <div className=\"text-muted-foreground\">{t.role}</div>\n )}\n </div>\n </div>\n </CardContent>\n </Card>\n </CarouselItem>\n ))}\n </CarouselContent>\n <CarouselPrevious />\n <CarouselNext />\n </Carousel>\n </div>\n );\n}\n"],"mappings":";;;;;;AAiBA,SAAgB,oBAAoB,EAClC,cACA,aAIC;AACD,QACE,oBAAC;EAAe;YACd,qBAAC;GACC,oBAAC,6BACE,aAAa,KAAK,GAAG,MACpB,oBAAC,0BACC,oBAAC,kBACC,qBAAC;IAAY,WAAU;eACrB,oBAAC;KAAI,WAAU;eAAW,EAAE;MAAY,EACxC,qBAAC;KAAI,WAAU;gBACZ,EAAE,QACH,qBAAC;MAAI,WAAU;iBACb,oBAAC;OAAI,WAAU;iBAAe,EAAE;QAAa,EAC5C,EAAE,QACD,oBAAC;OAAI,WAAU;iBAAyB,EAAE;QAAW;OAEnD;MACF;KACM,GACT,IAdU,EAeJ,CACf,GACc;GAClB,oBAAC,qBAAmB;GACpB,oBAAC,iBAAe;MACP;GACP"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mobile.d.ts","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.mobile.tsx"],"sourcesContent":[],"mappings":";;;;iBAUgB;;;;;;;;;;;;;;GAcb,sBAAsB,KAAE,oBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mobile.js","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.mobile.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ListRenderItem } from 'react-native';\nimport { FiltersToolbar } from '../../../molecules/FiltersToolbar.mobile';\nimport { PageHeaderResponsive } from '../../../organisms/PageHeaderResponsive.mobile';\nimport { FlatListScreen } from '../../../native/FlatListScreen.mobile';\nimport type { ListPageTemplateProps } from './types';\nimport { EmptyDataList } from '../../../organisms/EmptyDataList.mobile';\n\nexport * from './types';\n\nexport function ListPageTemplate<T = any>({\n children,\n title,\n description,\n breadcrumb,\n actions,\n searchPlaceholder,\n searchValue,\n onSearchChange,\n onSearchSubmit,\n isLoading,\n data,\n renderItem,\n emptyProps,\n}: ListPageTemplateProps<T>) {\n const header = (\n <>\n <PageHeaderResponsive\n title={title}\n subtitle={description}\n breadcrumb={breadcrumb}\n actions={actions}\n />\n <FiltersToolbar\n searchPlaceholder={searchPlaceholder}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchSubmit={onSearchSubmit}\n />\n </>\n );\n\n return (\n <FlatListScreen\n refreshing={isLoading}\n header={header}\n data={data ?? []}\n renderItem={renderItem as unknown as ListRenderItem<T>}\n showsVerticalScrollIndicator={false}\n padding=\"md\"\n emptyComponent={\n emptyProps ? <EmptyDataList {...emptyProps} /> : undefined\n }\n />\n );\n}\n"],"mappings":";;;;;;;;AAUA,SAAgB,iBAA0B,EACxC,UACA,OACA,aACA,YACA,SACA,mBACA,aACA,gBACA,gBACA,WACA,MACA,YACA,cAC2B;AAkB3B,QACE,oBAAC;EACC,YAAY;EACZ,QAnBF,4CACE,oBAAC;GACQ;GACP,UAAU;GACE;GACH;IACT,EACF,oBAAC;GACoB;GACN;GACG;GACA;IAChB,IACD;EAOD,MAAM,QAAQ,EAAE;EACJ;EACZ,8BAA8B;EAC9B,SAAQ;EACR,gBACE,aAAa,oBAAC,iBAAc,GAAI,aAAc,GAAG;GAEnD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.web.tsx"],"sourcesContent":[],"mappings":";;;;iBAegB;;;;;;;;;;;;;;;GAeb,sBAAsB,KAAE,oBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.js","names":["React"],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/index.web.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\nimport { PageHeaderResponsive } from '../../../organisms/PageHeaderResponsive';\nimport { FiltersToolbar } from '../../../molecules/FiltersToolbar';\nimport { AiLinkButton } from '../../../molecules/AiLinkButton';\nimport type { ListPageTemplateProps } from './types';\nimport { Skeleton } from '@lssm/lib.ui-kit-web/ui/skeleton';\nimport { Card, CardContent } from '@lssm/lib.ui-kit-web/ui/card';\nimport { EmptyDataList } from '../../../organisms/EmptyDataList';\n\nconst containerVariants = cva('space-y-4 md:space-y-6');\n\nexport * from './types';\n\nexport function ListPageTemplate<T = any>({\n children,\n title,\n description,\n breadcrumb,\n actions,\n className,\n searchPlaceholder,\n searchValue,\n onSearchChange,\n onSearchSubmit,\n isLoading,\n data,\n renderItem,\n emptyProps,\n}: ListPageTemplateProps<T>) {\n const mdHref = React.useMemo(() => {\n if (typeof window === 'undefined') return undefined;\n const url = new URL(window.location.href);\n url.pathname = url.pathname.replace(/\\/$/, '') + '.md';\n return url.toString();\n }, []);\n\n const renderEmpty = () => {\n return (\n <Card>\n <CardContent>\n <EmptyDataList {...emptyProps} />\n </CardContent>\n </Card>\n );\n };\n\n return (\n <div className={cn(containerVariants(), className)}>\n <PageHeaderResponsive\n title={title}\n subtitle={description}\n breadcrumb={breadcrumb}\n actions={\n <>\n {actions}\n {mdHref && <AiLinkButton href={mdHref} />}\n </>\n }\n />\n <FiltersToolbar\n searchPlaceholder={searchPlaceholder}\n searchValue={searchValue}\n onSearchChange={onSearchChange}\n onSearchSubmit={onSearchSubmit}\n />\n <div className=\"space-y-2\">\n {data?.map((item, index) => (\n <div key={index}>{renderItem({ item, index })}</div>\n ))}\n {!data?.length &&\n (isLoading\n ? Array.from({ length: 10 }).map((_, index) => (\n <Skeleton key={index} className=\"h-20 w-full rounded-md\" />\n ))\n : renderEmpty())}\n </div>\n\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAWA,MAAM,oBAAoB,IAAI,yBAAyB;AAIvD,SAAgB,iBAA0B,EACxC,UACA,OACA,aACA,YACA,SACA,WACA,mBACA,aACA,gBACA,gBACA,WACA,MACA,YACA,cAC2B;CAC3B,MAAM,SAASA,QAAM,cAAc;AACjC,MAAI,OAAO,WAAW,YAAa,QAAO;EAC1C,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,MAAI,WAAW,IAAI,SAAS,QAAQ,OAAO,GAAG,GAAG;AACjD,SAAO,IAAI,UAAU;IACpB,EAAE,CAAC;CAEN,MAAM,oBAAoB;AACxB,SACE,oBAAC,kBACC,oBAAC,yBACC,oBAAC,iBAAc,GAAI,aAAc,GACrB,GACT;;AAIX,QACE,qBAAC;EAAI,WAAW,GAAG,mBAAmB,EAAE,UAAU;;GAChD,oBAAC;IACQ;IACP,UAAU;IACE;IACZ,SACE,4CACG,SACA,UAAU,oBAAC,gBAAa,MAAM,SAAU,IACxC;KAEL;GACF,oBAAC;IACoB;IACN;IACG;IACA;KAChB;GACF,qBAAC;IAAI,WAAU;eACZ,MAAM,KAAK,MAAM,UAChB,oBAAC,mBAAiB,WAAW;KAAE;KAAM;KAAO,CAAC,IAAnC,MAA0C,CACpD,EACD,CAAC,MAAM,WACL,YACG,MAAM,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,UACjC,oBAAC,YAAqB,WAAU,4BAAjB,MAA4C,CAC3D,GACF,aAAa;KACf;GAEL;;GACG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../src/components/templates/lists/ListPageTemplate/types.ts"],"sourcesContent":[],"mappings":";;;;UAGiB;aACJ,OAAA,CAAM;EADF,KAAA,EAER,OAAA,CAAM,SAFE;EACJ,WAAM,CAAA,EAEH,OAAA,CAAM,SAFH;EACV,UAAM,CAAA,EAEA,OAAA,CAAM,SAFN;EACC,OAAM,CAAA,EAEV,OAAA,CAAM,SAFI;EACP,SAAM,CAAA,EAAA,MAAA;EACT,iBAAM,CAAA,EAAA,MAAA;EASV,WAAA,CAAA,EAAA,MAAA;EACqB,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAAuB,cAAM,CAAA,EAAA,GAAA,GAAA,IAAA;EAC5C,SAAA,CAAA,EAAA,OAAA;EAAkB,IAAA,EAFxB,CAEwB,EAAA,GAAA,IAAA;;UADH;;QAAuB,OAAA,CAAM;cAC5C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useListUrlState.d.ts","names":[],"sources":["../../src/hooks/useListUrlState.ts"],"sourcesContent":[],"mappings":";UAEiB,8BACE,0BAA0B;EAD5B,CAAA,EAAA,MAAA;EACE,IAAA,EAAA,MAAA;EAA0B,KAAA,EAAA,MAAA;EAMlC,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAAQ,OAAA,EAAR,QAAQ;AAGnB;AACmB,iBADH,eACG,CAAA,iBAAA,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,GAA0B,MAA1B,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA;EAAA,QAAA;EAAA,SAAA;EAAA;CAAA,EAAA;EAA0B,QAAA,EAYjC,YAZiC,CAYpB,QAZoB,CAAA;EAE3C,SAAA,CAAA,EAAA;IACA,CAAA,EAAA,MAAA;IAOA,IAAA,EAAA,MAAA;IAEuB,KAAA,EAAA,MAAA;IAAb,IAAA,EAAA,MAAA;;;EAuCoB,YAAA,CAAA,EAAA,OAAA;CAAb,CAAA,EAAA;EAAR,SAAA,KAAA,cAAA,SAAA,CAAA;EAgCM,SAAA,QAAA,EAAA,CAAA,IAAA,EAhCN,OAgCM,CAhCE,YAgCF,CAhCe,QAgCf,CAAA,CAAA,EAAA,GAAA,IAAA;EACJ,SAAA,SAAA,EAAA,CAAA,GAAA,EAAA,MADI,QACJ,EAAA,KAAA,EAAA,QAAA,CAAA,MAAe,QAAf,CAAA,GAAA,SAAA,GAAA,IAAA,EAAA,GAAA,IAAA;EAAe,SAAA,YAAA,EAAA,GAAA,GAAA,IAAA;CAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useListUrlState.js","names":["React","filters: TFilters","merged: ListUrlState<TFilters>"],"sources":["../../src/hooks/useListUrlState.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface ListUrlState<\n TFilters extends Record<string, unknown> = Record<string, unknown>,\n> {\n q: string;\n page: number;\n limit: number;\n sort?: string | null;\n filters: TFilters;\n}\n\nexport function useListUrlState<\n TFilters extends Record<string, unknown> = Record<string, unknown>,\n>({\n defaults,\n paramKeys = {\n q: 'q',\n page: 'page',\n limit: 'limit',\n sort: 'sort',\n filters: 'f',\n },\n replaceState = true,\n}: {\n defaults: ListUrlState<TFilters>;\n paramKeys?: {\n q: string;\n page: string;\n limit: string;\n sort: string;\n filters: string;\n };\n replaceState?: boolean;\n}) {\n const read = React.useCallback((): ListUrlState<TFilters> => {\n if (typeof window === 'undefined') return defaults;\n const url = new URL(window.location.href);\n const qs = url.searchParams;\n const parseNum = (v: string | null, d: number) => {\n const n = v ? Number(v) : NaN;\n return Number.isFinite(n) && n > 0 ? n : d;\n };\n const filtersRaw = qs.get(paramKeys.filters);\n let filters: TFilters = defaults.filters;\n if (filtersRaw) {\n try {\n filters = JSON.parse(filtersRaw) as TFilters;\n } catch {\n filters = defaults.filters;\n }\n }\n return {\n q: qs.get(paramKeys.q) ?? defaults.q,\n page: parseNum(qs.get(paramKeys.page), defaults.page),\n limit: parseNum(qs.get(paramKeys.limit), defaults.limit),\n sort: qs.get(paramKeys.sort),\n filters,\n };\n }, [defaults, paramKeys]);\n\n const [state, setState] = React.useState<ListUrlState<TFilters>>(read);\n\n const write = React.useCallback(\n (next: Partial<ListUrlState<TFilters>>) => {\n if (typeof window === 'undefined') return;\n const url = new URL(window.location.href);\n const qs = url.searchParams;\n const merged: ListUrlState<TFilters> = { ...state, ...next } as any;\n\n const setOrDel = (key: string, value: string | null | undefined) => {\n if (value == null || value === '' || value === 'null') qs.delete(key);\n else qs.set(key, value);\n };\n\n setOrDel(paramKeys.q, merged.q || null);\n setOrDel(paramKeys.page, String(merged.page));\n setOrDel(paramKeys.limit, String(merged.limit));\n setOrDel(paramKeys.sort, merged.sort ?? null);\n try {\n const json = JSON.stringify(merged.filters ?? {});\n setOrDel(paramKeys.filters, json === '{}' ? null : json);\n } catch {\n // ignore\n }\n\n const newUrl = `${url.pathname}?${qs.toString()}${url.hash}`;\n if (replaceState) window.history.replaceState({}, '', newUrl);\n else window.history.pushState({}, '', newUrl);\n setState(merged);\n },\n [state, paramKeys, replaceState]\n );\n\n const setFilter = React.useCallback(\n (\n key: keyof TFilters,\n value: TFilters[keyof TFilters] | undefined | null\n ) => {\n write({\n filters: { ...(state.filters as any), [key]: value } as TFilters,\n });\n },\n [state.filters, write]\n );\n\n const clearFilters = React.useCallback(() => {\n write({ filters: {} as TFilters, page: 1 });\n }, [write]);\n\n React.useEffect(() => {\n const onPop = () => setState(read());\n window.addEventListener('popstate', onPop);\n return () => window.removeEventListener('popstate', onPop);\n }, [read]);\n\n return { state, setState: write, setFilter, clearFilters } as const;\n}\n"],"mappings":";;;AAYA,SAAgB,gBAEd,EACA,UACA,YAAY;CACV,GAAG;CACH,MAAM;CACN,OAAO;CACP,MAAM;CACN,SAAS;CACV,EACD,eAAe,QAWd;CACD,MAAM,OAAOA,QAAM,kBAA0C;AAC3D,MAAI,OAAO,WAAW,YAAa,QAAO;EAE1C,MAAM,KADM,IAAI,IAAI,OAAO,SAAS,KAAK,CAC1B;EACf,MAAM,YAAY,GAAkB,MAAc;GAChD,MAAM,IAAI,IAAI,OAAO,EAAE,GAAG;AAC1B,UAAO,OAAO,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI;;EAE3C,MAAM,aAAa,GAAG,IAAI,UAAU,QAAQ;EAC5C,IAAIC,UAAoB,SAAS;AACjC,MAAI,WACF,KAAI;AACF,aAAU,KAAK,MAAM,WAAW;UAC1B;AACN,aAAU,SAAS;;AAGvB,SAAO;GACL,GAAG,GAAG,IAAI,UAAU,EAAE,IAAI,SAAS;GACnC,MAAM,SAAS,GAAG,IAAI,UAAU,KAAK,EAAE,SAAS,KAAK;GACrD,OAAO,SAAS,GAAG,IAAI,UAAU,MAAM,EAAE,SAAS,MAAM;GACxD,MAAM,GAAG,IAAI,UAAU,KAAK;GAC5B;GACD;IACA,CAAC,UAAU,UAAU,CAAC;CAEzB,MAAM,CAAC,OAAO,YAAYD,QAAM,SAAiC,KAAK;CAEtE,MAAM,QAAQA,QAAM,aACjB,SAA0C;AACzC,MAAI,OAAO,WAAW,YAAa;EACnC,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;EACzC,MAAM,KAAK,IAAI;EACf,MAAME,SAAiC;GAAE,GAAG;GAAO,GAAG;GAAM;EAE5D,MAAM,YAAY,KAAa,UAAqC;AAClE,OAAI,SAAS,QAAQ,UAAU,MAAM,UAAU,OAAQ,IAAG,OAAO,IAAI;OAChE,IAAG,IAAI,KAAK,MAAM;;AAGzB,WAAS,UAAU,GAAG,OAAO,KAAK,KAAK;AACvC,WAAS,UAAU,MAAM,OAAO,OAAO,KAAK,CAAC;AAC7C,WAAS,UAAU,OAAO,OAAO,OAAO,MAAM,CAAC;AAC/C,WAAS,UAAU,MAAM,OAAO,QAAQ,KAAK;AAC7C,MAAI;GACF,MAAM,OAAO,KAAK,UAAU,OAAO,WAAW,EAAE,CAAC;AACjD,YAAS,UAAU,SAAS,SAAS,OAAO,OAAO,KAAK;UAClD;EAIR,MAAM,SAAS,GAAG,IAAI,SAAS,GAAG,GAAG,UAAU,GAAG,IAAI;AACtD,MAAI,aAAc,QAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,OAAO;MACxD,QAAO,QAAQ,UAAU,EAAE,EAAE,IAAI,OAAO;AAC7C,WAAS,OAAO;IAElB;EAAC;EAAO;EAAW;EAAa,CACjC;CAED,MAAM,YAAYF,QAAM,aAEpB,KACA,UACG;AACH,QAAM,EACJ,SAAS;GAAE,GAAI,MAAM;IAAkB,MAAM;GAAO,EACrD,CAAC;IAEJ,CAAC,MAAM,SAAS,MAAM,CACvB;CAED,MAAM,eAAeA,QAAM,kBAAkB;AAC3C,QAAM;GAAE,SAAS,EAAE;GAAc,MAAM;GAAG,CAAC;IAC1C,CAAC,MAAM,CAAC;AAEX,SAAM,gBAAgB;EACpB,MAAM,cAAc,SAAS,MAAM,CAAC;AACpC,SAAO,iBAAiB,YAAY,MAAM;AAC1C,eAAa,OAAO,oBAAoB,YAAY,MAAM;IACzD,CAAC,KAAK,CAAC;AAEV,QAAO;EAAE;EAAO,UAAU;EAAO;EAAW;EAAc"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["export * from './types/navigation';\n\n// Atoms\nexport * from './renderers';\nexport { Cta } from './components/atoms/Cta';\nexport { Button } from './components/atoms/Button';\nexport { default as ButtonLink } from './components/atoms/ButtonLink';\nexport { Link } from './components/atoms/Link';\nexport { Input } from './components/atoms/Input';\nexport { Textarea } from './components/atoms/Textarea';\nexport { EmptyState } from './components/atoms/EmptyState';\n// export { ErrorState } from './components/atoms/ErrorState';\nexport { Stepper } from './components/atoms/Stepper';\nexport {\n EditButton,\n DeleteButton,\n ViewButton,\n ToggleButton,\n ToggleLeftButton,\n ToggleRightButton,\n} from './components/atoms/ActionButtons';\nexport {\n DateChip,\n TimeChip,\n PlaceChip,\n DurationChip,\n} from './components/atoms/DataChips';\n\n// Molecules\nexport { NavMain } from './components/molecules/NavMain';\nexport { NavUser } from './components/molecules/NavUser';\n\n// Organisms\nexport { AppSidebar } from './components/organisms/AppSidebar';\nexport {\n Header,\n DesktopHeader,\n MobileHeader,\n} from './components/organisms/Header';\nexport { Footer } from './components/organisms/Footer';\nexport { FeatureCarousel } from './components/organisms/FeatureCarousel';\nexport { MarketingHeader } from './components/organisms/MarketingHeader';\nexport { MarketingHeaderDesktop } from './components/organisms/MarketingHeaderDesktop';\nexport { MarketingHeaderMobile } from './components/organisms/MarketingHeaderMobile';\nexport { MarketingLayout } from './components/organisms/MarketingLayout';\nexport { AppLayout } from './components/organisms/AppLayout';\nexport { AcademyLayout } from './components/organisms/AcademyLayout';\nexport { AppHeader } from './components/organisms/AppHeader';\n// export { AppHeader as AppHeaderMobile } from './components/organisms/AppHeader.mobile';\n// export { BottomTabs } from './components/native/BottomTabs.mobile';\n// export { SheetMenu } from './components/native/SheetMenu.mobile';\nexport { CommandPalette } from './components/molecules/CommandPalette';\nexport { LangSwitch } from './components/molecules/LangSwitch';\nexport { NavBrand } from './components/atoms/NavBrand';\nexport { Breadcrumbs } from './components/molecules/Breadcrumbs';\nexport { CommandSearchTrigger } from './components/molecules/CommandSearchTrigger';\nexport { StatusChip } from './components/molecules/StatusChip';\nexport { EntityCard } from './components/molecules/EntityCard';\nexport { StatCard, StatCardGroup } from './components/molecules/StatCard';\nexport { HoverPreview } from './components/molecules/HoverPreview';\nexport { HoverPreviewSimple } from './components/molecules/hover-previews/Simple';\nexport { HoverPreviewMedia } from './components/molecules/hover-previews/Media';\nexport { HoverPreviewDoc } from './components/molecules/hover-previews/Doc';\nexport { HoverPreviewUser } from './components/molecules/hover-previews/User';\nexport { HoverPreviewStats } from './components/molecules/hover-previews/Stats';\nexport { PricingCarousel } from './components/organisms/PricingCarousel';\nexport { TestimonialCarousel } from './components/organisms/TestimonialCarousel';\nexport { HeroSection } from './components/organisms/HeroSection';\nexport { HeroResponsive } from './components/organisms/HeroResponsive';\nexport { FeaturesSection } from './components/organisms/FeaturesSection';\nexport { PageHeaderResponsive } from './components/organisms/PageHeaderResponsive';\nexport { PricingSection } from './components/organisms/PricingSection';\nexport { FAQSection } from './components/organisms/FAQSection';\nexport { ListPageResponsive } from './components/organisms/ListPageResponsive';\nexport { ListGridPage } from './components/organisms/ListGridPage';\nexport { ListCardPage } from './components/organisms/ListCardPage';\nexport { ListTablePage } from './components/organisms/ListTablePage';\nexport { FiltersToolbar } from './components/molecules/FiltersToolbar';\nexport { ListPageTemplate } from './components/templates/lists/ListPageTemplate';\nexport { AiLinkButton } from './components/molecules/AiLinkButton';\nexport { EmptyDataList } from './components/organisms/EmptyDataList';\nexport { EmptySearchResult } from './components/organisms/EmptySearchResult';\n// Loaders & Skeletons\nexport { LoaderCircular } from './components/atoms/LoaderCircular';\nexport { LoaderBlock } from './components/molecules/LoaderBlock';\nexport { SkeletonBlock } from './components/molecules/SkeletonBlock';\nexport { SkeletonCircle } from './components/molecules/SkeletonCircle';\nexport { SkeletonList } from './components/molecules/SkeletonList';\nexport { ErrorState } from './components/atoms/ErrorState';\n// export {\n// DropdownMenu,\n// DropdownMenuPortal,\n// DropdownMenuTrigger,\n// DropdownMenuContent,\n// DropdownMenuGroup,\n// DropdownMenuLabel,\n// DropdownMenuItem,\n// DropdownMenuCheckboxItem,\n// DropdownMenuRadioGroup,\n// DropdownMenuRadioItem,\n// DropdownMenuSeparator,\n// DropdownMenuShortcut,\n// DropdownMenuSub,\n// DropdownMenuSubTrigger,\n// DropdownMenuSubContent,\n// } from './components/molecules/DropdownMenu';\nexport { useListUrlState } from './hooks/useListUrlState';\n\n// Legal components\nexport { LegalHeading } from './components/legal/atoms/LegalHeading';\nexport { LegalText } from './components/legal/atoms/LegalText';\nexport { LegalSection } from './components/legal/atoms/LegalSection';\nexport { DefinitionList } from './components/legal/atoms/DefinitionList';\nexport { KeyValueList } from './components/legal/atoms/KeyValueList';\nexport { LegalList } from './components/legal/atoms/LegalList';\nexport { LegalCallout } from './components/legal/atoms/LegalCallout';\nexport { LegalTOC } from './components/legal/molecules/LegalTOC';\nexport { LegalMeta } from './components/legal/molecules/LegalMeta';\nexport { ConsentItem, ConsentList } from './components/legal/molecules/Consent';\nexport { ContactFields } from './components/legal/molecules/ContactFields';\nexport * from './components/legal/organisms/LegalPageLayout';\nexport * from './components/legal/organisms/GDPRRights';\nexport * from './components/legal/organisms/ContactForm';\nexport * from './components/legal/organisms/GDPRDataRequest';\nexport { TermsTemplate } from './components/legal/templates/TermsTemplate';\nexport { SalesTermsTemplate } from './components/legal/templates/SalesTermsTemplate';\nexport { PrivacyTemplate } from './components/legal/templates/PrivacyTemplate';\nexport { CookiesTemplate } from './components/legal/templates/CookiesTemplate';\nexport { ContactTemplate } from './components/legal/templates/ContactTemplate';\n// Platform adapter\nexport * from './platform/withPlatformUI';\nexport { useResponsive } from './platform/useResponsive';\nexport { useReducedMotion } from './platform/useReducedMotion';\nexport { useColorScheme } from './platform/useColorScheme';\nexport * from './theme/variants';\nexport * from './theme/tokens';\nexport { mapTokensForPlatform } from './theme/tokenBridge';\n\n// Forms\nexport { FormDialog } from './components/forms/FormDialog';\nexport { ZodForm } from './components/forms/ZodForm';\nexport { FormSection, FormRow, FormGrid } from './components/forms/FormLayout';\nexport { FormCardLayout } from './components/forms/FormCardLayout';\nexport { FormStepsLayout } from './components/forms/FormStepsLayout';\nexport { FormOneByOneLayout } from './components/forms/FormOneByOneLayout';\n\n// Data views\nexport { DataViewList } from './components/data-view/DataViewList';\nexport { DataViewTable } from './components/data-view/DataViewTable';\nexport { DataViewDetail } from './components/data-view/DataViewDetail';\nexport { DataViewRenderer } from './components/data-view/DataViewRenderer';\n\n// Overlays re-exports (web default; native via Metro alias)\n// Overlays are used directly from ui-kit(s) in apps for now to avoid DTS bundling issues\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA2DmE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard.d.ts","names":[],"sources":["../../src/lib/keyboard.ts"],"sourcesContent":[],"mappings":";KAAY,YAAA;AAAA,KA6BA,iBAAA,GA7BY,IAAA,GAAA,KAAA,GAAA,MAAA,GAAA,kBAAA,GAAA,YAAA,GAAA,iBAAA,GAAA,aAAA,GAAA,kBAAA,GAAA,UAAA,GAAA,UAAA,GAAA,cAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,oBAAA,GAAA,cAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,eAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,SAAA,GAAA,cAAA,GAAA,aAAA,GAAA,SAAA,GAAA,eAAA,GAAA,oBAAA,GAAA,gBAAA,GAAA,WAAA,GAAA,QAAA,GAAA,cAAA,GAAA,aAAA,GAAA,QAAA,GAAA,SAAA,GAAA,oBAAA,GAAA,UAAA,GAAA,MAAA,GAAA,UAAA,GAAA,YAAA,GAAA,WAAA,GAAA,KAAA,GAAA,OAAA,GAAA,OAAA,GAAA,MAAA,GAAA,KAAA,GAAA,kBAAA,GAAA,cAAA,GAAA,eAAA,GAAA,WAAA,GAAA,kBAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,KAAA,GAAA,UAAA,GAAA,WAAA,MAAA,EAAA,GAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AA6BZ,UAoEK,eAAA,CApEY;EAoEZ,IAAA,CAAA,EACR,YADuB;EAwJhB,cAAA,CAAA,EAAA,MAAgB,GAAA,WAAQ,GAAA,OAAe,GAAA,YAAA;EA0IvC,YAAA,CAAA,EA/RC,iBA+RkB;;;;iBA1InB,gBAAA,QAAwB,kBAAe;iBA0IvC,mBAAA,QAA2B,kBAAe"}
|
package/dist/lib/keyboard.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard.js","names":["res: Record<string, unknown>","native: Record<string, unknown>"],"sources":["../../src/lib/keyboard.ts"],"sourcesContent":["export type KeyboardKind =\n | 'text'\n | 'email'\n | 'password'\n | 'new-password'\n | 'username'\n | 'url'\n | 'search'\n | 'phone'\n | 'tel' // alias of phone\n | 'number'\n | 'int' // alias of number\n | 'decimal'\n | 'numbers-and-punctuation'\n | 'otp'\n | 'name'\n | 'given-name'\n | 'family-name'\n | 'address-line1'\n | 'address-line2'\n | 'postal-code'\n | 'cc-number'\n | 'cc-exp'\n | 'cc-csc'\n | 'off'\n | 'date';\n\n// WHATWG HTML autofill tokens (subset + extensible). See:\n// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill\nexport type AutoCompleteToken =\n | 'on'\n | 'off'\n // identity\n | 'name'\n | 'honorific-prefix'\n | 'given-name'\n | 'additional-name'\n | 'family-name'\n | 'honorific-suffix'\n | 'nickname'\n | 'username'\n | 'new-password'\n | 'current-password'\n | 'one-time-code'\n // organization\n | 'organization-title'\n | 'organization'\n // address\n | 'street-address'\n | 'address-line1'\n | 'address-line2'\n | 'address-line3'\n | 'address-level4'\n | 'address-level3'\n | 'address-level2'\n | 'address-level1'\n | 'country'\n | 'country-name'\n | 'postal-code'\n // credit card / payment\n | 'cc-name'\n | 'cc-given-name'\n | 'cc-additional-name'\n | 'cc-family-name'\n | 'cc-number'\n | 'cc-exp'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-csc'\n | 'cc-type'\n | 'transaction-amount'\n // personal\n | 'language'\n | 'bday'\n | 'bday-day'\n | 'bday-month'\n | 'bday-year'\n | 'sex'\n | 'photo'\n // contact\n | 'email'\n | 'impp'\n | 'tel'\n | 'tel-country-code'\n | 'tel-national'\n | 'tel-area-code'\n | 'tel-local'\n | 'tel-local-prefix'\n | 'tel-local-suffix'\n | 'tel-extension'\n | 'url'\n // webauthn and sections (allow prefix)\n | 'webauthn'\n | `section-${string}`\n // allow future spec additions while keeping strong hints\n | (string & {});\n\nexport interface KeyboardOptions {\n kind?: KeyboardKind;\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n autoComplete?: AutoCompleteToken;\n autoCorrect?: boolean;\n enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'search' | 'send';\n}\n\nfunction deriveKindFromAutoComplete(\n ac?: AutoCompleteToken\n): KeyboardKind | undefined {\n if (!ac) return undefined;\n switch (ac) {\n // Direct mappings\n case 'email':\n return 'email';\n case 'url':\n return 'url';\n case 'username':\n return 'username';\n case 'new-password':\n return 'new-password';\n case 'current-password':\n return 'password';\n case 'one-time-code':\n return 'otp';\n case 'tel':\n case 'tel-country-code':\n case 'tel-national':\n case 'tel-area-code':\n case 'tel-local':\n case 'tel-local-prefix':\n case 'tel-local-suffix':\n case 'tel-extension':\n return 'tel';\n // Numeric leaning\n case 'postal-code':\n case 'cc-number':\n case 'cc-csc':\n case 'bday-day':\n case 'bday-month':\n case 'bday-year':\n return 'int';\n case 'cc-exp':\n case 'cc-exp-month':\n case 'cc-exp-year':\n return 'numbers-and-punctuation';\n // Date-like\n case 'bday':\n return 'date';\n // Everything else is plain text (names, organization, street-address, etc.)\n default:\n return 'text';\n }\n}\n\nfunction applyAutoCompleteDefaultsWeb(\n res: Record<string, unknown>,\n ac?: AutoCompleteToken\n) {\n if (!ac) return;\n // Capitalization defaults for human names/org titles\n const wordsCaps: AutoCompleteToken[] = [\n 'name',\n 'given-name',\n 'additional-name',\n 'family-name',\n 'honorific-prefix',\n 'honorific-suffix',\n 'nickname',\n 'organization',\n 'organization-title',\n 'cc-name',\n 'cc-given-name',\n 'cc-additional-name',\n 'cc-family-name',\n ];\n if (wordsCaps.includes(ac)) {\n (res as Record<string, string>).autoCapitalize = 'words';\n }\n // Lowercase identifiers\n const noneCaps: AutoCompleteToken[] = [\n 'username',\n 'new-password',\n 'current-password',\n 'one-time-code',\n 'email',\n 'url',\n ];\n if (noneCaps.includes(ac)) {\n (res as Record<string, string>).autoCapitalize = 'none';\n }\n}\n\nfunction applyAutoCompleteDefaultsNative(\n native: Record<string, unknown>,\n ac?: AutoCompleteToken\n) {\n if (!ac) return;\n // iOS textContentType hints where available (best-effort)\n const textContentMap: Partial<Record<AutoCompleteToken, string>> = {\n name: 'name',\n 'given-name': 'givenName',\n 'additional-name': 'middleName',\n 'family-name': 'familyName',\n username: 'username',\n 'current-password': 'password',\n 'new-password': 'newPassword',\n email: 'emailAddress',\n url: 'URL',\n tel: 'telephoneNumber',\n 'address-line1': 'streetAddressLine1',\n 'address-line2': 'streetAddressLine2',\n 'postal-code': 'postalCode',\n organization: 'organizationName',\n 'organization-title': 'jobTitle',\n 'one-time-code': 'oneTimeCode',\n };\n const tc = textContentMap[ac];\n if (tc) (native as Record<string, string>).textContentType = tc;\n // Capitalization defaults\n const wordsCaps: AutoCompleteToken[] = [\n 'name',\n 'given-name',\n 'additional-name',\n 'family-name',\n 'honorific-prefix',\n 'honorific-suffix',\n 'nickname',\n 'organization',\n 'organization-title',\n 'cc-name',\n 'cc-given-name',\n 'cc-additional-name',\n 'cc-family-name',\n ];\n if (wordsCaps.includes(ac)) {\n (native as Record<string, string>).autoCapitalize = 'words';\n }\n const noneCaps: AutoCompleteToken[] = [\n 'username',\n 'new-password',\n 'current-password',\n 'one-time-code',\n 'email',\n 'url',\n ];\n if (noneCaps.includes(ac)) {\n (native as Record<string, string>).autoCapitalize = 'none';\n }\n}\n\nexport function mapKeyboardToWeb(opts?: KeyboardOptions) {\n const kind =\n opts?.kind ?? deriveKindFromAutoComplete(opts?.autoComplete) ?? 'text';\n const res: Record<string, unknown> = {};\n\n switch (kind) {\n case 'password':\n res.type = 'password';\n res.autoCapitalize = 'none';\n res.autoComplete = opts?.autoComplete ?? 'current-password';\n if (opts?.autoCorrect != null) res.autoCorrect = opts.autoCorrect;\n break;\n case 'new-password':\n res.type = 'password';\n res.autoCapitalize = 'none';\n res.autoComplete = opts?.autoComplete ?? 'new-password';\n if (opts?.autoCorrect != null) res.autoCorrect = opts.autoCorrect;\n break;\n case 'username':\n res.type = 'text';\n res.autoCapitalize = 'none';\n res.autoComplete = opts?.autoComplete ?? 'username';\n break;\n case 'email':\n res.type = 'email';\n res.inputMode = 'email';\n res.autoCapitalize = 'none';\n res.autoComplete = opts?.autoComplete ?? 'email';\n break;\n case 'url':\n res.type = 'url';\n res.inputMode = 'url';\n res.autoComplete = opts?.autoComplete ?? 'url';\n break;\n case 'search':\n res.type = 'search';\n res.inputMode = 'search';\n res.enterKeyHint = opts?.enterKeyHint ?? 'search';\n res.autoComplete = opts?.autoComplete ?? 'off';\n break;\n case 'phone':\n case 'tel':\n res.type = 'tel';\n res.inputMode = 'tel';\n res.autoComplete = opts?.autoComplete ?? 'tel';\n break;\n case 'number':\n case 'int':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9]*';\n break;\n case 'decimal':\n res.type = 'text';\n res.inputMode = 'decimal';\n (res as Record<string, unknown>).step = 'any';\n break;\n case 'numbers-and-punctuation':\n res.type = 'text';\n res.inputMode = 'text';\n res.pattern = '[0-9.,-]*';\n break;\n case 'otp':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.autoComplete = opts?.autoComplete ?? 'one-time-code';\n res.autoCapitalize = 'none';\n break;\n case 'name':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'name';\n res.autoCapitalize = opts?.autoCapitalize ?? 'words';\n break;\n case 'given-name':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'given-name';\n res.autoCapitalize = opts?.autoCapitalize ?? 'words';\n break;\n case 'family-name':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'family-name';\n res.autoCapitalize = opts?.autoCapitalize ?? 'words';\n break;\n case 'address-line1':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'address-line1';\n break;\n case 'address-line2':\n res.type = 'text';\n res.autoComplete = opts?.autoComplete ?? 'address-line2';\n break;\n case 'postal-code':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9]*';\n res.autoComplete = opts?.autoComplete ?? 'postal-code';\n break;\n case 'cc-number':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9]*';\n res.autoComplete = opts?.autoComplete ?? 'cc-number';\n break;\n case 'cc-exp':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9/]*';\n res.autoComplete = opts?.autoComplete ?? 'cc-exp';\n break;\n case 'cc-csc':\n res.type = 'text';\n res.inputMode = 'numeric';\n res.pattern = '[0-9]*';\n res.autoComplete = opts?.autoComplete ?? 'cc-csc';\n break;\n case 'off':\n res.type = 'text';\n res.autoComplete = 'off';\n break;\n case 'date':\n res.type = 'date';\n res.inputMode = 'date';\n res.pattern = '[0-9./-]*';\n break;\n default:\n res.type = 'text';\n break;\n }\n\n if (opts?.autoCapitalize) res.autoCapitalize = opts.autoCapitalize;\n if (opts?.autoComplete) res.autoComplete = opts.autoComplete;\n if (opts?.autoCorrect != null) res.autoCorrect = opts.autoCorrect;\n if (opts?.enterKeyHint) res.enterKeyHint = opts.enterKeyHint;\n // Apply additional defaults based on autofill tokens\n applyAutoCompleteDefaultsWeb(res, opts?.autoComplete);\n return res;\n}\n\nexport function mapKeyboardToNative(opts?: KeyboardOptions) {\n const kind =\n opts?.kind ?? deriveKindFromAutoComplete(opts?.autoComplete) ?? 'text';\n const native: Record<string, unknown> = {};\n\n switch (kind) {\n case 'password':\n native.secureTextEntry = true;\n native.textContentType = 'password';\n native.keyboardType = 'default';\n native.autoCapitalize = 'none';\n native.autoComplete = opts?.autoComplete ?? 'password';\n break;\n case 'new-password':\n native.secureTextEntry = true;\n native.textContentType = 'newPassword';\n native.keyboardType = 'default';\n native.autoCapitalize = 'none';\n native.autoComplete = opts?.autoComplete ?? 'new-password';\n break;\n case 'username':\n native.textContentType = 'username';\n native.keyboardType = 'default';\n native.autoCapitalize = 'none';\n native.autoComplete = opts?.autoComplete ?? 'username';\n break;\n case 'email':\n native.keyboardType = 'email-address';\n native.textContentType = 'emailAddress';\n native.autoCapitalize = 'none';\n native.autoComplete = opts?.autoComplete ?? 'email';\n break;\n case 'url':\n native.keyboardType = 'url';\n native.textContentType = 'URL';\n native.autoComplete = opts?.autoComplete ?? 'url';\n break;\n case 'search':\n native.keyboardType = 'default';\n native.returnKeyType = 'search';\n native.autoComplete = opts?.autoComplete ?? 'off';\n break;\n case 'phone':\n case 'tel':\n native.keyboardType = 'phone-pad';\n native.textContentType = 'telephoneNumber';\n native.autoComplete = opts?.autoComplete ?? 'tel';\n break;\n case 'number':\n case 'int':\n native.keyboardType = 'number-pad';\n break;\n case 'decimal':\n native.keyboardType = 'decimal-pad';\n break;\n case 'numbers-and-punctuation':\n native.keyboardType = 'numbers-and-punctuation';\n break;\n case 'otp':\n native.keyboardType = 'number-pad';\n native.textContentType = 'oneTimeCode';\n native.autoComplete = opts?.autoComplete ?? 'one-time-code';\n native.autoCapitalize = 'none';\n break;\n case 'name':\n native.textContentType = 'name';\n native.autoCapitalize = 'words';\n native.autoComplete = opts?.autoComplete ?? 'name';\n break;\n case 'given-name':\n native.textContentType = 'givenName';\n native.autoCapitalize = 'words';\n native.autoComplete = opts?.autoComplete ?? 'given-name';\n break;\n case 'family-name':\n native.textContentType = 'familyName';\n native.autoCapitalize = 'words';\n native.autoComplete = opts?.autoComplete ?? 'family-name';\n break;\n case 'address-line1':\n native.textContentType = 'streetAddressLine1';\n native.autoComplete = opts?.autoComplete ?? 'address-line1';\n break;\n case 'address-line2':\n native.textContentType = 'streetAddressLine2';\n native.autoComplete = opts?.autoComplete ?? 'address-line2';\n break;\n case 'postal-code':\n native.keyboardType = 'numbers-and-punctuation';\n native.textContentType = 'postalCode';\n native.autoComplete = opts?.autoComplete ?? 'postal-code';\n break;\n case 'cc-number':\n native.keyboardType = 'number-pad';\n native.textContentType = 'creditCardNumber';\n native.autoComplete = opts?.autoComplete ?? 'cc-number';\n break;\n case 'cc-exp':\n native.keyboardType = 'numbers-and-punctuation';\n native.autoComplete = opts?.autoComplete ?? 'cc-exp';\n break;\n case 'cc-csc':\n native.keyboardType = 'number-pad';\n native.autoComplete = opts?.autoComplete ?? 'cc-csc';\n break;\n case 'off':\n native.autoComplete = 'off';\n break;\n case 'date':\n native.keyboardType = 'default';\n break;\n default:\n native.keyboardType = 'default';\n break;\n }\n\n if (opts?.autoCapitalize) native.autoCapitalize = opts.autoCapitalize;\n if (opts?.autoCorrect != null) native.autoCorrect = opts.autoCorrect;\n\n if (opts?.enterKeyHint) {\n const map: Record<string, string> = {\n enter: 'default',\n done: 'done',\n go: 'go',\n next: 'next',\n search: 'search',\n send: 'send',\n };\n native.returnKeyType = map[opts.enterKeyHint] ?? 'default';\n }\n\n // Apply additional defaults based on autofill tokens\n applyAutoCompleteDefaultsNative(native, opts?.autoComplete);\n\n return native;\n}\n"],"mappings":";AAyGA,SAAS,2BACP,IAC0B;AAC1B,KAAI,CAAC,GAAI,QAAO;AAChB,SAAQ,IAAR;EAEE,KAAK,QACH,QAAO;EACT,KAAK,MACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,eACH,QAAO;EACT,KAAK,mBACH,QAAO;EACT,KAAK,gBACH,QAAO;EACT,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,gBACH,QAAO;EAET,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,YACH,QAAO;EACT,KAAK;EACL,KAAK;EACL,KAAK,cACH,QAAO;EAET,KAAK,OACH,QAAO;EAET,QACE,QAAO;;;AAIb,SAAS,6BACP,KACA,IACA;AACA,KAAI,CAAC,GAAI;AAiBT,KAfuC;EACrC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACa,SAAS,GAAG,CACxB,CAAC,IAA+B,iBAAiB;AAWnD,KARsC;EACpC;EACA;EACA;EACA;EACA;EACA;EACD,CACY,SAAS,GAAG,CACvB,CAAC,IAA+B,iBAAiB;;AAIrD,SAAS,gCACP,QACA,IACA;AACA,KAAI,CAAC,GAAI;CAoBT,MAAM,KAlB6D;EACjE,MAAM;EACN,cAAc;EACd,mBAAmB;EACnB,eAAe;EACf,UAAU;EACV,oBAAoB;EACpB,gBAAgB;EAChB,OAAO;EACP,KAAK;EACL,KAAK;EACL,iBAAiB;EACjB,iBAAiB;EACjB,eAAe;EACf,cAAc;EACd,sBAAsB;EACtB,iBAAiB;EAClB,CACyB;AAC1B,KAAI,GAAI,CAAC,OAAkC,kBAAkB;AAiB7D,KAfuC;EACrC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACa,SAAS,GAAG,CACxB,CAAC,OAAkC,iBAAiB;AAUtD,KARsC;EACpC;EACA;EACA;EACA;EACA;EACA;EACD,CACY,SAAS,GAAG,CACvB,CAAC,OAAkC,iBAAiB;;AAIxD,SAAgB,iBAAiB,MAAwB;CACvD,MAAM,OACJ,MAAM,QAAQ,2BAA2B,MAAM,aAAa,IAAI;CAClE,MAAMA,MAA+B,EAAE;AAEvC,SAAQ,MAAR;EACE,KAAK;AACH,OAAI,OAAO;AACX,OAAI,iBAAiB;AACrB,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,MAAM,eAAe,KAAM,KAAI,cAAc,KAAK;AACtD;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,iBAAiB;AACrB,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,MAAM,eAAe,KAAM,KAAI,cAAc,KAAK;AACtD;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,iBAAiB;AACrB,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,iBAAiB;AACrB,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;EACL,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;EACL,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,GAAC,IAAgC,OAAO;AACxC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,iBAAiB;AACrB;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,iBAAiB,MAAM,kBAAkB;AAC7C;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,iBAAiB,MAAM,kBAAkB;AAC7C;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC,OAAI,iBAAiB,MAAM,kBAAkB;AAC7C;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd,OAAI,eAAe,MAAM,gBAAgB;AACzC;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,eAAe;AACnB;EACF,KAAK;AACH,OAAI,OAAO;AACX,OAAI,YAAY;AAChB,OAAI,UAAU;AACd;EACF;AACE,OAAI,OAAO;AACX;;AAGJ,KAAI,MAAM,eAAgB,KAAI,iBAAiB,KAAK;AACpD,KAAI,MAAM,aAAc,KAAI,eAAe,KAAK;AAChD,KAAI,MAAM,eAAe,KAAM,KAAI,cAAc,KAAK;AACtD,KAAI,MAAM,aAAc,KAAI,eAAe,KAAK;AAEhD,8BAA6B,KAAK,MAAM,aAAa;AACrD,QAAO;;AAGT,SAAgB,oBAAoB,MAAwB;CAC1D,MAAM,OACJ,MAAM,QAAQ,2BAA2B,MAAM,aAAa,IAAI;CAClE,MAAMC,SAAkC,EAAE;AAE1C,SAAQ,MAAR;EACE,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,kBAAkB;AACzB,UAAO,eAAe;AACtB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,kBAAkB;AACzB,UAAO,eAAe;AACtB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,eAAe;AACtB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,gBAAgB;AACvB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;EACL,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;EACL,KAAK;AACH,UAAO,eAAe;AACtB;EACF,KAAK;AACH,UAAO,eAAe;AACtB;EACF,KAAK;AACH,UAAO,eAAe;AACtB;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C,UAAO,iBAAiB;AACxB;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,iBAAiB;AACxB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,kBAAkB;AACzB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB,UAAO,eAAe,MAAM,gBAAgB;AAC5C;EACF,KAAK;AACH,UAAO,eAAe;AACtB;EACF,KAAK;AACH,UAAO,eAAe;AACtB;EACF;AACE,UAAO,eAAe;AACtB;;AAGJ,KAAI,MAAM,eAAgB,QAAO,iBAAiB,KAAK;AACvD,KAAI,MAAM,eAAe,KAAM,QAAO,cAAc,KAAK;AAEzD,KAAI,MAAM,aASR,QAAO,gBAR6B;EAClC,OAAO;EACP,MAAM;EACN,IAAI;EACJ,MAAM;EACN,QAAQ;EACR,MAAM;EACP,CAC0B,KAAK,iBAAiB;AAInD,iCAAgC,QAAQ,MAAM,aAAa;AAE3D,QAAO"}
|
package/dist/lib/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,EAAA,YAAc"}
|
package/dist/lib/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;AAGA,SAAgB,GAAG,GAAG,QAAsB;AAC1C,QAAO,QAAQ,KAAK,OAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.d.ts","names":[],"sources":["../../src/platform/useColorScheme.ts"],"sourcesContent":[],"mappings":";KAIY,WAAA;AAAA,iBAEI,cAAA,CAAA,CAFO,EAEW,WAFX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.js","names":["React"],"sources":["../../src/platform/useColorScheme.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nexport type ColorScheme = 'light' | 'dark';\n\nexport function useColorScheme(): ColorScheme {\n const [scheme, setScheme] = React.useState<ColorScheme>('light');\n\n React.useEffect(() => {\n if (typeof window === 'undefined' || !window.matchMedia) return;\n const media = window.matchMedia('(prefers-color-scheme: dark)');\n const update = () => setScheme(media.matches ? 'dark' : 'light');\n update();\n media.addEventListener?.('change', update);\n return () => media.removeEventListener?.('change', update);\n }, []);\n\n return scheme;\n}\n"],"mappings":";;;;;;AAMA,SAAgB,iBAA8B;CAC5C,MAAM,CAAC,QAAQ,aAAaA,QAAM,SAAsB,QAAQ;AAEhE,SAAM,gBAAgB;AACpB,MAAI,OAAO,WAAW,eAAe,CAAC,OAAO,WAAY;EACzD,MAAM,QAAQ,OAAO,WAAW,+BAA+B;EAC/D,MAAM,eAAe,UAAU,MAAM,UAAU,SAAS,QAAQ;AAChE,UAAQ;AACR,QAAM,mBAAmB,UAAU,OAAO;AAC1C,eAAa,MAAM,sBAAsB,UAAU,OAAO;IACzD,EAAE,CAAC;AAEN,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.mobile.d.ts","names":[],"sources":["../../src/platform/useColorScheme.mobile.ts"],"sourcesContent":[],"mappings":";KAKY,WAAA;AAAA,iBAEI,cAAA,CAAA,CAFO,EAEW,WAFX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.mobile.js","names":["React"],"sources":["../../src/platform/useColorScheme.mobile.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Appearance, type ColorSchemeName } from 'react-native';\n\nexport type ColorScheme = 'light' | 'dark';\n\nexport function useColorScheme(): ColorScheme {\n const [scheme, setScheme] = React.useState<ColorScheme>(() =>\n (Appearance.getColorScheme?.() as ColorSchemeName) === 'dark'\n ? 'dark'\n : 'light'\n );\n\n React.useEffect(() => {\n const listener = ({ colorScheme }: { colorScheme: ColorSchemeName }) => {\n setScheme(colorScheme === 'dark' ? 'dark' : 'light');\n };\n const sub = (Appearance as any).addChangeListener?.(listener);\n return () => sub?.remove?.();\n }, []);\n\n return scheme;\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,iBAA8B;CAC5C,MAAM,CAAC,QAAQ,aAAaA,QAAM,eAC/B,WAAW,kBAAkB,KAAyB,SACnD,SACA,QACL;AAED,SAAM,gBAAgB;EACpB,MAAM,YAAY,EAAE,kBAAoD;AACtE,aAAU,gBAAgB,SAAS,SAAS,QAAQ;;EAEtD,MAAM,MAAO,WAAmB,oBAAoB,SAAS;AAC7D,eAAa,KAAK,UAAU;IAC3B,EAAE,CAAC;AAEN,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useReducedMotion.d.ts","names":[],"sources":["../../src/platform/useReducedMotion.ts"],"sourcesContent":[],"mappings":";iBAIgB,gBAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useReducedMotion.js","names":["React"],"sources":["../../src/platform/useReducedMotion.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nexport function useReducedMotion() {\n const [reduced, setReduced] = React.useState(false);\n\n React.useEffect(() => {\n if (typeof window === 'undefined' || !window.matchMedia) return;\n const mq = window.matchMedia('(prefers-reduced-motion: reduce)');\n const onChange = () => setReduced(mq.matches);\n onChange();\n mq.addEventListener?.('change', onChange);\n return () => mq.removeEventListener?.('change', onChange);\n }, []);\n\n return reduced;\n}\n"],"mappings":";;;;;;AAIA,SAAgB,mBAAmB;CACjC,MAAM,CAAC,SAAS,cAAcA,QAAM,SAAS,MAAM;AAEnD,SAAM,gBAAgB;AACpB,MAAI,OAAO,WAAW,eAAe,CAAC,OAAO,WAAY;EACzD,MAAM,KAAK,OAAO,WAAW,mCAAmC;EAChE,MAAM,iBAAiB,WAAW,GAAG,QAAQ;AAC7C,YAAU;AACV,KAAG,mBAAmB,UAAU,SAAS;AACzC,eAAa,GAAG,sBAAsB,UAAU,SAAS;IACxD,EAAE,CAAC;AAEN,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useReducedMotion.mobile.d.ts","names":[],"sources":["../../src/platform/useReducedMotion.mobile.ts"],"sourcesContent":[],"mappings":";iBAKgB,gBAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useReducedMotion.mobile.js","names":["React"],"sources":["../../src/platform/useReducedMotion.mobile.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { AccessibilityInfo } from 'react-native';\n\nexport function useReducedMotion() {\n const [reduced, setReduced] = React.useState(false);\n\n React.useEffect(() => {\n let mounted = true;\n AccessibilityInfo?.isReduceMotionEnabled().then((v: any) => {\n if (mounted) setReduced(Boolean(v));\n });\n const handler = (v: any) => {\n if (mounted) setReduced(Boolean(v));\n };\n // RN >= 0.71\n const sub = (AccessibilityInfo as any)?.addEventListener?.(\n 'reduceMotionChanged',\n handler\n );\n return () => {\n mounted = false;\n // RN >= 0.71\n sub?.remove?.();\n // RN < 0.71\n (AccessibilityInfo as any)?.removeEventListener?.(\n 'reduceMotionChanged',\n handler\n );\n };\n }, []);\n\n return reduced;\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,mBAAmB;CACjC,MAAM,CAAC,SAAS,cAAcA,QAAM,SAAS,MAAM;AAEnD,SAAM,gBAAgB;EACpB,IAAI,UAAU;AACd,qBAAmB,uBAAuB,CAAC,MAAM,MAAW;AAC1D,OAAI,QAAS,YAAW,QAAQ,EAAE,CAAC;IACnC;EACF,MAAM,WAAW,MAAW;AAC1B,OAAI,QAAS,YAAW,QAAQ,EAAE,CAAC;;EAGrC,MAAM,MAAO,mBAA2B,mBACtC,uBACA,QACD;AACD,eAAa;AACX,aAAU;AAEV,QAAK,UAAU;AAEf,GAAC,mBAA2B,sBAC1B,uBACA,QACD;;IAEF,EAAE,CAAC;AAEN,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useResponsive.d.ts","names":[],"sources":["../../src/platform/useResponsive.ts"],"sourcesContent":[],"mappings":";UAIU,WAAA;EAAA,EAAA,EAAA,MAAA;EASM,EAAA,EAAA,MAAA;;;;iBAAA,aAAA,UAAuB,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useResponsive.js","names":["DEFAULT: Breakpoints","React"],"sources":["../../src/platform/useResponsive.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\ninterface Breakpoints {\n sm: number;\n md: number;\n lg: number;\n xl: number;\n}\n\nconst DEFAULT: Breakpoints = { sm: 640, md: 768, lg: 1024, xl: 1280 };\n\nexport function useResponsive(custom?: Partial<Breakpoints>) {\n const bp = React.useMemo(() => ({ ...DEFAULT, ...custom }), [custom]);\n const [width, setWidth] = React.useState<number>(\n typeof window !== 'undefined' ? window.innerWidth : bp.md\n );\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return;\n const onResize = () => setWidth(window.innerWidth);\n window.addEventListener('resize', onResize);\n return () => window.removeEventListener('resize', onResize);\n }, []);\n\n const isSM = width >= bp.sm;\n const isMD = width >= bp.md;\n const isLG = width >= bp.lg;\n const isXL = width >= bp.xl;\n\n const screen: 'mobile' | 'tablet' | 'desktop' = isLG\n ? 'desktop'\n : isSM\n ? 'tablet'\n : 'mobile';\n\n return {\n width,\n breakpoints: bp,\n isSM,\n isMD,\n isLG,\n isXL,\n screen,\n } as const;\n}\n"],"mappings":";;;;;;AAWA,MAAMA,UAAuB;CAAE,IAAI;CAAK,IAAI;CAAK,IAAI;CAAM,IAAI;CAAM;AAErE,SAAgB,cAAc,QAA+B;CAC3D,MAAM,KAAKC,QAAM,eAAe;EAAE,GAAG;EAAS,GAAG;EAAQ,GAAG,CAAC,OAAO,CAAC;CACrE,MAAM,CAAC,OAAO,YAAYA,QAAM,SAC9B,OAAO,WAAW,cAAc,OAAO,aAAa,GAAG,GACxD;AAED,SAAM,gBAAgB;AACpB,MAAI,OAAO,WAAW,YAAa;EACnC,MAAM,iBAAiB,SAAS,OAAO,WAAW;AAClD,SAAO,iBAAiB,UAAU,SAAS;AAC3C,eAAa,OAAO,oBAAoB,UAAU,SAAS;IAC1D,EAAE,CAAC;CAEN,MAAM,OAAO,SAAS,GAAG;CACzB,MAAM,OAAO,SAAS,GAAG;CACzB,MAAM,OAAO,SAAS,GAAG;AASzB,QAAO;EACL;EACA,aAAa;EACb;EACA;EACA;EACA,MAdW,SAAS,GAAG;EAevB,QAb8C,OAC5C,YACA,OACE,WACA;EAUL"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useResponsive.mobile.d.ts","names":[],"sources":["../../src/platform/useResponsive.mobile.ts"],"sourcesContent":[],"mappings":";UAKU,WAAA;EAAA,EAAA,EAAA,MAAA;EASM,EAAA,EAAA,MAAA;;;;iBAAA,aAAA,UAAuB,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useResponsive.mobile.js","names":["DEFAULT: Breakpoints"],"sources":["../../src/platform/useResponsive.mobile.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useMemo, useState } from 'react';\nimport { Dimensions } from 'react-native';\n\ninterface Breakpoints {\n sm: number;\n md: number;\n lg: number;\n xl: number;\n}\n\nconst DEFAULT: Breakpoints = { sm: 640, md: 768, lg: 1024, xl: 1280 };\n\nexport function useResponsive(custom?: Partial<Breakpoints>) {\n const bp = useMemo(() => ({ ...DEFAULT, ...custom }), [custom]);\n const [width, setWidth] = useState<number>(Dimensions.get('window').width);\n\n useEffect(() => {\n const sub = Dimensions.addEventListener('change', ({ window }) => {\n setWidth(window.width);\n });\n return () => {\n // RN supports remove() on the subscription in newer versions\n if (typeof sub?.remove === 'function') {\n sub.remove();\n }\n };\n }, []);\n\n const isSM = width >= bp.sm;\n const isMD = width >= bp.md;\n const isLG = width >= bp.lg;\n const isXL = width >= bp.xl;\n\n const screen: 'mobile' | 'tablet' | 'desktop' = isLG\n ? 'desktop'\n : isSM\n ? 'tablet'\n : 'mobile';\n\n return {\n width,\n breakpoints: bp,\n isSM,\n isMD,\n isLG,\n isXL,\n screen,\n } as const;\n}\n"],"mappings":";;;;;;;AAYA,MAAMA,UAAuB;CAAE,IAAI;CAAK,IAAI;CAAK,IAAI;CAAM,IAAI;CAAM;AAErE,SAAgB,cAAc,QAA+B;CAC3D,MAAM,KAAK,eAAe;EAAE,GAAG;EAAS,GAAG;EAAQ,GAAG,CAAC,OAAO,CAAC;CAC/D,MAAM,CAAC,OAAO,YAAY,SAAiB,WAAW,IAAI,SAAS,CAAC,MAAM;AAE1E,iBAAgB;EACd,MAAM,MAAM,WAAW,iBAAiB,WAAW,EAAE,aAAa;AAChE,YAAS,OAAO,MAAM;IACtB;AACF,eAAa;AAEX,OAAI,OAAO,KAAK,WAAW,WACzB,KAAI,QAAQ;;IAGf,EAAE,CAAC;CAEN,MAAM,OAAO,SAAS,GAAG;CACzB,MAAM,OAAO,SAAS,GAAG;CACzB,MAAM,OAAO,SAAS,GAAG;AASzB,QAAO;EACL;EACA,aAAa;EACb;EACA;EACA;EACA,MAdW,SAAS,GAAG;EAevB,QAb8C,OAC5C,YACA,OACE,WACA;EAUL"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withPlatformUI.d.ts","names":[],"sources":["../../src/platform/withPlatformUI.ts"],"sourcesContent":[],"mappings":";;AASA;AAEA;AAOA;;;AAIa,KAbD,YAAA,GAaC,KAAA,GAAA,QAAA;AACW,UAZP,WAAA,CAYO;EAAR,EAAA,EAAA,MAAA;EAAO,EAAA,EAAA,MAAA;EAGN,EAAA,EAAA,MAAA;EACL,EAAA,EAAA,MAAA;;AAEG,UAXE,qBAWF,CAAA,gBAVG,MAUH,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA;EAAW,MAAA,EARhB,OAQgB;EAGb,QAAA,CAAA,EAVA,YAeZ;EAEe,WAAA,CAAA,EAhBA,OAgBc,CAhBN,WAgBM,CAAA;;AACG,UAdhB,UAcgB,CAAA,OAAA,CAAA,CAAA;EAAtB,QAAA,EAbC,YAaD;EACG,MAAA,EAbJ,OAaI;EAAX,WAAA,EAZY,WAYZ;;cATU,qBAAqB;iBAOlB,+BAA+B,kCACpC,sBAAsB,WAC9B,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withPlatformUI.js","names":["DEFAULT_BREAKPOINTS: Breakpoints","platform: PlatformKind","breakpoints: Breakpoints"],"sources":["../../src/platform/withPlatformUI.ts"],"sourcesContent":["'use client';\n\n/**\n * withPlatformUI\n * Lightweight adapter inspired by gluestack's withGluestack pattern.\n * It centralizes tokens and responsive options while keeping DS imports\n * pointed at @ui-kit-web. Metro/Webpack aliases can swap to @ui-kit in native.\n */\n\nexport type PlatformKind = 'web' | 'native';\n\nexport interface Breakpoints {\n sm: number;\n md: number;\n lg: number;\n xl: number;\n}\n\nexport interface WithPlatformUIOptions<\n TTokens extends Record<string, unknown>,\n> {\n tokens: TTokens;\n platform?: PlatformKind;\n breakpoints?: Partial<Breakpoints>;\n}\n\nexport interface PlatformUI<TTokens> {\n platform: PlatformKind;\n tokens: TTokens;\n breakpoints: Breakpoints;\n}\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n};\n\nexport function withPlatformUI<TTokens extends Record<string, unknown>>(\n options: WithPlatformUIOptions<TTokens>\n): PlatformUI<TTokens> {\n const platform: PlatformKind = options.platform ?? 'web';\n const breakpoints: Breakpoints = {\n ...DEFAULT_BREAKPOINTS,\n ...options.breakpoints,\n };\n return {\n platform,\n tokens: options.tokens,\n breakpoints,\n };\n}\n\n/**\n * Example usage (app-level):\n *\n * const ui = withPlatformUI({ tokens: themeTokens });\n * // pass ui.tokens to DS providers or map classes as needed\n */\n"],"mappings":";;;;AAgCA,MAAaA,sBAAmC;CAC9C,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,SAAgB,eACd,SACqB;CACrB,MAAMC,WAAyB,QAAQ,YAAY;CACnD,MAAMC,cAA2B;EAC/B,GAAG;EACH,GAAG,QAAQ;EACZ;AACD,QAAO;EACL;EACA,QAAQ,QAAQ;EAChB;EACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-contract.d.ts","names":[],"sources":["../../src/renderers/form-contract.tsx"],"sourcesContent":[],"mappings":";;;;;;cAoFa;qDAiBX,iBAAA,CAAA,cAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-contract.js","names":["Select","SelectUiKit","Checkbox","CheckboxUiKit","RadioGroup","RadioGroupUiKit","Switch","SwitchUiKit","FieldWrap"],"sources":["../../src/renderers/form-contract.tsx"],"sourcesContent":["'use client';\nimport React from 'react';\nimport { createFormRenderer } from '@lssm/lib.contracts/client/react/form-render';\nimport { shadcnDriver } from '@lssm/lib.contracts/client/react/drivers/shadcn';\n\n// Minimal shadcn driver mapping: host must wire its components here.\n// Replace these placeholders with actual shadcn/ui imports in your app.\nimport {\n Field as FieldWrap,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n} from '@lssm/lib.ui-kit-web/ui/field';\nimport { Button } from '../components/atoms/Button';\nimport { Input } from '../components/atoms/Input';\nimport { Textarea } from '../components/atoms/Textarea';\nimport { Switch as SwitchUiKit } from '@lssm/lib.ui-kit-web/ui/switch';\nimport {\n RadioGroup as RadioGroupUiKit,\n RadioGroupItem,\n} from '@lssm/lib.ui-kit-web/ui/radio-group';\nimport { Checkbox as CheckboxUiKit } from '@lssm/lib.ui-kit-web/ui/checkbox';\nimport {\n Select as SelectUiKit,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@lssm/lib.ui-kit-web/ui/select';\nimport { Label } from '@lssm/lib.ui-kit-web/ui/label';\n\n// Select/Checkbox/Radio/Switch are app-specific; provide thin wrappers.\nconst Select = (props: any) => {\n const { options, value, onChange, ...rest } = props;\n return (\n <SelectUiKit\n value={value ?? ''}\n onValueChange={(v) => onChange?.(v)}\n {...rest}\n >\n <SelectTrigger className=\"w-[180px]\">\n <SelectValue placeholder={props.placeholder} />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n {/* <SelectLabel>Fruits</SelectLabel> */}\n {/* <SelectItem value=\"\" disabled hidden></SelectItem> */}\n {options?.map((o: any, i: number) => (\n <SelectItem key={i} value={o.value} disabled={o.disabled}>\n {o.labelI18n}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </SelectUiKit>\n );\n};\nconst Checkbox = (props: any) => (\n <CheckboxUiKit\n checked={!!props.checked}\n onCheckedChange={(v) => props.onCheckedChange?.(v)}\n {...props}\n />\n);\nconst RadioGroup = (props: any) => (\n <RadioGroupUiKit {...props}>\n {props.options?.map((o: any, i: number) => (\n <div className=\"flex items-center gap-3\">\n <RadioGroupItem value={o.value} id={o.value} />\n <Label htmlFor={o.value}>{o.label}</Label>\n </div>\n ))}\n </RadioGroupUiKit>\n);\nconst Switch = (props: any) => (\n <SwitchUiKit\n checked={!!props.checked}\n onCheckedChange={(v) => props.onCheckedChange?.(v)}\n {...props}\n />\n);\n\nexport const formRenderer = createFormRenderer({\n driver: shadcnDriver({\n Field: FieldWrap,\n FieldLabel: FieldLabel,\n FieldDescription: FieldDescription,\n FieldError: FieldError,\n FieldGroup: FieldGroup,\n FieldSet: (p: any) => <fieldset {...p} />,\n FieldLegend: (p: any) => <legend {...p} />,\n Input: Input as any,\n Textarea: Textarea as any,\n Select: Select,\n Checkbox: Checkbox,\n RadioGroup: RadioGroup,\n Switch: Switch,\n Button: Button as any,\n }),\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkCA,MAAMA,YAAU,UAAe;CAC7B,MAAM,EAAE,SAAS,OAAO,SAAU,GAAG,SAAS;AAC9C,QACE,qBAACC;EACC,OAAO,SAAS;EAChB,gBAAgB,MAAM,WAAW,EAAE;EACnC,GAAI;aAEJ,oBAAC;GAAc,WAAU;aACvB,oBAAC,eAAY,aAAa,MAAM,cAAe;IACjC,EAChB,oBAAC,2BACC,oBAAC,yBAGE,SAAS,KAAK,GAAQ,MACrB,oBAAC;GAAmB,OAAO,EAAE;GAAO,UAAU,EAAE;aAC7C,EAAE;KADY,EAEJ,CACb,GACU,GACA;GACJ;;AAGlB,MAAMC,cAAY,UAChB,oBAACC;CACC,SAAS,CAAC,CAAC,MAAM;CACjB,kBAAkB,MAAM,MAAM,kBAAkB,EAAE;CAClD,GAAI;EACJ;AAEJ,MAAMC,gBAAc,UAClB,oBAACC;CAAgB,GAAI;WAClB,MAAM,SAAS,KAAK,GAAQ,MAC3B,qBAAC;EAAI,WAAU;aACb,oBAAC;GAAe,OAAO,EAAE;GAAO,IAAI,EAAE;IAAS,EAC/C,oBAAC;GAAM,SAAS,EAAE;aAAQ,EAAE;IAAc;GACtC,CACN;EACc;AAEpB,MAAMC,YAAU,UACd,oBAACC;CACC,SAAS,CAAC,CAAC,MAAM;CACjB,kBAAkB,MAAM,MAAM,kBAAkB,EAAE;CAClD,GAAI;EACJ;AAGJ,MAAa,eAAe,mBAAmB,EAC7C,QAAQ,aAAa;CACZC;CACK;CACM;CACN;CACA;CACZ,WAAW,MAAW,oBAAC,cAAS,GAAI,IAAK;CACzC,cAAc,MAAW,oBAAC,YAAO,GAAI,IAAK;CACnC;CACG;CACV,QAAQR;CACR,UAAUE;CACV,YAAYE;CACZ,QAAQE;CACA;CACT,CAAC,EACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.d.ts","names":[],"sources":["../../src/theme/tokenBridge.ts"],"sourcesContent":[],"mappings":";;;KASY,YAAA;KAEP,SAAA,UAAmB;AAFxB,UAIU,YAAA,CAJc;EAEnB,MAAA,EAIK,WAJI;EAEJ,OAAA,EAGC,WAHW;EAEZ,UAAA,EAAA;IACC,EAAA,EAAA,MAAA;IAKF,IAAA,EAAA,MAAA;EACA,CAAA;EAAM,KAAA,EADN,YACM;EAGH,KAAA,EAHH,MAGG,CAAA,MAAa,EAAA,MAAG,CAAA;AAE5B;KAFY,aAAA,GAAgB,YAAY;iBAExB,oBAAA,WAA+B,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.js","names":["themeTokens"],"sources":["../../src/theme/tokenBridge.ts"],"sourcesContent":["'use client';\n\nimport {\n type ColorTokens,\n defaultTokens as themeTokens,\n type RadiusTokens,\n type SpaceTokens,\n} from './tokens';\n\nexport type PlatformKind = 'web' | 'native';\n\ntype WebTokens = typeof themeTokens;\n\ninterface NativeTokens {\n // colors: Record<string, string>;\n colors: ColorTokens;\n spacing: SpaceTokens;\n typography: {\n h1: number;\n body: number;\n };\n radii: RadiusTokens;\n icons: Record<string, number>;\n}\n\nexport type BridgedTokens = WebTokens | NativeTokens;\n\nexport function mapTokensForPlatform(platform: PlatformKind): BridgedTokens {\n if (platform === 'web') return themeTokens;\n\n // Native: use numeric tokens from DS defaults\n const spacing = themeTokens.space;\n const radii = themeTokens.radii;\n const icons = themeTokens.icons;\n\n return {\n colors: themeTokens.colors,\n spacing,\n typography: {\n h1: themeTokens.typography.h1,\n body: themeTokens.typography.body,\n },\n radii,\n icons,\n } satisfies NativeTokens;\n}\n"],"mappings":";;;;;;AA2BA,SAAgB,qBAAqB,UAAuC;AAC1E,KAAI,aAAa,MAAO,QAAOA;CAG/B,MAAM,UAAUA,cAAY;CAC5B,MAAM,QAAQA,cAAY;CAC1B,MAAM,QAAQA,cAAY;AAE1B,QAAO;EACL,QAAQA,cAAY;EACpB;EACA,YAAY;GACV,IAAIA,cAAY,WAAW;GAC3B,MAAMA,cAAY,WAAW;GAC9B;EACD;EACA;EACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","names":[],"sources":["../../src/theme/tokens.ts"],"sourcesContent":[],"mappings":";UAEiB,WAAA;EAAA,UAAA,EAAA,MAAW;EAeX,UAAA,EAAA,MAAY;EAQZ,KAAA,EAAA,MAAA;EAQA,eAAA,EAAA,MAAgB;EAQhB,OAAA,EAAA,MAAW;EAClB,iBAAA,EAAA,MAAA;EACD,MAAA,EAAA,MAAA;EACA,gBAAA,EAAA,MAAA;EACK,WAAA,EAAA,MAAA;EAAgB,qBAAA,EAAA,MAAA;EAIjB,MAAA,EAAA,MAAA;;;UAhCI,YAAA;;;;;;;UAQA,WAAA;;;;;;;UAQA,gBAAA;;;;;;;UAQA,WAAA;UACP;SACD;SACA;cACK;;;;;;;cAID,eAAe"}
|
package/dist/theme/tokens.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","names":["defaultTokens: ThemeTokens"],"sources":["../../src/theme/tokens.ts"],"sourcesContent":["'use client';\n\nexport interface ColorTokens {\n background: string;\n foreground: string;\n muted: string;\n mutedForeground: string;\n primary: string;\n primaryForeground: string;\n accent: string;\n accentForeground: string;\n destructive: string;\n destructiveForeground: string;\n border: string;\n ring: string;\n}\n\nexport interface RadiusTokens {\n sm: number;\n md: number;\n lg: number;\n xl: number;\n full: number;\n}\n\nexport interface SpaceTokens {\n xs: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n}\n\nexport interface TypographyTokens {\n h1: number;\n h2: number;\n h3: number;\n body: number;\n small: number;\n}\n\nexport interface ThemeTokens {\n colors: ColorTokens;\n radii: RadiusTokens;\n space: SpaceTokens;\n typography: TypographyTokens;\n icons: { sm: number; md: number; lg: number };\n}\n\nexport const defaultTokens: ThemeTokens = {\n colors: {\n background: '#ffffff',\n foreground: '#0a0a0a',\n muted: '#f4f4f5',\n mutedForeground: '#71717a',\n primary: '#0f49a0',\n primaryForeground: '#ffffff',\n accent: '#16a34a',\n accentForeground: '#ffffff',\n destructive: '#ef4444',\n destructiveForeground: '#ffffff',\n border: '#e4e4e7',\n ring: '#2563eb',\n },\n radii: { sm: 4, md: 8, lg: 12, xl: 16, full: 9999 },\n space: { xs: 4, sm: 8, md: 12, lg: 16, xl: 24 },\n typography: { h1: 30, h2: 24, h3: 20, body: 16, small: 14 },\n icons: { sm: 16, md: 20, lg: 24 },\n};\n"],"mappings":";;;;AAiDA,MAAaA,gBAA6B;CACxC,QAAQ;EACN,YAAY;EACZ,YAAY;EACZ,OAAO;EACP,iBAAiB;EACjB,SAAS;EACT,mBAAmB;EACnB,QAAQ;EACR,kBAAkB;EAClB,aAAa;EACb,uBAAuB;EACvB,QAAQ;EACR,MAAM;EACP;CACD,OAAO;EAAE,IAAI;EAAG,IAAI;EAAG,IAAI;EAAI,IAAI;EAAI,MAAM;EAAM;CACnD,OAAO;EAAE,IAAI;EAAG,IAAI;EAAG,IAAI;EAAI,IAAI;EAAI,IAAI;EAAI;CAC/C,YAAY;EAAE,IAAI;EAAI,IAAI;EAAI,IAAI;EAAI,MAAM;EAAI,OAAO;EAAI;CAC3D,OAAO;EAAE,IAAI;EAAI,IAAI;EAAI,IAAI;EAAI;CAClC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"variants.d.ts","names":[],"sources":["../../src/theme/variants.ts"],"sourcesContent":[],"mappings":";;;;KAIY,WAAA;KACA,cAAA;KACA,WAAA;AAFA,KAGA,eAAA,GAHW,SAAA,GAAA,QAAA,GAAA,QAAA;AACvB;AACA;AACA;AAMA;AAgCY,cAhCC,cAgCkB,EAAA,CAAuB,MAAA,EAAA,CAAA;;;;;IAFpD,+BAAA,CAAA;KAEU,mBAAA,GAAsB,oBAAoB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"variants.js","names":[],"sources":["../../src/theme/variants.ts"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nexport type SizeVariant = 'sm' | 'md' | 'lg';\nexport type DensityVariant = 'compact' | 'comfortable';\nexport type ToneVariant = 'neutral' | 'info' | 'success' | 'warning' | 'danger';\nexport type EmphasisVariant = 'default' | 'subtle' | 'strong';\n\n/**\n * Base CVA example to compose in DS components.\n * Consumers can extend this with component-specific classes.\n */\nexport const dsBaseVariants = cva('', {\n variants: {\n size: {\n sm: '',\n md: '',\n lg: '',\n },\n density: {\n compact: '',\n comfortable: '',\n },\n tone: {\n neutral: '',\n info: '',\n success: '',\n warning: '',\n danger: '',\n },\n emphasis: {\n default: '',\n subtle: '',\n strong: '',\n },\n },\n defaultVariants: {\n size: 'md',\n density: 'comfortable',\n tone: 'neutral',\n emphasis: 'default',\n },\n});\n\nexport type DSBaseVariantsProps = VariantProps<typeof dsBaseVariants>;\n"],"mappings":";;;;;;;;;;AAaA,MAAa,iBAAiB,IAAI,IAAI;CACpC,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACD,SAAS;GACP,SAAS;GACT,aAAa;GACd;EACD,MAAM;GACJ,SAAS;GACT,MAAM;GACN,SAAS;GACT,SAAS;GACT,QAAQ;GACT;EACD,UAAU;GACR,SAAS;GACT,QAAQ;GACR,QAAQ;GACT;EACF;CACD,iBAAiB;EACf,MAAM;EACN,SAAS;EACT,MAAM;EACN,UAAU;EACX;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","names":[],"sources":["../../src/types/navigation.ts"],"sourcesContent":[],"mappings":";;;UAEiB,OAAA;SACR,OAAA,CAAM;EADE,IAAA,EAAA,MAAO;EACf,IAAA,CAAM,EAEN,OAAA,CAAM,SAFA;EAEN,KAAM,CAAA,EAAA,MAAA,GAAA,MAAA;EAKC,MAAM,CAAA,EAAA,OAAA,GAAA,QAAA;EAAS,SAAA,CAAA,EAAA,MAAA;EAMd,QAAA,CAAA,EAAA,OAAU;EAKV,WAAA,CAAA,EAXD,OAAA,CAAM,SAYb;EAOQ,QAAA,CAAA,EAAA,MAAa;EACrB,QAAM,CAAA,EAAA,MAAA;EAEC,UAAM,CAAA,EAAA,MAAA,EAAA;;AAEL,UAlBA,UAAA,CAkBA;EAIA,KAAA,CAAA,EArBP,OAAA,CAAM,SAqBU;SApBjB;;UAGQ,YAAA;SACR,OAAA,CAAM;;;SAGN,OAAA,CAAM;;;UAIE,aAAA;SACR,OAAA,CAAM;;gBAEC,OAAA,CAAM;;UAEZ;;;UAIO,SAAA;SACR,OAAA,CAAM"}
|