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,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FluentGlassDatePicker;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _FluentGlass = _interopRequireDefault(require("./FluentGlass"));
|
|
10
|
+
var _useTheme = _interopRequireDefault(require("../theme/useTheme"));
|
|
11
|
+
var _responsive = require("../utils/responsive");
|
|
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
|
+
function FluentGlassDatePicker({
|
|
16
|
+
value = new Date(),
|
|
17
|
+
onChange,
|
|
18
|
+
style
|
|
19
|
+
}) {
|
|
20
|
+
const {
|
|
21
|
+
colors,
|
|
22
|
+
typography
|
|
23
|
+
} = (0, _useTheme.default)();
|
|
24
|
+
|
|
25
|
+
// Current visible month/year
|
|
26
|
+
const [currentMonth, setCurrentMonth] = (0, _react.useState)(new Date(value.getFullYear(), value.getMonth(), 1));
|
|
27
|
+
|
|
28
|
+
// Helpers to navigate months
|
|
29
|
+
const handlePrevMonth = () => {
|
|
30
|
+
setCurrentMonth(new Date(currentMonth.getFullYear(), currentMonth.getMonth() - 1, 1));
|
|
31
|
+
};
|
|
32
|
+
const handleNextMonth = () => {
|
|
33
|
+
setCurrentMonth(new Date(currentMonth.getFullYear(), currentMonth.getMonth() + 1, 1));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// Calendar generation logic
|
|
37
|
+
const {
|
|
38
|
+
days,
|
|
39
|
+
blanks
|
|
40
|
+
} = (0, _react.useMemo)(() => {
|
|
41
|
+
const year = currentMonth.getFullYear();
|
|
42
|
+
const month = currentMonth.getMonth();
|
|
43
|
+
|
|
44
|
+
// 0 = Sunday, 1 = Monday, etc.
|
|
45
|
+
const firstDayOfMonth = new Date(year, month, 1).getDay();
|
|
46
|
+
const daysInMonth = new Date(year, month + 1, 0).getDate();
|
|
47
|
+
|
|
48
|
+
// Array of empty slots before the 1st
|
|
49
|
+
const blanksArray = Array.from({
|
|
50
|
+
length: firstDayOfMonth
|
|
51
|
+
}, (_, i) => i);
|
|
52
|
+
// Array of actual days
|
|
53
|
+
const daysArray = Array.from({
|
|
54
|
+
length: daysInMonth
|
|
55
|
+
}, (_, i) => i + 1);
|
|
56
|
+
return {
|
|
57
|
+
days: daysArray,
|
|
58
|
+
blanks: blanksArray
|
|
59
|
+
};
|
|
60
|
+
}, [currentMonth]);
|
|
61
|
+
const monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
62
|
+
const headerText = `${monthNames[currentMonth.getMonth()]} ${currentMonth.getFullYear()}`;
|
|
63
|
+
|
|
64
|
+
// Helper to check if a day is the currently selected date
|
|
65
|
+
const isSelected = day => {
|
|
66
|
+
return value.getDate() === day && value.getMonth() === currentMonth.getMonth() && value.getFullYear() === currentMonth.getFullYear();
|
|
67
|
+
};
|
|
68
|
+
const handleSelectDay = day => {
|
|
69
|
+
if (onChange) {
|
|
70
|
+
onChange(new Date(currentMonth.getFullYear(), currentMonth.getMonth(), day));
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const handleToday = () => {
|
|
74
|
+
const today = new Date();
|
|
75
|
+
setCurrentMonth(new Date(today.getFullYear(), today.getMonth(), 1));
|
|
76
|
+
if (onChange) {
|
|
77
|
+
onChange(today);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlass.default, {
|
|
81
|
+
style: [styles.container, style],
|
|
82
|
+
intensity: 25,
|
|
83
|
+
borderRadius: 24,
|
|
84
|
+
borderOpacity: 0.2,
|
|
85
|
+
tint: "dark",
|
|
86
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
87
|
+
style: styles.calendarProps,
|
|
88
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
89
|
+
style: styles.header,
|
|
90
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
91
|
+
onPress: handlePrevMonth,
|
|
92
|
+
style: styles.navButton,
|
|
93
|
+
hitSlop: 10,
|
|
94
|
+
accessibilityRole: "button",
|
|
95
|
+
accessibilityLabel: "Previous month",
|
|
96
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
97
|
+
style: [styles.navIcon, {
|
|
98
|
+
color: colors.textSecondary,
|
|
99
|
+
fontFamily: typography.regular
|
|
100
|
+
}],
|
|
101
|
+
children: "\u2039"
|
|
102
|
+
})
|
|
103
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
104
|
+
style: [styles.headerTitle, {
|
|
105
|
+
color: colors.textPrimary,
|
|
106
|
+
fontFamily: typography.bold
|
|
107
|
+
}],
|
|
108
|
+
children: headerText
|
|
109
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
110
|
+
onPress: handleNextMonth,
|
|
111
|
+
style: styles.navButton,
|
|
112
|
+
hitSlop: 10,
|
|
113
|
+
accessibilityRole: "button",
|
|
114
|
+
accessibilityLabel: "Next month",
|
|
115
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
116
|
+
style: [styles.navIcon, {
|
|
117
|
+
color: colors.textSecondary,
|
|
118
|
+
fontFamily: typography.regular
|
|
119
|
+
}],
|
|
120
|
+
children: "\u203A"
|
|
121
|
+
})
|
|
122
|
+
})]
|
|
123
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
124
|
+
style: styles.weekRow,
|
|
125
|
+
children: ['S', 'M', 'T', 'W', 'T', 'F', 'S'].map((day, ix) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
126
|
+
style: styles.dayCell,
|
|
127
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
128
|
+
style: [styles.weekText, {
|
|
129
|
+
color: colors.textSecondary,
|
|
130
|
+
fontFamily: typography.bold
|
|
131
|
+
}],
|
|
132
|
+
children: day
|
|
133
|
+
})
|
|
134
|
+
}, ix))
|
|
135
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
136
|
+
style: styles.daysGrid,
|
|
137
|
+
children: [blanks.map(blank => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
138
|
+
style: styles.dayCell
|
|
139
|
+
}, `blank-${blank}`)), days.map(day => {
|
|
140
|
+
const selected = isSelected(day);
|
|
141
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
142
|
+
style: styles.dayCell,
|
|
143
|
+
onPress: () => handleSelectDay(day),
|
|
144
|
+
accessibilityRole: "button",
|
|
145
|
+
accessibilityState: {
|
|
146
|
+
selected: isSelected(day)
|
|
147
|
+
},
|
|
148
|
+
children: selected ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
149
|
+
style: styles.selectedCircle,
|
|
150
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlass.default, {
|
|
151
|
+
intensity: 40,
|
|
152
|
+
borderRadius: 16,
|
|
153
|
+
tint: "light",
|
|
154
|
+
style: _reactNative.StyleSheet.absoluteFillObject
|
|
155
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
156
|
+
style: [styles.dayText, styles.selectedDayText, {
|
|
157
|
+
color: colors.textPrimary,
|
|
158
|
+
fontFamily: typography.extraBold
|
|
159
|
+
}],
|
|
160
|
+
children: day
|
|
161
|
+
})]
|
|
162
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
163
|
+
style: [styles.dayText, {
|
|
164
|
+
color: colors.textSecondary,
|
|
165
|
+
fontFamily: typography.semiBold
|
|
166
|
+
}],
|
|
167
|
+
children: day
|
|
168
|
+
})
|
|
169
|
+
}, day);
|
|
170
|
+
})]
|
|
171
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
172
|
+
style: [styles.todayButton, {
|
|
173
|
+
borderColor: colors.border,
|
|
174
|
+
backgroundColor: colors.borderSubtle
|
|
175
|
+
}],
|
|
176
|
+
onPress: handleToday,
|
|
177
|
+
activeOpacity: 0.7,
|
|
178
|
+
accessibilityRole: "button",
|
|
179
|
+
accessibilityLabel: "Go to today",
|
|
180
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
181
|
+
style: [styles.todayText, {
|
|
182
|
+
color: colors.accent,
|
|
183
|
+
fontFamily: typography.bold
|
|
184
|
+
}],
|
|
185
|
+
children: "Hoy"
|
|
186
|
+
})
|
|
187
|
+
})]
|
|
188
|
+
})
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
const styles = _reactNative.StyleSheet.create({
|
|
192
|
+
container: {
|
|
193
|
+
width: '100%',
|
|
194
|
+
maxWidth: 360,
|
|
195
|
+
alignSelf: 'center'
|
|
196
|
+
},
|
|
197
|
+
calendarProps: {
|
|
198
|
+
padding: 20
|
|
199
|
+
},
|
|
200
|
+
header: {
|
|
201
|
+
flexDirection: 'row',
|
|
202
|
+
justifyContent: 'space-between',
|
|
203
|
+
alignItems: 'center',
|
|
204
|
+
marginBottom: 20
|
|
205
|
+
},
|
|
206
|
+
headerTitle: {
|
|
207
|
+
fontSize: 18,
|
|
208
|
+
fontWeight: 'bold',
|
|
209
|
+
letterSpacing: 0.5
|
|
210
|
+
},
|
|
211
|
+
navButton: {
|
|
212
|
+
width: (0, _responsive.moderateScale)(36),
|
|
213
|
+
height: (0, _responsive.moderateScale)(36),
|
|
214
|
+
alignItems: 'center',
|
|
215
|
+
justifyContent: 'center'
|
|
216
|
+
},
|
|
217
|
+
navIcon: {
|
|
218
|
+
fontSize: 24,
|
|
219
|
+
fontWeight: '300',
|
|
220
|
+
lineHeight: 28
|
|
221
|
+
},
|
|
222
|
+
weekRow: {
|
|
223
|
+
flexDirection: 'row',
|
|
224
|
+
marginBottom: 10
|
|
225
|
+
},
|
|
226
|
+
weekText: {
|
|
227
|
+
fontSize: 13,
|
|
228
|
+
fontWeight: '700',
|
|
229
|
+
textAlign: 'center'
|
|
230
|
+
},
|
|
231
|
+
daysGrid: {
|
|
232
|
+
flexDirection: 'row',
|
|
233
|
+
flexWrap: 'wrap'
|
|
234
|
+
},
|
|
235
|
+
dayCell: {
|
|
236
|
+
width: '14.28%',
|
|
237
|
+
// 100% / 7
|
|
238
|
+
height: 38,
|
|
239
|
+
justifyContent: 'center',
|
|
240
|
+
alignItems: 'center'
|
|
241
|
+
},
|
|
242
|
+
dayText: {
|
|
243
|
+
fontSize: 15,
|
|
244
|
+
fontWeight: '600'
|
|
245
|
+
},
|
|
246
|
+
selectedCircle: {
|
|
247
|
+
width: (0, _responsive.moderateScale)(32),
|
|
248
|
+
height: (0, _responsive.moderateScale)(32),
|
|
249
|
+
borderRadius: (0, _responsive.moderateScale)(16),
|
|
250
|
+
justifyContent: 'center',
|
|
251
|
+
alignItems: 'center',
|
|
252
|
+
overflow: 'hidden'
|
|
253
|
+
},
|
|
254
|
+
selectedDayText: {
|
|
255
|
+
fontWeight: '800'
|
|
256
|
+
},
|
|
257
|
+
todayButton: {
|
|
258
|
+
marginTop: 14,
|
|
259
|
+
alignSelf: 'center',
|
|
260
|
+
paddingVertical: 8,
|
|
261
|
+
paddingHorizontal: 28,
|
|
262
|
+
borderRadius: 12,
|
|
263
|
+
borderWidth: 1
|
|
264
|
+
},
|
|
265
|
+
todayText: {
|
|
266
|
+
fontSize: 14,
|
|
267
|
+
fontWeight: '700',
|
|
268
|
+
letterSpacing: 0.5
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
//# sourceMappingURL=FluentGlassDatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_FluentGlass","_interopRequireDefault","_useTheme","_responsive","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FluentGlassDatePicker","value","Date","onChange","style","colors","typography","useTheme","currentMonth","setCurrentMonth","useState","getFullYear","getMonth","handlePrevMonth","handleNextMonth","days","blanks","useMemo","year","month","firstDayOfMonth","getDay","daysInMonth","getDate","blanksArray","Array","from","length","_","daysArray","monthNames","headerText","isSelected","day","handleSelectDay","handleToday","today","jsx","styles","container","intensity","borderRadius","borderOpacity","tint","children","jsxs","View","calendarProps","header","TouchableOpacity","onPress","navButton","hitSlop","accessibilityRole","accessibilityLabel","Text","navIcon","color","textSecondary","fontFamily","regular","headerTitle","textPrimary","bold","weekRow","map","ix","dayCell","weekText","daysGrid","blank","selected","Pressable","accessibilityState","selectedCircle","StyleSheet","absoluteFillObject","dayText","selectedDayText","extraBold","semiBold","todayButton","borderColor","border","backgroundColor","borderSubtle","activeOpacity","todayText","accent","create","width","maxWidth","alignSelf","padding","flexDirection","justifyContent","alignItems","marginBottom","fontSize","fontWeight","letterSpacing","moderateScale","height","lineHeight","textAlign","flexWrap","overflow","marginTop","paddingVertical","paddingHorizontal","borderWidth"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassDatePicker.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FluentGlassDialog;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
+
var _FluentGlass = _interopRequireDefault(require("./FluentGlass"));
|
|
11
|
+
var _FluentGlassButton = _interopRequireDefault(require("./FluentGlassButton"));
|
|
12
|
+
var _useTheme = _interopRequireDefault(require("../theme/useTheme"));
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
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); }
|
|
16
|
+
/**
|
|
17
|
+
* FluentGlassDialog (Component)
|
|
18
|
+
* Central alert/confirmation modal.
|
|
19
|
+
* Uses absolute positioning instead of Modal to avoid
|
|
20
|
+
* BlurView initialisation flicker.
|
|
21
|
+
*/
|
|
22
|
+
function FluentGlassDialog({
|
|
23
|
+
visible,
|
|
24
|
+
onClose,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
onConfirm,
|
|
28
|
+
confirmText = 'Confirm',
|
|
29
|
+
cancelText = 'Cancel'
|
|
30
|
+
}) {
|
|
31
|
+
const theme = (0, _useTheme.default)();
|
|
32
|
+
const COLORS = theme.colors;
|
|
33
|
+
const typography = theme.typography;
|
|
34
|
+
const scale = (0, _reactNativeReanimated.useSharedValue)(0.8);
|
|
35
|
+
const opacity = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
36
|
+
const [mounted, setMounted] = _react.default.useState(false);
|
|
37
|
+
(0, _react.useEffect)(() => {
|
|
38
|
+
if (visible) {
|
|
39
|
+
setMounted(true);
|
|
40
|
+
// Small delay so React commits the mount frame (opacity 0) first
|
|
41
|
+
requestAnimationFrame(() => {
|
|
42
|
+
scale.value = (0, _reactNativeReanimated.withSpring)(1);
|
|
43
|
+
opacity.value = (0, _reactNativeReanimated.withTiming)(1, {
|
|
44
|
+
duration: 200
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
} else if (mounted) {
|
|
48
|
+
scale.value = (0, _reactNativeReanimated.withTiming)(0.85, {
|
|
49
|
+
duration: 180
|
|
50
|
+
});
|
|
51
|
+
opacity.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
52
|
+
duration: 180
|
|
53
|
+
});
|
|
54
|
+
const timer = setTimeout(() => {
|
|
55
|
+
setMounted(false);
|
|
56
|
+
scale.value = 0.8;
|
|
57
|
+
opacity.value = 0;
|
|
58
|
+
}, 220);
|
|
59
|
+
return () => clearTimeout(timer);
|
|
60
|
+
}
|
|
61
|
+
}, [visible]);
|
|
62
|
+
const backdropStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
63
|
+
opacity: opacity.value
|
|
64
|
+
}));
|
|
65
|
+
const cardStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
66
|
+
opacity: opacity.value,
|
|
67
|
+
transform: [{
|
|
68
|
+
scale: scale.value
|
|
69
|
+
}]
|
|
70
|
+
}));
|
|
71
|
+
if (!mounted) return null;
|
|
72
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
73
|
+
style: styles.root,
|
|
74
|
+
pointerEvents: visible ? 'auto' : 'none',
|
|
75
|
+
accessibilityViewIsModal: true,
|
|
76
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
77
|
+
style: [styles.backdrop, {
|
|
78
|
+
backgroundColor: COLORS.overlay
|
|
79
|
+
}, backdropStyle],
|
|
80
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
81
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
82
|
+
onPress: onClose,
|
|
83
|
+
accessibilityRole: "button",
|
|
84
|
+
accessibilityLabel: "Close dialog"
|
|
85
|
+
})
|
|
86
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
87
|
+
style: [styles.dialogContainer, cardStyle],
|
|
88
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlass.default, {
|
|
89
|
+
style: styles.modalGlass,
|
|
90
|
+
intensity: 25,
|
|
91
|
+
borderRadius: 20,
|
|
92
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
93
|
+
style: styles.innerContent,
|
|
94
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
95
|
+
style: [styles.title, {
|
|
96
|
+
color: COLORS.textPrimary,
|
|
97
|
+
fontFamily: typography.bold
|
|
98
|
+
}],
|
|
99
|
+
accessibilityRole: "header",
|
|
100
|
+
children: title
|
|
101
|
+
}), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
102
|
+
style: [styles.description, {
|
|
103
|
+
color: COLORS.textSecondary,
|
|
104
|
+
fontFamily: typography.regular
|
|
105
|
+
}],
|
|
106
|
+
children: description
|
|
107
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
108
|
+
style: styles.footer,
|
|
109
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlassButton.default, {
|
|
110
|
+
title: cancelText,
|
|
111
|
+
variant: "secondary",
|
|
112
|
+
onPress: onClose,
|
|
113
|
+
style: {
|
|
114
|
+
flex: 1,
|
|
115
|
+
marginRight: 8
|
|
116
|
+
}
|
|
117
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlassButton.default, {
|
|
118
|
+
title: confirmText,
|
|
119
|
+
variant: "primary",
|
|
120
|
+
onPress: onConfirm,
|
|
121
|
+
style: {
|
|
122
|
+
flex: 1,
|
|
123
|
+
marginLeft: 8
|
|
124
|
+
}
|
|
125
|
+
})]
|
|
126
|
+
})]
|
|
127
|
+
})
|
|
128
|
+
})
|
|
129
|
+
})]
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
const styles = _reactNative.StyleSheet.create({
|
|
133
|
+
root: {
|
|
134
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
135
|
+
zIndex: 9999,
|
|
136
|
+
justifyContent: 'center',
|
|
137
|
+
alignItems: 'center',
|
|
138
|
+
padding: 20
|
|
139
|
+
},
|
|
140
|
+
backdrop: {
|
|
141
|
+
..._reactNative.StyleSheet.absoluteFillObject
|
|
142
|
+
},
|
|
143
|
+
dialogContainer: {
|
|
144
|
+
width: '100%',
|
|
145
|
+
maxWidth: 400
|
|
146
|
+
},
|
|
147
|
+
modalGlass: {
|
|
148
|
+
width: '100%',
|
|
149
|
+
overflow: 'hidden'
|
|
150
|
+
},
|
|
151
|
+
innerContent: {
|
|
152
|
+
padding: 24
|
|
153
|
+
},
|
|
154
|
+
title: {
|
|
155
|
+
fontSize: 20,
|
|
156
|
+
fontWeight: 'bold',
|
|
157
|
+
marginBottom: 8
|
|
158
|
+
},
|
|
159
|
+
description: {
|
|
160
|
+
fontSize: 16,
|
|
161
|
+
marginBottom: 24,
|
|
162
|
+
lineHeight: 22
|
|
163
|
+
},
|
|
164
|
+
footer: {
|
|
165
|
+
flexDirection: 'row',
|
|
166
|
+
justifyContent: 'space-between'
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
//# sourceMappingURL=FluentGlassDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_FluentGlass","_interopRequireDefault","_FluentGlassButton","_useTheme","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FluentGlassDialog","visible","onClose","title","description","onConfirm","confirmText","cancelText","theme","useTheme","COLORS","colors","typography","scale","useSharedValue","opacity","mounted","setMounted","React","useState","useEffect","requestAnimationFrame","value","withSpring","withTiming","duration","timer","setTimeout","clearTimeout","backdropStyle","useAnimatedStyle","cardStyle","transform","jsxs","View","style","styles","root","pointerEvents","accessibilityViewIsModal","children","jsx","backdrop","backgroundColor","overlay","Pressable","StyleSheet","absoluteFill","onPress","accessibilityRole","accessibilityLabel","dialogContainer","modalGlass","intensity","borderRadius","innerContent","Text","color","textPrimary","fontFamily","bold","textSecondary","regular","footer","variant","flex","marginRight","marginLeft","create","absoluteFillObject","zIndex","justifyContent","alignItems","padding","width","maxWidth","overflow","fontSize","fontWeight","marginBottom","lineHeight","flexDirection"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassDialog.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FluentGlassDock;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
+
var _FluentGlass = _interopRequireDefault(require("./FluentGlass"));
|
|
11
|
+
var _useTheme = _interopRequireDefault(require("../theme/useTheme"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
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
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
const ITEM_SIZE = 56;
|
|
16
|
+
const ITEM_GAP = 16;
|
|
17
|
+
const PAD_H = 24;
|
|
18
|
+
const SPRING_CONFIG = {
|
|
19
|
+
mass: 0.8,
|
|
20
|
+
damping: 14,
|
|
21
|
+
stiffness: 100,
|
|
22
|
+
overshootClamping: false
|
|
23
|
+
};
|
|
24
|
+
// Internal Dock Item Component
|
|
25
|
+
function DockItem({
|
|
26
|
+
icon,
|
|
27
|
+
label,
|
|
28
|
+
onPress,
|
|
29
|
+
isActive,
|
|
30
|
+
accentColor
|
|
31
|
+
}) {
|
|
32
|
+
const progress = (0, _reactNativeReanimated.useSharedValue)(isActive ? 1 : 0);
|
|
33
|
+
_react.default.useEffect(() => {
|
|
34
|
+
progress.value = (0, _reactNativeReanimated.withSpring)(isActive ? 1 : 0, SPRING_CONFIG);
|
|
35
|
+
}, [isActive]);
|
|
36
|
+
|
|
37
|
+
// Icon Scale
|
|
38
|
+
const iconStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
39
|
+
transform: [{
|
|
40
|
+
scale: 1 + progress.value * 0.15
|
|
41
|
+
}]
|
|
42
|
+
}));
|
|
43
|
+
|
|
44
|
+
// Dot Appearance
|
|
45
|
+
const dotStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
46
|
+
opacity: progress.value,
|
|
47
|
+
transform: [{
|
|
48
|
+
scale: progress.value
|
|
49
|
+
}]
|
|
50
|
+
}));
|
|
51
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
52
|
+
onPress: onPress,
|
|
53
|
+
accessibilityRole: "tab",
|
|
54
|
+
accessibilityLabel: label ?? 'Dock item',
|
|
55
|
+
accessibilityState: {
|
|
56
|
+
selected: isActive
|
|
57
|
+
},
|
|
58
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
|
|
59
|
+
style: styles.itemWrapper,
|
|
60
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlass.default, {
|
|
61
|
+
style: styles.itemContainer,
|
|
62
|
+
intensity: 25,
|
|
63
|
+
borderRadius: 16,
|
|
64
|
+
borderOpacity: 0.2,
|
|
65
|
+
tint: "dark",
|
|
66
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
67
|
+
style: [styles.centeredContent, iconStyle],
|
|
68
|
+
children: icon
|
|
69
|
+
})
|
|
70
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
71
|
+
style: [styles.dot, dotStyle, {
|
|
72
|
+
backgroundColor: accentColor
|
|
73
|
+
}]
|
|
74
|
+
})]
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* FluentGlassDock (Component)
|
|
80
|
+
* Floating bottom navigation bar with sliding glow indicator.
|
|
81
|
+
*/
|
|
82
|
+
function FluentGlassDock({
|
|
83
|
+
items,
|
|
84
|
+
activeIndex,
|
|
85
|
+
onSelect,
|
|
86
|
+
floating = true,
|
|
87
|
+
style
|
|
88
|
+
}) {
|
|
89
|
+
const theme = (0, _useTheme.default)();
|
|
90
|
+
const themeColors = theme.colors;
|
|
91
|
+
|
|
92
|
+
// Sliding indicator position
|
|
93
|
+
const translateX = (0, _reactNativeReanimated.useSharedValue)(activeIndex * (ITEM_SIZE + ITEM_GAP));
|
|
94
|
+
_react.default.useEffect(() => {
|
|
95
|
+
translateX.value = (0, _reactNativeReanimated.withSpring)(activeIndex * (ITEM_SIZE + ITEM_GAP), {
|
|
96
|
+
mass: 0.4,
|
|
97
|
+
damping: 18,
|
|
98
|
+
stiffness: 200,
|
|
99
|
+
overshootClamping: false
|
|
100
|
+
});
|
|
101
|
+
}, [activeIndex]);
|
|
102
|
+
const slidingStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
103
|
+
transform: [{
|
|
104
|
+
translateX: translateX.value
|
|
105
|
+
}]
|
|
106
|
+
}));
|
|
107
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
108
|
+
style: [floating ? styles.dockWrapperFloating : styles.dockWrapperRelative, style],
|
|
109
|
+
accessibilityRole: "toolbar",
|
|
110
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluentGlass.default, {
|
|
111
|
+
style: styles.dockPill,
|
|
112
|
+
intensity: 20,
|
|
113
|
+
borderRadius: 32,
|
|
114
|
+
borderOpacity: 0.1,
|
|
115
|
+
tint: "dark",
|
|
116
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
117
|
+
style: styles.itemsRow,
|
|
118
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
119
|
+
style: [styles.slidingIndicator, slidingStyle, {
|
|
120
|
+
backgroundColor: themeColors.accent + '20',
|
|
121
|
+
borderColor: themeColors.accent + '60'
|
|
122
|
+
}]
|
|
123
|
+
}), items.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(DockItem, {
|
|
124
|
+
icon: item.icon,
|
|
125
|
+
label: item.label,
|
|
126
|
+
isActive: activeIndex === index,
|
|
127
|
+
onPress: () => onSelect(index),
|
|
128
|
+
accentColor: themeColors.accent
|
|
129
|
+
}, index))]
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
const styles = _reactNative.StyleSheet.create({
|
|
135
|
+
dockWrapperFloating: {
|
|
136
|
+
position: 'absolute',
|
|
137
|
+
bottom: 34,
|
|
138
|
+
width: '100%',
|
|
139
|
+
alignItems: 'center',
|
|
140
|
+
paddingHorizontal: 20,
|
|
141
|
+
zIndex: 100
|
|
142
|
+
},
|
|
143
|
+
dockWrapperRelative: {
|
|
144
|
+
width: '100%',
|
|
145
|
+
alignItems: 'center',
|
|
146
|
+
paddingVertical: 20
|
|
147
|
+
},
|
|
148
|
+
dockPill: {
|
|
149
|
+
// Auto width based on content
|
|
150
|
+
},
|
|
151
|
+
itemsRow: {
|
|
152
|
+
flexDirection: 'row',
|
|
153
|
+
alignItems: 'flex-end',
|
|
154
|
+
gap: ITEM_GAP,
|
|
155
|
+
paddingVertical: 12,
|
|
156
|
+
paddingHorizontal: PAD_H
|
|
157
|
+
},
|
|
158
|
+
slidingIndicator: {
|
|
159
|
+
position: 'absolute',
|
|
160
|
+
top: 12,
|
|
161
|
+
left: PAD_H,
|
|
162
|
+
width: ITEM_SIZE,
|
|
163
|
+
height: ITEM_SIZE,
|
|
164
|
+
borderRadius: 16,
|
|
165
|
+
borderWidth: 1
|
|
166
|
+
},
|
|
167
|
+
itemWrapper: {
|
|
168
|
+
alignItems: 'center',
|
|
169
|
+
marginBottom: 4
|
|
170
|
+
},
|
|
171
|
+
itemContainer: {
|
|
172
|
+
width: ITEM_SIZE,
|
|
173
|
+
height: ITEM_SIZE
|
|
174
|
+
},
|
|
175
|
+
centeredContent: {
|
|
176
|
+
flex: 1,
|
|
177
|
+
alignItems: 'center',
|
|
178
|
+
justifyContent: 'center'
|
|
179
|
+
},
|
|
180
|
+
dot: {
|
|
181
|
+
width: 4,
|
|
182
|
+
height: 4,
|
|
183
|
+
borderRadius: 2,
|
|
184
|
+
marginTop: 6
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=FluentGlassDock.js.map
|