@koine/react 2.0.0-beta.1 → 2.0.0-beta.11
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/Alert/Alert.mjs +19 -7
- package/Alert/Alert.stories.mjs +18 -0
- package/Animations/Reveal.mjs +39 -13
- package/Animations/Underline.d.ts +1 -1
- package/Animations/Underline.mjs +14 -4
- package/Animations/useReveal.mjs +42 -40
- package/Autocomplete/AutocompleteDownshift.mjs +156 -157
- package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +351 -352
- package/Autocomplete/AutocompleteMui.d.ts +1 -1
- package/Autocomplete/AutocompleteMui.mjs +126 -89
- package/Autocomplete/AutocompleteReach.mjs +110 -111
- package/Autocomplete/components.d.ts +12 -16
- package/Autocomplete/components.mjs +76 -23
- package/Autocomplete/helpers.mjs +11 -5
- package/Autocomplete/index.mjs +4 -3
- package/Bg/BgColor.d.ts +2 -7
- package/Bg/BgColor.mjs +36 -15
- package/Bg/BgPhoto.mjs +66 -11
- package/Bg/BgSvg.mjs +17 -7
- package/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/Breadcrumbs/Breadcrumbs.mjs +82 -18
- package/Buttons/Button.d.ts +1 -1
- package/Buttons/Button.mjs +73 -9
- package/Buttons/ButtonComposite.d.ts +1 -1
- package/Buttons/ButtonComposite.mjs +99 -22
- package/Buttons/ButtonFab.d.ts +1 -3
- package/Buttons/ButtonFab.mjs +6 -4
- package/Buttons/ButtonLink.d.ts +1 -1
- package/Buttons/ButtonLink.mjs +14 -7
- package/Buttons/IconButton.d.ts +1 -3
- package/Buttons/IconButton.mjs +18 -6
- package/Calendar/CalendarDaygridCell.d.ts +2 -2
- package/Calendar/CalendarDaygridCell.mjs +64 -26
- package/Calendar/CalendarDaygridNav.d.ts +1 -1
- package/Calendar/CalendarDaygridNav.mjs +41 -12
- package/Calendar/CalendarDaygridTable.d.ts +3 -3
- package/Calendar/CalendarDaygridTable.mjs +97 -30
- package/Calendar/CalendarLegend.d.ts +1 -1
- package/Calendar/CalendarLegend.mjs +20 -6
- package/Calendar/calendar-api-google.d.ts +1 -1
- package/Calendar/calendar-api-google.mjs +75 -105
- package/Calendar/types.mjs +1 -1
- package/Calendar/useCalendar.d.ts +2 -2
- package/Calendar/useCalendar.mjs +184 -142
- package/Calendar/utils.mjs +101 -94
- package/Carousel/Carousel.mjs +377 -378
- package/Carousel/CarouselCss.d.ts +3 -20
- package/Carousel/CarouselCss.mjs +38 -16
- package/Collapsable/Collapsable.mjs +1 -1
- package/Collapsable/CollapsableReach.mjs +1 -3
- package/Collapsable/index.mjs +1 -2
- package/Debug/Debug.mjs +20 -6
- package/Details/Details.d.ts +5 -5
- package/Details/Details.mjs +64 -37
- package/Details/Details.stories.mjs +21 -0
- package/Dialog/DialogMui.d.ts +10 -327
- package/Dialog/DialogMui.mjs +50 -25
- package/Dialog/DialogMui.stories.mjs +20 -0
- package/Dialog/css/bare.d.ts +9 -327
- package/Dialog/css/bare.mjs +15 -17
- package/Dialog/css/index.stories.mjs +75 -0
- package/Dialog/m/bare.d.ts +2 -398
- package/Dialog/m/bare.mjs +114 -51
- package/Dialog/m/basic.mjs +10 -10
- package/Dialog/m/index.mjs +4 -4
- package/Dialog/sc/bare.d.ts +27 -405
- package/Dialog/sc/bare.mjs +40 -29
- package/Dialog/sc/framer.d.ts +15 -422
- package/Dialog/sc/framer.mjs +9 -9
- package/Dialog/sc/framerMaterial.d.ts +15 -422
- package/Dialog/sc/framerMaterial.mjs +9 -9
- package/Dialog/sc/index.stories.mjs +48 -0
- package/Dialog/sc/material.d.ts +27 -405
- package/Dialog/sc/material.mjs +37 -17
- package/Dialog/tw/bare.d.ts +9 -327
- package/Dialog/tw/bare.mjs +15 -28
- package/Dialog/tw/elegant.d.ts +9 -327
- package/Dialog/tw/elegant.mjs +15 -17
- package/Dialog/tw/framer.d.ts +3 -354
- package/Dialog/tw/framer.mjs +9 -9
- package/Dialog/tw/framerMaterial.d.ts +3 -354
- package/Dialog/tw/framerMaterial.mjs +9 -9
- package/Dialog/tw/index.stories.mjs +83 -0
- package/Dialog/tw/material.d.ts +9 -327
- package/Dialog/tw/material.mjs +15 -17
- package/Editor/Editor--tiptap.d.ts +1 -1
- package/Editor/Editor--tiptap.mjs +45 -18
- package/Editor/components.d.ts +3 -5
- package/Editor/components.mjs +26 -8
- package/FaviconTags.mjs +64 -0
- package/Form/Form.mjs +81 -47
- package/Form/sc/bare.d.ts +11 -11
- package/Form/sc/bare.mjs +21 -12
- package/Forms/Checkbox/Checkbox.d.ts +4 -4
- package/Forms/Checkbox/Checkbox.mjs +29 -11
- package/Forms/Feedback/Feedback.mjs +11 -6
- package/Forms/Field/Field.d.ts +2 -4
- package/Forms/Field/Field.mjs +35 -16
- package/Forms/Field/FieldControl.mjs +39 -19
- package/Forms/Field/FieldHint.d.ts +1 -1
- package/Forms/Field/FieldHint.mjs +5 -3
- package/Forms/Input/Input.d.ts +5 -5
- package/Forms/Input/Input.mjs +30 -11
- package/Forms/InputGroup/InputGroup.d.ts +4 -4
- package/Forms/InputGroup/InputGroup.mjs +52 -10
- package/Forms/Label/Label.d.ts +1 -1
- package/Forms/Label/Label.mjs +23 -5
- package/Forms/Password/Password.d.ts +1 -1
- package/Forms/Password/Password.mjs +48 -12
- package/Forms/Radio/Radio.mjs +50 -18
- package/Forms/Switch/Switch.d.ts +2 -2
- package/Forms/Switch/Switch.mjs +52 -12
- package/Forms/Textarea/Textarea.d.ts +1 -1
- package/Forms/Textarea/Textarea.mjs +21 -7
- package/Forms/Textarea/TextareaRich.mjs +39 -19
- package/Forms/Toggle/Toggle-tailwind.mjs +0 -1
- package/Forms/Toggle/Toggle.d.ts +7 -7
- package/Forms/Toggle/Toggle.mjs +113 -21
- package/Forms/Toggle/useToggle-tailwind.mjs +0 -1
- package/Forms/Toggle/useToggle.mjs +86 -68
- package/Forms/antispam.mjs +19 -21
- package/Forms/helpers.mjs +25 -19
- package/Forms/styles.d.ts +3 -7
- package/Forms/styles.mjs +50 -18
- package/Gauge/Gauge.mjs +99 -100
- package/Grid/Grid.d.ts +7 -30
- package/Grid/Grid.mjs +54 -32
- package/Hamburger/Hamburger.mjs +64 -37
- package/Header/useHeader.mjs +23 -18
- package/Hidden/Hidden.d.ts +1 -1
- package/Hidden/Hidden.mjs +9 -9
- package/Img/sc/bare.d.ts +1 -1
- package/Img/sc/bare.mjs +31 -34
- package/Img/types.mjs +1 -1
- package/Link/Link.d.ts +1 -3
- package/Link/Link.mjs +1 -3
- package/Link/LinkBlank.d.ts +2 -5
- package/Link/LinkBlank.mjs +25 -10
- package/Menu/Menu.d.ts +1 -1
- package/Menu/Menu.mjs +10 -3
- package/Menu/MenuMui.mjs +1 -2
- package/MenuItem/MenuItem.d.ts +1 -4
- package/MenuItem/MenuItem.mjs +19 -3
- package/MenuItem/MenuItemMui.mjs +0 -1
- package/MenuItem/useMenuItem.mjs +45 -27
- package/Meta/Meta.mjs +5 -3
- package/NoJs/NoJs.mjs +7 -4
- package/Pagination/PaginationNav.d.ts +1 -1
- package/Pagination/PaginationNav.mjs +90 -29
- package/Pagination/PaginationResults.mjs +31 -8
- package/Pill/Pill.d.ts +4 -4
- package/Pill/Pill.mjs +36 -6
- package/Progress/ProgressCircular.mjs +48 -10
- package/Progress/ProgressLinear.mjs +39 -19
- package/Progress/ProgressOverlay.mjs +56 -16
- package/Rating/Rating.d.ts +5 -5
- package/Rating/Rating.mjs +118 -34
- package/Rating/index.mjs +37 -24
- package/Select/SelectDownshift.mjs +37 -38
- package/Select/components.d.ts +1 -1
- package/Select/components.mjs +21 -8
- package/Select/index.mjs +2 -3
- package/Sidebar/Sidebar.mjs +57 -17
- package/Spacing/Spacing.d.ts +1 -1
- package/Spacing/Spacing.mjs +27 -17
- package/Sticky/Sticky.mjs +218 -219
- package/Sticky/StickyCss.mjs +8 -4
- package/Sticky/index.mjs +1 -1
- package/Tabs/TabsMui.d.ts +9 -298
- package/Tabs/TabsMui.mjs +39 -27
- package/Tabs/TabsMui.stories.mjs +20 -0
- package/Tabs/sc/bare.mjs +1 -3
- package/Tabs/sc/index.stories.mjs +0 -0
- package/Tabs/tw/bare.d.ts +7 -296
- package/Tabs/tw/bare.mjs +11 -13
- package/Tabs/tw/index.stories.mjs +25 -0
- package/Tabs/tw/material.d.ts +7 -332
- package/Tabs/tw/material.mjs +11 -15
- package/Tabs/useTabs.mjs +24 -21
- package/Typography/CopyPasteVisible.d.ts +1 -1
- package/Typography/CopyPasteVisible.mjs +5 -3
- package/Typography/Native.d.ts +5 -5
- package/Typography/Native.mjs +45 -12
- package/Typography/ReadMore.mjs +100 -29
- package/Typography/TextLoop.mjs +75 -31
- package/Typography/TypeStairs.mjs +36 -24
- package/css/index.mjs +20 -21
- package/helpers/classed.mjs +21 -30
- package/helpers/classed.stories.mjs +121 -0
- package/helpers/createUseMediaQueryWidth.mjs +140 -140
- package/helpers/extend-component.mjs +7 -7
- package/helpers/mergeRefs.mjs +3 -4
- package/hooks/index.mjs +3 -3
- package/hooks/types.mjs +3 -1
- package/hooks/useAsyncFn.mjs +28 -26
- package/hooks/useDateLocale.mjs +22 -22
- package/hooks/useFirstMountState.mjs +2 -3
- package/hooks/useFixedOffset.mjs +23 -24
- package/hooks/useFocus.mjs +7 -5
- package/hooks/useInterval.mjs +15 -14
- package/hooks/useIsomorphicLayoutEffect.mjs +1 -4
- package/hooks/useKeyUp.mjs +9 -11
- package/hooks/useMeasure.mjs +74 -67
- package/hooks/useMountedState.mjs +5 -6
- package/hooks/useNavigateAway.mjs +26 -25
- package/hooks/usePrevious.mjs +9 -4
- package/hooks/usePreviousRef.mjs +2 -2
- package/hooks/useScrollPosition.mjs +28 -26
- package/hooks/useScrollThreshold.mjs +18 -13
- package/hooks/useScrollTo.mjs +6 -8
- package/hooks/useSmoothScroll.mjs +12 -16
- package/hooks/useSpinDelay.mjs +24 -22
- package/hooks/useTraceUpdate.mjs +8 -7
- package/hooks/useUpdateEffect.mjs +4 -5
- package/hooks/useWindowSize.mjs +13 -10
- package/index.mjs +4 -5
- package/m/MotionProvider.mjs +5 -4
- package/m/index.mjs +1 -2
- package/package.json +17 -18
- package/shared/index.mjs +35 -0
- package/styles/Body.d.ts +2 -2
- package/styles/Body.mjs +8 -5
- package/styles/Global.mjs +36 -5
- package/styles/index.mjs +5 -5
- package/styles/media.mjs +63 -68
- package/styles/spacing.mjs +26 -25
- package/styles/styled.mjs +23 -10
- package/styles/theme--vanilla.mjs +26 -19
- package/styles/theme.mjs +16 -19
- package/tw/index.mjs +20 -21
- package/twm/index.mjs +20 -21
- package/types.mjs +1 -1
- package/typings.d.ts +1 -0
- package/Alert/Alert.js +0 -14
- package/Alert/index.js +0 -4
- package/Alert/package.json +0 -6
- package/Animations/Reveal.js +0 -21
- package/Animations/Underline.js +0 -8
- package/Animations/index.js +0 -6
- package/Animations/package.json +0 -6
- package/Animations/useReveal.js +0 -75
- package/Autocomplete/AutocompleteDownshift.js +0 -161
- package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -356
- package/Autocomplete/AutocompleteMui.js +0 -180
- package/Autocomplete/AutocompleteReach.js +0 -115
- package/Autocomplete/components.js +0 -37
- package/Autocomplete/helpers.js +0 -34
- package/Autocomplete/index.js +0 -7
- package/Autocomplete/package.json +0 -6
- package/Bg/BgColor.js +0 -25
- package/Bg/BgPhoto.js +0 -20
- package/Bg/BgSvg.js +0 -16
- package/Bg/index.js +0 -6
- package/Bg/package.json +0 -6
- package/Breadcrumbs/Breadcrumbs.js +0 -31
- package/Breadcrumbs/index.js +0 -4
- package/Breadcrumbs/package.json +0 -6
- package/Buttons/Button.js +0 -17
- package/Buttons/ButtonComposite.js +0 -32
- package/Buttons/ButtonFab.js +0 -9
- package/Buttons/ButtonLink.js +0 -15
- package/Buttons/IconButton.js +0 -10
- package/Buttons/index.js +0 -8
- package/Buttons/package.json +0 -6
- package/Calendar/CalendarDaygridCell.js +0 -61
- package/Calendar/CalendarDaygridNav.js +0 -28
- package/Calendar/CalendarDaygridTable.js +0 -52
- package/Calendar/CalendarLegend.js +0 -19
- package/Calendar/calendar-api-google.js +0 -133
- package/Calendar/index.js +0 -9
- package/Calendar/package.json +0 -6
- package/Calendar/types.js +0 -2
- package/Calendar/useCalendar.js +0 -187
- package/Calendar/utils.js +0 -215
- package/Carousel/Carousel.js +0 -381
- package/Carousel/CarouselCss.js +0 -26
- package/Carousel/index.js +0 -4
- package/Carousel/package.json +0 -6
- package/Collapsable/Collapsable.js +0 -4
- package/Collapsable/CollapsableReach.js +0 -252
- package/Collapsable/index.js +0 -5
- package/Collapsable/package.json +0 -6
- package/Debug/Debug.js +0 -13
- package/Debug/index.js +0 -4
- package/Debug/package.json +0 -6
- package/Details/Details.js +0 -66
- package/Details/index.js +0 -4
- package/Details/package.json +0 -6
- package/Dialog/DialogMui.js +0 -83
- package/Dialog/css/bare.js +0 -24
- package/Dialog/index.js +0 -5
- package/Dialog/m/bare.js +0 -55
- package/Dialog/m/basic.js +0 -35
- package/Dialog/m/index.js +0 -8
- package/Dialog/m/package.json +0 -6
- package/Dialog/package.json +0 -6
- package/Dialog/sc/bare.js +0 -46
- package/Dialog/sc/framer.js +0 -19
- package/Dialog/sc/framerMaterial.js +0 -19
- package/Dialog/sc/material.js +0 -24
- package/Dialog/tw/bare.js +0 -45
- package/Dialog/tw/elegant.js +0 -23
- package/Dialog/tw/framer.js +0 -19
- package/Dialog/tw/framerMaterial.js +0 -19
- package/Dialog/tw/material.js +0 -23
- package/Editor/Editor--tiptap.js +0 -31
- package/Editor/components.js +0 -15
- package/Editor/index.js +0 -4
- package/Editor/package.json +0 -6
- package/FaviconTags/FaviconTags.js +0 -20
- package/FaviconTags/FaviconTags.mjs +0 -16
- package/FaviconTags/index.d.ts +0 -2
- package/FaviconTags/index.js +0 -7
- package/FaviconTags/index.mjs +0 -2
- package/FaviconTags/package.json +0 -6
- package/Form/Form.js +0 -65
- package/Form/index.js +0 -4
- package/Form/package.json +0 -6
- package/Form/sc/bare.js +0 -23
- package/Forms/Checkbox/Checkbox.js +0 -21
- package/Forms/Checkbox/index.js +0 -4
- package/Forms/Checkbox/package.json +0 -6
- package/Forms/Feedback/Feedback.js +0 -13
- package/Forms/Feedback/index.js +0 -4
- package/Forms/Feedback/package.json +0 -6
- package/Forms/Field/Field.js +0 -35
- package/Forms/Field/FieldControl.js +0 -51
- package/Forms/Field/FieldHint.js +0 -7
- package/Forms/Field/index.js +0 -5
- package/Forms/Field/package.json +0 -6
- package/Forms/Input/Input.js +0 -20
- package/Forms/Input/index.js +0 -4
- package/Forms/Input/package.json +0 -6
- package/Forms/InputGroup/InputGroup.js +0 -19
- package/Forms/InputGroup/index.js +0 -4
- package/Forms/InputGroup/package.json +0 -6
- package/Forms/Label/Label.js +0 -9
- package/Forms/Label/index.js +0 -4
- package/Forms/Label/package.json +0 -6
- package/Forms/Password/Password.js +0 -20
- package/Forms/Password/index.js +0 -4
- package/Forms/Password/package.json +0 -6
- package/Forms/Radio/Radio.js +0 -28
- package/Forms/Radio/index.js +0 -4
- package/Forms/Radio/package.json +0 -6
- package/Forms/Switch/Switch.js +0 -23
- package/Forms/Switch/index.js +0 -4
- package/Forms/Switch/package.json +0 -6
- package/Forms/Textarea/Textarea.js +0 -15
- package/Forms/Textarea/TextareaRich.js +0 -31
- package/Forms/Textarea/index.js +0 -5
- package/Forms/Textarea/package.json +0 -6
- package/Forms/Toggle/Toggle-tailwind.js +0 -99
- package/Forms/Toggle/Toggle.js +0 -36
- package/Forms/Toggle/index.js +0 -4
- package/Forms/Toggle/package.json +0 -6
- package/Forms/Toggle/useToggle-tailwind.js +0 -202
- package/Forms/Toggle/useToggle.js +0 -149
- package/Forms/antispam.js +0 -66
- package/Forms/helpers.js +0 -54
- package/Forms/index.js +0 -19
- package/Forms/package.json +0 -6
- package/Forms/styles.js +0 -32
- package/Gauge/Gauge.js +0 -106
- package/Grid/Grid.js +0 -56
- package/Grid/index.js +0 -4
- package/Grid/package.json +0 -6
- package/Hamburger/Hamburger.js +0 -56
- package/Hamburger/index.js +0 -4
- package/Hamburger/package.json +0 -6
- package/Header/index.js +0 -4
- package/Header/package.json +0 -6
- package/Header/useHeader.js +0 -35
- package/Hidden/Hidden.js +0 -13
- package/Hidden/index.js +0 -4
- package/Hidden/package.json +0 -6
- package/Img/index.js +0 -4
- package/Img/package.json +0 -6
- package/Img/sc/bare.js +0 -42
- package/Img/types.js +0 -2
- package/Link/Link.js +0 -7
- package/Link/LinkBlank.js +0 -21
- package/Link/index.js +0 -5
- package/Link/package.json +0 -6
- package/Menu/Menu.js +0 -7
- package/Menu/MenuMui.js +0 -165
- package/Menu/index.js +0 -4
- package/Menu/package.json +0 -6
- package/MenuItem/MenuItem.js +0 -7
- package/MenuItem/MenuItemMui.js +0 -32
- package/MenuItem/index.js +0 -4
- package/MenuItem/package.json +0 -6
- package/MenuItem/useMenuItem.js +0 -64
- package/Meta/Meta.js +0 -10
- package/Meta/index.js +0 -7
- package/Meta/package.json +0 -6
- package/NoJs/NoJs.js +0 -11
- package/NoJs/index.js +0 -7
- package/NoJs/package.json +0 -6
- package/Pagination/PaginationNav.js +0 -65
- package/Pagination/PaginationResults.js +0 -15
- package/Pagination/index.js +0 -5
- package/Pagination/package.json +0 -6
- package/Pill/Pill.js +0 -10
- package/Pill/index.js +0 -4
- package/Pill/package.json +0 -6
- package/Progress/ProgressCircular.js +0 -19
- package/Progress/ProgressLinear.js +0 -28
- package/Progress/ProgressOverlay.js +0 -28
- package/Progress/index.js +0 -6
- package/Progress/package.json +0 -6
- package/Rating/Rating.js +0 -75
- package/Rating/index.js +0 -57
- package/Rating/package.json +0 -6
- package/Select/SelectDownshift.js +0 -41
- package/Select/components.js +0 -15
- package/Select/index.js +0 -7
- package/Select/package.json +0 -6
- package/Sidebar/Sidebar.js +0 -27
- package/Sidebar/index.js +0 -4
- package/Sidebar/package.json +0 -6
- package/Spacing/Spacing.js +0 -49
- package/Spacing/index.js +0 -4
- package/Spacing/package.json +0 -6
- package/Sticky/Sticky.js +0 -222
- package/Sticky/StickyCss.js +0 -10
- package/Sticky/index.js +0 -5
- package/Sticky/package.json +0 -6
- package/Tabs/TabsMui.js +0 -52
- package/Tabs/index.js +0 -4
- package/Tabs/package.json +0 -6
- package/Tabs/sc/bare.js +0 -87
- package/Tabs/tw/bare.js +0 -20
- package/Tabs/tw/material.js +0 -21
- package/Tabs/useTabs.js +0 -47
- package/Typography/CopyPasteVisible.js +0 -7
- package/Typography/Native.js +0 -17
- package/Typography/ReadMore.js +0 -47
- package/Typography/TextLoop.js +0 -51
- package/Typography/TypeStairs.js +0 -52
- package/Typography/index.js +0 -8
- package/Typography/package.json +0 -6
- package/css/index.js +0 -36
- package/css/package.json +0 -6
- package/helpers/classed.js +0 -78
- package/helpers/createUseMediaQueryWidth.js +0 -183
- package/helpers/extend-component.js +0 -17
- package/helpers/index.js +0 -7
- package/helpers/mergeRefs.js +0 -17
- package/helpers/package.json +0 -6
- package/hooks/index.js +0 -44
- package/hooks/package.json +0 -6
- package/hooks/types.js +0 -2
- package/hooks/useAsyncFn.js +0 -41
- package/hooks/useDateLocale.js +0 -41
- package/hooks/useFirstMountState.js +0 -17
- package/hooks/useFixedOffset.js +0 -62
- package/hooks/useFocus.js +0 -16
- package/hooks/useInterval.js +0 -32
- package/hooks/useIsomorphicLayoutEffect.js +0 -13
- package/hooks/useKeyUp.js +0 -27
- package/hooks/useMeasure.js +0 -171
- package/hooks/useMountedState.js +0 -20
- package/hooks/useNavigateAway.js +0 -73
- package/hooks/usePrevious.js +0 -16
- package/hooks/usePreviousRef.js +0 -13
- package/hooks/useScrollPosition.js +0 -73
- package/hooks/useScrollThreshold.js +0 -33
- package/hooks/useScrollTo.js +0 -27
- package/hooks/useSmoothScroll.js +0 -44
- package/hooks/useSpinDelay.js +0 -54
- package/hooks/useTraceUpdate.js +0 -26
- package/hooks/useUpdateEffect.js +0 -19
- package/hooks/useWindowSize.js +0 -34
- package/index.js +0 -8
- package/m/MotionProvider.js +0 -43
- package/m/index.js +0 -9
- package/m/lite.js +0 -4
- package/m/max.js +0 -4
- package/m/package.json +0 -6
- package/sc/index.js +0 -37
- package/sc/package.json +0 -6
- package/scm/index.js +0 -36
- package/scm/package.json +0 -6
- package/shared/index.js +0 -11
- package/shared/package.json +0 -6
- package/styles/Body.js +0 -16
- package/styles/Global.js +0 -21
- package/styles/index.js +0 -41
- package/styles/media.js +0 -161
- package/styles/package.json +0 -6
- package/styles/spacing.js +0 -52
- package/styles/styled.js +0 -17
- package/styles/theme--vanilla.js +0 -64
- package/styles/theme.js +0 -45
- package/tw/index.js +0 -36
- package/tw/package.json +0 -6
- package/twm/index.js +0 -36
- package/twm/package.json +0 -6
- package/types.js +0 -2
- /package/{FaviconTags/FaviconTags.d.ts → FaviconTags.d.ts} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
2
|
import { useCallback, useMemo } from "react";
|
|
4
3
|
import { useWatch } from "react-hook-form";
|
|
5
4
|
import { InputInvisible } from "../styles";
|
|
@@ -31,27 +30,21 @@ import { InputInvisible } from "../styles";
|
|
|
31
30
|
*
|
|
32
31
|
* To enable this mode either pass the props `valueTrue` and `valueFalse` or
|
|
33
32
|
* an array of options with the shape of `Option`
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
var id = restProps.id, valueTrue = restProps.valueTrue, valueFalse = restProps.valueFalse,
|
|
38
|
-
// defaultChecked,
|
|
33
|
+
*/ export function useToggle(props, ref) {
|
|
34
|
+
const { name, control, register, label, options, value: propValue, ...restProps } = props;
|
|
35
|
+
let { id, valueTrue, valueFalse, // defaultChecked,
|
|
39
36
|
// defaultValue,
|
|
40
37
|
// eslint-disable-next-line prefer-const
|
|
41
|
-
remainingInputProps =
|
|
38
|
+
...remainingInputProps } = restProps;
|
|
42
39
|
// use options data convention to pass on the true/false values
|
|
43
40
|
if (options) {
|
|
44
|
-
valueTrue = options
|
|
45
|
-
|
|
46
|
-
.label.toString();
|
|
47
|
-
valueFalse = options
|
|
48
|
-
.filter(function (opt) { return opt.value === "false"; })[0]
|
|
49
|
-
.label.toString();
|
|
41
|
+
valueTrue = options.filter((opt)=>opt.value === "true")[0].label.toString();
|
|
42
|
+
valueFalse = options.filter((opt)=>opt.value === "false")[0].label.toString();
|
|
50
43
|
}
|
|
51
|
-
id =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
id = `switch-${name}`;
|
|
45
|
+
const idTrue = `${id}-true`;
|
|
46
|
+
const idFalse = `${id}-false`;
|
|
47
|
+
const isRadio = !!(valueTrue && valueFalse);
|
|
55
48
|
// // manage default values for both toggle modes
|
|
56
49
|
// defaultChecked = isUndefined(defaultChecked) ? false : defaultChecked;
|
|
57
50
|
// // TODO: maybe throw an error if the defaultValue that arrives here is not
|
|
@@ -62,10 +55,9 @@ export function useToggle(props, ref) {
|
|
|
62
55
|
// : valueFalse;
|
|
63
56
|
// get the value either from the uncontrolled watched input or from the given
|
|
64
57
|
// prop to control the component
|
|
65
|
-
|
|
66
|
-
name
|
|
67
|
-
control
|
|
68
|
-
// defaultValue: isRadio ? defaultValue : defaultChecked,
|
|
58
|
+
let value = useWatch({
|
|
59
|
+
name,
|
|
60
|
+
control
|
|
69
61
|
});
|
|
70
62
|
if (propValue) {
|
|
71
63
|
value = propValue;
|
|
@@ -74,60 +66,85 @@ export function useToggle(props, ref) {
|
|
|
74
66
|
// a `register` function, then check if we have a `control` object or just
|
|
75
67
|
// rely on the `name` prop and `ref`, they probably would be passed alongside
|
|
76
68
|
// an `onChange` prop that is spreaded on the inputs
|
|
77
|
-
|
|
78
|
-
return register
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
69
|
+
const inputProps = useMemo(()=>{
|
|
70
|
+
return register ? register(name) : control ? control.register(name) : {
|
|
71
|
+
name,
|
|
72
|
+
ref
|
|
73
|
+
};
|
|
74
|
+
}, [
|
|
75
|
+
register,
|
|
76
|
+
control,
|
|
77
|
+
name,
|
|
78
|
+
ref
|
|
79
|
+
]);
|
|
87
80
|
/**
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
var handleKeyDown = useCallback(function (event) {
|
|
81
|
+
* Accessibility.
|
|
82
|
+
*
|
|
83
|
+
* Fake the spacebar keyboard behaviour on the radio mode of the checkbox.
|
|
84
|
+
* Without this *only* the arrow keys would change the checkbox state
|
|
85
|
+
*/ const handleKeyDown = useCallback((event)=>{
|
|
94
86
|
if (event.key === " ") {
|
|
95
87
|
event.preventDefault();
|
|
96
88
|
event.stopPropagation();
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
89
|
+
const firstInput = event.target;
|
|
90
|
+
const next = firstInput.nextElementSibling;
|
|
91
|
+
const prev = firstInput.previousElementSibling;
|
|
92
|
+
const secondInput = next?.tagName === "INPUT" ? next : prev;
|
|
93
|
+
let target = firstInput;
|
|
102
94
|
if (firstInput.checked) {
|
|
103
95
|
target = secondInput;
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
96
|
+
} else {
|
|
106
97
|
if (!secondInput.checked) {
|
|
107
|
-
target =
|
|
108
|
-
firstInput.value === valueTrue ? firstInput : secondInput;
|
|
98
|
+
target = firstInput.value === valueTrue ? firstInput : secondInput;
|
|
109
99
|
}
|
|
110
100
|
}
|
|
111
|
-
if (target)
|
|
112
|
-
target.click();
|
|
101
|
+
if (target) target.click();
|
|
113
102
|
}
|
|
114
|
-
}, [
|
|
103
|
+
}, [
|
|
104
|
+
valueTrue
|
|
105
|
+
]);
|
|
115
106
|
// collect all the return values that are dependent on the current value
|
|
116
107
|
// of the input
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
108
|
+
const valueDependentProps = useMemo(()=>({
|
|
109
|
+
rootProps: {
|
|
110
|
+
htmlFor: isRadio ? !value || value === valueFalse ? idTrue : idFalse : id
|
|
111
|
+
},
|
|
112
|
+
label: label ? label : value,
|
|
113
|
+
value
|
|
114
|
+
}), [
|
|
115
|
+
value,
|
|
116
|
+
valueFalse,
|
|
117
|
+
isRadio,
|
|
118
|
+
id,
|
|
119
|
+
idTrue,
|
|
120
|
+
idFalse,
|
|
121
|
+
label
|
|
122
|
+
]);
|
|
123
|
+
const Inputs = useMemo(()=>isRadio ? /*#__PURE__*/ _jsxs(_Fragment, {
|
|
124
|
+
children: [
|
|
125
|
+
/*#__PURE__*/ _jsx(InputInvisible, {
|
|
126
|
+
id: idFalse,
|
|
127
|
+
...inputProps,
|
|
128
|
+
...remainingInputProps,
|
|
129
|
+
onKeyDown: handleKeyDown,
|
|
130
|
+
type: "radio",
|
|
131
|
+
value: valueFalse
|
|
132
|
+
}),
|
|
133
|
+
/*#__PURE__*/ _jsx(InputInvisible, {
|
|
134
|
+
id: idTrue,
|
|
135
|
+
...inputProps,
|
|
136
|
+
...remainingInputProps,
|
|
137
|
+
onKeyDown: handleKeyDown,
|
|
138
|
+
type: "radio",
|
|
139
|
+
value: valueTrue
|
|
140
|
+
})
|
|
141
|
+
]
|
|
142
|
+
}) : /*#__PURE__*/ _jsx(InputInvisible, {
|
|
143
|
+
id: id,
|
|
144
|
+
type: "checkbox",
|
|
145
|
+
...inputProps,
|
|
146
|
+
...remainingInputProps
|
|
147
|
+
}), [
|
|
131
148
|
inputProps,
|
|
132
149
|
remainingInputProps,
|
|
133
150
|
handleKeyDown,
|
|
@@ -136,10 +153,11 @@ export function useToggle(props, ref) {
|
|
|
136
153
|
idTrue,
|
|
137
154
|
valueFalse,
|
|
138
155
|
valueTrue,
|
|
139
|
-
id
|
|
140
|
-
// defaultChecked,
|
|
141
|
-
// defaultValue,
|
|
156
|
+
id
|
|
142
157
|
]);
|
|
143
158
|
// console.log("useToggle: render", value);
|
|
144
|
-
return
|
|
159
|
+
return {
|
|
160
|
+
...valueDependentProps,
|
|
161
|
+
Inputs
|
|
162
|
+
};
|
|
145
163
|
}
|
package/Forms/antispam.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { object } from "@kuus/yup";
|
|
2
|
-
import encode from "@koine/utils/encode";
|
|
3
2
|
import decode from "@koine/utils/decode";
|
|
3
|
+
import encode from "@koine/utils/encode";
|
|
4
4
|
import isUndefined from "@koine/utils/isUndefined";
|
|
5
5
|
/**
|
|
6
6
|
* Encode form
|
|
@@ -12,21 +12,23 @@ import isUndefined from "@koine/utils/isUndefined";
|
|
|
12
12
|
* form data not created by user input.
|
|
13
13
|
*
|
|
14
14
|
* FIXME: types https://github.com/jquense/yup/issues/1700
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
encodedNames[name_1] = encodedName;
|
|
15
|
+
*/ export function encodeForm(validationRules) {
|
|
16
|
+
const encoded = {};
|
|
17
|
+
const encodedNames = {};
|
|
18
|
+
for(const name in validationRules){
|
|
19
|
+
if (!name.startsWith("_")) {
|
|
20
|
+
const encodedName = encode(name);
|
|
21
|
+
encoded[encodedName] = validationRules[name];
|
|
22
|
+
encodedNames[name] = encodedName;
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
25
|
// we need `.required()` to correctly infer the type @see
|
|
27
26
|
// https://github.com/jquense/yup/issues/946
|
|
28
|
-
|
|
29
|
-
return {
|
|
27
|
+
const encodedSchema = object(encoded).required();
|
|
28
|
+
return {
|
|
29
|
+
encodedSchema,
|
|
30
|
+
encodedNames
|
|
31
|
+
};
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
34
|
* Decode form data
|
|
@@ -36,21 +38,17 @@ export function encodeForm(validationRules) {
|
|
|
36
38
|
*
|
|
37
39
|
* Here too we skip encoding/decoding process for names prefixed wth an underscore
|
|
38
40
|
* which are considered programmatic form data not created by user input.
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
var decodedName = decode(encodedName);
|
|
41
|
+
*/ export function decodeForm(formData) {
|
|
42
|
+
const json = {};
|
|
43
|
+
for(const encodedName in formData){
|
|
44
|
+
const decodedName = decode(encodedName);
|
|
44
45
|
// always add underscore prefixed names as they are treated as internal
|
|
45
46
|
// private inputs outside of the honeypot system, normalise them here removing
|
|
46
47
|
// the underscore prefix
|
|
47
48
|
if (encodedName.startsWith("_")) {
|
|
48
49
|
// @ts-expect-error nevermind
|
|
49
50
|
json[encodedName.substring(1)] = formData[encodedName];
|
|
50
|
-
}
|
|
51
|
-
// if the decoded `name` is empty and the encoded `name` is defined honeypot passed
|
|
52
|
-
else if (!isUndefined(formData[encodedName]) &&
|
|
53
|
-
formData[decodedName] === "") {
|
|
51
|
+
} else if (!isUndefined(formData[encodedName]) && formData[decodedName] === "") {
|
|
54
52
|
// @ts-expect-error nevermind
|
|
55
53
|
json[decodedName] = formData[encodedName];
|
|
56
54
|
}
|
package/Forms/helpers.mjs
CHANGED
|
@@ -1,36 +1,40 @@
|
|
|
1
1
|
import isString from "@koine/utils/isString";
|
|
2
2
|
import matchSorter from "@koine/utils/matchSorter";
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
value: option,
|
|
10
|
-
}
|
|
11
|
-
: option;
|
|
3
|
+
export const normaliseOptions = (options = [])=>{
|
|
4
|
+
return options.map((option)=>{
|
|
5
|
+
return isString(option) ? {
|
|
6
|
+
label: option,
|
|
7
|
+
value: option
|
|
8
|
+
} : option;
|
|
12
9
|
});
|
|
13
10
|
};
|
|
14
11
|
export function defaultOptionsFilterFn(options, inputValue) {
|
|
15
12
|
if (!inputValue) {
|
|
16
13
|
return options;
|
|
17
14
|
}
|
|
18
|
-
return matchSorter(options, inputValue, {
|
|
15
|
+
return matchSorter(options, inputValue, {
|
|
16
|
+
keys: [
|
|
17
|
+
"value",
|
|
18
|
+
"label"
|
|
19
|
+
]
|
|
20
|
+
});
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* We are faking the native input `onChange` event
|
|
22
|
-
*/
|
|
23
|
-
export function triggerOnChange(onChange, name, value) {
|
|
24
|
+
*/ export function triggerOnChange(onChange, name, value) {
|
|
24
25
|
// @ts-expect-error nevermind
|
|
25
|
-
if (onChange)
|
|
26
|
-
|
|
26
|
+
if (onChange) onChange({
|
|
27
|
+
target: {
|
|
28
|
+
name,
|
|
29
|
+
value
|
|
30
|
+
}
|
|
31
|
+
});
|
|
27
32
|
}
|
|
28
33
|
/**
|
|
29
34
|
* @see https://hustle.bizongo.in/simulate-react-on-change-on-controlled-components-baa336920e04
|
|
30
35
|
* @deprecated
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
var obj = window.Object;
|
|
36
|
+
*/ export function triggerChange(input, value) {
|
|
37
|
+
const obj = window.Object;
|
|
34
38
|
if (!obj) {
|
|
35
39
|
if (process.env["NODE_ENV"] !== "production") {
|
|
36
40
|
console.warn("[@koine/react:Forms:triggerChange] window.Object does not exists, bailing.");
|
|
@@ -38,9 +42,11 @@ export function triggerChange(input, value) {
|
|
|
38
42
|
return;
|
|
39
43
|
}
|
|
40
44
|
// @ts-expect-error nevermind
|
|
41
|
-
|
|
45
|
+
const nativeInputValueSetter = obj.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
|
|
42
46
|
// @ts-expect-error nevermind
|
|
43
47
|
nativeInputValueSetter.call(input, value);
|
|
44
|
-
|
|
48
|
+
const inputEvent = new Event("input", {
|
|
49
|
+
bubbles: true
|
|
50
|
+
});
|
|
45
51
|
input.dispatchEvent(inputEvent);
|
|
46
52
|
}
|
package/Forms/styles.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
export declare const InputInvisible:
|
|
2
|
-
export declare const InputHoneypot:
|
|
3
|
-
|
|
4
|
-
autoComplete: "new-password";
|
|
5
|
-
tabIndex: -1;
|
|
6
|
-
}, "tabIndex" | "type" | "autoComplete">;
|
|
7
|
-
export declare const InputProgress: import("styled-components").StyledComponent<(p: any) => import("react/jsx-runtime").JSX.Element, import("styled-components").DefaultTheme, {}, never>;
|
|
1
|
+
export declare const InputInvisible: any;
|
|
2
|
+
export declare const InputHoneypot: any;
|
|
3
|
+
export declare const InputProgress: any;
|
|
8
4
|
/**
|
|
9
5
|
* Remove the default light blue background on autofilled inputs. To be used as
|
|
10
6
|
* a function that outputs a CSS string.
|
package/Forms/styles.mjs
CHANGED
|
@@ -1,29 +1,61 @@
|
|
|
1
|
-
import { __assign, __makeTemplateObject } from "tslib";
|
|
2
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
2
|
import styled from "styled-components";
|
|
4
|
-
import { stateFocus } from "../styles/styled";
|
|
5
3
|
import { ProgressLinear } from "../Progress/ProgressLinear";
|
|
6
|
-
import { invisible } from "../styles/styled";
|
|
7
|
-
export
|
|
8
|
-
|
|
4
|
+
import { invisible, stateFocus } from "../styles/styled";
|
|
5
|
+
export const InputInvisible = styled.input`
|
|
6
|
+
${invisible}
|
|
7
|
+
`;
|
|
8
|
+
export const InputHoneypot = styled(InputInvisible).attrs({
|
|
9
9
|
type: "text",
|
|
10
10
|
autoComplete: "new-password",
|
|
11
|
-
tabIndex: -1
|
|
12
|
-
})
|
|
13
|
-
export
|
|
11
|
+
tabIndex: -1
|
|
12
|
+
})``;
|
|
13
|
+
export const InputProgress = styled((p)=>/*#__PURE__*/ _jsx(ProgressLinear, {
|
|
14
|
+
fg: "var(--accent300)",
|
|
15
|
+
bg: "var(--accent400)",
|
|
16
|
+
...p
|
|
17
|
+
}))`
|
|
18
|
+
position: absolute;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
left: 0;
|
|
21
|
+
width: 100%;
|
|
22
|
+
`;
|
|
14
23
|
/**
|
|
15
24
|
* Remove the default light blue background on autofilled inputs. To be used as
|
|
16
25
|
* a function that outputs a CSS string.
|
|
17
26
|
*
|
|
18
27
|
* @see https://stackoverflow.com/a/62624824/1938970
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
28
|
+
*/ export const inputResetAutofill = `
|
|
29
|
+
&:-webkit-autofill,
|
|
30
|
+
&:-webkit-autofill:hover,
|
|
31
|
+
&:-webkit-autofill:focus,
|
|
32
|
+
&:-webkit-autofill:active {
|
|
33
|
+
-webkit-background-clip: text;
|
|
34
|
+
}
|
|
35
|
+
`;
|
|
36
|
+
/* FIXME: find a nice way to override this styling from implementation */ // border-bottom: 1px solid var(--forms-border-color);
|
|
23
37
|
// border: 0;
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
|
|
38
|
+
export const inputBorder = `
|
|
39
|
+
border: 1px solid var(--forms-border-color);
|
|
40
|
+
`;
|
|
41
|
+
export const inputPadding = `
|
|
42
|
+
padding: var(--forms-gutter-y) var(--forms-gutter-x);
|
|
43
|
+
`;
|
|
44
|
+
export const inputReset = `
|
|
45
|
+
width: 100%;
|
|
46
|
+
min-height: 44px;
|
|
47
|
+
${inputBorder}
|
|
48
|
+
${inputPadding}
|
|
49
|
+
`;
|
|
50
|
+
export const inputBase = `
|
|
51
|
+
${inputReset}
|
|
52
|
+
${inputResetAutofill}
|
|
53
|
+
background: transparent;
|
|
54
|
+
`;
|
|
55
|
+
export const inputFocus = `
|
|
56
|
+
&:focus {
|
|
57
|
+
outline: 0px;
|
|
58
|
+
appearance: none;
|
|
59
|
+
${stateFocus}
|
|
60
|
+
}
|
|
61
|
+
`;
|
package/Gauge/Gauge.mjs
CHANGED
|
@@ -1,102 +1,101 @@
|
|
|
1
1
|
// import styled, { keyframes } from "styled-components";
|
|
2
2
|
// import { m } from "framer-motion";
|
|
3
|
-
export
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
// emptyStrokeOpacity =
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
// const
|
|
22
|
-
// const
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
//
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
// };
|
|
3
|
+
export const Gauge = (_props)=>null; // export type GaugeProps = {
|
|
4
|
+
// /** In percentage */
|
|
5
|
+
// value: number;
|
|
6
|
+
// };
|
|
7
|
+
// export const Gauge = ({
|
|
8
|
+
// value,
|
|
9
|
+
// counter = true,
|
|
10
|
+
// stroke,
|
|
11
|
+
// // emptyStroke = "#e2e2e2",
|
|
12
|
+
// emptyStroke = stroke,
|
|
13
|
+
// emptyStrokeOpacity = 0.25,
|
|
14
|
+
// // emptyStrokeOpacity = 1,
|
|
15
|
+
// duration = 3,
|
|
16
|
+
// delay = 0.5,
|
|
17
|
+
// size = 100,
|
|
18
|
+
// strokeWidth = 6,
|
|
19
|
+
// }) => {
|
|
20
|
+
// const radius = 45;
|
|
21
|
+
// const circumference = Math.ceil(2 * Math.PI * radius);
|
|
22
|
+
// const fillPercents = Math.abs(
|
|
23
|
+
// Math.ceil((circumference / 100) * (value - 100))
|
|
24
|
+
// );
|
|
25
|
+
// const transition = {
|
|
26
|
+
// duration: duration,
|
|
27
|
+
// delay: delay,
|
|
28
|
+
// ease: "easeIn",
|
|
29
|
+
// };
|
|
30
|
+
// const variants = {
|
|
31
|
+
// hidden: {
|
|
32
|
+
// strokeDashoffset: circumference,
|
|
33
|
+
// transition,
|
|
34
|
+
// },
|
|
35
|
+
// show: {
|
|
36
|
+
// strokeDashoffset: fillPercents,
|
|
37
|
+
// transition,
|
|
38
|
+
// },
|
|
39
|
+
// };
|
|
40
|
+
// return (
|
|
41
|
+
// <>
|
|
42
|
+
// <Flex justifyContent="center" alignItems="center">
|
|
43
|
+
// {counter && (
|
|
44
|
+
// <Box
|
|
45
|
+
// position="absolute"
|
|
46
|
+
// fontSize={size >= 100 ? 6 : 3}
|
|
47
|
+
// fontWeight={2}
|
|
48
|
+
// color="text500"
|
|
49
|
+
// >
|
|
50
|
+
// <Counter valueTo={value} totalDuration={duration + delay} />%
|
|
51
|
+
// </Box>
|
|
52
|
+
// )}
|
|
53
|
+
// <Box height={size}>
|
|
54
|
+
// <svg
|
|
55
|
+
// viewBox="0 0 100 100"
|
|
56
|
+
// version="1.1"
|
|
57
|
+
// xmlns="http://www.w3.org/2000/svg"
|
|
58
|
+
// width={size}
|
|
59
|
+
// height={size}
|
|
60
|
+
// >
|
|
61
|
+
// <circle
|
|
62
|
+
// cx="50"
|
|
63
|
+
// cy="50"
|
|
64
|
+
// r={radius}
|
|
65
|
+
// className="circle"
|
|
66
|
+
// strokeWidth={strokeWidth}
|
|
67
|
+
// stroke={emptyStroke}
|
|
68
|
+
// strokeOpacity={emptyStrokeOpacity}
|
|
69
|
+
// fill="transparent"
|
|
70
|
+
// />
|
|
71
|
+
// </svg>
|
|
72
|
+
// <svg
|
|
73
|
+
// viewBox="0 0 100 100"
|
|
74
|
+
// width={size}
|
|
75
|
+
// height={size}
|
|
76
|
+
// style={{
|
|
77
|
+
// position: "absolute",
|
|
78
|
+
// transform: "rotate(-90deg)",
|
|
79
|
+
// overflow: "visible",
|
|
80
|
+
// marginLeft: -size,
|
|
81
|
+
// }}
|
|
82
|
+
// >
|
|
83
|
+
// <m.circle
|
|
84
|
+
// cx="50"
|
|
85
|
+
// cy="50"
|
|
86
|
+
// r={radius}
|
|
87
|
+
// strokeWidth={strokeWidth}
|
|
88
|
+
// stroke={stroke}
|
|
89
|
+
// fill="transparent"
|
|
90
|
+
// strokeDashoffset={fillPercents}
|
|
91
|
+
// strokeDasharray={circumference}
|
|
92
|
+
// variants={variants}
|
|
93
|
+
// initial="hidden"
|
|
94
|
+
// animate={"show"}
|
|
95
|
+
// />
|
|
96
|
+
// </svg>
|
|
97
|
+
// </Box>
|
|
98
|
+
// </Flex>
|
|
99
|
+
// </>
|
|
100
|
+
// );
|
|
101
|
+
// };
|