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,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FluentGlassSlider;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
11
|
+
var _useTheme = _interopRequireDefault(require("../theme/useTheme"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
/**
|
|
16
|
+
* FluentGlassSlider (Molecule)
|
|
17
|
+
* Glassmorphism slider — fully driven by SharedValues for buttery drag.
|
|
18
|
+
*
|
|
19
|
+
* Variants:
|
|
20
|
+
* - basic: Just the track + thumb
|
|
21
|
+
* - labeled: Label on left, value display on right, track below
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const TRACK_HEIGHT = 6;
|
|
25
|
+
const THUMB_SIZE = 22;
|
|
26
|
+
function FluentGlassSlider({
|
|
27
|
+
value = 50,
|
|
28
|
+
onValueChange,
|
|
29
|
+
min = 0,
|
|
30
|
+
max = 100,
|
|
31
|
+
label,
|
|
32
|
+
showValue,
|
|
33
|
+
formatValue,
|
|
34
|
+
style,
|
|
35
|
+
accessibilityLabel
|
|
36
|
+
}) {
|
|
37
|
+
const theme = (0, _useTheme.default)();
|
|
38
|
+
const COLORS = theme.colors;
|
|
39
|
+
const hasLabel = Boolean(label);
|
|
40
|
+
const shouldShowValue = showValue !== undefined ? showValue : hasLabel;
|
|
41
|
+
|
|
42
|
+
// SharedValues drive the UI on the native thread — no JS round-trips
|
|
43
|
+
const progress = (0, _reactNativeReanimated.useSharedValue)((value - min) / (max - min));
|
|
44
|
+
const trackW = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
45
|
+
const startProgress = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
46
|
+
|
|
47
|
+
// Sync external value changes (e.g. programmatic updates)
|
|
48
|
+
(0, _react.useEffect)(() => {
|
|
49
|
+
progress.value = Math.max(0, Math.min(1, (value - min) / (max - min)));
|
|
50
|
+
}, [value, min, max, progress]);
|
|
51
|
+
const emitValue = (0, _react.useCallback)(ratio => {
|
|
52
|
+
if (onValueChange) {
|
|
53
|
+
const clamped = Math.max(0, Math.min(1, ratio));
|
|
54
|
+
onValueChange(Math.round(min + clamped * (max - min)));
|
|
55
|
+
}
|
|
56
|
+
}, [onValueChange, min, max]);
|
|
57
|
+
const panGesture = _reactNativeGestureHandler.Gesture.Pan().onBegin(() => {
|
|
58
|
+
startProgress.value = progress.value;
|
|
59
|
+
}).onUpdate(e => {
|
|
60
|
+
'worklet';
|
|
61
|
+
|
|
62
|
+
if (trackW.value > 0) {
|
|
63
|
+
const delta = e.translationX / trackW.value;
|
|
64
|
+
const next = Math.max(0, Math.min(1, startProgress.value + delta));
|
|
65
|
+
progress.value = next;
|
|
66
|
+
}
|
|
67
|
+
}).onEnd(() => {
|
|
68
|
+
'worklet';
|
|
69
|
+
|
|
70
|
+
(0, _reactNativeReanimated.runOnJS)(emitValue)(progress.value);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
// Tap on track to jump
|
|
74
|
+
const tapGesture = _reactNativeGestureHandler.Gesture.Tap().onEnd(e => {
|
|
75
|
+
'worklet';
|
|
76
|
+
|
|
77
|
+
if (trackW.value > 0) {
|
|
78
|
+
const next = Math.max(0, Math.min(1, e.x / trackW.value));
|
|
79
|
+
progress.value = (0, _reactNativeReanimated.withTiming)(next, {
|
|
80
|
+
duration: 150
|
|
81
|
+
});
|
|
82
|
+
(0, _reactNativeReanimated.runOnJS)(emitValue)(next);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
const composed = _reactNativeGestureHandler.Gesture.Race(panGesture, tapGesture);
|
|
86
|
+
|
|
87
|
+
// Animated styles — run entirely on the UI thread
|
|
88
|
+
const thumbAnimStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
89
|
+
transform: [{
|
|
90
|
+
translateX: progress.value * trackW.value - THUMB_SIZE / 2
|
|
91
|
+
}]
|
|
92
|
+
}));
|
|
93
|
+
const filledAnimStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
94
|
+
width: progress.value * trackW.value
|
|
95
|
+
}));
|
|
96
|
+
const handleLayout = (0, _react.useCallback)(e => {
|
|
97
|
+
trackW.value = e.nativeEvent.layout.width;
|
|
98
|
+
}, [trackW]);
|
|
99
|
+
const displayValue = formatValue ? formatValue(value) : `${Math.round(value)}%`;
|
|
100
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
101
|
+
style: [styles.wrapper, style],
|
|
102
|
+
accessibilityRole: "adjustable",
|
|
103
|
+
accessibilityLabel: accessibilityLabel ?? label ?? 'Slider',
|
|
104
|
+
accessibilityValue: {
|
|
105
|
+
min,
|
|
106
|
+
max,
|
|
107
|
+
now: Math.round(value)
|
|
108
|
+
},
|
|
109
|
+
children: [hasLabel ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
110
|
+
style: styles.labelRow,
|
|
111
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
112
|
+
style: [styles.label, {
|
|
113
|
+
color: COLORS.textPrimary,
|
|
114
|
+
fontFamily: theme.typography.semiBold
|
|
115
|
+
}],
|
|
116
|
+
children: label
|
|
117
|
+
}), shouldShowValue ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
118
|
+
style: [styles.valueText, {
|
|
119
|
+
color: COLORS.textSecondary,
|
|
120
|
+
fontFamily: theme.typography.semiBold
|
|
121
|
+
}],
|
|
122
|
+
children: displayValue
|
|
123
|
+
}) : null]
|
|
124
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
125
|
+
gesture: composed,
|
|
126
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
|
|
127
|
+
style: styles.trackContainer,
|
|
128
|
+
onLayout: handleLayout,
|
|
129
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
130
|
+
style: [styles.trackUnfilled, {
|
|
131
|
+
backgroundColor: COLORS.border
|
|
132
|
+
}]
|
|
133
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
134
|
+
style: [styles.trackFilled, filledAnimStyle, {
|
|
135
|
+
backgroundColor: COLORS.accent
|
|
136
|
+
}]
|
|
137
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
138
|
+
style: [styles.thumb, {
|
|
139
|
+
backgroundColor: COLORS.white,
|
|
140
|
+
shadowColor: COLORS.shadow
|
|
141
|
+
}, thumbAnimStyle]
|
|
142
|
+
})]
|
|
143
|
+
})
|
|
144
|
+
})]
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
const styles = _reactNative.StyleSheet.create({
|
|
148
|
+
wrapper: {
|
|
149
|
+
width: '100%'
|
|
150
|
+
},
|
|
151
|
+
labelRow: {
|
|
152
|
+
flexDirection: 'row',
|
|
153
|
+
justifyContent: 'space-between',
|
|
154
|
+
alignItems: 'center',
|
|
155
|
+
marginBottom: 10
|
|
156
|
+
},
|
|
157
|
+
label: {
|
|
158
|
+
fontSize: 14,
|
|
159
|
+
fontWeight: '600'
|
|
160
|
+
},
|
|
161
|
+
valueText: {
|
|
162
|
+
fontSize: 14,
|
|
163
|
+
fontWeight: '600'
|
|
164
|
+
},
|
|
165
|
+
trackContainer: {
|
|
166
|
+
height: THUMB_SIZE + 8,
|
|
167
|
+
justifyContent: 'center',
|
|
168
|
+
position: 'relative'
|
|
169
|
+
},
|
|
170
|
+
trackUnfilled: {
|
|
171
|
+
position: 'absolute',
|
|
172
|
+
left: 0,
|
|
173
|
+
right: 0,
|
|
174
|
+
height: TRACK_HEIGHT,
|
|
175
|
+
borderRadius: TRACK_HEIGHT / 2
|
|
176
|
+
},
|
|
177
|
+
trackFilled: {
|
|
178
|
+
position: 'absolute',
|
|
179
|
+
left: 0,
|
|
180
|
+
height: TRACK_HEIGHT,
|
|
181
|
+
borderRadius: TRACK_HEIGHT / 2
|
|
182
|
+
},
|
|
183
|
+
thumb: {
|
|
184
|
+
position: 'absolute',
|
|
185
|
+
width: THUMB_SIZE,
|
|
186
|
+
height: THUMB_SIZE,
|
|
187
|
+
borderRadius: THUMB_SIZE / 2,
|
|
188
|
+
shadowOffset: {
|
|
189
|
+
width: 0,
|
|
190
|
+
height: 2
|
|
191
|
+
},
|
|
192
|
+
shadowOpacity: 0.3,
|
|
193
|
+
shadowRadius: 4,
|
|
194
|
+
elevation: 5
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
//# sourceMappingURL=FluentGlassSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_reactNativeGestureHandler","_useTheme","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TRACK_HEIGHT","THUMB_SIZE","FluentGlassSlider","value","onValueChange","min","max","label","showValue","formatValue","style","accessibilityLabel","theme","useTheme","COLORS","colors","hasLabel","Boolean","shouldShowValue","undefined","progress","useSharedValue","trackW","startProgress","useEffect","Math","emitValue","useCallback","ratio","clamped","round","panGesture","Gesture","Pan","onBegin","onUpdate","delta","translationX","next","onEnd","runOnJS","tapGesture","Tap","x","withTiming","duration","composed","Race","thumbAnimStyle","useAnimatedStyle","transform","translateX","filledAnimStyle","width","handleLayout","nativeEvent","layout","displayValue","jsxs","View","styles","wrapper","accessibilityRole","accessibilityValue","now","children","labelRow","jsx","Text","color","textPrimary","fontFamily","typography","semiBold","valueText","textSecondary","GestureDetector","gesture","trackContainer","onLayout","trackUnfilled","backgroundColor","border","trackFilled","accent","thumb","white","shadowColor","shadow","StyleSheet","create","flexDirection","justifyContent","alignItems","marginBottom","fontSize","fontWeight","height","position","left","right","borderRadius","shadowOffset","shadowOpacity","shadowRadius","elevation"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassSlider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FluentGlassStatWidget;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _FluentGlass = _interopRequireDefault(require("./FluentGlass"));
|
|
10
|
+
var _useTheme = _interopRequireDefault(require("../theme/useTheme"));
|
|
11
|
+
var _resolvers = require("../theme/resolvers");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
/**
|
|
15
|
+
* FluentGlassStatWidget (Molecule)
|
|
16
|
+
* KPI card with value, label, and formatted change indicator.
|
|
17
|
+
*/
|
|
18
|
+
function FluentGlassStatWidget({
|
|
19
|
+
label = 'Metric',
|
|
20
|
+
value = '0',
|
|
21
|
+
change = '0%',
|
|
22
|
+
trend = 'up',
|
|
23
|
+
icon = '📊',
|
|
24
|
+
style,
|
|
25
|
+
// New standardized props
|
|
26
|
+
size,
|
|
27
|
+
colorScheme,
|
|
28
|
+
blur,
|
|
29
|
+
radius
|
|
30
|
+
}) {
|
|
31
|
+
const theme = (0, _useTheme.default)();
|
|
32
|
+
const sizeConfig = (0, _resolvers.resolveSize)(theme, size || theme.defaults.size);
|
|
33
|
+
const compat = (0, _resolvers.resolveBackwardCompat)({
|
|
34
|
+
colorScheme,
|
|
35
|
+
blur
|
|
36
|
+
});
|
|
37
|
+
const resolvedScheme = compat.colorScheme || theme.defaults.colorScheme;
|
|
38
|
+
const resolvedRadius = (0, _resolvers.resolveRadius)(theme, radius || 'lg');
|
|
39
|
+
const isUp = trend === 'up';
|
|
40
|
+
const trendColor = isUp ? theme.colors.positive : theme.colors.negative;
|
|
41
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlass.default, {
|
|
42
|
+
accessible: true,
|
|
43
|
+
accessibilityLabel: [label, value].filter(Boolean).join(': '),
|
|
44
|
+
style: [styles.statCard, style],
|
|
45
|
+
colorScheme: resolvedScheme,
|
|
46
|
+
blur: compat.blur || 'medium',
|
|
47
|
+
radius: radius,
|
|
48
|
+
borderRadius: resolvedRadius,
|
|
49
|
+
borderOpacity: 0.2,
|
|
50
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
51
|
+
style: [styles.statContent, {
|
|
52
|
+
padding: sizeConfig.paddingHorizontal
|
|
53
|
+
}],
|
|
54
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
55
|
+
style: [styles.statHeader, {
|
|
56
|
+
marginBottom: sizeConfig.gap
|
|
57
|
+
}],
|
|
58
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
59
|
+
style: [styles.statLabel, {
|
|
60
|
+
color: theme.colors.textSecondary,
|
|
61
|
+
fontSize: sizeConfig.fontSize - 1,
|
|
62
|
+
fontFamily: theme.typography.semiBold
|
|
63
|
+
}],
|
|
64
|
+
children: label
|
|
65
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
66
|
+
style: [styles.statIcon, {
|
|
67
|
+
fontSize: sizeConfig.iconSize,
|
|
68
|
+
color: theme.colors.textSecondary
|
|
69
|
+
}],
|
|
70
|
+
children: icon
|
|
71
|
+
})]
|
|
72
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
73
|
+
style: [styles.statValue, {
|
|
74
|
+
color: theme.colors.textPrimary,
|
|
75
|
+
fontSize: sizeConfig.fontSize * 1.8,
|
|
76
|
+
marginBottom: (sizeConfig.gap ?? 0) / 2,
|
|
77
|
+
fontFamily: theme.typography.bold
|
|
78
|
+
}],
|
|
79
|
+
children: value
|
|
80
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
81
|
+
style: [styles.statChange, {
|
|
82
|
+
gap: (sizeConfig.gap ?? 0) / 2
|
|
83
|
+
}],
|
|
84
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
85
|
+
style: [styles.statArrow, {
|
|
86
|
+
color: trendColor,
|
|
87
|
+
fontFamily: theme.typography.bold
|
|
88
|
+
}],
|
|
89
|
+
children: isUp ? '↑' : '↓'
|
|
90
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
91
|
+
style: [styles.statChangeText, {
|
|
92
|
+
color: trendColor,
|
|
93
|
+
fontSize: sizeConfig.fontSize - 2,
|
|
94
|
+
fontFamily: theme.typography.medium
|
|
95
|
+
}],
|
|
96
|
+
children: [change, " vs last period"]
|
|
97
|
+
})]
|
|
98
|
+
})]
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
const styles = _reactNative.StyleSheet.create({
|
|
103
|
+
statCard: {
|
|
104
|
+
flex: 1,
|
|
105
|
+
minWidth: 140
|
|
106
|
+
},
|
|
107
|
+
statContent: {
|
|
108
|
+
padding: 16
|
|
109
|
+
},
|
|
110
|
+
statHeader: {
|
|
111
|
+
flexDirection: 'row',
|
|
112
|
+
justifyContent: 'space-between',
|
|
113
|
+
alignItems: 'center'
|
|
114
|
+
},
|
|
115
|
+
statLabel: {
|
|
116
|
+
fontWeight: '600'
|
|
117
|
+
},
|
|
118
|
+
statIcon: {},
|
|
119
|
+
statValue: {
|
|
120
|
+
fontWeight: '700'
|
|
121
|
+
},
|
|
122
|
+
statChange: {
|
|
123
|
+
flexDirection: 'row',
|
|
124
|
+
alignItems: 'center'
|
|
125
|
+
},
|
|
126
|
+
statArrow: {
|
|
127
|
+
fontWeight: '700'
|
|
128
|
+
},
|
|
129
|
+
statChangeText: {
|
|
130
|
+
fontWeight: '500'
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
//# sourceMappingURL=FluentGlassStatWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_FluentGlass","_useTheme","_resolvers","_jsxRuntime","e","__esModule","default","FluentGlassStatWidget","label","value","change","trend","icon","style","size","colorScheme","blur","radius","theme","useTheme","sizeConfig","resolveSize","defaults","compat","resolveBackwardCompat","resolvedScheme","resolvedRadius","resolveRadius","isUp","trendColor","colors","positive","negative","jsx","accessible","accessibilityLabel","filter","Boolean","join","styles","statCard","borderRadius","borderOpacity","children","jsxs","View","statContent","padding","paddingHorizontal","statHeader","marginBottom","gap","Text","statLabel","color","textSecondary","fontSize","fontFamily","typography","semiBold","statIcon","iconSize","statValue","textPrimary","bold","statChange","statArrow","statChangeText","medium","StyleSheet","create","flex","minWidth","flexDirection","justifyContent","alignItems","fontWeight"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassStatWidget.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FluentGlassStatusIndicator;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _FluentGlass = _interopRequireDefault(require("./FluentGlass"));
|
|
10
|
+
var _useTheme = _interopRequireDefault(require("../theme/useTheme"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
/**
|
|
14
|
+
* FluentGlassStatusIndicator (Atom)
|
|
15
|
+
* Status pill with a colored dot and label.
|
|
16
|
+
* Presets: 'online' (green), 'away' (amber), 'offline' (red), or custom via `color` prop.
|
|
17
|
+
*/
|
|
18
|
+
function FluentGlassStatusIndicator({
|
|
19
|
+
label,
|
|
20
|
+
status,
|
|
21
|
+
color,
|
|
22
|
+
style,
|
|
23
|
+
textStyle
|
|
24
|
+
}) {
|
|
25
|
+
const {
|
|
26
|
+
colors,
|
|
27
|
+
typography
|
|
28
|
+
} = (0, _useTheme.default)();
|
|
29
|
+
const STATUS_COLORS = {
|
|
30
|
+
online: colors.positive,
|
|
31
|
+
// Emerald
|
|
32
|
+
away: colors.warning,
|
|
33
|
+
// Amber
|
|
34
|
+
offline: colors.negative // Red
|
|
35
|
+
};
|
|
36
|
+
const dotColor = color || status && STATUS_COLORS[status] || STATUS_COLORS.offline;
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlass.default, {
|
|
38
|
+
accessible: true,
|
|
39
|
+
accessibilityLabel: label || status && STATUS_LABELS[status] || 'Status',
|
|
40
|
+
style: [styles.container, style],
|
|
41
|
+
intensity: 15,
|
|
42
|
+
tint: "dark",
|
|
43
|
+
borderRadius: 20,
|
|
44
|
+
borderOpacity: 0.2,
|
|
45
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
46
|
+
style: styles.content,
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
48
|
+
style: [styles.dot, {
|
|
49
|
+
backgroundColor: dotColor
|
|
50
|
+
}]
|
|
51
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
52
|
+
style: [styles.text, {
|
|
53
|
+
color: colors.textPrimary,
|
|
54
|
+
fontFamily: typography.medium
|
|
55
|
+
}, textStyle],
|
|
56
|
+
children: label || status && STATUS_LABELS[status] || 'Unknown'
|
|
57
|
+
})]
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const STATUS_LABELS = {
|
|
62
|
+
online: 'Online',
|
|
63
|
+
away: 'Away',
|
|
64
|
+
offline: 'Offline'
|
|
65
|
+
};
|
|
66
|
+
const styles = _reactNative.StyleSheet.create({
|
|
67
|
+
container: {
|
|
68
|
+
height: 36,
|
|
69
|
+
alignSelf: 'flex-start'
|
|
70
|
+
},
|
|
71
|
+
content: {
|
|
72
|
+
flex: 1,
|
|
73
|
+
flexDirection: 'row',
|
|
74
|
+
alignItems: 'center',
|
|
75
|
+
justifyContent: 'center',
|
|
76
|
+
paddingHorizontal: 16
|
|
77
|
+
},
|
|
78
|
+
dot: {
|
|
79
|
+
width: 8,
|
|
80
|
+
height: 8,
|
|
81
|
+
borderRadius: 4,
|
|
82
|
+
marginRight: 8
|
|
83
|
+
},
|
|
84
|
+
text: {
|
|
85
|
+
fontSize: 13,
|
|
86
|
+
fontWeight: '500'
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=FluentGlassStatusIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_FluentGlass","_useTheme","_jsxRuntime","e","__esModule","default","FluentGlassStatusIndicator","label","status","color","style","textStyle","colors","typography","useTheme","STATUS_COLORS","online","positive","away","warning","offline","negative","dotColor","jsx","accessible","accessibilityLabel","STATUS_LABELS","styles","container","intensity","tint","borderRadius","borderOpacity","children","jsxs","View","content","dot","backgroundColor","Text","text","textPrimary","fontFamily","medium","StyleSheet","create","height","alignSelf","flex","flexDirection","alignItems","justifyContent","paddingHorizontal","width","marginRight","fontSize","fontWeight"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassStatusIndicator.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FluentGlassSwitch;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
+
var _useTheme = _interopRequireDefault(require("../theme/useTheme"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
/**
|
|
15
|
+
* FluentGlassSwitch (Atom)
|
|
16
|
+
* Glassmorphism toggle switch with animated thumb.
|
|
17
|
+
*
|
|
18
|
+
* @level Atom
|
|
19
|
+
* @composition None — self-contained primitive
|
|
20
|
+
*
|
|
21
|
+
* Props:
|
|
22
|
+
* value - Boolean on/off
|
|
23
|
+
* onToggle - Callback with new boolean value
|
|
24
|
+
* label - Optional text label shown to the right
|
|
25
|
+
* disabled - Grays out and disables interaction
|
|
26
|
+
*/const TRACK_W = 50;
|
|
27
|
+
const TRACK_H = 28;
|
|
28
|
+
const THUMB_SIZE = 22;
|
|
29
|
+
const THUMB_PADDING = 3;
|
|
30
|
+
const TRAVEL = TRACK_W - THUMB_SIZE - THUMB_PADDING * 2;
|
|
31
|
+
function FluentGlassSwitch({
|
|
32
|
+
value = false,
|
|
33
|
+
onToggle,
|
|
34
|
+
label,
|
|
35
|
+
disabled = false,
|
|
36
|
+
style,
|
|
37
|
+
accessibilityLabel
|
|
38
|
+
}) {
|
|
39
|
+
const theme = (0, _useTheme.default)();
|
|
40
|
+
const COLORS = theme.colors;
|
|
41
|
+
const progress = (0, _reactNativeReanimated.useSharedValue)(value ? 1 : 0);
|
|
42
|
+
(0, _react.useEffect)(() => {
|
|
43
|
+
progress.value = (0, _reactNativeReanimated.withTiming)(value ? 1 : 0, {
|
|
44
|
+
duration: 200
|
|
45
|
+
});
|
|
46
|
+
}, [value, progress]);
|
|
47
|
+
const trackAnimStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
48
|
+
const backgroundColor = (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [`${theme.colors.textSecondary}40`, theme.colors.accent] // Off: translucent text secondary → On: Accent Color
|
|
49
|
+
);
|
|
50
|
+
return {
|
|
51
|
+
backgroundColor
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
const thumbAnimStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
55
|
+
transform: [{
|
|
56
|
+
translateX: progress.value * TRAVEL
|
|
57
|
+
}]
|
|
58
|
+
}));
|
|
59
|
+
const handlePress = () => {
|
|
60
|
+
if (!disabled && onToggle) {
|
|
61
|
+
onToggle(!value);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
65
|
+
onPress: handlePress,
|
|
66
|
+
style: [styles.wrapper, disabled && styles.wrapperDisabled, style],
|
|
67
|
+
hitSlop: 4,
|
|
68
|
+
accessibilityRole: "switch",
|
|
69
|
+
accessibilityLabel: accessibilityLabel ?? label,
|
|
70
|
+
accessibilityState: {
|
|
71
|
+
checked: !!value,
|
|
72
|
+
disabled: !!disabled
|
|
73
|
+
},
|
|
74
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
75
|
+
style: [styles.track, trackAnimStyle],
|
|
76
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
77
|
+
style: [styles.thumb, {
|
|
78
|
+
backgroundColor: theme.colors.white,
|
|
79
|
+
shadowColor: theme.colors.shadow
|
|
80
|
+
}, thumbAnimStyle]
|
|
81
|
+
})
|
|
82
|
+
}), label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
83
|
+
style: [styles.label, {
|
|
84
|
+
color: theme.colors.textPrimary,
|
|
85
|
+
fontFamily: theme.typography.medium
|
|
86
|
+
}, disabled ? {
|
|
87
|
+
color: theme.colors.textSecondary
|
|
88
|
+
} : undefined],
|
|
89
|
+
children: label
|
|
90
|
+
}) : null]
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const styles = _reactNative.StyleSheet.create({
|
|
94
|
+
wrapper: {
|
|
95
|
+
flexDirection: 'row',
|
|
96
|
+
alignItems: 'center'
|
|
97
|
+
},
|
|
98
|
+
wrapperDisabled: {
|
|
99
|
+
opacity: 0.4
|
|
100
|
+
},
|
|
101
|
+
track: {
|
|
102
|
+
width: TRACK_W,
|
|
103
|
+
height: TRACK_H,
|
|
104
|
+
borderRadius: TRACK_H / 2,
|
|
105
|
+
justifyContent: 'center',
|
|
106
|
+
paddingHorizontal: THUMB_PADDING
|
|
107
|
+
},
|
|
108
|
+
thumb: {
|
|
109
|
+
width: THUMB_SIZE,
|
|
110
|
+
height: THUMB_SIZE,
|
|
111
|
+
borderRadius: THUMB_SIZE / 2,
|
|
112
|
+
// Shadow
|
|
113
|
+
shadowOffset: {
|
|
114
|
+
width: 0,
|
|
115
|
+
height: 1
|
|
116
|
+
},
|
|
117
|
+
shadowOpacity: 0.25,
|
|
118
|
+
shadowRadius: 3,
|
|
119
|
+
elevation: 4
|
|
120
|
+
},
|
|
121
|
+
label: {
|
|
122
|
+
fontSize: 14,
|
|
123
|
+
marginLeft: 8
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=FluentGlassSwitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_useTheme","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TRACK_W","TRACK_H","THUMB_SIZE","THUMB_PADDING","TRAVEL","FluentGlassSwitch","value","onToggle","label","disabled","style","accessibilityLabel","theme","useTheme","COLORS","colors","progress","useSharedValue","useEffect","withTiming","duration","trackAnimStyle","useAnimatedStyle","backgroundColor","interpolateColor","textSecondary","accent","thumbAnimStyle","transform","translateX","handlePress","jsxs","Pressable","onPress","styles","wrapper","wrapperDisabled","hitSlop","accessibilityRole","accessibilityState","checked","children","jsx","View","track","thumb","white","shadowColor","shadow","Text","color","textPrimary","fontFamily","typography","medium","undefined","StyleSheet","create","flexDirection","alignItems","opacity","width","height","borderRadius","justifyContent","paddingHorizontal","shadowOffset","shadowOpacity","shadowRadius","elevation","fontSize","marginLeft"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassSwitch.tsx"],"mappings":"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","ignoreList":[]}
|