fluentglass 0.2.6
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/LICENSE +21 -0
- package/README.md +169 -0
- package/lib/commonjs/assets/fonts/Inter-Black.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter-Bold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter-Medium.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter-Regular.ttf +0 -0
- package/lib/commonjs/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/lib/commonjs/components/FluentGlass.js +94 -0
- package/lib/commonjs/components/FluentGlass.js.map +1 -0
- package/lib/commonjs/components/FluentGlassAlert.js +126 -0
- package/lib/commonjs/components/FluentGlassAlert.js.map +1 -0
- package/lib/commonjs/components/FluentGlassBadge.js +124 -0
- package/lib/commonjs/components/FluentGlassBadge.js.map +1 -0
- package/lib/commonjs/components/FluentGlassBarChart.js +287 -0
- package/lib/commonjs/components/FluentGlassBarChart.js.map +1 -0
- package/lib/commonjs/components/FluentGlassBreadcrumb.js +155 -0
- package/lib/commonjs/components/FluentGlassBreadcrumb.js.map +1 -0
- package/lib/commonjs/components/FluentGlassButton.js +175 -0
- package/lib/commonjs/components/FluentGlassButton.js.map +1 -0
- package/lib/commonjs/components/FluentGlassCalendarWidget.js +73 -0
- package/lib/commonjs/components/FluentGlassCalendarWidget.js.map +1 -0
- package/lib/commonjs/components/FluentGlassCard.js +195 -0
- package/lib/commonjs/components/FluentGlassCard.js.map +1 -0
- package/lib/commonjs/components/FluentGlassCheckbox.js +121 -0
- package/lib/commonjs/components/FluentGlassCheckbox.js.map +1 -0
- package/lib/commonjs/components/FluentGlassClockWidget.js +80 -0
- package/lib/commonjs/components/FluentGlassClockWidget.js.map +1 -0
- package/lib/commonjs/components/FluentGlassCodeBlock.js +239 -0
- package/lib/commonjs/components/FluentGlassCodeBlock.js.map +1 -0
- package/lib/commonjs/components/FluentGlassContainer.js +52 -0
- package/lib/commonjs/components/FluentGlassContainer.js.map +1 -0
- package/lib/commonjs/components/FluentGlassCrossfade.js +118 -0
- package/lib/commonjs/components/FluentGlassCrossfade.js.map +1 -0
- package/lib/commonjs/components/FluentGlassDateInput.js +176 -0
- package/lib/commonjs/components/FluentGlassDateInput.js.map +1 -0
- package/lib/commonjs/components/FluentGlassDatePicker.js +271 -0
- package/lib/commonjs/components/FluentGlassDatePicker.js.map +1 -0
- package/lib/commonjs/components/FluentGlassDialog.js +169 -0
- package/lib/commonjs/components/FluentGlassDialog.js.map +1 -0
- package/lib/commonjs/components/FluentGlassDock.js +187 -0
- package/lib/commonjs/components/FluentGlassDock.js.map +1 -0
- package/lib/commonjs/components/FluentGlassDropdown.js +349 -0
- package/lib/commonjs/components/FluentGlassDropdown.js.map +1 -0
- package/lib/commonjs/components/FluentGlassEmailInput.js +43 -0
- package/lib/commonjs/components/FluentGlassEmailInput.js.map +1 -0
- package/lib/commonjs/components/FluentGlassInput.js +83 -0
- package/lib/commonjs/components/FluentGlassInput.js.map +1 -0
- package/lib/commonjs/components/FluentGlassLabeledInput.js +64 -0
- package/lib/commonjs/components/FluentGlassLabeledInput.js.map +1 -0
- package/lib/commonjs/components/FluentGlassLayout.js +106 -0
- package/lib/commonjs/components/FluentGlassLayout.js.map +1 -0
- package/lib/commonjs/components/FluentGlassPasswordInput.js +60 -0
- package/lib/commonjs/components/FluentGlassPasswordInput.js.map +1 -0
- package/lib/commonjs/components/FluentGlassPopover.js +75 -0
- package/lib/commonjs/components/FluentGlassPopover.js.map +1 -0
- package/lib/commonjs/components/FluentGlassResponsiveRow.js +74 -0
- package/lib/commonjs/components/FluentGlassResponsiveRow.js.map +1 -0
- package/lib/commonjs/components/FluentGlassScrollArea.js +101 -0
- package/lib/commonjs/components/FluentGlassScrollArea.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSegmentedControl.js +126 -0
- package/lib/commonjs/components/FluentGlassSegmentedControl.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSelect.js +155 -0
- package/lib/commonjs/components/FluentGlassSelect.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSeparator.js +62 -0
- package/lib/commonjs/components/FluentGlassSeparator.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSheet.js +189 -0
- package/lib/commonjs/components/FluentGlassSheet.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSidebar.js +358 -0
- package/lib/commonjs/components/FluentGlassSidebar.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSimpleCard.js +56 -0
- package/lib/commonjs/components/FluentGlassSimpleCard.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSkeleton.js +52 -0
- package/lib/commonjs/components/FluentGlassSkeleton.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSlider.js +197 -0
- package/lib/commonjs/components/FluentGlassSlider.js.map +1 -0
- package/lib/commonjs/components/FluentGlassStatWidget.js +133 -0
- package/lib/commonjs/components/FluentGlassStatWidget.js.map +1 -0
- package/lib/commonjs/components/FluentGlassStatusIndicator.js +89 -0
- package/lib/commonjs/components/FluentGlassStatusIndicator.js.map +1 -0
- package/lib/commonjs/components/FluentGlassSwitch.js +126 -0
- package/lib/commonjs/components/FluentGlassSwitch.js.map +1 -0
- package/lib/commonjs/components/FluentGlassTable.js +163 -0
- package/lib/commonjs/components/FluentGlassTable.js.map +1 -0
- package/lib/commonjs/components/FluentGlassTag.js +109 -0
- package/lib/commonjs/components/FluentGlassTag.js.map +1 -0
- package/lib/commonjs/components/FluentGlassTextInput.js +90 -0
- package/lib/commonjs/components/FluentGlassTextInput.js.map +1 -0
- package/lib/commonjs/components/FluentGlassTimeline.js +334 -0
- package/lib/commonjs/components/FluentGlassTimeline.js.map +1 -0
- package/lib/commonjs/components/FluentGlassWeatherWidget.js +72 -0
- package/lib/commonjs/components/FluentGlassWeatherWidget.js.map +1 -0
- package/lib/commonjs/components/index.js +308 -0
- package/lib/commonjs/components/index.js.map +1 -0
- package/lib/commonjs/fonts.js +33 -0
- package/lib/commonjs/fonts.js.map +1 -0
- package/lib/commonjs/hooks/useBreakpoint.js +57 -0
- package/lib/commonjs/hooks/useBreakpoint.js.map +1 -0
- package/lib/commonjs/index.js +462 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/theme/FluentGlassProvider.js +84 -0
- package/lib/commonjs/theme/FluentGlassProvider.js.map +1 -0
- package/lib/commonjs/theme/defaultTheme.js +55 -0
- package/lib/commonjs/theme/defaultTheme.js.map +1 -0
- package/lib/commonjs/theme/resolvers.js +118 -0
- package/lib/commonjs/theme/resolvers.js.map +1 -0
- package/lib/commonjs/theme/tokens.js +239 -0
- package/lib/commonjs/theme/tokens.js.map +1 -0
- package/lib/commonjs/theme/typography.js +50 -0
- package/lib/commonjs/theme/typography.js.map +1 -0
- package/lib/commonjs/theme/useTheme.js +22 -0
- package/lib/commonjs/theme/useTheme.js.map +1 -0
- package/lib/commonjs/types/components.js +6 -0
- package/lib/commonjs/types/components.js.map +1 -0
- package/lib/commonjs/types/theme.js +6 -0
- package/lib/commonjs/types/theme.js.map +1 -0
- package/lib/commonjs/utils/colors.js +59 -0
- package/lib/commonjs/utils/colors.js.map +1 -0
- package/lib/commonjs/utils/responsive.js +126 -0
- package/lib/commonjs/utils/responsive.js.map +1 -0
- package/lib/module/assets/fonts/Inter-Black.ttf +0 -0
- package/lib/module/assets/fonts/Inter-Bold.ttf +0 -0
- package/lib/module/assets/fonts/Inter-ExtraBold.ttf +0 -0
- package/lib/module/assets/fonts/Inter-Medium.ttf +0 -0
- package/lib/module/assets/fonts/Inter-Regular.ttf +0 -0
- package/lib/module/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/lib/module/components/FluentGlass.js +89 -0
- package/lib/module/components/FluentGlass.js.map +1 -0
- package/lib/module/components/FluentGlassAlert.js +121 -0
- package/lib/module/components/FluentGlassAlert.js.map +1 -0
- package/lib/module/components/FluentGlassBadge.js +119 -0
- package/lib/module/components/FluentGlassBadge.js.map +1 -0
- package/lib/module/components/FluentGlassBarChart.js +281 -0
- package/lib/module/components/FluentGlassBarChart.js.map +1 -0
- package/lib/module/components/FluentGlassBreadcrumb.js +150 -0
- package/lib/module/components/FluentGlassBreadcrumb.js.map +1 -0
- package/lib/module/components/FluentGlassButton.js +169 -0
- package/lib/module/components/FluentGlassButton.js.map +1 -0
- package/lib/module/components/FluentGlassCalendarWidget.js +68 -0
- package/lib/module/components/FluentGlassCalendarWidget.js.map +1 -0
- package/lib/module/components/FluentGlassCard.js +190 -0
- package/lib/module/components/FluentGlassCard.js.map +1 -0
- package/lib/module/components/FluentGlassCheckbox.js +115 -0
- package/lib/module/components/FluentGlassCheckbox.js.map +1 -0
- package/lib/module/components/FluentGlassClockWidget.js +74 -0
- package/lib/module/components/FluentGlassClockWidget.js.map +1 -0
- package/lib/module/components/FluentGlassCodeBlock.js +233 -0
- package/lib/module/components/FluentGlassCodeBlock.js.map +1 -0
- package/lib/module/components/FluentGlassContainer.js +47 -0
- package/lib/module/components/FluentGlassContainer.js.map +1 -0
- package/lib/module/components/FluentGlassCrossfade.js +112 -0
- package/lib/module/components/FluentGlassCrossfade.js.map +1 -0
- package/lib/module/components/FluentGlassDateInput.js +170 -0
- package/lib/module/components/FluentGlassDateInput.js.map +1 -0
- package/lib/module/components/FluentGlassDatePicker.js +265 -0
- package/lib/module/components/FluentGlassDatePicker.js.map +1 -0
- package/lib/module/components/FluentGlassDialog.js +163 -0
- package/lib/module/components/FluentGlassDialog.js.map +1 -0
- package/lib/module/components/FluentGlassDock.js +181 -0
- package/lib/module/components/FluentGlassDock.js.map +1 -0
- package/lib/module/components/FluentGlassDropdown.js +343 -0
- package/lib/module/components/FluentGlassDropdown.js.map +1 -0
- package/lib/module/components/FluentGlassEmailInput.js +38 -0
- package/lib/module/components/FluentGlassEmailInput.js.map +1 -0
- package/lib/module/components/FluentGlassInput.js +78 -0
- package/lib/module/components/FluentGlassInput.js.map +1 -0
- package/lib/module/components/FluentGlassLabeledInput.js +59 -0
- package/lib/module/components/FluentGlassLabeledInput.js.map +1 -0
- package/lib/module/components/FluentGlassLayout.js +101 -0
- package/lib/module/components/FluentGlassLayout.js.map +1 -0
- package/lib/module/components/FluentGlassPasswordInput.js +54 -0
- package/lib/module/components/FluentGlassPasswordInput.js.map +1 -0
- package/lib/module/components/FluentGlassPopover.js +70 -0
- package/lib/module/components/FluentGlassPopover.js.map +1 -0
- package/lib/module/components/FluentGlassResponsiveRow.js +71 -0
- package/lib/module/components/FluentGlassResponsiveRow.js.map +1 -0
- package/lib/module/components/FluentGlassScrollArea.js +95 -0
- package/lib/module/components/FluentGlassScrollArea.js.map +1 -0
- package/lib/module/components/FluentGlassSegmentedControl.js +120 -0
- package/lib/module/components/FluentGlassSegmentedControl.js.map +1 -0
- package/lib/module/components/FluentGlassSelect.js +149 -0
- package/lib/module/components/FluentGlassSelect.js.map +1 -0
- package/lib/module/components/FluentGlassSeparator.js +57 -0
- package/lib/module/components/FluentGlassSeparator.js.map +1 -0
- package/lib/module/components/FluentGlassSheet.js +183 -0
- package/lib/module/components/FluentGlassSheet.js.map +1 -0
- package/lib/module/components/FluentGlassSidebar.js +351 -0
- package/lib/module/components/FluentGlassSidebar.js.map +1 -0
- package/lib/module/components/FluentGlassSimpleCard.js +51 -0
- package/lib/module/components/FluentGlassSimpleCard.js.map +1 -0
- package/lib/module/components/FluentGlassSkeleton.js +46 -0
- package/lib/module/components/FluentGlassSkeleton.js.map +1 -0
- package/lib/module/components/FluentGlassSlider.js +191 -0
- package/lib/module/components/FluentGlassSlider.js.map +1 -0
- package/lib/module/components/FluentGlassStatWidget.js +128 -0
- package/lib/module/components/FluentGlassStatWidget.js.map +1 -0
- package/lib/module/components/FluentGlassStatusIndicator.js +84 -0
- package/lib/module/components/FluentGlassStatusIndicator.js.map +1 -0
- package/lib/module/components/FluentGlassSwitch.js +122 -0
- package/lib/module/components/FluentGlassSwitch.js.map +1 -0
- package/lib/module/components/FluentGlassTable.js +158 -0
- package/lib/module/components/FluentGlassTable.js.map +1 -0
- package/lib/module/components/FluentGlassTag.js +103 -0
- package/lib/module/components/FluentGlassTag.js.map +1 -0
- package/lib/module/components/FluentGlassTextInput.js +85 -0
- package/lib/module/components/FluentGlassTextInput.js.map +1 -0
- package/lib/module/components/FluentGlassTimeline.js +327 -0
- package/lib/module/components/FluentGlassTimeline.js.map +1 -0
- package/lib/module/components/FluentGlassWeatherWidget.js +67 -0
- package/lib/module/components/FluentGlassWeatherWidget.js.map +1 -0
- package/lib/module/components/index.js +45 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/fonts.js +26 -0
- package/lib/module/fonts.js.map +1 -0
- package/lib/module/hooks/useBreakpoint.js +54 -0
- package/lib/module/hooks/useBreakpoint.js.map +1 -0
- package/lib/module/index.js +30 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/theme/FluentGlassProvider.js +77 -0
- package/lib/module/theme/FluentGlassProvider.js.map +1 -0
- package/lib/module/theme/defaultTheme.js +51 -0
- package/lib/module/theme/defaultTheme.js.map +1 -0
- package/lib/module/theme/resolvers.js +110 -0
- package/lib/module/theme/resolvers.js.map +1 -0
- package/lib/module/theme/tokens.js +235 -0
- package/lib/module/theme/tokens.js.map +1 -0
- package/lib/module/theme/typography.js +45 -0
- package/lib/module/theme/typography.js.map +1 -0
- package/lib/module/theme/useTheme.js +18 -0
- package/lib/module/theme/useTheme.js.map +1 -0
- package/lib/module/types/components.js +4 -0
- package/lib/module/types/components.js.map +1 -0
- package/lib/module/types/theme.js +4 -0
- package/lib/module/types/theme.js.map +1 -0
- package/lib/module/utils/colors.js +55 -0
- package/lib/module/utils/colors.js.map +1 -0
- package/lib/module/utils/responsive.js +116 -0
- package/lib/module/utils/responsive.js.map +1 -0
- package/lib/typescript/components/FluentGlass.d.ts +25 -0
- package/lib/typescript/components/FluentGlass.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassAlert.d.ts +13 -0
- package/lib/typescript/components/FluentGlassAlert.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassBadge.d.ts +22 -0
- package/lib/typescript/components/FluentGlassBadge.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassBarChart.d.ts +30 -0
- package/lib/typescript/components/FluentGlassBarChart.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassBreadcrumb.d.ts +22 -0
- package/lib/typescript/components/FluentGlassBreadcrumb.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassButton.d.ts +27 -0
- package/lib/typescript/components/FluentGlassButton.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassCalendarWidget.d.ts +13 -0
- package/lib/typescript/components/FluentGlassCalendarWidget.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassCard.d.ts +30 -0
- package/lib/typescript/components/FluentGlassCard.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassCheckbox.d.ts +14 -0
- package/lib/typescript/components/FluentGlassCheckbox.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassClockWidget.d.ts +11 -0
- package/lib/typescript/components/FluentGlassClockWidget.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassCodeBlock.d.ts +11 -0
- package/lib/typescript/components/FluentGlassCodeBlock.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassContainer.d.ts +22 -0
- package/lib/typescript/components/FluentGlassContainer.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassCrossfade.d.ts +24 -0
- package/lib/typescript/components/FluentGlassCrossfade.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassDateInput.d.ts +18 -0
- package/lib/typescript/components/FluentGlassDateInput.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassDatePicker.d.ts +9 -0
- package/lib/typescript/components/FluentGlassDatePicker.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassDialog.d.ts +18 -0
- package/lib/typescript/components/FluentGlassDialog.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassDock.d.ts +19 -0
- package/lib/typescript/components/FluentGlassDock.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassDropdown.d.ts +23 -0
- package/lib/typescript/components/FluentGlassDropdown.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassEmailInput.d.ts +17 -0
- package/lib/typescript/components/FluentGlassEmailInput.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassInput.d.ts +12 -0
- package/lib/typescript/components/FluentGlassInput.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassLabeledInput.d.ts +19 -0
- package/lib/typescript/components/FluentGlassLabeledInput.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassLayout.d.ts +11 -0
- package/lib/typescript/components/FluentGlassLayout.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassPasswordInput.d.ts +15 -0
- package/lib/typescript/components/FluentGlassPasswordInput.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassPopover.d.ts +17 -0
- package/lib/typescript/components/FluentGlassPopover.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassResponsiveRow.d.ts +25 -0
- package/lib/typescript/components/FluentGlassResponsiveRow.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassScrollArea.d.ts +16 -0
- package/lib/typescript/components/FluentGlassScrollArea.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSegmentedControl.d.ts +15 -0
- package/lib/typescript/components/FluentGlassSegmentedControl.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSelect.d.ts +23 -0
- package/lib/typescript/components/FluentGlassSelect.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSeparator.d.ts +13 -0
- package/lib/typescript/components/FluentGlassSeparator.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSheet.d.ts +11 -0
- package/lib/typescript/components/FluentGlassSheet.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSidebar.d.ts +44 -0
- package/lib/typescript/components/FluentGlassSidebar.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSimpleCard.d.ts +19 -0
- package/lib/typescript/components/FluentGlassSimpleCard.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSkeleton.d.ts +14 -0
- package/lib/typescript/components/FluentGlassSkeleton.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSlider.d.ts +31 -0
- package/lib/typescript/components/FluentGlassSlider.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassStatWidget.d.ts +17 -0
- package/lib/typescript/components/FluentGlassStatWidget.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassStatusIndicator.d.ts +16 -0
- package/lib/typescript/components/FluentGlassStatusIndicator.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassSwitch.d.ts +13 -0
- package/lib/typescript/components/FluentGlassSwitch.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassTable.d.ts +50 -0
- package/lib/typescript/components/FluentGlassTable.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassTag.d.ts +18 -0
- package/lib/typescript/components/FluentGlassTag.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassTextInput.d.ts +21 -0
- package/lib/typescript/components/FluentGlassTextInput.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassTimeline.d.ts +27 -0
- package/lib/typescript/components/FluentGlassTimeline.d.ts.map +1 -0
- package/lib/typescript/components/FluentGlassWeatherWidget.d.ts +13 -0
- package/lib/typescript/components/FluentGlassWeatherWidget.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +43 -0
- package/lib/typescript/components/index.d.ts.map +1 -0
- package/lib/typescript/fonts.d.ts +13 -0
- package/lib/typescript/fonts.d.ts.map +1 -0
- package/lib/typescript/hooks/useBreakpoint.d.ts +26 -0
- package/lib/typescript/hooks/useBreakpoint.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +18 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/theme/FluentGlassProvider.d.ts +21 -0
- package/lib/typescript/theme/FluentGlassProvider.d.ts.map +1 -0
- package/lib/typescript/theme/defaultTheme.d.ts +10 -0
- package/lib/typescript/theme/defaultTheme.d.ts.map +1 -0
- package/lib/typescript/theme/resolvers.d.ts +55 -0
- package/lib/typescript/theme/resolvers.d.ts.map +1 -0
- package/lib/typescript/theme/tokens.d.ts +27 -0
- package/lib/typescript/theme/tokens.d.ts.map +1 -0
- package/lib/typescript/theme/typography.d.ts +27 -0
- package/lib/typescript/theme/typography.d.ts.map +1 -0
- package/lib/typescript/theme/useTheme.d.ts +12 -0
- package/lib/typescript/theme/useTheme.d.ts.map +1 -0
- package/lib/typescript/types/components.d.ts +32 -0
- package/lib/typescript/types/components.d.ts.map +1 -0
- package/lib/typescript/types/theme.d.ts +79 -0
- package/lib/typescript/types/theme.d.ts.map +1 -0
- package/lib/typescript/utils/colors.d.ts +3 -0
- package/lib/typescript/utils/colors.d.ts.map +1 -0
- package/lib/typescript/utils/responsive.d.ts +62 -0
- package/lib/typescript/utils/responsive.d.ts.map +1 -0
- package/package.json +90 -0
- package/src/assets/fonts/Inter-Black.ttf +0 -0
- package/src/assets/fonts/Inter-Bold.ttf +0 -0
- package/src/assets/fonts/Inter-ExtraBold.ttf +0 -0
- package/src/assets/fonts/Inter-Medium.ttf +0 -0
- package/src/assets/fonts/Inter-Regular.ttf +0 -0
- package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/src/components/FluentGlass.tsx +103 -0
- package/src/components/FluentGlassAlert.tsx +126 -0
- package/src/components/FluentGlassBadge.tsx +109 -0
- package/src/components/FluentGlassBarChart.tsx +295 -0
- package/src/components/FluentGlassBreadcrumb.tsx +173 -0
- package/src/components/FluentGlassButton.tsx +169 -0
- package/src/components/FluentGlassCalendarWidget.tsx +55 -0
- package/src/components/FluentGlassCard.tsx +186 -0
- package/src/components/FluentGlassCheckbox.tsx +138 -0
- package/src/components/FluentGlassClockWidget.tsx +61 -0
- package/src/components/FluentGlassCodeBlock.tsx +241 -0
- package/src/components/FluentGlassContainer.tsx +63 -0
- package/src/components/FluentGlassCrossfade.tsx +122 -0
- package/src/components/FluentGlassDateInput.tsx +182 -0
- package/src/components/FluentGlassDatePicker.tsx +224 -0
- package/src/components/FluentGlassDialog.tsx +153 -0
- package/src/components/FluentGlassDock.tsx +194 -0
- package/src/components/FluentGlassDropdown.tsx +382 -0
- package/src/components/FluentGlassEmailInput.tsx +46 -0
- package/src/components/FluentGlassInput.tsx +77 -0
- package/src/components/FluentGlassLabeledInput.tsx +63 -0
- package/src/components/FluentGlassLayout.tsx +89 -0
- package/src/components/FluentGlassPasswordInput.tsx +59 -0
- package/src/components/FluentGlassPopover.tsx +74 -0
- package/src/components/FluentGlassResponsiveRow.tsx +76 -0
- package/src/components/FluentGlassScrollArea.tsx +110 -0
- package/src/components/FluentGlassSegmentedControl.tsx +140 -0
- package/src/components/FluentGlassSelect.tsx +139 -0
- package/src/components/FluentGlassSeparator.tsx +54 -0
- package/src/components/FluentGlassSheet.tsx +183 -0
- package/src/components/FluentGlassSidebar.tsx +349 -0
- package/src/components/FluentGlassSimpleCard.tsx +59 -0
- package/src/components/FluentGlassSkeleton.tsx +69 -0
- package/src/components/FluentGlassSlider.tsx +202 -0
- package/src/components/FluentGlassStatWidget.tsx +107 -0
- package/src/components/FluentGlassStatusIndicator.tsx +82 -0
- package/src/components/FluentGlassSwitch.tsx +130 -0
- package/src/components/FluentGlassTable.tsx +145 -0
- package/src/components/FluentGlassTag.tsx +98 -0
- package/src/components/FluentGlassTextInput.tsx +87 -0
- package/src/components/FluentGlassTimeline.tsx +335 -0
- package/src/components/FluentGlassWeatherWidget.tsx +54 -0
- package/src/components/index.ts +42 -0
- package/src/fonts.ts +24 -0
- package/src/hooks/useBreakpoint.ts +55 -0
- package/src/index.ts +97 -0
- package/src/theme/FluentGlassProvider.tsx +82 -0
- package/src/theme/defaultTheme.ts +44 -0
- package/src/theme/resolvers.ts +115 -0
- package/src/theme/tokens.ts +200 -0
- package/src/theme/typography.ts +41 -0
- package/src/theme/useTheme.ts +17 -0
- package/src/types/components.ts +47 -0
- package/src/types/theme.ts +82 -0
- package/src/utils/colors.ts +55 -0
- package/src/utils/responsive.ts +110 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { StyleSheet, Text, View, Pressable } from 'react-native';
|
|
5
|
+
import FluentGlass from './FluentGlass';
|
|
6
|
+
import useTheme from '../theme/useTheme';
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* FluentGlassBreadcrumb (Molecule)
|
|
10
|
+
* Glassmorphism breadcrumb navigation with two variants:
|
|
11
|
+
* - 'standard': All items visible, last one bold
|
|
12
|
+
* - 'collapsed': Middle items replaced with "..." ellipsis button
|
|
13
|
+
*/
|
|
14
|
+
export default function FluentGlassBreadcrumb({
|
|
15
|
+
items = [],
|
|
16
|
+
variant = 'standard',
|
|
17
|
+
separator = '›',
|
|
18
|
+
onExpandCollapsed,
|
|
19
|
+
style
|
|
20
|
+
}) {
|
|
21
|
+
const theme = useTheme();
|
|
22
|
+
const COLORS = theme.colors;
|
|
23
|
+
const typography = theme.typography;
|
|
24
|
+
const visibleItems = getVisibleItems(items, variant);
|
|
25
|
+
return /*#__PURE__*/_jsx(FluentGlass, {
|
|
26
|
+
style: [styles.container, style],
|
|
27
|
+
intensity: 15,
|
|
28
|
+
tint: "dark",
|
|
29
|
+
borderRadius: 16,
|
|
30
|
+
borderOpacity: 0.2,
|
|
31
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
32
|
+
style: styles.content,
|
|
33
|
+
children: visibleItems.map((item, index) => /*#__PURE__*/_jsxs(View, {
|
|
34
|
+
style: styles.itemRow,
|
|
35
|
+
children: [index > 0 ? /*#__PURE__*/_jsx(Text, {
|
|
36
|
+
style: [styles.separator, {
|
|
37
|
+
color: COLORS.textSecondary,
|
|
38
|
+
fontFamily: typography.regular
|
|
39
|
+
}],
|
|
40
|
+
children: separator
|
|
41
|
+
}) : null, item.isEllipsis ? /*#__PURE__*/_jsx(Pressable, {
|
|
42
|
+
onPress: onExpandCollapsed,
|
|
43
|
+
style: [styles.ellipsisBtn, {
|
|
44
|
+
backgroundColor: COLORS.borderSubtle
|
|
45
|
+
}],
|
|
46
|
+
hitSlop: 6,
|
|
47
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
48
|
+
style: [styles.ellipsisText, {
|
|
49
|
+
color: COLORS.textSecondary,
|
|
50
|
+
fontFamily: typography.bold
|
|
51
|
+
}],
|
|
52
|
+
children: "\xB7\xB7\xB7"
|
|
53
|
+
})
|
|
54
|
+
}) : /*#__PURE__*/_jsx(Pressable, {
|
|
55
|
+
onPress: item.onPress,
|
|
56
|
+
disabled: !item.onPress,
|
|
57
|
+
hitSlop: 4,
|
|
58
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
59
|
+
style: styles.labelRow,
|
|
60
|
+
children: [item.icon ? /*#__PURE__*/_jsx(Text, {
|
|
61
|
+
style: styles.icon,
|
|
62
|
+
children: item.icon
|
|
63
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
64
|
+
style: [styles.label, {
|
|
65
|
+
color: COLORS.textSecondary,
|
|
66
|
+
fontFamily: typography.regular
|
|
67
|
+
}, item.isActive && [styles.activeLabel, {
|
|
68
|
+
color: COLORS.textPrimary,
|
|
69
|
+
fontFamily: typography.bold
|
|
70
|
+
}], item.onPress && {
|
|
71
|
+
color: COLORS.textSecondary
|
|
72
|
+
}],
|
|
73
|
+
numberOfLines: 1,
|
|
74
|
+
children: item.label
|
|
75
|
+
})]
|
|
76
|
+
})
|
|
77
|
+
})]
|
|
78
|
+
}, index))
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Determines which items to show based on variant.
|
|
85
|
+
* 'collapsed' shows first, ellipsis, last two.
|
|
86
|
+
*/
|
|
87
|
+
function getVisibleItems(items, variant) {
|
|
88
|
+
if (!items.length) return [];
|
|
89
|
+
|
|
90
|
+
// Mark the last item as "active" (current page)
|
|
91
|
+
const withActive = items.map((item, i) => ({
|
|
92
|
+
...item,
|
|
93
|
+
isActive: i === items.length - 1
|
|
94
|
+
}));
|
|
95
|
+
if (variant === 'collapsed' && items.length > 3) {
|
|
96
|
+
return [withActive[0], {
|
|
97
|
+
label: '',
|
|
98
|
+
isEllipsis: true
|
|
99
|
+
}, withActive[items.length - 2], withActive[items.length - 1]];
|
|
100
|
+
}
|
|
101
|
+
return withActive;
|
|
102
|
+
}
|
|
103
|
+
const styles = StyleSheet.create({
|
|
104
|
+
container: {
|
|
105
|
+
height: 40,
|
|
106
|
+
alignSelf: 'flex-start'
|
|
107
|
+
},
|
|
108
|
+
content: {
|
|
109
|
+
flex: 1,
|
|
110
|
+
flexDirection: 'row',
|
|
111
|
+
alignItems: 'center',
|
|
112
|
+
paddingHorizontal: 16
|
|
113
|
+
},
|
|
114
|
+
itemRow: {
|
|
115
|
+
flexDirection: 'row',
|
|
116
|
+
alignItems: 'center'
|
|
117
|
+
},
|
|
118
|
+
separator: {
|
|
119
|
+
fontSize: 14,
|
|
120
|
+
marginHorizontal: 8,
|
|
121
|
+
fontWeight: '400'
|
|
122
|
+
},
|
|
123
|
+
labelRow: {
|
|
124
|
+
flexDirection: 'row',
|
|
125
|
+
alignItems: 'center'
|
|
126
|
+
},
|
|
127
|
+
icon: {
|
|
128
|
+
fontSize: 14,
|
|
129
|
+
marginRight: 4
|
|
130
|
+
},
|
|
131
|
+
label: {
|
|
132
|
+
fontSize: 14,
|
|
133
|
+
fontWeight: '400'
|
|
134
|
+
},
|
|
135
|
+
activeLabel: {
|
|
136
|
+
fontWeight: '700'
|
|
137
|
+
},
|
|
138
|
+
pressableLabel: {},
|
|
139
|
+
ellipsisBtn: {
|
|
140
|
+
borderRadius: 6,
|
|
141
|
+
paddingHorizontal: 8,
|
|
142
|
+
paddingVertical: 2
|
|
143
|
+
},
|
|
144
|
+
ellipsisText: {
|
|
145
|
+
fontSize: 14,
|
|
146
|
+
fontWeight: '700',
|
|
147
|
+
letterSpacing: 1
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
//# sourceMappingURL=FluentGlassBreadcrumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","Text","View","Pressable","FluentGlass","useTheme","jsx","_jsx","jsxs","_jsxs","FluentGlassBreadcrumb","items","variant","separator","onExpandCollapsed","style","theme","COLORS","colors","typography","visibleItems","getVisibleItems","styles","container","intensity","tint","borderRadius","borderOpacity","children","content","map","item","index","itemRow","color","textSecondary","fontFamily","regular","isEllipsis","onPress","ellipsisBtn","backgroundColor","borderSubtle","hitSlop","ellipsisText","bold","disabled","labelRow","icon","label","isActive","activeLabel","textPrimary","numberOfLines","length","withActive","i","create","height","alignSelf","flex","flexDirection","alignItems","paddingHorizontal","fontSize","marginHorizontal","fontWeight","marginRight","pressableLabel","paddingVertical","letterSpacing"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassBreadcrumb.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { StyleSheet, Text, Pressable, View } from 'react-native';
|
|
5
|
+
import Animated, { useSharedValue, useAnimatedStyle, withSpring } from 'react-native-reanimated';
|
|
6
|
+
import FluentGlass from './FluentGlass';
|
|
7
|
+
import useTheme from '../theme/useTheme';
|
|
8
|
+
import { resolveSize, resolveColorScheme, resolveBackwardCompat } from '../theme/resolvers';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* FluentGlassButton (Component)
|
|
14
|
+
* Interactive glass button with scale animation and variants.
|
|
15
|
+
*
|
|
16
|
+
* @param {string} size - 'xs' | 'sm' | 'md' | 'lg' | 'xl'
|
|
17
|
+
* @param {string} colorScheme - 'default' | 'dark' | 'info' | 'success' | 'error' | 'warning'
|
|
18
|
+
* @param {string} blur - 'none' | 'subtle' | 'medium' | 'strong' | 'max'
|
|
19
|
+
* @param {string} radius - 'none' | 'sm' | 'md' | 'lg' | 'pill'
|
|
20
|
+
*
|
|
21
|
+
* Legacy props: variant ('primary' | 'secondary' | 'ghost'), intensity, tint
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
export default function FluentGlassButton({
|
|
25
|
+
title,
|
|
26
|
+
onPress,
|
|
27
|
+
// New standardized props
|
|
28
|
+
size,
|
|
29
|
+
colorScheme,
|
|
30
|
+
blur,
|
|
31
|
+
radius,
|
|
32
|
+
// Legacy props
|
|
33
|
+
variant = 'primary',
|
|
34
|
+
style,
|
|
35
|
+
textStyle,
|
|
36
|
+
icon,
|
|
37
|
+
disabled = false,
|
|
38
|
+
intensity,
|
|
39
|
+
tint,
|
|
40
|
+
accessibilityLabel,
|
|
41
|
+
accessibilityHint
|
|
42
|
+
}) {
|
|
43
|
+
const theme = useTheme();
|
|
44
|
+
|
|
45
|
+
// Resolve props
|
|
46
|
+
const sizeConfig = resolveSize(theme, size || theme.defaults.size);
|
|
47
|
+
const compat = resolveBackwardCompat({
|
|
48
|
+
variant,
|
|
49
|
+
intensity,
|
|
50
|
+
tint,
|
|
51
|
+
colorScheme,
|
|
52
|
+
blur
|
|
53
|
+
});
|
|
54
|
+
const resolvedScheme = compat.colorScheme || theme.defaults.colorScheme;
|
|
55
|
+
const resolvedBlur = compat.blur || theme.defaults.blur;
|
|
56
|
+
const scaleAnim = useSharedValue(1);
|
|
57
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
58
|
+
transform: [{
|
|
59
|
+
scale: scaleAnim.value
|
|
60
|
+
}]
|
|
61
|
+
}));
|
|
62
|
+
const handlePressIn = () => {
|
|
63
|
+
if (disabled) return;
|
|
64
|
+
scaleAnim.value = withSpring(0.96);
|
|
65
|
+
};
|
|
66
|
+
const handlePressOut = () => {
|
|
67
|
+
if (disabled) return;
|
|
68
|
+
scaleAnim.value = withSpring(1);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// Resolve visual styles from colorScheme
|
|
72
|
+
const isGhost = variant === 'ghost' && !colorScheme;
|
|
73
|
+
const colorConfig = resolveColorScheme(theme, resolvedScheme);
|
|
74
|
+
const getButtonStyles = () => {
|
|
75
|
+
if (isGhost) {
|
|
76
|
+
return {
|
|
77
|
+
backgroundColor: 'transparent',
|
|
78
|
+
borderOpacity: 0,
|
|
79
|
+
textColor: theme.colors.textSecondary
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// For semantic colors (success, error, warning, info), use solid color
|
|
84
|
+
const isSemanticColor = ['success', 'error', 'warning', 'info'].includes(resolvedScheme);
|
|
85
|
+
return {
|
|
86
|
+
backgroundColor: isSemanticColor ? colorConfig.solid : colorConfig.bg,
|
|
87
|
+
borderOpacity: isSemanticColor ? 0.5 : 0.3,
|
|
88
|
+
textColor: isSemanticColor ? theme.colors.white : theme.colors.textPrimary
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
const btnStyle = getButtonStyles();
|
|
92
|
+
return /*#__PURE__*/_jsx(AnimatedPressable, {
|
|
93
|
+
onPress: onPress,
|
|
94
|
+
onPressIn: handlePressIn,
|
|
95
|
+
onPressOut: handlePressOut,
|
|
96
|
+
disabled: disabled,
|
|
97
|
+
style: [styles.wrapper, animatedStyle, style],
|
|
98
|
+
accessibilityRole: "button",
|
|
99
|
+
accessibilityLabel: accessibilityLabel ?? title,
|
|
100
|
+
accessibilityHint: accessibilityHint,
|
|
101
|
+
accessibilityState: {
|
|
102
|
+
disabled: !!disabled
|
|
103
|
+
},
|
|
104
|
+
children: isGhost ? /*#__PURE__*/_jsxs(View, {
|
|
105
|
+
style: [styles.content, {
|
|
106
|
+
paddingHorizontal: sizeConfig.paddingHorizontal
|
|
107
|
+
}],
|
|
108
|
+
children: [icon && /*#__PURE__*/_jsx(View, {
|
|
109
|
+
style: styles.iconContainer,
|
|
110
|
+
children: icon
|
|
111
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
112
|
+
style: [styles.text, {
|
|
113
|
+
color: btnStyle.textColor,
|
|
114
|
+
fontSize: sizeConfig.fontSize,
|
|
115
|
+
fontFamily: theme.typography.semiBold
|
|
116
|
+
}, textStyle],
|
|
117
|
+
children: title
|
|
118
|
+
})]
|
|
119
|
+
}) : /*#__PURE__*/_jsx(FluentGlass, {
|
|
120
|
+
style: [styles.container, {
|
|
121
|
+
backgroundColor: btnStyle.backgroundColor,
|
|
122
|
+
minHeight: sizeConfig.minHeight,
|
|
123
|
+
borderRadius: sizeConfig.borderRadius
|
|
124
|
+
}],
|
|
125
|
+
colorScheme: resolvedScheme,
|
|
126
|
+
blur: resolvedBlur,
|
|
127
|
+
radius: radius,
|
|
128
|
+
borderOpacity: btnStyle.borderOpacity,
|
|
129
|
+
borderRadius: sizeConfig.borderRadius,
|
|
130
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
131
|
+
style: [styles.content, {
|
|
132
|
+
paddingHorizontal: sizeConfig.paddingHorizontal
|
|
133
|
+
}],
|
|
134
|
+
children: [icon && /*#__PURE__*/_jsx(View, {
|
|
135
|
+
style: styles.iconContainer,
|
|
136
|
+
children: icon
|
|
137
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
138
|
+
style: [styles.text, {
|
|
139
|
+
color: btnStyle.textColor,
|
|
140
|
+
fontSize: sizeConfig.fontSize,
|
|
141
|
+
fontFamily: theme.typography.semiBold
|
|
142
|
+
}, textStyle],
|
|
143
|
+
children: title
|
|
144
|
+
})]
|
|
145
|
+
})
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
const styles = StyleSheet.create({
|
|
150
|
+
wrapper: {
|
|
151
|
+
marginVertical: 4
|
|
152
|
+
},
|
|
153
|
+
container: {
|
|
154
|
+
borderRadius: 12
|
|
155
|
+
},
|
|
156
|
+
content: {
|
|
157
|
+
flex: 1,
|
|
158
|
+
flexDirection: 'row',
|
|
159
|
+
alignItems: 'center',
|
|
160
|
+
justifyContent: 'center'
|
|
161
|
+
},
|
|
162
|
+
text: {
|
|
163
|
+
fontWeight: '600'
|
|
164
|
+
},
|
|
165
|
+
iconContainer: {
|
|
166
|
+
marginRight: 8
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
//# sourceMappingURL=FluentGlassButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","Text","Pressable","View","Animated","useSharedValue","useAnimatedStyle","withSpring","FluentGlass","useTheme","resolveSize","resolveColorScheme","resolveBackwardCompat","jsx","_jsx","jsxs","_jsxs","AnimatedPressable","createAnimatedComponent","FluentGlassButton","title","onPress","size","colorScheme","blur","radius","variant","style","textStyle","icon","disabled","intensity","tint","accessibilityLabel","accessibilityHint","theme","sizeConfig","defaults","compat","resolvedScheme","resolvedBlur","scaleAnim","animatedStyle","transform","scale","value","handlePressIn","handlePressOut","isGhost","colorConfig","getButtonStyles","backgroundColor","borderOpacity","textColor","colors","textSecondary","isSemanticColor","includes","solid","bg","white","textPrimary","btnStyle","onPressIn","onPressOut","styles","wrapper","accessibilityRole","accessibilityState","children","content","paddingHorizontal","iconContainer","text","color","fontSize","fontFamily","typography","semiBold","container","minHeight","borderRadius","create","marginVertical","flex","flexDirection","alignItems","justifyContent","fontWeight","marginRight"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassButton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAChE,OAAOC,QAAQ,IAAIC,cAAc,EAAEC,gBAAgB,EAAEC,UAAU,QAAQ,yBAAyB;AAChG,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,QAAQ,MAAM,mBAAmB;AACxC,SAASC,WAAW,EAAEC,kBAAkB,EAAEC,qBAAqB,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE5F,MAAMC,iBAAiB,GAAGb,QAAQ,CAACc,uBAAuB,CAAChB,SAAS,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBA,eAAe,SAASiB,iBAAiBA,CAAC;EACtCC,KAAK;EACLC,OAAO;EACP;EACAC,IAAI;EACJC,WAAW;EACXC,IAAI;EACJC,MAAM;EACN;EACAC,OAAO,GAAG,SAAS;EACnBC,KAAK;EACLC,SAAS;EACTC,IAAI;EACJC,QAAQ,GAAG,KAAK;EAChBC,SAAS;EACTC,IAAI;EACJC,kBAAkB;EAClBC;AACoB,CAAC,EAAE;EACvB,MAAMC,KAAK,GAAG1B,QAAQ,CAAC,CAAC;;EAExB;EACA,MAAM2B,UAAU,GAAG1B,WAAW,CAACyB,KAAK,EAAEb,IAAI,IAAIa,KAAK,CAACE,QAAQ,CAACf,IAAI,CAAC;EAClE,MAAMgB,MAAM,GAAG1B,qBAAqB,CAAC;IAAEc,OAAO;IAAEK,SAAS;IAAEC,IAAI;IAAET,WAAW;IAAEC;EAAK,CAAC,CAAC;EACrF,MAAMe,cAAc,GAAGD,MAAM,CAACf,WAAW,IAAIY,KAAK,CAACE,QAAQ,CAACd,WAAW;EACvE,MAAMiB,YAAY,GAAGF,MAAM,CAACd,IAAI,IAAIW,KAAK,CAACE,QAAQ,CAACb,IAAI;EAEvD,MAAMiB,SAAS,GAAGpC,cAAc,CAAC,CAAC,CAAC;EAEnC,MAAMqC,aAAa,GAAGpC,gBAAgB,CAAC,OAAO;IAC1CqC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAEH,SAAS,CAACI;IAAM,CAAC;EAC1C,CAAC,CAAC,CAAC;EAEH,MAAMC,aAAa,GAAGA,CAAA,KAAM;IACxB,IAAIhB,QAAQ,EAAE;IACdW,SAAS,CAACI,KAAK,GAAGtC,UAAU,CAAC,IAAI,CAAC;EACtC,CAAC;EAED,MAAMwC,cAAc,GAAGA,CAAA,KAAM;IACzB,IAAIjB,QAAQ,EAAE;IACdW,SAAS,CAACI,KAAK,GAAGtC,UAAU,CAAC,CAAC,CAAC;EACnC,CAAC;;EAED;EACA,MAAMyC,OAAO,GAAGtB,OAAO,KAAK,OAAO,IAAI,CAACH,WAAW;EACnD,MAAM0B,WAAW,GAAGtC,kBAAkB,CAACwB,KAAK,EAAEI,cAAc,CAAC;EAE7D,MAAMW,eAAe,GAAGA,CAAA,KAAM;IAC1B,IAAIF,OAAO,EAAE;MACT,OAAO;QACHG,eAAe,EAAE,aAAa;QAC9BC,aAAa,EAAE,CAAC;QAChBC,SAAS,EAAElB,KAAK,CAACmB,MAAM,CAACC;MAC5B,CAAC;IACL;;IAEA;IACA,MAAMC,eAAe,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAACC,QAAQ,CAAClB,cAAc,CAAC;IACxF,OAAO;MACHY,eAAe,EAAEK,eAAe,GAAGP,WAAW,CAACS,KAAK,GAAGT,WAAW,CAACU,EAAE;MACrEP,aAAa,EAAEI,eAAe,GAAG,GAAG,GAAG,GAAG;MAC1CH,SAAS,EAAEG,eAAe,GAAGrB,KAAK,CAACmB,MAAM,CAACM,KAAK,GAAGzB,KAAK,CAACmB,MAAM,CAACO;IACnE,CAAC;EACL,CAAC;EAED,MAAMC,QAAQ,GAAGZ,eAAe,CAAC,CAAC;EAElC,oBACIpC,IAAA,CAACG,iBAAiB;IACdI,OAAO,EAAEA,OAAQ;IACjB0C,SAAS,EAAEjB,aAAc;IACzBkB,UAAU,EAAEjB,cAAe;IAC3BjB,QAAQ,EAAEA,QAAS;IACnBH,KAAK,EAAE,CAACsC,MAAM,CAACC,OAAO,EAAExB,aAAa,EAAEf,KAAK,CAAE;IAC9CwC,iBAAiB,EAAC,QAAQ;IAC1BlC,kBAAkB,EAAEA,kBAAkB,IAAIb,KAAM;IAChDc,iBAAiB,EAAEA,iBAAkB;IACrCkC,kBAAkB,EAAE;MAAEtC,QAAQ,EAAE,CAAC,CAACA;IAAS,CAAE;IAAAuC,QAAA,EAE5CrB,OAAO,gBACJhC,KAAA,CAACb,IAAI;MAACwB,KAAK,EAAE,CAACsC,MAAM,CAACK,OAAO,EAAE;QAAEC,iBAAiB,EAAEnC,UAAU,CAACmC;MAAkB,CAAC,CAAE;MAAAF,QAAA,GAC9ExC,IAAI,iBAAIf,IAAA,CAACX,IAAI;QAACwB,KAAK,EAAEsC,MAAM,CAACO,aAAc;QAAAH,QAAA,EAAExC;MAAI,CAAO,CAAC,eACzDf,IAAA,CAACb,IAAI;QAAC0B,KAAK,EAAE,CAACsC,MAAM,CAACQ,IAAI,EAAE;UAAEC,KAAK,EAAEZ,QAAQ,CAACT,SAAS;UAAEsB,QAAQ,EAAEvC,UAAU,CAACuC,QAAQ;UAAEC,UAAU,EAAEzC,KAAK,CAAC0C,UAAU,CAACC;QAAS,CAAC,EAAElD,SAAS,CAAE;QAAAyC,QAAA,EACtIjD;MAAK,CACJ,CAAC;IAAA,CACL,CAAC,gBAEPN,IAAA,CAACN,WAAW;MACRmB,KAAK,EAAE,CACHsC,MAAM,CAACc,SAAS,EAChB;QACI5B,eAAe,EAAEW,QAAQ,CAACX,eAAe;QACzC6B,SAAS,EAAE5C,UAAU,CAAC4C,SAAS;QAC/BC,YAAY,EAAE7C,UAAU,CAAC6C;MAC7B,CAAC,CACH;MACF1D,WAAW,EAAEgB,cAAe;MAC5Bf,IAAI,EAAEgB,YAAa;MACnBf,MAAM,EAAEA,MAAO;MACf2B,aAAa,EAAEU,QAAQ,CAACV,aAAc;MACtC6B,YAAY,EAAE7C,UAAU,CAAC6C,YAAa;MAAAZ,QAAA,eAEtCrD,KAAA,CAACb,IAAI;QAACwB,KAAK,EAAE,CAACsC,MAAM,CAACK,OAAO,EAAE;UAAEC,iBAAiB,EAAEnC,UAAU,CAACmC;QAAkB,CAAC,CAAE;QAAAF,QAAA,GAC9ExC,IAAI,iBAAIf,IAAA,CAACX,IAAI;UAACwB,KAAK,EAAEsC,MAAM,CAACO,aAAc;UAAAH,QAAA,EAAExC;QAAI,CAAO,CAAC,eACzDf,IAAA,CAACb,IAAI;UAAC0B,KAAK,EAAE,CAACsC,MAAM,CAACQ,IAAI,EAAE;YAAEC,KAAK,EAAEZ,QAAQ,CAACT,SAAS;YAAEsB,QAAQ,EAAEvC,UAAU,CAACuC,QAAQ;YAAEC,UAAU,EAAEzC,KAAK,CAAC0C,UAAU,CAACC;UAAS,CAAC,EAAElD,SAAS,CAAE;UAAAyC,QAAA,EACtIjD;QAAK,CACJ,CAAC;MAAA,CACL;IAAC,CACE;EAChB,CACc,CAAC;AAE5B;AAEA,MAAM6C,MAAM,GAAGjE,UAAU,CAACkF,MAAM,CAAC;EAC7BhB,OAAO,EAAE;IACLiB,cAAc,EAAE;EACpB,CAAC;EACDJ,SAAS,EAAE;IACPE,YAAY,EAAE;EAClB,CAAC;EACDX,OAAO,EAAE;IACLc,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EACpB,CAAC;EACDd,IAAI,EAAE;IACFe,UAAU,EAAE;EAChB,CAAC;EACDhB,aAAa,EAAE;IACXiB,WAAW,EAAE;EACjB;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { StyleSheet, View, Text } from 'react-native';
|
|
5
|
+
import FluentGlass from './FluentGlass';
|
|
6
|
+
import useTheme from '../theme/useTheme';
|
|
7
|
+
import { moderateScale } from '../utils/responsive';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
/**
|
|
10
|
+
* FluentGlassCalendarWidget (Atom/Molecule)
|
|
11
|
+
* Dashboard widget displaying month and day.
|
|
12
|
+
*/
|
|
13
|
+
export default function FluentGlassCalendarWidget({
|
|
14
|
+
day = '18',
|
|
15
|
+
month = 'FEB',
|
|
16
|
+
style
|
|
17
|
+
}) {
|
|
18
|
+
const theme = useTheme();
|
|
19
|
+
const COLORS = theme.colors;
|
|
20
|
+
const typography = theme.typography;
|
|
21
|
+
return /*#__PURE__*/_jsx(FluentGlass, {
|
|
22
|
+
accessible: true,
|
|
23
|
+
accessibilityLabel: `${month} ${day}`,
|
|
24
|
+
style: [styles.card, style],
|
|
25
|
+
intensity: 25,
|
|
26
|
+
borderRadius: 20,
|
|
27
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
28
|
+
style: styles.content,
|
|
29
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
30
|
+
style: [styles.redHeader, {
|
|
31
|
+
color: COLORS.negative,
|
|
32
|
+
fontFamily: typography.bold
|
|
33
|
+
}],
|
|
34
|
+
children: month
|
|
35
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
36
|
+
style: [styles.bigValue, {
|
|
37
|
+
color: COLORS.textPrimary,
|
|
38
|
+
fontFamily: typography.regular
|
|
39
|
+
}],
|
|
40
|
+
children: day
|
|
41
|
+
})]
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const styles = StyleSheet.create({
|
|
46
|
+
card: {
|
|
47
|
+
flex: 1,
|
|
48
|
+
minWidth: 100,
|
|
49
|
+
maxWidth: 140,
|
|
50
|
+
aspectRatio: 1
|
|
51
|
+
},
|
|
52
|
+
content: {
|
|
53
|
+
flex: 1,
|
|
54
|
+
justifyContent: 'center',
|
|
55
|
+
alignItems: 'center'
|
|
56
|
+
},
|
|
57
|
+
redHeader: {
|
|
58
|
+
fontSize: 12,
|
|
59
|
+
fontWeight: 'bold',
|
|
60
|
+
textTransform: 'uppercase',
|
|
61
|
+
marginBottom: 4
|
|
62
|
+
},
|
|
63
|
+
bigValue: {
|
|
64
|
+
fontSize: moderateScale(28),
|
|
65
|
+
fontWeight: '300'
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=FluentGlassCalendarWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","Text","FluentGlass","useTheme","moderateScale","jsx","_jsx","jsxs","_jsxs","FluentGlassCalendarWidget","day","month","style","theme","COLORS","colors","typography","accessible","accessibilityLabel","styles","card","intensity","borderRadius","children","content","redHeader","color","negative","fontFamily","bold","bigValue","textPrimary","regular","create","flex","minWidth","maxWidth","aspectRatio","justifyContent","alignItems","fontSize","fontWeight","textTransform","marginBottom"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassCalendarWidget.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAA8B,cAAc;AAC3E,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,QAAQ,MAAM,mBAAmB;AACxC,SAASC,aAAa,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQpD;AACA;AACA;AACA;AACA,eAAe,SAASC,yBAAyBA,CAAC;EAAEC,GAAG,GAAG,IAAI;EAAEC,KAAK,GAAG,KAAK;EAAEC;AAAsC,CAAC,EAAE;EACpH,MAAMC,KAAK,GAAGV,QAAQ,CAAC,CAAC;EACxB,MAAMW,MAAM,GAAGD,KAAK,CAACE,MAAM;EAC3B,MAAMC,UAAU,GAAGH,KAAK,CAACG,UAAU;EAEnC,oBACIV,IAAA,CAACJ,WAAW;IAACe,UAAU,EAAE,IAAK;IAACC,kBAAkB,EAAE,GAAGP,KAAK,IAAID,GAAG,EAAG;IAACE,KAAK,EAAE,CAACO,MAAM,CAACC,IAAI,EAAER,KAAK,CAAE;IAACS,SAAS,EAAE,EAAG;IAACC,YAAY,EAAE,EAAG;IAAAC,QAAA,eAC/Hf,KAAA,CAACR,IAAI;MAACY,KAAK,EAAEO,MAAM,CAACK,OAAQ;MAAAD,QAAA,gBACxBjB,IAAA,CAACL,IAAI;QAACW,KAAK,EAAE,CAACO,MAAM,CAACM,SAAS,EAAE;UAAEC,KAAK,EAAEZ,MAAM,CAACa,QAAQ;UAAEC,UAAU,EAAEZ,UAAU,CAACa;QAAK,CAAC,CAAE;QAAAN,QAAA,EAAEZ;MAAK,CAAO,CAAC,eACxGL,IAAA,CAACL,IAAI;QAACW,KAAK,EAAE,CAACO,MAAM,CAACW,QAAQ,EAAE;UAAEJ,KAAK,EAAEZ,MAAM,CAACiB,WAAW;UAAEH,UAAU,EAAEZ,UAAU,CAACgB;QAAQ,CAAC,CAAE;QAAAT,QAAA,EAAEb;MAAG,CAAO,CAAC;IAAA,CACzG;EAAC,CACE,CAAC;AAEtB;AAEA,MAAMS,MAAM,GAAGpB,UAAU,CAACkC,MAAM,CAAC;EAC7Bb,IAAI,EAAE;IACFc,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,GAAG;IACbC,QAAQ,EAAE,GAAG;IACbC,WAAW,EAAE;EACjB,CAAC;EACDb,OAAO,EAAE;IACLU,IAAI,EAAE,CAAC;IACPI,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EAChB,CAAC;EACDd,SAAS,EAAE;IACPe,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBC,aAAa,EAAE,WAAW;IAC1BC,YAAY,EAAE;EAClB,CAAC;EACDb,QAAQ,EAAE;IACNU,QAAQ,EAAEpC,aAAa,CAAC,EAAE,CAAC;IAC3BqC,UAAU,EAAE;EAChB;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { StyleSheet, Text, View } from 'react-native';
|
|
5
|
+
import FluentGlass from './FluentGlass';
|
|
6
|
+
import FluentGlassButton from './FluentGlassButton';
|
|
7
|
+
import useTheme from '../theme/useTheme';
|
|
8
|
+
import { resolveSize, resolveColorScheme, resolveRadius, resolveBackwardCompat } from '../theme/resolvers';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* FluentGlassCard (Organism)
|
|
12
|
+
* Structured glass card with two variants:
|
|
13
|
+
* - 'standard': Title + description + content + optional action
|
|
14
|
+
* - 'featured': Colored header area + icon + title + description + optional action
|
|
15
|
+
*
|
|
16
|
+
* @param {string} size - 'xs' | 'sm' | 'md' | 'lg' | 'xl'
|
|
17
|
+
* @param {string} colorScheme - 'default' | 'dark' | 'info' | 'success' | 'error' | 'warning'
|
|
18
|
+
* @param {string} blur - blur intensity
|
|
19
|
+
* @param {string} radius - border radius
|
|
20
|
+
*/
|
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
22
|
+
export default function FluentGlassCard({
|
|
23
|
+
variant = 'standard',
|
|
24
|
+
// 'standard' | 'featured'
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
children,
|
|
28
|
+
actionLabel,
|
|
29
|
+
onAction,
|
|
30
|
+
icon,
|
|
31
|
+
// String emoji or React node for featured header
|
|
32
|
+
headerColor,
|
|
33
|
+
// Override header bg color (featured variant)
|
|
34
|
+
style,
|
|
35
|
+
// New standardized props
|
|
36
|
+
size,
|
|
37
|
+
colorScheme,
|
|
38
|
+
blur,
|
|
39
|
+
radius
|
|
40
|
+
}) {
|
|
41
|
+
const theme = useTheme();
|
|
42
|
+
const sizeConfig = resolveSize(theme, size || theme.defaults.size);
|
|
43
|
+
const compat = resolveBackwardCompat({
|
|
44
|
+
colorScheme,
|
|
45
|
+
blur
|
|
46
|
+
});
|
|
47
|
+
const resolvedScheme = compat.colorScheme || theme.defaults.colorScheme;
|
|
48
|
+
const colorConfig = resolveColorScheme(theme, resolvedScheme);
|
|
49
|
+
const resolvedRadius = resolveRadius(theme, radius || 'lg');
|
|
50
|
+
if (variant === 'featured') {
|
|
51
|
+
return /*#__PURE__*/_jsx(FluentGlass, {
|
|
52
|
+
style: [styles.container, style],
|
|
53
|
+
colorScheme: resolvedScheme,
|
|
54
|
+
blur: compat.blur || 'subtle',
|
|
55
|
+
radius: radius,
|
|
56
|
+
borderRadius: resolvedRadius,
|
|
57
|
+
borderOpacity: 0.2,
|
|
58
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
59
|
+
style: styles.inner,
|
|
60
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
61
|
+
style: [styles.featuredHeader, headerColor ? {
|
|
62
|
+
backgroundColor: headerColor
|
|
63
|
+
} : {
|
|
64
|
+
backgroundColor: `${colorConfig.solid}40`
|
|
65
|
+
}, {
|
|
66
|
+
borderTopLeftRadius: resolvedRadius - 1,
|
|
67
|
+
borderTopRightRadius: resolvedRadius - 1
|
|
68
|
+
}]
|
|
69
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
70
|
+
style: [styles.body, {
|
|
71
|
+
padding: sizeConfig.paddingHorizontal
|
|
72
|
+
}],
|
|
73
|
+
children: [icon || title ? /*#__PURE__*/_jsxs(View, {
|
|
74
|
+
style: styles.titleRow,
|
|
75
|
+
children: [icon ? /*#__PURE__*/_jsx(Text, {
|
|
76
|
+
style: [styles.icon, {
|
|
77
|
+
fontSize: sizeConfig.fontSize + 2
|
|
78
|
+
}],
|
|
79
|
+
children: icon
|
|
80
|
+
}) : null, title ? /*#__PURE__*/_jsx(Text, {
|
|
81
|
+
style: [styles.title, {
|
|
82
|
+
color: theme.colors.textPrimary,
|
|
83
|
+
fontSize: sizeConfig.fontSize + 2,
|
|
84
|
+
fontFamily: theme.typography.bold
|
|
85
|
+
}],
|
|
86
|
+
children: title
|
|
87
|
+
}) : null]
|
|
88
|
+
}) : null, description ? /*#__PURE__*/_jsx(Text, {
|
|
89
|
+
style: [styles.description, {
|
|
90
|
+
color: theme.colors.textSecondary,
|
|
91
|
+
fontSize: sizeConfig.fontSize - 1,
|
|
92
|
+
fontFamily: theme.typography.regular
|
|
93
|
+
}],
|
|
94
|
+
children: description
|
|
95
|
+
}) : null, children ? /*#__PURE__*/_jsx(View, {
|
|
96
|
+
style: [styles.content, {
|
|
97
|
+
marginTop: (sizeConfig.gap || 0) * 2
|
|
98
|
+
}],
|
|
99
|
+
children: children
|
|
100
|
+
}) : null, actionLabel ? /*#__PURE__*/_jsx(FluentGlassButton, {
|
|
101
|
+
title: actionLabel,
|
|
102
|
+
onPress: onAction,
|
|
103
|
+
style: styles.actionBtn,
|
|
104
|
+
size: size,
|
|
105
|
+
colorScheme: resolvedScheme === 'default' ? 'info' : resolvedScheme
|
|
106
|
+
}) : null]
|
|
107
|
+
})]
|
|
108
|
+
})
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Standard variant
|
|
113
|
+
return /*#__PURE__*/_jsx(FluentGlass, {
|
|
114
|
+
style: [styles.container, style],
|
|
115
|
+
colorScheme: resolvedScheme,
|
|
116
|
+
blur: compat.blur || 'subtle',
|
|
117
|
+
radius: radius,
|
|
118
|
+
borderRadius: resolvedRadius,
|
|
119
|
+
borderOpacity: 0.2,
|
|
120
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
121
|
+
style: [styles.inner, styles.body, {
|
|
122
|
+
padding: sizeConfig.paddingHorizontal
|
|
123
|
+
}],
|
|
124
|
+
children: [title ? /*#__PURE__*/_jsx(Text, {
|
|
125
|
+
style: [styles.title, {
|
|
126
|
+
color: theme.colors.textPrimary,
|
|
127
|
+
fontSize: sizeConfig.fontSize + 2,
|
|
128
|
+
fontFamily: theme.typography.bold
|
|
129
|
+
}],
|
|
130
|
+
children: title
|
|
131
|
+
}) : null, description ? /*#__PURE__*/_jsx(Text, {
|
|
132
|
+
style: [styles.description, {
|
|
133
|
+
color: theme.colors.textSecondary,
|
|
134
|
+
fontSize: sizeConfig.fontSize - 1,
|
|
135
|
+
fontFamily: theme.typography.regular
|
|
136
|
+
}],
|
|
137
|
+
children: description
|
|
138
|
+
}) : null, children ? /*#__PURE__*/_jsx(View, {
|
|
139
|
+
style: [styles.content, {
|
|
140
|
+
marginTop: (sizeConfig.gap || 0) * 2
|
|
141
|
+
}],
|
|
142
|
+
children: children
|
|
143
|
+
}) : null, actionLabel ? /*#__PURE__*/_jsx(FluentGlassButton, {
|
|
144
|
+
title: actionLabel,
|
|
145
|
+
onPress: onAction,
|
|
146
|
+
variant: "secondary",
|
|
147
|
+
style: styles.actionBtn,
|
|
148
|
+
size: size
|
|
149
|
+
}) : null]
|
|
150
|
+
})
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
const styles = StyleSheet.create({
|
|
154
|
+
container: {
|
|
155
|
+
minHeight: 80
|
|
156
|
+
},
|
|
157
|
+
inner: {
|
|
158
|
+
flex: 1
|
|
159
|
+
},
|
|
160
|
+
featuredHeader: {
|
|
161
|
+
height: 100
|
|
162
|
+
},
|
|
163
|
+
body: {
|
|
164
|
+
padding: 16
|
|
165
|
+
},
|
|
166
|
+
titleRow: {
|
|
167
|
+
flexDirection: 'row',
|
|
168
|
+
alignItems: 'center',
|
|
169
|
+
marginBottom: 6
|
|
170
|
+
},
|
|
171
|
+
icon: {
|
|
172
|
+
marginRight: 8
|
|
173
|
+
},
|
|
174
|
+
title: {
|
|
175
|
+
fontWeight: '700'
|
|
176
|
+
},
|
|
177
|
+
description: {
|
|
178
|
+
fontWeight: '400',
|
|
179
|
+
marginTop: 4,
|
|
180
|
+
lineHeight: 20
|
|
181
|
+
},
|
|
182
|
+
content: {
|
|
183
|
+
marginTop: 12
|
|
184
|
+
},
|
|
185
|
+
actionBtn: {
|
|
186
|
+
marginTop: 16,
|
|
187
|
+
alignSelf: 'flex-start'
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
//# sourceMappingURL=FluentGlassCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","Text","View","FluentGlass","FluentGlassButton","useTheme","resolveSize","resolveColorScheme","resolveRadius","resolveBackwardCompat","jsx","_jsx","jsxs","_jsxs","FluentGlassCard","variant","title","description","children","actionLabel","onAction","icon","headerColor","style","size","colorScheme","blur","radius","theme","sizeConfig","defaults","compat","resolvedScheme","colorConfig","resolvedRadius","styles","container","borderRadius","borderOpacity","inner","featuredHeader","backgroundColor","solid","borderTopLeftRadius","borderTopRightRadius","body","padding","paddingHorizontal","titleRow","fontSize","color","colors","textPrimary","fontFamily","typography","bold","textSecondary","regular","content","marginTop","gap","onPress","actionBtn","create","minHeight","flex","height","flexDirection","alignItems","marginBottom","marginRight","fontWeight","lineHeight","alignSelf"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassCard.tsx"],"mappings":"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","ignoreList":[]}
|