@okam/stack-ui 1.25.3 → 1.25.4
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/components/Accordion/components/AccordionItem.d.ts +3 -0
- package/components/Accordion/components/AriaAccordionItem.d.ts +3 -0
- package/components/Accordion/hooks/useAccordionState.d.ts +10 -0
- package/components/Accordion/index.d.ts +3 -0
- package/{src/components/Accordion/interface.ts → components/Accordion/interface.d.ts} +17 -23
- package/components/Alerts/components/AlertsCloseButton.d.ts +4 -0
- package/components/Alerts/components/AlertsItem.d.ts +3 -0
- package/components/Alerts/components/AlertsNavigationButton.d.ts +8 -0
- package/components/Alerts/components/AlertsSwiper.d.ts +3 -0
- package/components/Alerts/components/pagination/AlertsPagination.d.ts +3 -0
- package/components/Alerts/components/pagination/AlertsPaginationBullet.d.ts +3 -0
- package/components/Alerts/index.d.ts +3 -0
- package/components/Alerts/interface.d.ts +41 -0
- package/components/Box/index.d.ts +5 -0
- package/components/Box/interface.d.ts +11 -0
- package/components/Button/index.d.ts +6 -0
- package/components/Button/interface.d.ts +20 -0
- package/components/Calendar/RangeCalendar.d.ts +3 -0
- package/components/Calendar/components/CalendarCell.d.ts +3 -0
- package/components/Calendar/components/CalendarGrid.d.ts +3 -0
- package/components/Calendar/index.d.ts +3 -0
- package/components/Calendar/interface.d.ts +32 -0
- package/components/Carousel/index.d.ts +3 -0
- package/components/Carousel/interface.d.ts +24 -0
- package/components/Date/index.d.ts +3 -0
- package/components/Date/interface.d.ts +6 -0
- package/components/Dialog/index.d.ts +2 -0
- package/components/Dialog/interface.d.ts +6 -0
- package/components/DirectusImg/index.d.ts +3 -0
- package/components/DirectusImg/interface.d.ts +17 -0
- package/components/Icon/index.d.ts +3 -0
- package/components/Icon/interface.d.ts +7 -0
- package/components/Img/index.d.ts +3 -0
- package/components/Img/interface.d.ts +6 -0
- package/components/Lightbox/index.d.ts +3 -0
- package/components/Lightbox/interface.d.ts +25 -0
- package/components/Menu/Menu.d.ts +3 -0
- package/components/Menu/MenuSidePanel.d.ts +3 -0
- package/components/Menu/components/InnerContent.d.ts +3 -0
- package/components/Menu/components/MenuItems.d.ts +3 -0
- package/components/Menu/components/TabContainer.d.ts +3 -0
- package/components/Menu/interface.d.ts +31 -0
- package/components/Modal/components/ModalDialog.d.ts +3 -0
- package/components/Modal/components/ModalOverlay.d.ts +3 -0
- package/components/Modal/index.d.ts +3 -0
- package/{src/components/Modal/interface.ts → components/Modal/interface.d.ts} +11 -14
- package/components/Popover/index.d.ts +3 -0
- package/components/Popover/interface.d.ts +21 -0
- package/components/ShareButton/index.d.ts +4 -0
- package/components/ShareButton/interface.d.ts +26 -0
- package/components/ShareButton/utils/generateUtmTags.d.ts +2 -0
- package/components/ShareButton/utils/useFacebookShareUrl.d.ts +2 -0
- package/components/ShareButton/utils/useMailToShareUrl.d.ts +2 -0
- package/components/ShareButton/utils/useTwitterShareUrl.d.ts +2 -0
- package/components/ShareButton/utils/useWindow.d.ts +5 -0
- package/components/SidePanel/index.d.ts +4 -0
- package/components/SidePanel/interface.d.ts +12 -0
- package/components/TabList/components/TabPanel/TabPanel.d.ts +4 -0
- package/components/TabList/interface.d.ts +18 -0
- package/components/Typography/index.d.ts +5 -0
- package/components/Typography/interface.d.ts +10 -0
- package/components/WysiwygBlock/index.d.ts +3 -0
- package/components/WysiwygBlock/interface.d.ts +5 -0
- package/components/fields/Checkbox/Checkbox.interface.d.ts +18 -0
- package/components/fields/Checkbox/index.d.ts +3 -0
- package/components/fields/CheckboxGroup/components/CheckboxGroupItem/index.d.ts +3 -0
- package/components/fields/CheckboxGroup/index.d.ts +3 -0
- package/components/fields/CheckboxGroup/interface.d.ts +13 -0
- package/components/fields/DatePicker/DateRangePicker.d.ts +3 -0
- package/components/fields/DatePicker/components/CalendarPopover.d.ts +2 -0
- package/components/fields/DatePicker/components/DateField.d.ts +4 -0
- package/components/fields/DatePicker/index.d.ts +3 -0
- package/components/fields/DatePicker/interface.d.ts +37 -0
- package/components/fields/Radio/Radio.interface.d.ts +26 -0
- package/components/fields/Radio/index.d.ts +4 -0
- package/components/fields/RadioGroup/index.d.ts +3 -0
- package/components/fields/RadioGroup/interface.d.ts +9 -0
- package/components/fields/SearchField/index.d.ts +3 -0
- package/components/fields/SearchField/interface.d.ts +9 -0
- package/components/fields/Select/Select.d.ts +4 -0
- package/components/fields/Select/Select.interface.d.ts +26 -0
- package/components/fields/Select/components/Listbox.d.ts +4 -0
- package/{src/components/fields/Select/components/Listbox.interface.ts → components/fields/Select/components/Listbox.interface.d.ts} +8 -11
- package/components/fields/Select/components/Popover.d.ts +3 -0
- package/components/fields/Select/components/Popover.interface.d.ts +13 -0
- package/components/fields/SelectItem/SelectItem.d.ts +3 -0
- package/{src/components/fields/SelectItem/SelectItem.interface.ts → components/fields/SelectItem/SelectItem.interface.d.ts} +3 -4
- package/components/fields/TextArea/index.d.ts +4 -0
- package/components/fields/TextInputField/index.d.ts +4 -0
- package/components/fields/TextInputField/interface.d.ts +24 -0
- package/components/icons/ArrowDown.d.ts +3 -0
- package/components/icons/ArrowLeft.d.ts +3 -0
- package/components/icons/ArrowRight.d.ts +3 -0
- package/components/icons/Check.d.ts +3 -0
- package/components/icons/ChevronLeft.d.ts +3 -0
- package/components/icons/ChevronRight.d.ts +3 -0
- package/components/icons/CloseBtn.d.ts +3 -0
- package/components/icons/Facebook.d.ts +3 -0
- package/components/icons/FacebookColored.d.ts +3 -0
- package/components/icons/FacebookRounded.d.ts +3 -0
- package/components/icons/Globe.d.ts +3 -0
- package/components/icons/IconFallback.d.ts +3 -0
- package/components/icons/Instagram.d.ts +3 -0
- package/components/icons/InstagramColored.d.ts +3 -0
- package/components/icons/Link.d.ts +3 -0
- package/components/icons/LinkedIn.d.ts +3 -0
- package/components/icons/Mail.d.ts +3 -0
- package/components/icons/Plus.d.ts +3 -0
- package/components/icons/Search.d.ts +3 -0
- package/components/icons/Share.d.ts +3 -0
- package/components/icons/Twitter.d.ts +3 -0
- package/components/icons/TwitterColored.d.ts +3 -0
- package/components/icons/Upload.d.ts +3 -0
- package/components/icons/X.d.ts +3 -0
- package/components/icons/YouTube.d.ts +3 -0
- package/components/icons/YouTubeColored.d.ts +3 -0
- package/components/icons/index.d.ts +24 -0
- package/{src/index.ts → index.d.ts} +57 -72
- package/index.js +110 -0
- package/index.mjs +12755 -0
- package/package.json +1 -1
- package/providers/Accordion/index.d.ts +4 -0
- package/providers/Accordion/interface.d.ts +12 -0
- package/providers/Alerts/index.d.ts +4 -0
- package/providers/Alerts/interface.d.ts +9 -0
- package/providers/CheckboxGroup/index.d.ts +5 -0
- package/{src/providers/CheckboxGroup/interface.ts → providers/CheckboxGroup/interface.d.ts} +4 -5
- package/providers/Client/index.d.ts +4 -0
- package/providers/Client/interface.d.ts +10 -0
- package/providers/Menu/index.d.ts +4 -0
- package/providers/Menu/interface.d.ts +28 -0
- package/providers/RadioGroup/RadioGroup.d.ts +5 -0
- package/providers/RadioGroup/RadioGroup.interface.d.ts +7 -0
- package/providers/SidePanel/index.d.ts +4 -0
- package/providers/SidePanel/interface.d.ts +23 -0
- package/providers/Theme/hooks.d.ts +3 -0
- package/providers/Theme/index.d.ts +10 -0
- package/providers/Theme/interface.d.ts +24 -0
- package/providers/Theme/utils.d.ts +2 -0
- package/providers/UserSearchQuery/index.d.ts +4 -0
- package/providers/UserSearchQuery/interface.d.ts +10 -0
- package/style.css +1 -0
- package/theme/Accordion/index.d.ts +274 -0
- package/theme/Alerts/index.d.ts +1167 -0
- package/theme/Box/index.d.ts +214 -0
- package/theme/Button/index.d.ts +121 -0
- package/theme/Calendar/index.d.ts +366 -0
- package/theme/Carousel/index.d.ts +9 -0
- package/theme/Checkbox/index.d.ts +159 -0
- package/theme/CheckboxGroup/index.d.ts +30 -0
- package/theme/DatePicker/index.d.ts +43 -0
- package/theme/Image/index.d.ts +3 -0
- package/theme/LightBox/index.d.ts +455 -0
- package/theme/Radio/index.d.ts +108 -0
- package/theme/RadioGroup/index.d.ts +30 -0
- package/theme/Search/index.d.ts +30 -0
- package/theme/ShareButton/index.d.ts +174 -0
- package/theme/SidePanel/index.d.ts +3 -0
- package/theme/TextArea/index.d.ts +29 -0
- package/theme/Typography/index.d.ts +233 -0
- package/theme/index.d.ts +5 -0
- package/transitions/AccordionTransition.d.ts +4 -0
- package/transitions/ModalTransition.d.ts +7 -0
- package/transitions/RenderWithOpacity.d.ts +4 -0
- package/transitions/RenderWithSlide.d.ts +7 -0
- package/transitions/SidePanelTransition.d.ts +7 -0
- package/types/components.d.ts +28 -0
- package/.eslintrc.js +0 -32
- package/.storybook/.eslintrc.js +0 -29
- package/.storybook/main.ts +0 -33
- package/.storybook/preview.js +0 -56
- package/.storybook/tsconfig.json +0 -17
- package/CHANGELOG.md +0 -574
- package/README.md +0 -8
- package/postcss.config.js +0 -15
- package/project.json +0 -77
- package/src/_stories/icons/code-brackets.svg +0 -1
- package/src/_stories/icons/colors.svg +0 -1
- package/src/_stories/icons/comments.svg +0 -1
- package/src/_stories/icons/direction.svg +0 -1
- package/src/_stories/icons/flow.svg +0 -1
- package/src/_stories/icons/plugin.svg +0 -1
- package/src/_stories/icons/repo.svg +0 -1
- package/src/_stories/icons/stackalt.svg +0 -1
- package/src/components/Accordion/accordion.stories.mdx +0 -240
- package/src/components/Accordion/components/AccordionItem.tsx +0 -53
- package/src/components/Accordion/components/AriaAccordionItem.tsx +0 -76
- package/src/components/Accordion/hooks/useAccordionState.ts +0 -46
- package/src/components/Accordion/index.tsx +0 -38
- package/src/components/Alerts/alerts.stories.mdx +0 -282
- package/src/components/Alerts/components/AlertsCloseButton.tsx +0 -20
- package/src/components/Alerts/components/AlertsItem.tsx +0 -39
- package/src/components/Alerts/components/AlertsNavigationButton.tsx +0 -71
- package/src/components/Alerts/components/AlertsSwiper.tsx +0 -125
- package/src/components/Alerts/components/pagination/AlertsPagination.tsx +0 -32
- package/src/components/Alerts/components/pagination/AlertsPaginationBullet.tsx +0 -61
- package/src/components/Alerts/index.tsx +0 -54
- package/src/components/Alerts/interface.ts +0 -51
- package/src/components/Box/box.stories.mdx +0 -27
- package/src/components/Box/index.tsx +0 -36
- package/src/components/Box/interface.ts +0 -10
- package/src/components/Button/button.stories.mdx +0 -99
- package/src/components/Button/index.tsx +0 -92
- package/src/components/Button/interface.ts +0 -22
- package/src/components/Calendar/RangeCalendar.tsx +0 -61
- package/src/components/Calendar/calendar.stories.mdx +0 -28
- package/src/components/Calendar/components/CalendarCell.tsx +0 -60
- package/src/components/Calendar/components/CalendarGrid.tsx +0 -44
- package/src/components/Calendar/index.tsx +0 -63
- package/src/components/Calendar/interface.ts +0 -37
- package/src/components/Carousel/carousel.stories.mdx +0 -182
- package/src/components/Carousel/index.tsx +0 -99
- package/src/components/Carousel/interface.ts +0 -26
- package/src/components/Date/date.stories.mdx +0 -122
- package/src/components/Date/index.tsx +0 -35
- package/src/components/Date/interface.ts +0 -7
- package/src/components/Dialog/index.tsx +0 -14
- package/src/components/Dialog/interface.ts +0 -6
- package/src/components/DirectusImg/index.tsx +0 -59
- package/src/components/DirectusImg/interface.ts +0 -19
- package/src/components/Icon/index.tsx +0 -40
- package/src/components/Icon/interface.ts +0 -8
- package/src/components/Img/img.stories.mdx +0 -28
- package/src/components/Img/index.tsx +0 -30
- package/src/components/Img/interface.ts +0 -9
- package/src/components/Lightbox/hooks/overlay/index.tsx +0 -36
- package/src/components/Lightbox/index.tsx +0 -82
- package/src/components/Lightbox/interface.ts +0 -28
- package/src/components/Lightbox/lightbox.stories.mdx +0 -79
- package/src/components/Menu/Menu.tsx +0 -43
- package/src/components/Menu/MenuSidePanel.tsx +0 -41
- package/src/components/Menu/components/InnerContent.tsx +0 -26
- package/src/components/Menu/components/MenuItems.tsx +0 -133
- package/src/components/Menu/components/TabContainer.tsx +0 -13
- package/src/components/Menu/interface.ts +0 -41
- package/src/components/Menu/menu.stories.mdx +0 -23
- package/src/components/Modal/components/ModalDialog.tsx +0 -31
- package/src/components/Modal/components/ModalOverlay.tsx +0 -21
- package/src/components/Modal/index.tsx +0 -32
- package/src/components/Popover/index.tsx +0 -138
- package/src/components/Popover/interface.ts +0 -25
- package/src/components/Popover/popover.stories.mdx +0 -66
- package/src/components/ShareButton/index.tsx +0 -172
- package/src/components/ShareButton/interface.ts +0 -29
- package/src/components/ShareButton/share-button.stories.mdx +0 -48
- package/src/components/ShareButton/utils/generateUtmTags.ts +0 -4
- package/src/components/ShareButton/utils/useFacebookShareUrl.ts +0 -15
- package/src/components/ShareButton/utils/useMailToShareUrl.ts +0 -15
- package/src/components/ShareButton/utils/useTwitterShareUrl.ts +0 -15
- package/src/components/ShareButton/utils/useWindow.ts +0 -17
- package/src/components/SidePanel/index.tsx +0 -43
- package/src/components/SidePanel/interface.ts +0 -16
- package/src/components/SidePanel/side-panel.stories.mdx +0 -44
- package/src/components/TabList/components/Tab/Tab.tsx +0 -19
- package/src/components/TabList/components/TabPanel/TabPanel.tsx +0 -27
- package/src/components/TabList/index.tsx +0 -44
- package/src/components/TabList/interface.ts +0 -23
- package/src/components/Typography/index.tsx +0 -35
- package/src/components/Typography/interface.ts +0 -9
- package/src/components/Typography/typo.stories.mdx +0 -157
- package/src/components/WysiwygBlock/index.tsx +0 -20
- package/src/components/WysiwygBlock/interface.ts +0 -7
- package/src/components/WysiwygBlock/wysiwyg.stories.mdx +0 -53
- package/src/components/fields/Checkbox/Checkbox.interface.ts +0 -21
- package/src/components/fields/Checkbox/Checkbox.stories.mdx +0 -127
- package/src/components/fields/Checkbox/index.tsx +0 -62
- package/src/components/fields/CheckboxGroup/checkbox-group.stories.mdx +0 -59
- package/src/components/fields/CheckboxGroup/components/CheckboxGroupItem/index.tsx +0 -66
- package/src/components/fields/CheckboxGroup/index.tsx +0 -49
- package/src/components/fields/CheckboxGroup/interface.ts +0 -17
- package/src/components/fields/DatePicker/DateRangePicker.tsx +0 -73
- package/src/components/fields/DatePicker/components/CalendarPopover.tsx +0 -31
- package/src/components/fields/DatePicker/components/DateField.tsx +0 -61
- package/src/components/fields/DatePicker/date-picker.stories.mdx +0 -55
- package/src/components/fields/DatePicker/index.tsx +0 -71
- package/src/components/fields/DatePicker/interface.ts +0 -69
- package/src/components/fields/Radio/Radio.interface.ts +0 -30
- package/src/components/fields/Radio/index.tsx +0 -63
- package/src/components/fields/RadioGroup/index.tsx +0 -33
- package/src/components/fields/RadioGroup/interface.ts +0 -10
- package/src/components/fields/RadioGroup/radio-group.stories.mdx +0 -56
- package/src/components/fields/SearchField/index.tsx +0 -59
- package/src/components/fields/SearchField/interface.ts +0 -10
- package/src/components/fields/SearchField/search.stories.mdx +0 -91
- package/src/components/fields/Select/Select.interface.ts +0 -24
- package/src/components/fields/Select/Select.stories.mdx +0 -53
- package/src/components/fields/Select/Select.tsx +0 -108
- package/src/components/fields/Select/components/Listbox.tsx +0 -40
- package/src/components/fields/Select/components/Popover.interface.ts +0 -14
- package/src/components/fields/Select/components/Popover.tsx +0 -32
- package/src/components/fields/SelectItem/SelectItem.tsx +0 -10
- package/src/components/fields/TextArea/index.tsx +0 -105
- package/src/components/fields/TextArea/textArea.stories.mdx +0 -60
- package/src/components/fields/TextInputField/index.tsx +0 -107
- package/src/components/fields/TextInputField/interface.ts +0 -30
- package/src/components/fields/TextInputField/text-input-field.stories.mdx +0 -64
- package/src/components/icons/ArrowDown.tsx +0 -11
- package/src/components/icons/ArrowLeft.tsx +0 -18
- package/src/components/icons/ArrowRight.tsx +0 -18
- package/src/components/icons/Check.tsx +0 -11
- package/src/components/icons/ChevronLeft.tsx +0 -11
- package/src/components/icons/ChevronRight.tsx +0 -11
- package/src/components/icons/CloseBtn.tsx +0 -11
- package/src/components/icons/Facebook.tsx +0 -14
- package/src/components/icons/FacebookColored.tsx +0 -16
- package/src/components/icons/FacebookRounded.tsx +0 -16
- package/src/components/icons/Globe.tsx +0 -38
- package/src/components/icons/IconFallback.tsx +0 -8
- package/src/components/icons/Instagram.tsx +0 -14
- package/src/components/icons/InstagramColored.tsx +0 -59
- package/src/components/icons/Link.tsx +0 -14
- package/src/components/icons/LinkedIn.tsx +0 -16
- package/src/components/icons/Mail.tsx +0 -16
- package/src/components/icons/Plus.tsx +0 -18
- package/src/components/icons/Search.tsx +0 -19
- package/src/components/icons/Share.tsx +0 -16
- package/src/components/icons/Twitter.tsx +0 -16
- package/src/components/icons/TwitterColored.tsx +0 -16
- package/src/components/icons/Upload.tsx +0 -14
- package/src/components/icons/X.tsx +0 -14
- package/src/components/icons/YouTube.tsx +0 -16
- package/src/components/icons/YouTubeColored.tsx +0 -17
- package/src/components/icons/index.ts +0 -24
- package/src/examples/PageLayout/index.tsx +0 -61
- package/src/examples/PageLayout/layout.stories.mdx +0 -35
- package/src/message.tsx +0 -8
- package/src/providers/Accordion/index.tsx +0 -15
- package/src/providers/Accordion/interface.ts +0 -14
- package/src/providers/Alerts/index.tsx +0 -15
- package/src/providers/Alerts/interface.ts +0 -11
- package/src/providers/CheckboxGroup/index.tsx +0 -22
- package/src/providers/Client/index.tsx +0 -21
- package/src/providers/Client/interface.ts +0 -13
- package/src/providers/Menu/index.tsx +0 -43
- package/src/providers/Menu/interface.ts +0 -32
- package/src/providers/RadioGroup/RadioGroup.interface.ts +0 -8
- package/src/providers/RadioGroup/RadioGroup.tsx +0 -25
- package/src/providers/SidePanel/index.tsx +0 -55
- package/src/providers/SidePanel/interface.ts +0 -26
- package/src/providers/Theme/hooks.ts +0 -25
- package/src/providers/Theme/index.tsx +0 -40
- package/src/providers/Theme/interface.ts +0 -28
- package/src/providers/Theme/utils.ts +0 -3
- package/src/providers/UserSearchQuery/index.tsx +0 -20
- package/src/providers/UserSearchQuery/interface.ts +0 -12
- package/src/storybook/Lightbox/LightboxControlledState.tsx +0 -28
- package/src/storybook/Menu/Menu.tsx +0 -177
- package/src/storybook/Menu/NestedMenu.tsx +0 -24
- package/src/storybook/Menu/mock.tsx +0 -84
- package/src/storybook/SelectField/index.tsx +0 -57
- package/src/storybook/ShareButtonExample/index.tsx +0 -66
- package/src/tailwind.css +0 -3
- package/src/theme/Accordion/index.tsx +0 -101
- package/src/theme/Alerts/index.ts +0 -97
- package/src/theme/Box/index.ts +0 -45
- package/src/theme/Button/index.tsx +0 -72
- package/src/theme/Calendar/index.tsx +0 -167
- package/src/theme/Carousel/index.ts +0 -36
- package/src/theme/Checkbox/index.ts +0 -49
- package/src/theme/CheckboxGroup/index.ts +0 -14
- package/src/theme/DatePicker/index.tsx +0 -42
- package/src/theme/Image/index.ts +0 -8
- package/src/theme/LightBox/index.ts +0 -56
- package/src/theme/Radio/index.ts +0 -31
- package/src/theme/RadioGroup/index.ts +0 -14
- package/src/theme/Search/index.ts +0 -20
- package/src/theme/ShareButton/index.tsx +0 -76
- package/src/theme/SidePanel/index.ts +0 -9
- package/src/theme/TextArea/index.ts +0 -25
- package/src/theme/Typography/index.tsx +0 -44
- package/src/theme/index.tsx +0 -178
- package/src/transitions/AccordionTransition.tsx +0 -26
- package/src/transitions/ModalTransition.tsx +0 -38
- package/src/transitions/RenderWithOpacity.tsx +0 -25
- package/src/transitions/RenderWithSlide.tsx +0 -21
- package/src/transitions/SidePanelTransition.tsx +0 -30
- package/src/types/components.ts +0 -34
- package/static/images/image.png +0 -0
- package/tailwind.config.js +0 -14
- package/tsconfig.json +0 -20
- package/tsconfig.lib.json +0 -25
- package/vite.config.ts +0 -58
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import isEqual from 'lodash.isequal'
|
|
2
|
-
import React, { memo } from 'react'
|
|
3
|
-
|
|
4
|
-
const SvgComponent = (props: React.SVGProps<SVGSVGElement>) => (
|
|
5
|
-
<svg xmlns="http://www.w3.org/2000/svg" width={24} height={25} viewBox="0 0 24 25" fill="none" {...props}>
|
|
6
|
-
<path
|
|
7
|
-
d="M14.119 11.7052L20.4486 4.5H18.9492L13.4509 10.7549L9.0626 4.5H4L10.6374 13.9594L4 21.5142H5.4994L11.3021 14.9074L15.9374 21.5142H21M6.04057 5.60727H8.34407L18.9481 20.4613H16.644"
|
|
8
|
-
fill="currentColor"
|
|
9
|
-
/>
|
|
10
|
-
</svg>
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
const X = memo(SvgComponent, isEqual)
|
|
14
|
-
export default X
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import isEqual from 'lodash.isequal'
|
|
2
|
-
import React, { memo } from 'react'
|
|
3
|
-
|
|
4
|
-
const SvgComponent = (props: React.SVGProps<SVGSVGElement>) => (
|
|
5
|
-
<svg width={24} height={24} xmlns="http://www.w3.org/2000/svg" xmlSpace="preserve" viewBox="0 0 256 256" {...props}>
|
|
6
|
-
<path
|
|
7
|
-
fill="currentColor"
|
|
8
|
-
strokeMiterlimit="10"
|
|
9
|
-
strokeWidth="0"
|
|
10
|
-
d="M249 67c-3-11-11-19-22-22-20-6-99-6-99-6s-79 0-99 6C18 48 10 56 7 67c-6 20-6 61-6 61s0 41 6 61c3 11 11 19 22 22 20 5 99 5 99 5s79 0 99-5c11-3 19-11 22-22 5-20 5-61 5-61s0-41-5-61zm-146 99V90l65 38-65 38z"
|
|
11
|
-
/>
|
|
12
|
-
</svg>
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
const YouTube = memo(SvgComponent, isEqual)
|
|
16
|
-
export default YouTube
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import isEqual from 'lodash.isequal'
|
|
2
|
-
import React, { memo } from 'react'
|
|
3
|
-
|
|
4
|
-
const SvgComponent = (props: React.SVGProps<SVGSVGElement>) => (
|
|
5
|
-
<svg width={24} height={24} xmlns="http://www.w3.org/2000/svg" xmlSpace="preserve" viewBox="0 0 256 256" {...props}>
|
|
6
|
-
<g fill="currentColor" strokeMiterlimit="10" strokeWidth="0">
|
|
7
|
-
<path
|
|
8
|
-
fill="red"
|
|
9
|
-
d="M249.02 66.99a31.68 31.68 0 0 0-22.36-22.36c-19.72-5.29-98.8-5.29-98.8-5.29s-79.09 0-98.8 5.29A31.68 31.68 0 0 0 6.68 66.99c-5.28 19.72-5.28 60.87-5.28 60.87s0 41.15 5.28 60.87a31.68 31.68 0 0 0 22.36 22.36c19.72 5.28 98.8 5.28 98.8 5.28s79.1 0 98.81-5.28a31.68 31.68 0 0 0 22.36-22.36c5.29-19.72 5.29-60.87 5.29-60.87s0-41.15-5.29-60.87z"
|
|
10
|
-
/>
|
|
11
|
-
<path fill="#fff" d="m102.57 165.8 65.7-37.94-65.7-37.94z" />
|
|
12
|
-
</g>
|
|
13
|
-
</svg>
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
const YouTubeColored = memo(SvgComponent, isEqual)
|
|
17
|
-
export default YouTubeColored
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export { default as ArrowDown } from './ArrowDown'
|
|
2
|
-
export { default as ArrowLeft } from './ArrowLeft'
|
|
3
|
-
export { default as ArrowRight } from './ArrowRight'
|
|
4
|
-
export { default as Check } from './Check'
|
|
5
|
-
export { default as ChevronLeft } from './ChevronLeft'
|
|
6
|
-
export { default as ChevronRight } from './ChevronRight'
|
|
7
|
-
export { default as CloseBtn } from './CloseBtn'
|
|
8
|
-
export { default as Facebook } from './Facebook'
|
|
9
|
-
export { default as FacebookColored } from './FacebookColored'
|
|
10
|
-
export { default as FacebookRounded } from './FacebookRounded'
|
|
11
|
-
export { default as Globe } from './Globe'
|
|
12
|
-
export { default as Instagram } from './Instagram'
|
|
13
|
-
export { default as InstagramColored } from './InstagramColored'
|
|
14
|
-
export { default as Link } from './Link'
|
|
15
|
-
export { default as LinkedIn } from './LinkedIn'
|
|
16
|
-
export { default as Mail } from './Mail'
|
|
17
|
-
export { default as Plus } from './Plus'
|
|
18
|
-
export { default as Share } from './Share'
|
|
19
|
-
export { default as Twitter } from './Twitter'
|
|
20
|
-
export { default as TwitterColored } from './TwitterColored'
|
|
21
|
-
export { default as Upload } from './Upload'
|
|
22
|
-
export { default as X } from './X'
|
|
23
|
-
export { default as YouTube } from './YouTube'
|
|
24
|
-
export { default as YouTubeColored } from './YouTubeColored'
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import Box from '../../components/Box'
|
|
2
|
-
import type { TBoxProps } from '../../components/Box/interface'
|
|
3
|
-
import Typography from '../../components/Typography'
|
|
4
|
-
|
|
5
|
-
const Main = ({ children }: TBoxProps) => {
|
|
6
|
-
return (
|
|
7
|
-
<Box as="main" themeName="main">
|
|
8
|
-
{children}
|
|
9
|
-
</Box>
|
|
10
|
-
)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const Container = ({ children, ...props }: TBoxProps) => {
|
|
14
|
-
return (
|
|
15
|
-
<Box themeName="container" {...props}>
|
|
16
|
-
{children}
|
|
17
|
-
</Box>
|
|
18
|
-
)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const Grid = ({ children, ...props }: TBoxProps) => {
|
|
22
|
-
return (
|
|
23
|
-
<Box themeName="grid" {...props}>
|
|
24
|
-
{children}
|
|
25
|
-
</Box>
|
|
26
|
-
)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const GridItem = ({ children, ...props }: TBoxProps) => {
|
|
30
|
-
return (
|
|
31
|
-
<Box as="li" themeName="gridItem" {...props}>
|
|
32
|
-
{children}
|
|
33
|
-
</Box>
|
|
34
|
-
)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const PageLayoutExample = () => (
|
|
38
|
-
<Main>
|
|
39
|
-
<Container tokens={{ spacing: 'small' }}>
|
|
40
|
-
<Typography as="h1" tokens={{ size: 'h1', align: 'center' }}>
|
|
41
|
-
Hello world
|
|
42
|
-
</Typography>
|
|
43
|
-
</Container>
|
|
44
|
-
<Container tokens={{ spacing: 'large' }}>
|
|
45
|
-
<Grid as="ul">
|
|
46
|
-
<GridItem tokens={{ size: 'medium' }}>1</GridItem>
|
|
47
|
-
<GridItem>2</GridItem>
|
|
48
|
-
<GridItem>3</GridItem>
|
|
49
|
-
<GridItem>4</GridItem>
|
|
50
|
-
<GridItem>5</GridItem>
|
|
51
|
-
</Grid>
|
|
52
|
-
</Container>
|
|
53
|
-
<Container tokens={{ fullWidth: true, className: 'bg-red-200 py-8' }}>
|
|
54
|
-
<Grid as="ul">
|
|
55
|
-
<GridItem tokens={{ size: 'large', className: 'h-96' }}>Large</GridItem>
|
|
56
|
-
</Grid>
|
|
57
|
-
</Container>
|
|
58
|
-
</Main>
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
export default PageLayoutExample
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{/* layout.stories.mdx */}
|
|
2
|
-
|
|
3
|
-
import { Canvas, Meta, Story } from '@storybook/addon-docs'
|
|
4
|
-
import PageLayoutExample from './index'
|
|
5
|
-
|
|
6
|
-
<Meta title="LAYOUT EXAMPLE/Simple" component={PageLayoutExample} />
|
|
7
|
-
|
|
8
|
-
export const Template = (args) => (
|
|
9
|
-
<>
|
|
10
|
-
<style>
|
|
11
|
-
{`
|
|
12
|
-
#storybook-root {
|
|
13
|
-
width: 100%;
|
|
14
|
-
padding: 0! important;
|
|
15
|
-
}
|
|
16
|
-
`}
|
|
17
|
-
</style>
|
|
18
|
-
<PageLayoutExample {...args} />
|
|
19
|
-
</>
|
|
20
|
-
)
|
|
21
|
-
|
|
22
|
-
# Box
|
|
23
|
-
|
|
24
|
-
Box component. Generic wrapper for your website or app.
|
|
25
|
-
|
|
26
|
-
<Canvas layout="fullscreen">
|
|
27
|
-
<Story
|
|
28
|
-
name="Box"
|
|
29
|
-
args={{
|
|
30
|
-
as: 'div',
|
|
31
|
-
}}
|
|
32
|
-
>
|
|
33
|
-
{Template.bind({})}
|
|
34
|
-
</Story>
|
|
35
|
-
</Canvas>
|
package/src/message.tsx
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { createCtxNullable } from '@okam/core-lib'
|
|
4
|
-
import { useMemo } from 'react'
|
|
5
|
-
import type { TAccordionContext, TAccordionProviderProps } from './interface'
|
|
6
|
-
|
|
7
|
-
export const [useAccordionCtx, AccordionProvider] = createCtxNullable<TAccordionContext>()
|
|
8
|
-
|
|
9
|
-
export function AccordionContextProvider(props: TAccordionProviderProps) {
|
|
10
|
-
const { state, children, TransitionAnimation } = props
|
|
11
|
-
|
|
12
|
-
const value = useMemo<TAccordionContext>(() => ({ state, TransitionAnimation }), [state, TransitionAnimation])
|
|
13
|
-
|
|
14
|
-
return <AccordionProvider value={value}>{children}</AccordionProvider>
|
|
15
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react'
|
|
2
|
-
import type { TreeState } from 'react-stately'
|
|
3
|
-
import type { TAccordionItemProps, TAccordionProps } from '../../components/Accordion/interface'
|
|
4
|
-
|
|
5
|
-
type TAccordion = NonNullable<Pick<TAccordionProps, 'TransitionAnimation'>>
|
|
6
|
-
|
|
7
|
-
export interface TAccordionProviderProps extends TAccordion {
|
|
8
|
-
children: ReactNode
|
|
9
|
-
state: TreeState<TAccordionItemProps>
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export type TAccordionContext = TAccordion & {
|
|
13
|
-
state: TreeState<TAccordionItemProps>
|
|
14
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { createCtxNullable } from '@okam/core-lib'
|
|
4
|
-
import { useMemo } from 'react'
|
|
5
|
-
import type { TAlertsControllerContext, TAlertsControllerProviderProps } from './interface'
|
|
6
|
-
|
|
7
|
-
export const [useAlertsController, AlertsControllerProvider] = createCtxNullable<TAlertsControllerContext>()
|
|
8
|
-
|
|
9
|
-
export function AlertsControllerContextProvider(props: TAlertsControllerProviderProps) {
|
|
10
|
-
const { controller, children } = props
|
|
11
|
-
|
|
12
|
-
const value = useMemo<TAlertsControllerContext>(() => ({ controller }), [controller])
|
|
13
|
-
|
|
14
|
-
return <AlertsControllerProvider value={value}>{children}</AlertsControllerProvider>
|
|
15
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react'
|
|
2
|
-
import type { SwiperClass } from 'swiper/react'
|
|
3
|
-
|
|
4
|
-
export interface TAlertsControllerProviderProps {
|
|
5
|
-
children: ReactNode
|
|
6
|
-
controller: SwiperClass | undefined
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export type TAlertsControllerContext = {
|
|
10
|
-
controller: SwiperClass | undefined
|
|
11
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import type { CheckboxGroupState } from '@react-stately/checkbox'
|
|
4
|
-
import { createContext, useContext } from 'react'
|
|
5
|
-
import type { TCheckboxGroupContext } from './interface'
|
|
6
|
-
|
|
7
|
-
const CheckboxGroupContext = createContext<CheckboxGroupState | null>(null)
|
|
8
|
-
|
|
9
|
-
const CheckboxGroupProvider = (props: TCheckboxGroupContext) => {
|
|
10
|
-
const { children, state } = props
|
|
11
|
-
|
|
12
|
-
return <CheckboxGroupContext.Provider value={state}>{children}</CheckboxGroupContext.Provider>
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function useCheckboxGroupCtx() {
|
|
16
|
-
const context = useContext(CheckboxGroupContext)
|
|
17
|
-
|
|
18
|
-
if (!context) return null
|
|
19
|
-
return context
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export { CheckboxGroupProvider, useCheckboxGroupCtx }
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { createCtx } from '@okam/core-lib'
|
|
4
|
-
import { useEffect, useMemo, useState } from 'react'
|
|
5
|
-
import type { TClientContext, TClientProps, TClientProviderProps } from './interface'
|
|
6
|
-
|
|
7
|
-
const [useIsClient, IsClientProvider] = createCtx<TClientProps>()
|
|
8
|
-
|
|
9
|
-
export { useIsClient }
|
|
10
|
-
|
|
11
|
-
export function IsClientContextProvider({ children }: TClientProviderProps) {
|
|
12
|
-
const [isClient, setIsClient] = useState(false)
|
|
13
|
-
|
|
14
|
-
useEffect(() => {
|
|
15
|
-
setIsClient(true)
|
|
16
|
-
}, [])
|
|
17
|
-
|
|
18
|
-
const value = useMemo<TClientContext>(() => ({ isClient }), [isClient])
|
|
19
|
-
|
|
20
|
-
return <IsClientProvider value={value}>{children}</IsClientProvider>
|
|
21
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { createCtxNullable } from '@okam/core-lib'
|
|
4
|
-
import { useMemo } from 'react'
|
|
5
|
-
import { useTabListState } from 'react-stately'
|
|
6
|
-
import { SidePanelContextProvider } from '../SidePanel'
|
|
7
|
-
import type { IMenuProviderProps, TMenuContext } from './interface'
|
|
8
|
-
|
|
9
|
-
export const [useMenu, MenuProvider] = createCtxNullable<TMenuContext>()
|
|
10
|
-
|
|
11
|
-
export function MenuContextProvider({
|
|
12
|
-
children,
|
|
13
|
-
defaultSelectedKey,
|
|
14
|
-
defaultIsOpen,
|
|
15
|
-
onCloseCallback,
|
|
16
|
-
onOpenCallback,
|
|
17
|
-
tabs,
|
|
18
|
-
openBtn,
|
|
19
|
-
closeBtn,
|
|
20
|
-
...rest
|
|
21
|
-
}: IMenuProviderProps) {
|
|
22
|
-
const tabState = useTabListState({ ...rest, children: tabs, defaultSelectedKey })
|
|
23
|
-
const value = useMemo<TMenuContext>(
|
|
24
|
-
() => ({ openBtn, closeBtn, tabState, defaultSelectedKey }),
|
|
25
|
-
[openBtn, closeBtn, tabState, defaultSelectedKey],
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
return (
|
|
29
|
-
<MenuProvider value={value}>
|
|
30
|
-
<SidePanelContextProvider
|
|
31
|
-
onCloseCallback={() => {
|
|
32
|
-
onCloseCallback?.()
|
|
33
|
-
tabState?.setSelectedKey?.(defaultSelectedKey)
|
|
34
|
-
}}
|
|
35
|
-
onOpenCallback={onOpenCallback}
|
|
36
|
-
defaultIsOpen={defaultIsOpen}
|
|
37
|
-
defaultSelectedKey={defaultSelectedKey.toString()}
|
|
38
|
-
>
|
|
39
|
-
{children}
|
|
40
|
-
</SidePanelContextProvider>
|
|
41
|
-
</MenuProvider>
|
|
42
|
-
)
|
|
43
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { CollectionChildren } from '@react-types/shared'
|
|
2
|
-
import type React from 'react'
|
|
3
|
-
import type { AriaTabListProps } from 'react-aria'
|
|
4
|
-
import type { TabListState } from 'react-stately'
|
|
5
|
-
|
|
6
|
-
export type TMenuProviderProps = {
|
|
7
|
-
children: React.ReactNode
|
|
8
|
-
tabs?: CollectionChildren<object>
|
|
9
|
-
defaultSelectedKey: string
|
|
10
|
-
defaultIsOpen?: boolean
|
|
11
|
-
onCloseCallback?: () => void
|
|
12
|
-
onOpenCallback?: () => void
|
|
13
|
-
openBtn?: () => JSX.Element
|
|
14
|
-
closeBtn?: () => JSX.Element
|
|
15
|
-
secondaryOpenBtn?: () => JSX.Element
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type IMenuProviderProps = AriaTabListProps<TMenuProviderProps> & TMenuProviderProps
|
|
19
|
-
|
|
20
|
-
export type TMenuContext = {
|
|
21
|
-
openBtn?: () => JSX.Element
|
|
22
|
-
closeBtn?: () => JSX.Element
|
|
23
|
-
secondaryOpenBtn?: () => JSX.Element
|
|
24
|
-
tabState: TabListState<object>
|
|
25
|
-
defaultSelectedKey: string
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export type TMenuProps = {
|
|
29
|
-
openBtn?: () => JSX.Element
|
|
30
|
-
closeBtn?: () => JSX.Element
|
|
31
|
-
secondaryOpenBtn?: () => JSX.Element
|
|
32
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { RadioGroupProps } from '@react-types/radio'
|
|
2
|
-
import type { ReactNode } from 'react'
|
|
3
|
-
import type { RadioGroupState } from 'react-stately'
|
|
4
|
-
|
|
5
|
-
export interface TRadioGroupContext extends RadioGroupProps {
|
|
6
|
-
children: ReactNode
|
|
7
|
-
state: RadioGroupState
|
|
8
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import type { RadioGroupState } from '@react-stately/radio'
|
|
4
|
-
import { createContext, useContext } from 'react'
|
|
5
|
-
import type { TRadioGroupContext } from './RadioGroup.interface'
|
|
6
|
-
|
|
7
|
-
const RadioGroupContext = createContext<RadioGroupState | null>(null)
|
|
8
|
-
|
|
9
|
-
const RadioGroupProvider = (props: TRadioGroupContext) => {
|
|
10
|
-
const { children, state } = props
|
|
11
|
-
|
|
12
|
-
return <RadioGroupContext.Provider value={state}>{children}</RadioGroupContext.Provider>
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function useRadioGroupCtx() {
|
|
16
|
-
const context = useContext(RadioGroupContext)
|
|
17
|
-
|
|
18
|
-
if (context !== null) {
|
|
19
|
-
return context
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return null
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export { RadioGroupProvider, useRadioGroupCtx }
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { createCtx } from '@okam/core-lib'
|
|
4
|
-
import { useMemo, useRef } from 'react'
|
|
5
|
-
import { useOverlayTriggerState } from 'react-stately'
|
|
6
|
-
import useOverlayHook from '../../components/Lightbox/hooks/overlay'
|
|
7
|
-
import type { TSidePanelContext, TSidePanelProviderProps } from './interface'
|
|
8
|
-
|
|
9
|
-
const [useSidePanel, SidePanelProvider] = createCtx<TSidePanelContext>()
|
|
10
|
-
|
|
11
|
-
export { useSidePanel }
|
|
12
|
-
|
|
13
|
-
export function SidePanelContextProvider(props: TSidePanelProviderProps) {
|
|
14
|
-
const {
|
|
15
|
-
children,
|
|
16
|
-
defaultSelectedKey,
|
|
17
|
-
onOpenCallback,
|
|
18
|
-
onCloseCallback,
|
|
19
|
-
defaultIsOpen = false,
|
|
20
|
-
type = 'dialog',
|
|
21
|
-
} = props
|
|
22
|
-
|
|
23
|
-
const openButtonRef = useRef(null)
|
|
24
|
-
const closeButtonRef = useRef(null)
|
|
25
|
-
|
|
26
|
-
const overlayState = useOverlayTriggerState({
|
|
27
|
-
defaultOpen: defaultIsOpen,
|
|
28
|
-
onOpenChange(isOpen) {
|
|
29
|
-
if (!isOpen) {
|
|
30
|
-
onCloseCallback?.()
|
|
31
|
-
return
|
|
32
|
-
}
|
|
33
|
-
onOpenCallback?.()
|
|
34
|
-
},
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
const { triggerProps, overlayProps } = useOverlayHook({ type }, overlayState)
|
|
38
|
-
|
|
39
|
-
const value = useMemo<TSidePanelContext>(
|
|
40
|
-
() => ({
|
|
41
|
-
overlayProps,
|
|
42
|
-
defaultSelectedKey,
|
|
43
|
-
overlayState,
|
|
44
|
-
buttonProps: {
|
|
45
|
-
closeButtonProps: triggerProps,
|
|
46
|
-
closeButtonRef,
|
|
47
|
-
openButtonProps: triggerProps,
|
|
48
|
-
openButtonRef,
|
|
49
|
-
},
|
|
50
|
-
}),
|
|
51
|
-
[overlayState, defaultSelectedKey, triggerProps, overlayProps],
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
return <SidePanelProvider value={value}>{children}</SidePanelProvider>
|
|
55
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { OverlayTriggerState } from '@react-stately/overlays'
|
|
2
|
-
import type { DOMProps } from '@react-types/shared'
|
|
3
|
-
import type React from 'react'
|
|
4
|
-
import type { OverlayTriggerProps } from 'react-aria'
|
|
5
|
-
|
|
6
|
-
export type TSidePanelProviderProps = Partial<OverlayTriggerProps> & {
|
|
7
|
-
children: React.ReactNode
|
|
8
|
-
defaultSelectedKey: string
|
|
9
|
-
defaultIsOpen?: boolean
|
|
10
|
-
onOpenCallback?: () => void
|
|
11
|
-
onCloseCallback?: () => void
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export type TButtonProps = {
|
|
15
|
-
closeButtonProps: React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
16
|
-
closeButtonRef: React.MutableRefObject<null>
|
|
17
|
-
openButtonProps: React.HTMLAttributes<HTMLDivElement>
|
|
18
|
-
openButtonRef: React.MutableRefObject<null>
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type TSidePanelContext = {
|
|
22
|
-
defaultSelectedKey: string
|
|
23
|
-
overlayState: OverlayTriggerState
|
|
24
|
-
buttonProps: TButtonProps
|
|
25
|
-
overlayProps: DOMProps
|
|
26
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { get } from 'radash'
|
|
4
|
-
import type { TCustomTheme, TToken } from './interface'
|
|
5
|
-
import { useTheme } from './index'
|
|
6
|
-
|
|
7
|
-
const useThemeContext = (func?: string | null, props: TToken = {}, customTheme: TCustomTheme = null) => {
|
|
8
|
-
const theme = useTheme()
|
|
9
|
-
if (theme != null && func != null) {
|
|
10
|
-
const { brandTheme } = theme
|
|
11
|
-
const themeFunc = get(brandTheme, func)
|
|
12
|
-
if (typeof themeFunc === 'function') {
|
|
13
|
-
const returnValue = themeFunc?.(props)
|
|
14
|
-
if (typeof returnValue === 'string') {
|
|
15
|
-
return returnValue
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
if (!customTheme) {
|
|
20
|
-
return undefined
|
|
21
|
-
}
|
|
22
|
-
return customTheme
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export default useThemeContext
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import React, { useMemo } from 'react'
|
|
4
|
-
import type { TThemeProviderProps, TThemePanelContext, TDefaultTheme, TTheme } from './interface'
|
|
5
|
-
|
|
6
|
-
export function createCtxNullable<A extends Record<string, unknown> | null>() {
|
|
7
|
-
const ctx = React.createContext<A | undefined>(undefined)
|
|
8
|
-
function useCtx() {
|
|
9
|
-
const c = React.useContext(ctx)
|
|
10
|
-
|
|
11
|
-
if (c === undefined) {
|
|
12
|
-
return null
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
return c
|
|
16
|
-
}
|
|
17
|
-
return [useCtx, ctx.Provider] as const // 'as const' makes TypeScript infer a tuple
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const defaultTheme: TDefaultTheme = {
|
|
21
|
-
typography: () => '',
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const [useTheme, ThemeProvider] = createCtxNullable<TThemePanelContext<TTheme>>()
|
|
25
|
-
|
|
26
|
-
export function ThemeContextProvider({ children, brandTheme = defaultTheme }: TThemeProviderProps) {
|
|
27
|
-
const value = useMemo<TThemePanelContext>(() => ({ brandTheme }), [brandTheme])
|
|
28
|
-
return <ThemeProvider value={value}>{children}</ThemeProvider>
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export const createThemeProvider = (brandTheme: TTheme) => {
|
|
32
|
-
const ThemeProviderContext = ({ children }: { children: React.ReactNode }) => (
|
|
33
|
-
<ThemeContextProvider brandTheme={brandTheme}>{children}</ThemeContextProvider>
|
|
34
|
-
)
|
|
35
|
-
return ThemeProviderContext
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export { useTheme }
|
|
39
|
-
|
|
40
|
-
export { makeTheme } from './utils'
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type React from 'react'
|
|
2
|
-
|
|
3
|
-
export type TStyleValue = false | string
|
|
4
|
-
export type TToken = Record<string, string | boolean>
|
|
5
|
-
export type TFunc = (props: TToken) => TStyleValue[] | string
|
|
6
|
-
export type TTheme = { [key: string]: TFunc | TTheme }
|
|
7
|
-
|
|
8
|
-
export type TStyle = Record<string, TStyleValue>
|
|
9
|
-
export type TCustomTheme = TStyleValue | null | undefined
|
|
10
|
-
export type TStyleCollection = Record<string, TStyle>
|
|
11
|
-
|
|
12
|
-
export type TDefaultTheme = {
|
|
13
|
-
typography: (props: TToken) => TStyleValue[] | string
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export type TThemeProviderProps<T = TTheme> = {
|
|
17
|
-
children: React.ReactNode
|
|
18
|
-
brandTheme?: T
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type TThemePanelContext<T = TTheme> = {
|
|
22
|
-
brandTheme: T
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface ITheme {
|
|
26
|
-
defaultTokens: TToken
|
|
27
|
-
styles: TStyleCollection
|
|
28
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import { createCtx } from '@okam/core-lib'
|
|
4
|
-
import { useMemo, useState } from 'react'
|
|
5
|
-
import type { TSearchListingContext, TSearchProviderProps } from './interface'
|
|
6
|
-
|
|
7
|
-
export const [useUserQueryValHook, SearchProvider] = createCtx<TSearchListingContext>()
|
|
8
|
-
|
|
9
|
-
export function SearchBarProvider(props: TSearchProviderProps) {
|
|
10
|
-
const { userQuery, children } = props
|
|
11
|
-
|
|
12
|
-
const [userVal, setUserVal] = useState(userQuery)
|
|
13
|
-
|
|
14
|
-
const value = useMemo<TSearchListingContext>(
|
|
15
|
-
() => ({ userSearchQuery: userVal, setUserSearchQuery: setUserVal }),
|
|
16
|
-
[userVal, setUserVal],
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
return <SearchProvider value={value}>{children}</SearchProvider>
|
|
20
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Dispatch, SetStateAction } from 'react'
|
|
2
|
-
import type React from 'react'
|
|
3
|
-
|
|
4
|
-
export type TSearchListingContext = {
|
|
5
|
-
userSearchQuery: string
|
|
6
|
-
setUserSearchQuery: Dispatch<SetStateAction<string>>
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface TSearchProviderProps {
|
|
10
|
-
children: React.ReactNode
|
|
11
|
-
userQuery: string
|
|
12
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { useState } from 'react'
|
|
2
|
-
import Button from '../../components/Button'
|
|
3
|
-
import type { TButtonProps } from '../../components/Button/interface'
|
|
4
|
-
import Lightbox from '../../components/Lightbox'
|
|
5
|
-
import type { TLightboxProps } from '../../components/Lightbox/interface'
|
|
6
|
-
|
|
7
|
-
const LightboxControlledState = (props: TLightboxProps) => {
|
|
8
|
-
const { children, ...rest } = props
|
|
9
|
-
|
|
10
|
-
const [isOpen, setOpen] = useState(false)
|
|
11
|
-
|
|
12
|
-
const closeButtonRender = (buttonProps: TButtonProps) => (
|
|
13
|
-
<Button {...buttonProps} handlePress={() => setOpen(!isOpen)}>
|
|
14
|
-
Close lightbox
|
|
15
|
-
</Button>
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
<>
|
|
20
|
-
<Button handlePress={() => setOpen(!isOpen)}>Open lightbox</Button>
|
|
21
|
-
<Lightbox {...rest} isOpen={isOpen} setOpen={setOpen} closeButton={closeButtonRender}>
|
|
22
|
-
{children}
|
|
23
|
-
</Lightbox>
|
|
24
|
-
</>
|
|
25
|
-
)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export default LightboxControlledState
|