@koine/react 2.0.0-beta.2 → 2.0.0-beta.5
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.js +27 -12
- package/Alert/Alert.mjs +16 -8
- package/Alert/Alert.stories.js +36 -0
- package/Alert/Alert.stories.mjs +15 -0
- package/Alert/index.js +5 -3
- package/Animations/Reveal.js +48 -18
- package/Animations/Reveal.mjs +38 -14
- package/Animations/Underline.js +25 -7
- package/Animations/Underline.mjs +14 -4
- package/Animations/index.js +7 -5
- package/Animations/useReveal.js +51 -43
- package/Animations/useReveal.mjs +42 -40
- package/Autocomplete/AutocompleteDownshift.js +166 -160
- package/Autocomplete/AutocompleteDownshift.mjs +156 -157
- package/Autocomplete/AutocompleteDownshiftMultiselect.js +361 -355
- package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +351 -352
- package/Autocomplete/AutocompleteMui.d.ts +1 -1
- package/Autocomplete/AutocompleteMui.js +111 -137
- package/Autocomplete/AutocompleteMui.mjs +98 -90
- package/Autocomplete/AutocompleteReach.js +120 -114
- package/Autocomplete/AutocompleteReach.mjs +110 -111
- package/Autocomplete/components.js +129 -34
- package/Autocomplete/components.mjs +76 -23
- package/Autocomplete/helpers.js +25 -25
- package/Autocomplete/helpers.mjs +11 -5
- package/Autocomplete/index.js +14 -6
- package/Autocomplete/index.mjs +4 -3
- package/Bg/BgColor.js +55 -21
- package/Bg/BgColor.mjs +32 -16
- package/Bg/BgPhoto.js +78 -18
- package/Bg/BgPhoto.mjs +65 -12
- package/Bg/BgSvg.js +27 -14
- package/Bg/BgSvg.mjs +16 -8
- package/Bg/index.js +7 -5
- package/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/Breadcrumbs/Breadcrumbs.js +85 -26
- package/Breadcrumbs/Breadcrumbs.mjs +70 -19
- package/Breadcrumbs/index.js +5 -3
- package/Buttons/Button.js +105 -16
- package/Buttons/Button.mjs +73 -9
- package/Buttons/ButtonComposite.d.ts +1 -1
- package/Buttons/ButtonComposite.js +76 -25
- package/Buttons/ButtonComposite.mjs +66 -22
- package/Buttons/ButtonFab.js +26 -8
- package/Buttons/ButtonFab.mjs +6 -4
- package/Buttons/ButtonLink.d.ts +1 -1
- package/Buttons/ButtonLink.js +26 -13
- package/Buttons/ButtonLink.mjs +14 -8
- package/Buttons/IconButton.js +40 -9
- package/Buttons/IconButton.mjs +18 -6
- package/Buttons/index.js +9 -7
- package/Calendar/CalendarDaygridCell.d.ts +2 -2
- package/Calendar/CalendarDaygridCell.js +70 -49
- package/Calendar/CalendarDaygridCell.mjs +58 -43
- package/Calendar/CalendarDaygridNav.d.ts +1 -1
- package/Calendar/CalendarDaygridNav.js +41 -20
- package/Calendar/CalendarDaygridNav.mjs +28 -13
- package/Calendar/CalendarDaygridTable.d.ts +3 -3
- package/Calendar/CalendarDaygridTable.js +88 -39
- package/Calendar/CalendarDaygridTable.mjs +73 -31
- package/Calendar/CalendarLegend.d.ts +1 -1
- package/Calendar/CalendarLegend.js +17 -10
- package/Calendar/CalendarLegend.mjs +8 -7
- package/Calendar/calendar-api-google.d.ts +1 -1
- package/Calendar/calendar-api-google.js +90 -113
- package/Calendar/calendar-api-google.mjs +75 -105
- package/Calendar/index.js +10 -8
- package/Calendar/types.js +3 -1
- package/Calendar/types.mjs +1 -1
- package/Calendar/useCalendar.d.ts +2 -2
- package/Calendar/useCalendar.js +196 -148
- package/Calendar/useCalendar.mjs +184 -142
- package/Calendar/utils.js +152 -115
- package/Calendar/utils.mjs +101 -94
- package/Carousel/Carousel.js +386 -380
- package/Carousel/Carousel.mjs +377 -378
- package/Carousel/CarouselCss.d.ts +1 -1
- package/Carousel/CarouselCss.js +59 -23
- package/Carousel/CarouselCss.mjs +37 -17
- package/Carousel/index.js +5 -3
- package/Collapsable/Collapsable.js +10 -3
- package/Collapsable/Collapsable.mjs +1 -1
- package/Collapsable/CollapsableReach.js +2 -3
- package/Collapsable/CollapsableReach.mjs +1 -3
- package/Collapsable/index.js +6 -4
- package/Collapsable/index.mjs +1 -2
- package/Debug/Debug.js +29 -11
- package/Debug/Debug.mjs +18 -7
- package/Debug/index.js +5 -3
- package/Details/Details.d.ts +5 -5
- package/Details/Details.js +87 -44
- package/Details/Details.mjs +60 -41
- package/Details/Details.stories.js +38 -0
- package/Details/Details.stories.mjs +20 -0
- package/Details/index.js +5 -3
- package/Dialog/DialogMui.d.ts +7 -7
- package/Dialog/DialogMui.js +78 -31
- package/Dialog/DialogMui.mjs +38 -26
- package/Dialog/DialogMui.stories.js +37 -0
- package/Dialog/DialogMui.stories.mjs +19 -0
- package/Dialog/css/bare.d.ts +6 -6
- package/Dialog/css/bare.js +53 -22
- package/Dialog/css/bare.mjs +15 -17
- package/Dialog/css/index.stories.js +85 -0
- package/Dialog/css/index.stories.mjs +67 -0
- package/Dialog/index.js +10 -4
- package/Dialog/m/bare.d.ts +6 -6
- package/Dialog/m/bare.js +55 -30
- package/Dialog/m/bare.mjs +40 -22
- package/Dialog/m/basic.js +29 -14
- package/Dialog/m/basic.mjs +10 -10
- package/Dialog/m/index.js +13 -7
- package/Dialog/m/index.mjs +4 -4
- package/Dialog/sc/bare.d.ts +6 -6
- package/Dialog/sc/bare.js +79 -42
- package/Dialog/sc/bare.mjs +40 -29
- package/Dialog/sc/framer.d.ts +6 -6
- package/Dialog/sc/framer.js +24 -17
- package/Dialog/sc/framer.mjs +9 -9
- package/Dialog/sc/framerMaterial.d.ts +6 -6
- package/Dialog/sc/framerMaterial.js +24 -17
- package/Dialog/sc/framerMaterial.mjs +9 -9
- package/Dialog/sc/index.stories.js +74 -0
- package/Dialog/sc/index.stories.mjs +47 -0
- package/Dialog/sc/material.d.ts +6 -6
- package/Dialog/sc/material.js +76 -22
- package/Dialog/sc/material.mjs +37 -17
- package/Dialog/tw/bare.d.ts +6 -6
- package/Dialog/tw/bare.js +51 -41
- package/Dialog/tw/bare.mjs +15 -28
- package/Dialog/tw/elegant.d.ts +6 -6
- package/Dialog/tw/elegant.js +52 -21
- package/Dialog/tw/elegant.mjs +15 -17
- package/Dialog/tw/framer.d.ts +6 -6
- package/Dialog/tw/framer.js +24 -17
- package/Dialog/tw/framer.mjs +9 -9
- package/Dialog/tw/framerMaterial.d.ts +6 -6
- package/Dialog/tw/framerMaterial.js +24 -17
- package/Dialog/tw/framerMaterial.mjs +9 -9
- package/Dialog/tw/index.stories.js +112 -0
- package/Dialog/tw/index.stories.mjs +82 -0
- package/Dialog/tw/material.d.ts +6 -6
- package/Dialog/tw/material.js +52 -21
- package/Dialog/tw/material.mjs +15 -17
- package/Editor/Editor--tiptap.d.ts +1 -1
- package/Editor/Editor--tiptap.js +50 -24
- package/Editor/Editor--tiptap.mjs +31 -19
- package/Editor/components.js +58 -14
- package/Editor/components.mjs +26 -8
- package/Editor/index.js +5 -3
- package/FaviconTags.js +59 -0
- package/FaviconTags.mjs +50 -0
- package/Form/Form.js +100 -52
- package/Form/Form.mjs +64 -47
- package/Form/index.js +5 -3
- package/Form/sc/bare.js +53 -21
- package/Form/sc/bare.mjs +21 -12
- package/Forms/Checkbox/Checkbox.js +46 -19
- package/Forms/Checkbox/Checkbox.mjs +16 -12
- package/Forms/Checkbox/index.js +5 -3
- package/Forms/Feedback/Feedback.js +21 -11
- package/Forms/Feedback/Feedback.mjs +10 -7
- package/Forms/Feedback/index.js +5 -3
- package/Forms/Field/Field.js +55 -21
- package/Forms/Field/Field.mjs +30 -17
- package/Forms/Field/FieldControl.js +41 -37
- package/Forms/Field/FieldControl.mjs +26 -20
- package/Forms/Field/FieldHint.js +16 -6
- package/Forms/Field/FieldHint.mjs +5 -3
- package/Forms/Field/index.js +6 -4
- package/Forms/Input/Input.js +56 -17
- package/Forms/Input/Input.mjs +22 -11
- package/Forms/Input/index.js +5 -3
- package/Forms/InputGroup/InputGroup.js +73 -17
- package/Forms/InputGroup/InputGroup.mjs +43 -11
- package/Forms/InputGroup/index.js +5 -3
- package/Forms/Label/Label.js +45 -8
- package/Forms/Label/Label.mjs +23 -5
- package/Forms/Label/index.js +5 -3
- package/Forms/Password/Password.js +56 -18
- package/Forms/Password/Password.mjs +35 -13
- package/Forms/Password/index.js +5 -3
- package/Forms/Radio/Radio.js +46 -25
- package/Forms/Radio/Radio.mjs +32 -19
- package/Forms/Radio/index.js +5 -3
- package/Forms/Switch/Switch.js +66 -21
- package/Forms/Switch/Switch.mjs +41 -13
- package/Forms/Switch/index.js +5 -3
- package/Forms/Textarea/Textarea.js +35 -13
- package/Forms/Textarea/Textarea.mjs +13 -7
- package/Forms/Textarea/TextareaRich.js +48 -29
- package/Forms/Textarea/TextareaRich.mjs +34 -22
- package/Forms/Textarea/index.js +6 -4
- package/Forms/Toggle/Toggle-tailwind.js +1 -1
- package/Forms/Toggle/Toggle-tailwind.mjs +0 -1
- package/Forms/Toggle/Toggle.js +149 -29
- package/Forms/Toggle/Toggle.mjs +95 -22
- package/Forms/Toggle/index.js +5 -3
- package/Forms/Toggle/useToggle-tailwind.js +1 -1
- package/Forms/Toggle/useToggle-tailwind.mjs +0 -1
- package/Forms/Toggle/useToggle.js +91 -101
- package/Forms/Toggle/useToggle.mjs +80 -68
- package/Forms/antispam.js +38 -45
- package/Forms/antispam.mjs +19 -21
- package/Forms/helpers.js +49 -31
- package/Forms/helpers.mjs +25 -19
- package/Forms/index.js +18 -18
- package/Forms/styles.js +90 -29
- package/Forms/styles.mjs +50 -19
- package/Gauge/Gauge.js +109 -104
- package/Gauge/Gauge.mjs +99 -100
- package/Grid/Grid.d.ts +4 -3
- package/Grid/Grid.js +84 -34
- package/Grid/Grid.mjs +54 -32
- package/Grid/index.js +5 -3
- package/Hamburger/Hamburger.js +68 -41
- package/Hamburger/Hamburger.mjs +58 -38
- package/Hamburger/index.js +5 -3
- package/Header/index.js +5 -3
- package/Header/useHeader.js +44 -25
- package/Header/useHeader.mjs +23 -18
- package/Hidden/Hidden.js +19 -11
- package/Hidden/Hidden.mjs +9 -9
- package/Hidden/index.js +5 -3
- package/Img/index.js +5 -3
- package/Img/sc/bare.js +42 -41
- package/Img/sc/bare.mjs +31 -34
- package/Img/types.js +5 -1
- package/Img/types.mjs +1 -1
- package/Link/Link.js +12 -6
- package/Link/Link.mjs +1 -3
- package/Link/LinkBlank.js +42 -18
- package/Link/LinkBlank.mjs +19 -11
- package/Link/index.js +6 -4
- package/Menu/Menu.js +21 -6
- package/Menu/Menu.mjs +10 -3
- package/Menu/MenuMui.js +2 -2
- package/Menu/MenuMui.mjs +1 -2
- package/Menu/index.js +5 -3
- package/MenuItem/MenuItem.js +30 -6
- package/MenuItem/MenuItem.mjs +19 -3
- package/MenuItem/MenuItemMui.js +1 -1
- package/MenuItem/MenuItemMui.mjs +0 -1
- package/MenuItem/index.js +5 -3
- package/MenuItem/useMenuItem.js +65 -33
- package/MenuItem/useMenuItem.mjs +45 -27
- package/Meta/Meta.js +23 -8
- package/Meta/Meta.mjs +5 -4
- package/Meta/index.js +11 -6
- package/NoJs/NoJs.js +25 -9
- package/NoJs/NoJs.mjs +7 -5
- package/NoJs/index.js +11 -6
- package/Pagination/PaginationNav.d.ts +1 -1
- package/Pagination/PaginationNav.js +86 -44
- package/Pagination/PaginationNav.mjs +72 -30
- package/Pagination/PaginationResults.js +38 -13
- package/Pagination/PaginationResults.mjs +27 -9
- package/Pagination/index.js +6 -4
- package/Pill/Pill.js +61 -9
- package/Pill/Pill.mjs +36 -6
- package/Pill/index.js +5 -3
- package/Progress/ProgressCircular.js +58 -17
- package/Progress/ProgressCircular.mjs +47 -11
- package/Progress/ProgressLinear.js +49 -26
- package/Progress/ProgressLinear.mjs +38 -20
- package/Progress/ProgressOverlay.js +65 -24
- package/Progress/ProgressOverlay.mjs +51 -17
- package/Progress/index.js +7 -5
- package/Rating/Rating.js +128 -41
- package/Rating/Rating.mjs +93 -35
- package/Rating/index.js +61 -33
- package/Rating/index.mjs +37 -24
- package/Select/SelectDownshift.js +46 -40
- package/Select/SelectDownshift.mjs +37 -38
- package/Select/components.js +40 -13
- package/Select/components.mjs +20 -9
- package/Select/index.js +12 -6
- package/Select/index.mjs +2 -3
- package/Sidebar/Sidebar.js +61 -23
- package/Sidebar/Sidebar.mjs +48 -17
- package/Sidebar/index.js +5 -3
- package/Spacing/Spacing.d.ts +1 -1
- package/Spacing/Spacing.js +36 -33
- package/Spacing/Spacing.mjs +24 -17
- package/Spacing/index.js +5 -3
- package/Sticky/Sticky.js +227 -221
- package/Sticky/Sticky.mjs +218 -219
- package/Sticky/StickyCss.js +17 -8
- package/Sticky/StickyCss.mjs +8 -5
- package/Sticky/index.js +18 -4
- package/Sticky/index.mjs +1 -1
- package/Tabs/TabsMui.d.ts +8 -8
- package/Tabs/TabsMui.js +64 -34
- package/Tabs/TabsMui.mjs +31 -28
- package/Tabs/TabsMui.stories.js +37 -0
- package/Tabs/TabsMui.stories.mjs +19 -0
- package/Tabs/index.js +5 -3
- package/Tabs/sc/bare.js +2 -3
- package/Tabs/sc/bare.mjs +1 -3
- package/Tabs/sc/index.stories.js +1 -0
- package/Tabs/sc/index.stories.mjs +0 -0
- package/Tabs/tw/bare.d.ts +6 -6
- package/Tabs/tw/bare.js +43 -18
- package/Tabs/tw/bare.mjs +11 -13
- package/Tabs/tw/index.stories.js +45 -0
- package/Tabs/tw/index.stories.mjs +24 -0
- package/Tabs/tw/material.d.ts +6 -6
- package/Tabs/tw/material.js +41 -18
- package/Tabs/tw/material.mjs +11 -15
- package/Tabs/useTabs.js +44 -25
- package/Tabs/useTabs.mjs +24 -21
- package/Typography/CopyPasteVisible.js +16 -6
- package/Typography/CopyPasteVisible.mjs +5 -3
- package/Typography/Native.js +89 -16
- package/Typography/Native.mjs +45 -12
- package/Typography/ReadMore.js +99 -36
- package/Typography/ReadMore.mjs +86 -30
- package/Typography/TextLoop.js +94 -45
- package/Typography/TextLoop.mjs +76 -40
- package/Typography/TypeStairs.js +43 -32
- package/Typography/TypeStairs.mjs +33 -29
- package/Typography/index.js +9 -7
- package/css/index.js +32 -35
- package/css/index.mjs +20 -21
- package/helpers/classed.js +39 -51
- package/helpers/classed.mjs +21 -30
- package/helpers/classed.stories.js +122 -0
- package/helpers/classed.stories.mjs +103 -0
- package/helpers/createUseMediaQueryWidth.js +163 -153
- package/helpers/createUseMediaQueryWidth.mjs +140 -140
- package/helpers/extend-component.js +26 -11
- package/helpers/extend-component.mjs +7 -7
- package/helpers/index.js +8 -6
- package/helpers/mergeRefs.js +21 -8
- package/helpers/mergeRefs.mjs +3 -4
- package/hooks/index.js +91 -43
- package/hooks/index.mjs +3 -3
- package/hooks/types.js +6 -2
- package/hooks/types.mjs +3 -1
- package/hooks/useAsyncFn.js +48 -33
- package/hooks/useAsyncFn.mjs +28 -26
- package/hooks/useDateLocale.js +42 -32
- package/hooks/useDateLocale.mjs +22 -22
- package/hooks/useFirstMountState.js +20 -9
- package/hooks/useFirstMountState.mjs +2 -3
- package/hooks/useFixedOffset.js +45 -40
- package/hooks/useFixedOffset.mjs +23 -24
- package/hooks/useFocus.js +26 -12
- package/hooks/useFocus.mjs +7 -5
- package/hooks/useInterval.js +37 -25
- package/hooks/useInterval.mjs +15 -14
- package/hooks/useIsomorphicLayoutEffect.js +22 -12
- package/hooks/useIsomorphicLayoutEffect.mjs +1 -4
- package/hooks/useKeyUp.js +30 -17
- package/hooks/useKeyUp.mjs +9 -11
- package/hooks/useMeasure.js +98 -80
- package/hooks/useMeasure.mjs +74 -67
- package/hooks/useMountedState.js +23 -12
- package/hooks/useMountedState.mjs +5 -6
- package/hooks/useNavigateAway.js +47 -51
- package/hooks/useNavigateAway.mjs +26 -25
- package/hooks/usePrevious.js +27 -10
- package/hooks/usePrevious.mjs +9 -4
- package/hooks/usePreviousRef.js +21 -7
- package/hooks/usePreviousRef.mjs +2 -2
- package/hooks/useScrollPosition.js +53 -43
- package/hooks/useScrollPosition.mjs +28 -26
- package/hooks/useScrollThreshold.js +41 -22
- package/hooks/useScrollThreshold.mjs +18 -13
- package/hooks/useScrollTo.js +28 -16
- package/hooks/useScrollTo.mjs +6 -8
- package/hooks/useSmoothScroll.js +39 -34
- package/hooks/useSmoothScroll.mjs +12 -16
- package/hooks/useSpinDelay.js +42 -37
- package/hooks/useSpinDelay.mjs +24 -22
- package/hooks/useTraceUpdate.js +26 -13
- package/hooks/useTraceUpdate.mjs +8 -7
- package/hooks/useUpdateEffect.js +24 -13
- package/hooks/useUpdateEffect.mjs +4 -5
- package/hooks/useWindowSize.js +34 -25
- package/hooks/useWindowSize.mjs +13 -10
- package/index.js +9 -7
- package/index.mjs +4 -5
- package/m/MotionProvider.js +23 -41
- package/m/MotionProvider.mjs +4 -5
- package/m/index.js +6 -5
- package/m/index.mjs +1 -2
- package/m/lite.js +11 -3
- package/m/max.js +11 -3
- package/package.json +16 -13
- package/sc/index.js +48 -36
- package/scm/index.js +39 -35
- package/shared/index.js +12 -10
- package/shared/index.mjs +35 -0
- package/styles/Body.js +27 -15
- package/styles/Body.mjs +8 -5
- package/styles/Global.js +54 -20
- package/styles/Global.mjs +36 -5
- package/styles/index.js +141 -40
- package/styles/index.mjs +5 -5
- package/styles/media.js +98 -120
- package/styles/media.mjs +63 -68
- package/styles/spacing.js +49 -31
- package/styles/spacing.mjs +26 -25
- package/styles/styled.js +56 -15
- package/styles/styled.mjs +23 -10
- package/styles/theme--vanilla.js +58 -42
- package/styles/theme--vanilla.mjs +25 -20
- package/styles/theme.js +38 -34
- package/styles/theme.mjs +16 -19
- package/tw/index.js +32 -35
- package/tw/index.mjs +20 -21
- package/twm/index.js +32 -35
- package/twm/index.mjs +20 -21
- package/types.js +3 -1
- package/types.mjs +1 -1
- package/typings.d.ts +1 -0
- package/Alert/package.json +0 -6
- package/Animations/package.json +0 -6
- package/Autocomplete/package.json +0 -6
- package/Bg/package.json +0 -6
- package/Breadcrumbs/package.json +0 -6
- package/Buttons/package.json +0 -6
- package/Calendar/package.json +0 -6
- package/Carousel/package.json +0 -6
- package/Collapsable/package.json +0 -6
- package/Debug/package.json +0 -6
- package/Details/package.json +0 -6
- package/Dialog/m/package.json +0 -6
- package/Dialog/package.json +0 -6
- 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/package.json +0 -6
- package/Forms/Checkbox/package.json +0 -6
- package/Forms/Feedback/package.json +0 -6
- package/Forms/Field/package.json +0 -6
- package/Forms/Input/package.json +0 -6
- package/Forms/InputGroup/package.json +0 -6
- package/Forms/Label/package.json +0 -6
- package/Forms/Password/package.json +0 -6
- package/Forms/Radio/package.json +0 -6
- package/Forms/Switch/package.json +0 -6
- package/Forms/Textarea/package.json +0 -6
- package/Forms/Toggle/package.json +0 -6
- package/Forms/package.json +0 -6
- package/Grid/package.json +0 -6
- package/Hamburger/package.json +0 -6
- package/Header/package.json +0 -6
- package/Hidden/package.json +0 -6
- package/Img/package.json +0 -6
- package/Link/package.json +0 -6
- package/Menu/package.json +0 -6
- package/MenuItem/package.json +0 -6
- package/Meta/package.json +0 -6
- package/NoJs/package.json +0 -6
- package/Pagination/package.json +0 -6
- package/Pill/package.json +0 -6
- package/Progress/package.json +0 -6
- package/Rating/package.json +0 -6
- package/Select/package.json +0 -6
- package/Sidebar/package.json +0 -6
- package/Spacing/package.json +0 -6
- package/Sticky/package.json +0 -6
- package/Tabs/package.json +0 -6
- package/Typography/package.json +0 -6
- package/css/package.json +0 -6
- package/helpers/package.json +0 -6
- package/hooks/package.json +0 -6
- package/m/package.json +0 -6
- package/sc/package.json +0 -6
- package/scm/package.json +0 -6
- package/shared/package.json +0 -6
- package/styles/package.json +0 -6
- package/tw/package.json +0 -6
- package/twm/package.json +0 -6
- /package/{FaviconTags/FaviconTags.d.ts → FaviconTags.d.ts} +0 -0
package/styles/media.js
CHANGED
|
@@ -1,23 +1,55 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/// TODO:FIXME: this should use code from `useMqWidthCreator`
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
min: function() {
|
|
14
|
+
return min;
|
|
15
|
+
},
|
|
16
|
+
max: function() {
|
|
17
|
+
return max;
|
|
18
|
+
},
|
|
19
|
+
up: function() {
|
|
20
|
+
return up;
|
|
21
|
+
},
|
|
22
|
+
down: function() {
|
|
23
|
+
return down;
|
|
24
|
+
},
|
|
25
|
+
between: function() {
|
|
26
|
+
return between;
|
|
27
|
+
},
|
|
28
|
+
only: function() {
|
|
29
|
+
return only;
|
|
30
|
+
},
|
|
31
|
+
useMedia: function() {
|
|
32
|
+
return useMedia;
|
|
33
|
+
},
|
|
34
|
+
generateMediaQueries: function() {
|
|
35
|
+
return generateMediaQueries;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
const _react = require("react");
|
|
39
|
+
const _theme = require("./theme");
|
|
40
|
+
const { min, max, up, down, between, only } = generateMediaQueries(_theme.breakpoints);
|
|
9
41
|
function useMedia(media) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
42
|
+
const { breakpoints } = (0, _theme.useTheme)();
|
|
43
|
+
const [matches, setMatches] = (0, _react.useState)(false);
|
|
44
|
+
const [direction = "min", breakpoint] = media.split(":");
|
|
45
|
+
let px = breakpoints[breakpoint];
|
|
14
46
|
if (direction === "max") {
|
|
15
47
|
px = px - 0.02;
|
|
16
48
|
}
|
|
17
|
-
|
|
18
|
-
(0,
|
|
19
|
-
|
|
20
|
-
|
|
49
|
+
const query = `(${direction}-width: ${px}px)`;
|
|
50
|
+
(0, _react.useEffect)(()=>{
|
|
51
|
+
const mq = window.matchMedia(query);
|
|
52
|
+
const handleChange = (event)=>{
|
|
21
53
|
setMatches(event.matches);
|
|
22
54
|
};
|
|
23
55
|
setMatches(mq.matches);
|
|
@@ -27,135 +59,81 @@ function useMedia(media) {
|
|
|
27
59
|
// Update the state whenever the media query match state changes
|
|
28
60
|
mq.addListener(handleChange);
|
|
29
61
|
// Clean up on unmount and if the query changes
|
|
30
|
-
return
|
|
62
|
+
return ()=>{
|
|
31
63
|
mq.removeListener(handleChange);
|
|
32
64
|
};
|
|
33
65
|
}
|
|
34
66
|
mq.addEventListener("change", handleChange);
|
|
35
|
-
return
|
|
67
|
+
return ()=>{
|
|
36
68
|
mq.removeEventListener("change", handleChange);
|
|
37
69
|
};
|
|
38
|
-
}, [
|
|
70
|
+
}, [
|
|
71
|
+
query
|
|
72
|
+
]);
|
|
39
73
|
return matches;
|
|
40
74
|
}
|
|
41
|
-
exports.useMedia = useMedia;
|
|
42
|
-
/**
|
|
43
|
-
* Generate media queries helpers
|
|
44
|
-
*
|
|
45
|
-
* Usage:
|
|
46
|
-
* ```jsx
|
|
47
|
-
* import { generateMediaQueries } from "@koine/react";
|
|
48
|
-
*
|
|
49
|
-
* export const breakpoints = {
|
|
50
|
-
* xs: 0,
|
|
51
|
-
* sm: 440,
|
|
52
|
-
* md: 768,
|
|
53
|
-
* lg: 1024,
|
|
54
|
-
* xl: 1368,
|
|
55
|
-
* xxl: 1690,
|
|
56
|
-
* } as const;
|
|
57
|
-
*
|
|
58
|
-
* export const { min, max, up, down, between, only } = generateMediaQueries(breakpoints);
|
|
59
|
-
* ```
|
|
60
|
-
*
|
|
61
|
-
* Consider the following syntaxes, using normal CSS is just slightly
|
|
62
|
-
* longer but it aovid js imports, reduce the js overhead and improve CSS
|
|
63
|
-
* highlighting in the editor.
|
|
64
|
-
*
|
|
65
|
-
* Even if we would reduce the function signature to the bare minimum the advantage
|
|
66
|
-
* in terms of typing would not be much, also loosing in readability.
|
|
67
|
-
*
|
|
68
|
-
* ```css
|
|
69
|
-
* // but unfortunately this does not work
|
|
70
|
-
* @media (min-width: var(--b-sm)) {}
|
|
71
|
-
* @media (min-width: 480px) {}
|
|
72
|
-
*
|
|
73
|
-
* ${media("min", "sm")} {}
|
|
74
|
-
* ${mediaMin("sm")} {}
|
|
75
|
-
* ${min.sm} {}
|
|
76
|
-
* ${p => p.theme.min.sm}``
|
|
77
|
-
* ```
|
|
78
|
-
*
|
|
79
|
-
* Related projects:
|
|
80
|
-
* @see https://github.com/mg901/styled-breakpoints
|
|
81
|
-
* @see https://github.com/morajabi/styled-media-query
|
|
82
|
-
*
|
|
83
|
-
* @see https://www.w3.org/TR/mediaqueries-5/#custom-mq The spec would allow for
|
|
84
|
-
* something like this syntax
|
|
85
|
-
*
|
|
86
|
-
* ```css
|
|
87
|
-
* @custom-media --narrow-window (max-width: 30em);
|
|
88
|
-
* @media (--narrow-window) {}
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
75
|
function generateMediaQueries(breakpoints) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return [
|
|
76
|
+
const temp = Object.keys(breakpoints).map((key)=>{
|
|
77
|
+
const br = key;
|
|
78
|
+
return [
|
|
79
|
+
br,
|
|
80
|
+
breakpoints[br]
|
|
81
|
+
];
|
|
95
82
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
83
|
+
const sortedKeys = temp.sort((a, b)=>a[1] - b[1]).map((item)=>item[0]);
|
|
84
|
+
const getNext = (breakpoint)=>{
|
|
85
|
+
const index = sortedKeys.indexOf(breakpoint);
|
|
99
86
|
return sortedKeys[index + 1];
|
|
100
87
|
};
|
|
101
88
|
/**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return "@media (min-width: ".concat(breakpoints[br], "px)");
|
|
109
|
-
};
|
|
89
|
+
* It behaves the same as `@media (min-width: ${value}px)`
|
|
90
|
+
* where value is the given breakpoint value.
|
|
91
|
+
* For ease of use this can be used both as a function `min("md")` and as an
|
|
92
|
+
* object literal `min.md`.
|
|
93
|
+
*/ // @ts-expect-error FIXME: at some point
|
|
94
|
+
const min = (br)=>`@media (min-width: ${breakpoints[br]}px)`;
|
|
110
95
|
/**
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
min[_br] = "@media (min-width: ".concat(breakpoints[_br], "px)");
|
|
122
|
-
max[_br] = "@media (max-width: ".concat(breakpoints[_br] - 0.02, "px)");
|
|
96
|
+
* It behaves the same as `@media (max-width: ${value}px)`
|
|
97
|
+
* where value is the given breakpoint value.
|
|
98
|
+
* For ease of use this can be used both as a function `max("md")` and as an
|
|
99
|
+
* object literal `max.md`.
|
|
100
|
+
*/ // @ts-expect-error FIXME: at some point
|
|
101
|
+
const max = (br)=>`@media (max-width: ${breakpoints[br] - 0.02}px)`;
|
|
102
|
+
for(const br in breakpoints){
|
|
103
|
+
const _br = br;
|
|
104
|
+
min[_br] = `@media (min-width: ${breakpoints[_br]}px)`;
|
|
105
|
+
max[_br] = `@media (max-width: ${breakpoints[_br] - 0.02}px)`;
|
|
123
106
|
}
|
|
124
107
|
/**
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
var up = min;
|
|
108
|
+
* It behaves the same as `min`
|
|
109
|
+
* @inheritdoc {max}
|
|
110
|
+
*/ const up = min;
|
|
129
111
|
/**
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
var brNext = getNext(br);
|
|
112
|
+
* It behaves similarly to `max` but you will use the "next" breakpoint,
|
|
113
|
+
* specifying CSS that will apply from the given breakpoint and down.
|
|
114
|
+
*/ const down = (br)=>{
|
|
115
|
+
const brNext = getNext(br);
|
|
135
116
|
// TODO: if br does not exists otherwise throw Error
|
|
136
|
-
return brNext &&
|
|
117
|
+
return brNext && `@media (max-width: ${breakpoints[brNext] - 0.02}px)`;
|
|
137
118
|
};
|
|
138
119
|
/**
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return "@media (min-width: ".concat(breakpoints[br1], "px) and (max-width: ").concat(breakpoints[br2] - 0.02, "px)");
|
|
120
|
+
* Media query between the two given breakpoints
|
|
121
|
+
*/ const between = (br1, br2)=>{
|
|
122
|
+
return `@media (min-width: ${breakpoints[br1]}px) and (max-width: ${breakpoints[br2] - 0.02}px)`;
|
|
143
123
|
};
|
|
144
124
|
/**
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
var brNext = getNext(br);
|
|
125
|
+
* Media query to apply from the given breakpoint until the next, just for its
|
|
126
|
+
* full range
|
|
127
|
+
*/ const only = (br)=>{
|
|
128
|
+
const brNext = getNext(br);
|
|
150
129
|
return brNext ? between(br, brNext) : min(br);
|
|
151
130
|
};
|
|
152
131
|
return {
|
|
153
|
-
min
|
|
154
|
-
max
|
|
155
|
-
up
|
|
156
|
-
down
|
|
157
|
-
between
|
|
158
|
-
only
|
|
132
|
+
min,
|
|
133
|
+
max,
|
|
134
|
+
up,
|
|
135
|
+
down,
|
|
136
|
+
between,
|
|
137
|
+
only
|
|
159
138
|
};
|
|
160
139
|
}
|
|
161
|
-
exports.generateMediaQueries = generateMediaQueries;
|
package/styles/media.mjs
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
/// TODO:FIXME: this should use code from `useMqWidthCreator`
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export var min = (_a = generateMediaQueries(breakpoints), _a.min), max = _a.max, up = _a.up, down = _a.down, between = _a.between, only = _a.only;
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { breakpoints, useTheme } from "./theme";
|
|
4
|
+
export const { min, max, up, down, between, only } = generateMediaQueries(breakpoints);
|
|
6
5
|
export function useMedia(media) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const { breakpoints } = useTheme();
|
|
7
|
+
const [matches, setMatches] = useState(false);
|
|
8
|
+
const [direction = "min", breakpoint] = media.split(":");
|
|
9
|
+
let px = breakpoints[breakpoint];
|
|
11
10
|
if (direction === "max") {
|
|
12
11
|
px = px - 0.02;
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
useEffect(
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
const query = `(${direction}-width: ${px}px)`;
|
|
14
|
+
useEffect(()=>{
|
|
15
|
+
const mq = window.matchMedia(query);
|
|
16
|
+
const handleChange = (event)=>{
|
|
18
17
|
setMatches(event.matches);
|
|
19
18
|
};
|
|
20
19
|
setMatches(mq.matches);
|
|
@@ -24,15 +23,17 @@ export function useMedia(media) {
|
|
|
24
23
|
// Update the state whenever the media query match state changes
|
|
25
24
|
mq.addListener(handleChange);
|
|
26
25
|
// Clean up on unmount and if the query changes
|
|
27
|
-
return
|
|
26
|
+
return ()=>{
|
|
28
27
|
mq.removeListener(handleChange);
|
|
29
28
|
};
|
|
30
29
|
}
|
|
31
30
|
mq.addEventListener("change", handleChange);
|
|
32
|
-
return
|
|
31
|
+
return ()=>{
|
|
33
32
|
mq.removeEventListener("change", handleChange);
|
|
34
33
|
};
|
|
35
|
-
}, [
|
|
34
|
+
}, [
|
|
35
|
+
query
|
|
36
|
+
]);
|
|
36
37
|
return matches;
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
@@ -83,74 +84,68 @@ export function useMedia(media) {
|
|
|
83
84
|
* @custom-media --narrow-window (max-width: 30em);
|
|
84
85
|
* @media (--narrow-window) {}
|
|
85
86
|
* ```
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
*/ export function generateMediaQueries(breakpoints) {
|
|
88
|
+
const temp = Object.keys(breakpoints).map((key)=>{
|
|
89
|
+
const br = key;
|
|
90
|
+
return [
|
|
91
|
+
br,
|
|
92
|
+
breakpoints[br]
|
|
93
|
+
];
|
|
91
94
|
});
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
const sortedKeys = temp.sort((a, b)=>a[1] - b[1]).map((item)=>item[0]);
|
|
96
|
+
const getNext = (breakpoint)=>{
|
|
97
|
+
const index = sortedKeys.indexOf(breakpoint);
|
|
95
98
|
return sortedKeys[index + 1];
|
|
96
99
|
};
|
|
97
100
|
/**
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
return "@media (min-width: ".concat(breakpoints[br], "px)");
|
|
105
|
-
};
|
|
101
|
+
* It behaves the same as `@media (min-width: ${value}px)`
|
|
102
|
+
* where value is the given breakpoint value.
|
|
103
|
+
* For ease of use this can be used both as a function `min("md")` and as an
|
|
104
|
+
* object literal `min.md`.
|
|
105
|
+
*/ // @ts-expect-error FIXME: at some point
|
|
106
|
+
const min = (br)=>`@media (min-width: ${breakpoints[br]}px)`;
|
|
106
107
|
/**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
min[_br] = "@media (min-width: ".concat(breakpoints[_br], "px)");
|
|
118
|
-
max[_br] = "@media (max-width: ".concat(breakpoints[_br] - 0.02, "px)");
|
|
108
|
+
* It behaves the same as `@media (max-width: ${value}px)`
|
|
109
|
+
* where value is the given breakpoint value.
|
|
110
|
+
* For ease of use this can be used both as a function `max("md")` and as an
|
|
111
|
+
* object literal `max.md`.
|
|
112
|
+
*/ // @ts-expect-error FIXME: at some point
|
|
113
|
+
const max = (br)=>`@media (max-width: ${breakpoints[br] - 0.02}px)`;
|
|
114
|
+
for(const br in breakpoints){
|
|
115
|
+
const _br = br;
|
|
116
|
+
min[_br] = `@media (min-width: ${breakpoints[_br]}px)`;
|
|
117
|
+
max[_br] = `@media (max-width: ${breakpoints[_br] - 0.02}px)`;
|
|
119
118
|
}
|
|
120
119
|
/**
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
var up = min;
|
|
120
|
+
* It behaves the same as `min`
|
|
121
|
+
* @inheritdoc {max}
|
|
122
|
+
*/ const up = min;
|
|
125
123
|
/**
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
var brNext = getNext(br);
|
|
124
|
+
* It behaves similarly to `max` but you will use the "next" breakpoint,
|
|
125
|
+
* specifying CSS that will apply from the given breakpoint and down.
|
|
126
|
+
*/ const down = (br)=>{
|
|
127
|
+
const brNext = getNext(br);
|
|
131
128
|
// TODO: if br does not exists otherwise throw Error
|
|
132
|
-
return brNext &&
|
|
129
|
+
return brNext && `@media (max-width: ${breakpoints[brNext] - 0.02}px)`;
|
|
133
130
|
};
|
|
134
131
|
/**
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return "@media (min-width: ".concat(breakpoints[br1], "px) and (max-width: ").concat(breakpoints[br2] - 0.02, "px)");
|
|
132
|
+
* Media query between the two given breakpoints
|
|
133
|
+
*/ const between = (br1, br2)=>{
|
|
134
|
+
return `@media (min-width: ${breakpoints[br1]}px) and (max-width: ${breakpoints[br2] - 0.02}px)`;
|
|
139
135
|
};
|
|
140
136
|
/**
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
var brNext = getNext(br);
|
|
137
|
+
* Media query to apply from the given breakpoint until the next, just for its
|
|
138
|
+
* full range
|
|
139
|
+
*/ const only = (br)=>{
|
|
140
|
+
const brNext = getNext(br);
|
|
146
141
|
return brNext ? between(br, brNext) : min(br);
|
|
147
142
|
};
|
|
148
143
|
return {
|
|
149
|
-
min
|
|
150
|
-
max
|
|
151
|
-
up
|
|
152
|
-
down
|
|
153
|
-
between
|
|
154
|
-
only
|
|
144
|
+
min,
|
|
145
|
+
max,
|
|
146
|
+
up,
|
|
147
|
+
down,
|
|
148
|
+
between,
|
|
149
|
+
only
|
|
155
150
|
};
|
|
156
151
|
}
|
package/styles/spacing.js
CHANGED
|
@@ -1,29 +1,53 @@
|
|
|
1
|
+
// import type { DefaultTheme } from "styled-components";
|
|
1
2
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
spacing: function() {
|
|
14
|
+
return spacing;
|
|
15
|
+
},
|
|
16
|
+
spacingTop: function() {
|
|
17
|
+
return spacingTop;
|
|
18
|
+
},
|
|
19
|
+
spacingBottom: function() {
|
|
20
|
+
return spacingBottom;
|
|
21
|
+
},
|
|
22
|
+
spacingVertical: function() {
|
|
23
|
+
return spacingVertical;
|
|
15
24
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
25
|
+
});
|
|
26
|
+
function _spacing(theme, size = "md", factor = 1, property = "padding", direction = "top", devices = [
|
|
27
|
+
"mobile",
|
|
28
|
+
"tablet",
|
|
29
|
+
"desktop"
|
|
30
|
+
]) {
|
|
31
|
+
const { breakpoints, devices: DEVICES, spaces: SPACES } = theme;
|
|
32
|
+
let css = "";
|
|
33
|
+
const prop = `${property}-${direction}`;
|
|
34
|
+
if (!devices.length || devices[0] === "mobile") {
|
|
35
|
+
css += `@media(max-width: ${breakpoints[DEVICES.mobile]}px){
|
|
36
|
+
${prop}: ${SPACES["mobile"][size] * factor}px;
|
|
37
|
+
}`;
|
|
38
|
+
} else {
|
|
39
|
+
for(let index = 0; index < devices.length; index++){
|
|
40
|
+
const device = devices[index];
|
|
19
41
|
if (device === "mobile") {
|
|
20
|
-
css +=
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
else if (device === "desktop") {
|
|
26
|
-
css +=
|
|
42
|
+
css += `${prop}: ${SPACES[device][size] * factor}px;`;
|
|
43
|
+
} else if (device === "tablet") {
|
|
44
|
+
css += `@media(min-width: ${breakpoints[DEVICES.tablet]}px){
|
|
45
|
+
${prop}: ${SPACES["tablet"][size] * factor}px;
|
|
46
|
+
}`;
|
|
47
|
+
} else if (device === "desktop") {
|
|
48
|
+
css += `@media(min-width: ${breakpoints[DEVICES.desktop]}px){
|
|
49
|
+
${prop}: ${SPACES["desktop"][size] * factor}px;
|
|
50
|
+
}`;
|
|
27
51
|
}
|
|
28
52
|
}
|
|
29
53
|
}
|
|
@@ -31,22 +55,16 @@ function _spacing(theme, size, factor, property, direction, devices) {
|
|
|
31
55
|
}
|
|
32
56
|
function spacing(size, factor, property, direction, devices) {
|
|
33
57
|
if (direction === "vertical") {
|
|
34
|
-
return
|
|
35
|
-
_spacing(this, size, factor, property, "bottom", devices));
|
|
58
|
+
return _spacing(this, size, factor, property, "top", devices) + _spacing(this, size, factor, property, "bottom", devices);
|
|
36
59
|
}
|
|
37
60
|
return _spacing(this, size, factor, property, direction, devices);
|
|
38
61
|
}
|
|
39
|
-
exports.spacing = spacing;
|
|
40
62
|
function spacingTop(size, factor, property, devices) {
|
|
41
63
|
return _spacing(this, size, factor, property, "top", devices);
|
|
42
64
|
}
|
|
43
|
-
exports.spacingTop = spacingTop;
|
|
44
65
|
function spacingBottom(size, factor, property, devices) {
|
|
45
66
|
return _spacing(this, size, factor, property, "bottom", devices);
|
|
46
67
|
}
|
|
47
|
-
exports.spacingBottom = spacingBottom;
|
|
48
68
|
function spacingVertical(size, factor, property, devices) {
|
|
49
|
-
return
|
|
50
|
-
_spacing(this, size, factor, property, "bottom", devices));
|
|
69
|
+
return _spacing(this, size, factor, property, "top", devices) + _spacing(this, size, factor, property, "bottom", devices);
|
|
51
70
|
}
|
|
52
|
-
exports.spacingVertical = spacingVertical;
|
package/styles/spacing.mjs
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
// import type { DefaultTheme } from "styled-components";
|
|
2
|
+
function _spacing(theme, size = "md", factor = 1, property = "padding", direction = "top", devices = [
|
|
3
|
+
"mobile",
|
|
4
|
+
"tablet",
|
|
5
|
+
"desktop"
|
|
6
|
+
]) {
|
|
7
|
+
const { breakpoints, devices: DEVICES, spaces: SPACES } = theme;
|
|
8
|
+
let css = "";
|
|
9
|
+
const prop = `${property}-${direction}`;
|
|
10
10
|
if (!devices.length || devices[0] === "mobile") {
|
|
11
|
-
css +=
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
css += `@media(max-width: ${breakpoints[DEVICES.mobile]}px){
|
|
12
|
+
${prop}: ${SPACES["mobile"][size] * factor}px;
|
|
13
|
+
}`;
|
|
14
|
+
} else {
|
|
15
|
+
for(let index = 0; index < devices.length; index++){
|
|
16
|
+
const device = devices[index];
|
|
16
17
|
if (device === "mobile") {
|
|
17
|
-
css +=
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
else if (device === "desktop") {
|
|
23
|
-
css +=
|
|
18
|
+
css += `${prop}: ${SPACES[device][size] * factor}px;`;
|
|
19
|
+
} else if (device === "tablet") {
|
|
20
|
+
css += `@media(min-width: ${breakpoints[DEVICES.tablet]}px){
|
|
21
|
+
${prop}: ${SPACES["tablet"][size] * factor}px;
|
|
22
|
+
}`;
|
|
23
|
+
} else if (device === "desktop") {
|
|
24
|
+
css += `@media(min-width: ${breakpoints[DEVICES.desktop]}px){
|
|
25
|
+
${prop}: ${SPACES["desktop"][size] * factor}px;
|
|
26
|
+
}`;
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
}
|
|
@@ -28,8 +31,7 @@ function _spacing(theme, size, factor, property, direction, devices) {
|
|
|
28
31
|
}
|
|
29
32
|
export function spacing(size, factor, property, direction, devices) {
|
|
30
33
|
if (direction === "vertical") {
|
|
31
|
-
return
|
|
32
|
-
_spacing(this, size, factor, property, "bottom", devices));
|
|
34
|
+
return _spacing(this, size, factor, property, "top", devices) + _spacing(this, size, factor, property, "bottom", devices);
|
|
33
35
|
}
|
|
34
36
|
return _spacing(this, size, factor, property, direction, devices);
|
|
35
37
|
}
|
|
@@ -40,6 +42,5 @@ export function spacingBottom(size, factor, property, devices) {
|
|
|
40
42
|
return _spacing(this, size, factor, property, "bottom", devices);
|
|
41
43
|
}
|
|
42
44
|
export function spacingVertical(size, factor, property, devices) {
|
|
43
|
-
return
|
|
44
|
-
_spacing(this, size, factor, property, "bottom", devices));
|
|
45
|
+
return _spacing(this, size, factor, property, "top", devices) + _spacing(this, size, factor, property, "bottom", devices);
|
|
45
46
|
}
|