@remember-web/primitive 0.1.19 → 0.1.20
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/dist/src/Avatars/Avatar/index.cjs.js +2 -2
- package/dist/src/Avatars/Avatar/index.cjs.js.map +1 -1
- package/dist/src/Avatars/Avatar/index.d.ts +1 -1
- package/dist/src/Avatars/Avatar/index.d.ts.map +1 -1
- package/dist/src/Avatars/Avatar/index.esm.js +2 -2
- package/dist/src/Avatars/Avatar/index.esm.js.map +1 -1
- package/dist/src/Avatars/Avatar/styles.cjs.js.map +1 -1
- package/dist/src/Avatars/Avatar/styles.d.ts.map +1 -1
- package/dist/src/Avatars/Avatar/styles.esm.js.map +1 -1
- package/dist/src/Badge/style.cjs.js +1 -1
- package/dist/src/Badge/style.cjs.js.map +1 -1
- package/dist/src/Badge/style.esm.js +1 -1
- package/dist/src/Badge/style.esm.js.map +1 -1
- package/dist/src/Badge/utils.cjs.js.map +1 -1
- package/dist/src/Badge/utils.d.ts.map +1 -1
- package/dist/src/Badge/utils.esm.js.map +1 -1
- package/dist/src/Buttons/Button/index.cjs.js +3 -2
- package/dist/src/Buttons/Button/index.cjs.js.map +1 -1
- package/dist/src/Buttons/Button/index.d.ts +2 -3
- package/dist/src/Buttons/Button/index.d.ts.map +1 -1
- package/dist/src/Buttons/Button/index.esm.js +3 -2
- package/dist/src/Buttons/Button/index.esm.js.map +1 -1
- package/dist/src/Buttons/Button/styles.cjs.js +1 -1
- package/dist/src/Buttons/Button/styles.cjs.js.map +1 -1
- package/dist/src/Buttons/Button/styles.d.ts.map +1 -1
- package/dist/src/Buttons/Button/styles.esm.js +1 -1
- package/dist/src/Buttons/Button/styles.esm.js.map +1 -1
- package/dist/src/Buttons/index.d.ts +1 -1
- package/dist/src/Buttons/index.d.ts.map +1 -1
- package/dist/src/Common/Divider/index.cjs.js +10 -2
- package/dist/src/Common/Divider/index.cjs.js.map +1 -1
- package/dist/src/Common/Divider/index.d.ts +2 -0
- package/dist/src/Common/Divider/index.d.ts.map +1 -1
- package/dist/src/Common/Divider/index.esm.js +10 -2
- package/dist/src/Common/Divider/index.esm.js.map +1 -1
- package/dist/src/Common/Flex/index.cjs.js +1 -1
- package/dist/src/Common/Flex/index.cjs.js.map +1 -1
- package/dist/src/Common/Flex/index.d.ts +2 -2
- package/dist/src/Common/Flex/index.d.ts.map +1 -1
- package/dist/src/Common/Flex/index.esm.js +1 -1
- package/dist/src/Common/Flex/index.esm.js.map +1 -1
- package/dist/src/Common/Skeleton/index.cjs.js +34 -0
- package/dist/src/Common/Skeleton/index.cjs.js.map +1 -0
- package/dist/src/Common/Skeleton/index.d.ts +5 -0
- package/dist/src/Common/Skeleton/index.d.ts.map +1 -0
- package/dist/src/Common/Skeleton/index.esm.js +27 -0
- package/dist/src/Common/Skeleton/index.esm.js.map +1 -0
- package/dist/src/Common/Skeleton/styles.cjs.js +34 -0
- package/dist/src/Common/Skeleton/styles.cjs.js.map +1 -0
- package/dist/src/Common/Skeleton/styles.d.ts +10 -0
- package/dist/src/Common/Skeleton/styles.d.ts.map +1 -0
- package/dist/src/Common/Skeleton/styles.esm.js +26 -0
- package/dist/src/Common/Skeleton/styles.esm.js.map +1 -0
- package/dist/src/Common/Spinner/styles.cjs.js.map +1 -1
- package/dist/src/Common/Spinner/styles.d.ts.map +1 -1
- package/dist/src/Common/Spinner/styles.esm.js.map +1 -1
- package/dist/src/Common/Spinner/types.d.ts +1 -1
- package/dist/src/Common/Spinner/types.d.ts.map +1 -1
- package/dist/src/Common/Typography/index.cjs.js +1 -1
- package/dist/src/Common/Typography/index.cjs.js.map +1 -1
- package/dist/src/Common/Typography/index.d.ts +3 -3
- package/dist/src/Common/Typography/index.d.ts.map +1 -1
- package/dist/src/Common/Typography/index.esm.js +1 -1
- package/dist/src/Common/Typography/index.esm.js.map +1 -1
- package/dist/src/Common/Typography/styles.cjs.js +1 -1
- package/dist/src/Common/Typography/styles.cjs.js.map +1 -1
- package/dist/src/Common/Typography/styles.d.ts +1 -1
- package/dist/src/Common/Typography/styles.d.ts.map +1 -1
- package/dist/src/Common/Typography/styles.esm.js +1 -1
- package/dist/src/Common/Typography/styles.esm.js.map +1 -1
- package/dist/src/Common/index.d.ts +3 -2
- package/dist/src/Common/index.d.ts.map +1 -1
- package/dist/src/Control/BaseToggle/ToggleIcon/index.cjs.js.map +1 -1
- package/dist/src/Control/BaseToggle/ToggleIcon/index.d.ts.map +1 -1
- package/dist/src/Control/BaseToggle/ToggleIcon/index.esm.js.map +1 -1
- package/dist/src/Control/BaseToggle/index.cjs.js +2 -1
- package/dist/src/Control/BaseToggle/index.cjs.js.map +1 -1
- package/dist/src/Control/BaseToggle/index.esm.js +2 -1
- package/dist/src/Control/BaseToggle/index.esm.js.map +1 -1
- package/dist/src/Control/BaseToggle/styles.cjs.js +1 -1
- package/dist/src/Control/BaseToggle/styles.cjs.js.map +1 -1
- package/dist/src/Control/BaseToggle/styles.esm.js +1 -1
- package/dist/src/Control/BaseToggle/styles.esm.js.map +1 -1
- package/dist/src/Control/Checkbox.cjs.js.map +1 -1
- package/dist/src/Control/Checkbox.d.ts.map +1 -1
- package/dist/src/Control/Checkbox.esm.js.map +1 -1
- package/dist/src/Control/Radio.cjs.js.map +1 -1
- package/dist/src/Control/Radio.esm.js.map +1 -1
- package/dist/src/Control/Switch/index.cjs.js.map +1 -1
- package/dist/src/Control/Switch/index.esm.js.map +1 -1
- package/dist/src/Control/Switch/styles.cjs.js +1 -1
- package/dist/src/Control/Switch/styles.cjs.js.map +1 -1
- package/dist/src/Control/Switch/styles.esm.js +1 -1
- package/dist/src/Control/Switch/styles.esm.js.map +1 -1
- package/dist/src/Control/Toggle.cjs.js.map +1 -1
- package/dist/src/Control/Toggle.d.ts.map +1 -1
- package/dist/src/Control/Toggle.esm.js.map +1 -1
- package/dist/src/Floating/DropdownMenu/DropdownMenuSection.cjs.js.map +1 -1
- package/dist/src/Floating/DropdownMenu/DropdownMenuSection.d.ts +1 -1
- package/dist/src/Floating/DropdownMenu/DropdownMenuSection.d.ts.map +1 -1
- package/dist/src/Floating/DropdownMenu/DropdownMenuSection.esm.js.map +1 -1
- package/dist/src/Floating/DropdownMenu/index.cjs.js.map +1 -1
- package/dist/src/Floating/DropdownMenu/index.d.ts.map +1 -1
- package/dist/src/Floating/DropdownMenu/index.esm.js.map +1 -1
- package/dist/src/Floating/DropdownMenu/styles.cjs.js +1 -1
- package/dist/src/Floating/DropdownMenu/styles.cjs.js.map +1 -1
- package/dist/src/Floating/DropdownMenu/styles.d.ts.map +1 -1
- package/dist/src/Floating/DropdownMenu/styles.esm.js +1 -1
- package/dist/src/Floating/DropdownMenu/styles.esm.js.map +1 -1
- package/dist/src/Floating/Popover/styles.cjs.js +1 -1
- package/dist/src/Floating/Popover/styles.cjs.js.map +1 -1
- package/dist/src/Floating/Popover/styles.esm.js +1 -1
- package/dist/src/Floating/Popover/styles.esm.js.map +1 -1
- package/dist/src/Floating/Tooltip/index.cjs.js +2 -2
- package/dist/src/Floating/Tooltip/index.cjs.js.map +1 -1
- package/dist/src/Floating/Tooltip/index.d.ts.map +1 -1
- package/dist/src/Floating/Tooltip/index.esm.js +2 -2
- package/dist/src/Floating/Tooltip/index.esm.js.map +1 -1
- package/dist/src/Floating/Tooltip/styles.cjs.js +1 -1
- package/dist/src/Floating/Tooltip/styles.cjs.js.map +1 -1
- package/dist/src/Floating/Tooltip/styles.esm.js +1 -1
- package/dist/src/Floating/Tooltip/styles.esm.js.map +1 -1
- package/dist/src/Inputs/Select/DesignedSelect/index.cjs.js +2 -2
- package/dist/src/Inputs/Select/DesignedSelect/index.cjs.js.map +1 -1
- package/dist/src/Inputs/Select/DesignedSelect/index.d.ts.map +1 -1
- package/dist/src/Inputs/Select/DesignedSelect/index.esm.js +2 -2
- package/dist/src/Inputs/Select/DesignedSelect/index.esm.js.map +1 -1
- package/dist/src/Inputs/Select/DesignedSelect/styles.cjs.js +1 -1
- package/dist/src/Inputs/Select/DesignedSelect/styles.cjs.js.map +1 -1
- package/dist/src/Inputs/Select/DesignedSelect/styles.esm.js +1 -1
- package/dist/src/Inputs/Select/DesignedSelect/styles.esm.js.map +1 -1
- package/dist/src/Inputs/Select/NativeSelect/index.cjs.js +2 -2
- package/dist/src/Inputs/Select/NativeSelect/index.cjs.js.map +1 -1
- package/dist/src/Inputs/Select/NativeSelect/index.esm.js +2 -2
- package/dist/src/Inputs/Select/NativeSelect/index.esm.js.map +1 -1
- package/dist/src/Inputs/Select/NativeSelect/styles.cjs.js +1 -1
- package/dist/src/Inputs/Select/NativeSelect/styles.cjs.js.map +1 -1
- package/dist/src/Inputs/Select/NativeSelect/styles.esm.js +1 -1
- package/dist/src/Inputs/Select/NativeSelect/styles.esm.js.map +1 -1
- package/dist/src/Inputs/Select/NativeSelect/types.d.ts +1 -1
- package/dist/src/Inputs/Select/NativeSelect/types.d.ts.map +1 -1
- package/dist/src/Inputs/Select/Option/index.cjs.js +0 -1
- package/dist/src/Inputs/Select/Option/index.cjs.js.map +1 -1
- package/dist/src/Inputs/Select/Option/index.d.ts.map +1 -1
- package/dist/src/Inputs/Select/Option/index.esm.js +0 -1
- package/dist/src/Inputs/Select/Option/index.esm.js.map +1 -1
- package/dist/src/Inputs/Select/styles.cjs.js +1 -1
- package/dist/src/Inputs/Select/styles.cjs.js.map +1 -1
- package/dist/src/Inputs/Select/styles.esm.js +1 -1
- package/dist/src/Inputs/Select/styles.esm.js.map +1 -1
- package/dist/src/Inputs/TextInput/index.cjs.js +1 -1
- package/dist/src/Inputs/TextInput/index.cjs.js.map +1 -1
- package/dist/src/Inputs/TextInput/index.esm.js +1 -1
- package/dist/src/Inputs/TextInput/index.esm.js.map +1 -1
- package/dist/src/Inputs/TextInput/styles.cjs.js +1 -1
- package/dist/src/Inputs/TextInput/styles.cjs.js.map +1 -1
- package/dist/src/Inputs/TextInput/styles.esm.js +1 -1
- package/dist/src/Inputs/TextInput/styles.esm.js.map +1 -1
- package/dist/src/Inputs/TextInput/types.d.ts +1 -1
- package/dist/src/Inputs/TextInput/types.d.ts.map +1 -1
- package/dist/src/Logos/RememberServiceLogo/index.cjs.js +1 -0
- package/dist/src/Logos/RememberServiceLogo/index.cjs.js.map +1 -1
- package/dist/src/Logos/RememberServiceLogo/index.d.ts.map +1 -1
- package/dist/src/Logos/RememberServiceLogo/index.esm.js +1 -0
- package/dist/src/Logos/RememberServiceLogo/index.esm.js.map +1 -1
- package/dist/src/Logos/RememberServiceLogo/style.cjs.js +1 -1
- package/dist/src/Logos/RememberServiceLogo/style.cjs.js.map +1 -1
- package/dist/src/Logos/RememberServiceLogo/style.esm.js +1 -1
- package/dist/src/Logos/RememberServiceLogo/style.esm.js.map +1 -1
- package/dist/src/Modals/Dialog/index.cjs.js +1 -1
- package/dist/src/Modals/Dialog/index.cjs.js.map +1 -1
- package/dist/src/Modals/Dialog/index.esm.js +1 -1
- package/dist/src/Modals/Dialog/index.esm.js.map +1 -1
- package/dist/src/Modals/Dialog/styles.cjs.js +2 -2
- package/dist/src/Modals/Dialog/styles.cjs.js.map +1 -1
- package/dist/src/Modals/Dialog/styles.d.ts.map +1 -1
- package/dist/src/Modals/Dialog/styles.esm.js +1 -1
- package/dist/src/Modals/Dialog/styles.esm.js.map +1 -1
- package/dist/src/Paginations/CompactPagination/index.cjs.js +1 -1
- package/dist/src/Paginations/CompactPagination/index.cjs.js.map +1 -1
- package/dist/src/Paginations/CompactPagination/index.esm.js +1 -1
- package/dist/src/Paginations/CompactPagination/index.esm.js.map +1 -1
- package/dist/src/Paginations/styles.cjs.js +1 -1
- package/dist/src/Paginations/styles.cjs.js.map +1 -1
- package/dist/src/Paginations/styles.esm.js +1 -1
- package/dist/src/Paginations/styles.esm.js.map +1 -1
- package/dist/src/hooks/useMouseEventAway.cjs.js.map +1 -1
- package/dist/src/hooks/useMouseEventAway.esm.js.map +1 -1
- package/dist/src/index.cjs.js +40 -38
- package/dist/src/index.cjs.js.map +1 -1
- package/dist/src/index.esm.js +4 -3
- package/dist/src/index.esm.js.map +1 -1
- package/dist/src/stories/common.styles.d.ts.map +1 -1
- package/package.json +2 -5
- package/src/Avatars/Avatar/Avatar.stories.tsx +1 -1
- package/src/Avatars/Avatar/index.tsx +3 -3
- package/src/Avatars/Avatar/styles.ts +1 -1
- package/src/Badge/Badge.stories.tsx +2 -2
- package/src/Badge/style.tsx +1 -1
- package/src/Badge/utils.ts +1 -1
- package/src/Buttons/Button/index.tsx +19 -21
- package/src/Buttons/Button/styles.ts +11 -8
- package/src/Buttons/index.ts +1 -1
- package/src/Common/Divider/index.tsx +7 -4
- package/src/Common/Flex/index.tsx +17 -10
- package/src/Common/Skeleton/Skeleton.stories.tsx +35 -0
- package/src/Common/Skeleton/index.tsx +25 -0
- package/src/Common/Skeleton/styles.ts +46 -0
- package/src/Common/Spinner/Spinner.stories.tsx +1 -1
- package/src/Common/Spinner/styles.ts +5 -3
- package/src/Common/Spinner/types.ts +1 -1
- package/src/Common/Typography/Typography.stories.tsx +2 -2
- package/src/Common/Typography/index.tsx +8 -10
- package/src/Common/Typography/styles.ts +3 -3
- package/src/Common/index.ts +3 -2
- package/src/Control/BaseToggle/ToggleIcon/index.tsx +1 -1
- package/src/Control/BaseToggle/styles.ts +1 -1
- package/src/Control/Checkbox.stories.tsx +0 -2
- package/src/Control/Checkbox.tsx +1 -1
- package/src/Control/Radio.stories.tsx +1 -1
- package/src/Control/Radio.tsx +1 -1
- package/src/Control/Switch/Switch.stories.tsx +0 -1
- package/src/Control/Switch/index.tsx +1 -1
- package/src/Control/Switch/styles.ts +1 -1
- package/src/Control/Toggle.stories.tsx +1 -2
- package/src/Control/Toggle.tsx +1 -1
- package/src/Floating/DropdownMenu/DropdownMenuSection.tsx +2 -2
- package/src/Floating/DropdownMenu/index.tsx +1 -1
- package/src/Floating/DropdownMenu/styles.tsx +1 -1
- package/src/Floating/Popover/Popover.stories.tsx +1 -1
- package/src/Floating/Popover/styles.ts +1 -1
- package/src/Floating/Tooltip/Tooltip.stories.tsx +1 -1
- package/src/Floating/Tooltip/index.tsx +4 -4
- package/src/Floating/Tooltip/styles.ts +1 -1
- package/src/Inputs/Select/DesignedSelect/index.tsx +3 -3
- package/src/Inputs/Select/DesignedSelect/styles.ts +2 -2
- package/src/Inputs/Select/NativeSelect/index.tsx +2 -2
- package/src/Inputs/Select/NativeSelect/styles.ts +1 -1
- package/src/Inputs/Select/NativeSelect/types.ts +1 -1
- package/src/Inputs/Select/Option/index.tsx +0 -1
- package/src/Inputs/Select/Select.stories.tsx +0 -2
- package/src/Inputs/Select/styles.ts +1 -1
- package/src/Inputs/TextInput/index.tsx +1 -1
- package/src/Inputs/TextInput/styles.ts +2 -2
- package/src/Inputs/TextInput/types.ts +1 -1
- package/src/Logos/RememberServiceLogo/index.tsx +1 -1
- package/src/Logos/RememberServiceLogo/style.ts +1 -1
- package/src/Modals/Dialog/Dialog.stories.tsx +1 -1
- package/src/Modals/Dialog/index.tsx +2 -2
- package/src/Modals/Dialog/styles.ts +2 -2
- package/src/Paginations/CompactPagination/CompactPagination.stories.tsx +0 -1
- package/src/Paginations/CompactPagination/index.tsx +1 -1
- package/src/Paginations/Pagination/Pagination.stories.tsx +0 -1
- package/src/Paginations/styles.ts +2 -2
- package/src/hooks/useMouseEventAway.ts +1 -1
- package/src/stories/common.styles.tsx +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../../src/Paginations/CompactPagination/index.tsx"],"sourcesContent":["'use client';\n\nimport { IconArrow2Left, IconArrow2Right } from '@remember-web/icon';\nimport { contents000, contents300 } from '@remember-web/mixin';\n\nimport Flex from '@/Common/Flex';\n\nimport {\n ArrowButton,\n CompactPaginationContainer,\n CurrentPage,\n} from '../styles';\nimport type { CompactPaginationProps } from '../types';\nimport usePagination from '../usePagination';\n\nexport function CompactPagination({\n activePage = 1,\n totalItemCount = 0,\n onChangePage,\n itemCountPerPage,\n infinite = false,\n className,\n}: CompactPaginationProps) {\n const {\n totalLastPage,\n prevPage,\n nextPage,\n isPrevPageDisabled,\n isNextPageDisabled,\n } = usePagination({\n activePage,\n totalItemCount,\n pageRangeDisplayed: 1,\n itemCountPerPage,\n });\n\n const iconColor = (disabled: boolean) =>\n disabled ? contents300 : contents000;\n\n const onClickPrevPage = () => {\n const prevPageToGo =\n activePage === 1 && infinite ? totalLastPage : prevPage;\n onChangePage(prevPageToGo);\n };\n\n const onClickNextPage = () => {\n const nextPageToGo =\n activePage === totalLastPage && infinite ? 1 : nextPage;\n onChangePage(nextPageToGo);\n };\n\n const hasOnlyOnePage = totalLastPage === 1;\n\n const getArrowButtonDisabled = (disabled: boolean) => {\n if (hasOnlyOnePage) {\n return true;\n }\n if (infinite) {\n return false;\n }\n return disabled;\n };\n\n const getArrowButtonColor = (disabled: boolean) => {\n if (hasOnlyOnePage) {\n return contents300;\n }\n if (infinite) {\n return contents000;\n }\n return iconColor(disabled);\n };\n\n return (\n <CompactPaginationContainer\n className={className}\n role=\"navigation\"\n aria-label=\"페이지네이션\"\n >\n <ArrowButton\n disabled={getArrowButtonDisabled(isPrevPageDisabled)}\n onClick={onClickPrevPage}\n aria-label=\"이전 페이지로 이동\"\n >\n <IconArrow2Left\n size=\"small\"\n color={getArrowButtonColor(isPrevPageDisabled)}\n aria-hidden=\"true\"\n />\n </ArrowButton>\n <Flex gap=\"4px\" style={{ minWidth: '44px', userSelect: 'none' }}>\n <CurrentPage>{activePage}</CurrentPage>/ {totalLastPage}\n </Flex>\n <ArrowButton\n disabled={getArrowButtonDisabled(isNextPageDisabled)}\n onClick={onClickNextPage}\n aria-label=\"다음 페이지로 이동\"\n >\n <IconArrow2Right\n size=\"small\"\n color={getArrowButtonColor(isNextPageDisabled)}\n aria-hidden=\"true\"\n />\n </ArrowButton>\n </CompactPaginationContainer>\n );\n}\n"],"names":["activePage","totalItemCount","infinite","pageRangeDisplayed","itemCountPerPage","className","role","disabled","onClick","size","color","gap","style","minWidth","userSelect","children"],"mappings":";;;;;;;;;;AAeO;AAOoB;AANzBA;;AACAC;;;;AAGAC;;;AAUEF;AACAC;AACAE;AACAC;AACF;;;;;;AAEA;AAAoC;AACE;AAEtC;;;;AAMA;;;;AAMA;AAEA;AACE;AACE;AACF;AACA;AACE;AACF;AACA;;AAGF;AACE;AACE;AACF;AACA;AACE;AACF;;;;AAMEC;AACAC;AACA;;AAGEC;AACAC;AACA;;AAGEC;AACAC;;;AAEA;AAEEC;AAAUC;AAASC;AAAkBC;;;AAC7BC;;AAA2C;AAGvDR;AACAC;AACA;;AAGEC;AACAC;;;AAEA;AACU;AAGpB;;"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../../src/Paginations/CompactPagination/index.tsx"],"sourcesContent":["'use client';\n\nimport { IconArrow2Left, IconArrow2Right } from '@remember-web/icon';\nimport { contents000, contents300 } from '@remember-web/mixin';\n\nimport { Flex } from '@/Common/Flex';\n\nimport {\n ArrowButton,\n CompactPaginationContainer,\n CurrentPage,\n} from '../styles';\nimport type { CompactPaginationProps } from '../types';\nimport usePagination from '../usePagination';\n\nexport function CompactPagination({\n activePage = 1,\n totalItemCount = 0,\n onChangePage,\n itemCountPerPage,\n infinite = false,\n className,\n}: CompactPaginationProps) {\n const {\n totalLastPage,\n prevPage,\n nextPage,\n isPrevPageDisabled,\n isNextPageDisabled,\n } = usePagination({\n activePage,\n totalItemCount,\n pageRangeDisplayed: 1,\n itemCountPerPage,\n });\n\n const iconColor = (disabled: boolean) =>\n disabled ? contents300 : contents000;\n\n const onClickPrevPage = () => {\n const prevPageToGo =\n activePage === 1 && infinite ? totalLastPage : prevPage;\n onChangePage(prevPageToGo);\n };\n\n const onClickNextPage = () => {\n const nextPageToGo =\n activePage === totalLastPage && infinite ? 1 : nextPage;\n onChangePage(nextPageToGo);\n };\n\n const hasOnlyOnePage = totalLastPage === 1;\n\n const getArrowButtonDisabled = (disabled: boolean) => {\n if (hasOnlyOnePage) {\n return true;\n }\n if (infinite) {\n return false;\n }\n return disabled;\n };\n\n const getArrowButtonColor = (disabled: boolean) => {\n if (hasOnlyOnePage) {\n return contents300;\n }\n if (infinite) {\n return contents000;\n }\n return iconColor(disabled);\n };\n\n return (\n <CompactPaginationContainer\n className={className}\n role=\"navigation\"\n aria-label=\"페이지네이션\"\n >\n <ArrowButton\n disabled={getArrowButtonDisabled(isPrevPageDisabled)}\n onClick={onClickPrevPage}\n aria-label=\"이전 페이지로 이동\"\n >\n <IconArrow2Left\n size=\"small\"\n color={getArrowButtonColor(isPrevPageDisabled)}\n aria-hidden=\"true\"\n />\n </ArrowButton>\n <Flex gap=\"4px\" style={{ minWidth: '44px', userSelect: 'none' }}>\n <CurrentPage>{activePage}</CurrentPage>/ {totalLastPage}\n </Flex>\n <ArrowButton\n disabled={getArrowButtonDisabled(isNextPageDisabled)}\n onClick={onClickNextPage}\n aria-label=\"다음 페이지로 이동\"\n >\n <IconArrow2Right\n size=\"small\"\n color={getArrowButtonColor(isNextPageDisabled)}\n aria-hidden=\"true\"\n />\n </ArrowButton>\n </CompactPaginationContainer>\n );\n}\n"],"names":["activePage","totalItemCount","infinite","pageRangeDisplayed","itemCountPerPage","className","role","disabled","onClick","size","color","gap","style","minWidth","userSelect","children"],"mappings":";;;;;;;;;;AAeO;AAOoB;AANzBA;;AACAC;;;;AAGAC;;;AAUEF;AACAC;AACAE;AACAC;AACF;;;;;;AAEA;AAAoC;AACE;AAEtC;;;;AAMA;;;;AAMA;AAEA;AACE;AACE;AACF;AACA;AACE;AACF;AACA;;AAGF;AACE;AACE;AACF;AACA;AACE;AACF;;;;AAMEC;AACAC;AACA;;AAGEC;AACAC;AACA;;AAGEC;AACAC;;;AAEA;AAEEC;AAAUC;AAASC;AAAkBC;;;AAC7BC;;AAA2C;AAGvDR;AACAC;AACA;;AAGEC;AACAC;;;AAEA;AACU;AAGpB;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { IconArrow2Left, IconArrow2Right } from '@remember-web/icon';
|
|
3
3
|
import { contents300, contents000 } from '@remember-web/mixin';
|
|
4
|
-
import Flex from '../../Common/Flex/index.esm.js';
|
|
4
|
+
import { Flex } from '../../Common/Flex/index.esm.js';
|
|
5
5
|
import { CompactPaginationContainer, ArrowButton, CurrentPage } from '../styles.esm.js';
|
|
6
6
|
import usePagination from '../usePagination.esm.js';
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../src/Paginations/CompactPagination/index.tsx"],"sourcesContent":["'use client';\n\nimport { IconArrow2Left, IconArrow2Right } from '@remember-web/icon';\nimport { contents000, contents300 } from '@remember-web/mixin';\n\nimport Flex from '@/Common/Flex';\n\nimport {\n ArrowButton,\n CompactPaginationContainer,\n CurrentPage,\n} from '../styles';\nimport type { CompactPaginationProps } from '../types';\nimport usePagination from '../usePagination';\n\nexport function CompactPagination({\n activePage = 1,\n totalItemCount = 0,\n onChangePage,\n itemCountPerPage,\n infinite = false,\n className,\n}: CompactPaginationProps) {\n const {\n totalLastPage,\n prevPage,\n nextPage,\n isPrevPageDisabled,\n isNextPageDisabled,\n } = usePagination({\n activePage,\n totalItemCount,\n pageRangeDisplayed: 1,\n itemCountPerPage,\n });\n\n const iconColor = (disabled: boolean) =>\n disabled ? contents300 : contents000;\n\n const onClickPrevPage = () => {\n const prevPageToGo =\n activePage === 1 && infinite ? totalLastPage : prevPage;\n onChangePage(prevPageToGo);\n };\n\n const onClickNextPage = () => {\n const nextPageToGo =\n activePage === totalLastPage && infinite ? 1 : nextPage;\n onChangePage(nextPageToGo);\n };\n\n const hasOnlyOnePage = totalLastPage === 1;\n\n const getArrowButtonDisabled = (disabled: boolean) => {\n if (hasOnlyOnePage) {\n return true;\n }\n if (infinite) {\n return false;\n }\n return disabled;\n };\n\n const getArrowButtonColor = (disabled: boolean) => {\n if (hasOnlyOnePage) {\n return contents300;\n }\n if (infinite) {\n return contents000;\n }\n return iconColor(disabled);\n };\n\n return (\n <CompactPaginationContainer\n className={className}\n role=\"navigation\"\n aria-label=\"페이지네이션\"\n >\n <ArrowButton\n disabled={getArrowButtonDisabled(isPrevPageDisabled)}\n onClick={onClickPrevPage}\n aria-label=\"이전 페이지로 이동\"\n >\n <IconArrow2Left\n size=\"small\"\n color={getArrowButtonColor(isPrevPageDisabled)}\n aria-hidden=\"true\"\n />\n </ArrowButton>\n <Flex gap=\"4px\" style={{ minWidth: '44px', userSelect: 'none' }}>\n <CurrentPage>{activePage}</CurrentPage>/ {totalLastPage}\n </Flex>\n <ArrowButton\n disabled={getArrowButtonDisabled(isNextPageDisabled)}\n onClick={onClickNextPage}\n aria-label=\"다음 페이지로 이동\"\n >\n <IconArrow2Right\n size=\"small\"\n color={getArrowButtonColor(isNextPageDisabled)}\n aria-hidden=\"true\"\n />\n </ArrowButton>\n </CompactPaginationContainer>\n );\n}\n"],"names":["activePage","totalItemCount","infinite","pageRangeDisplayed","itemCountPerPage","className","role","disabled","onClick","size","color","gap","style","minWidth","userSelect","children"],"mappings":";;;;;;;;AAeO;AAOoB;AANzBA;;AACAC;;;;AAGAC;;;AAUEF;AACAC;AACAE;AACAC;AACF;;;;;;AAEA;AAAoC;AACE;AAEtC;;;;AAMA;;;;AAMA;AAEA;AACE;AACE;AACF;AACA;AACE;AACF;AACA;;AAGF;AACE;AACE;AACF;AACA;AACE;AACF;;;;AAMEC;AACAC;AACA;;AAGEC;AACAC;AACA;;AAGEC;AACAC;;;AAEA;AAEEC;AAAUC;AAASC;AAAkBC;;;AAC7BC;;AAA2C;AAGvDR;AACAC;AACA;;AAGEC;AACAC;;;AAEA;AACU;AAGpB;;"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../src/Paginations/CompactPagination/index.tsx"],"sourcesContent":["'use client';\n\nimport { IconArrow2Left, IconArrow2Right } from '@remember-web/icon';\nimport { contents000, contents300 } from '@remember-web/mixin';\n\nimport { Flex } from '@/Common/Flex';\n\nimport {\n ArrowButton,\n CompactPaginationContainer,\n CurrentPage,\n} from '../styles';\nimport type { CompactPaginationProps } from '../types';\nimport usePagination from '../usePagination';\n\nexport function CompactPagination({\n activePage = 1,\n totalItemCount = 0,\n onChangePage,\n itemCountPerPage,\n infinite = false,\n className,\n}: CompactPaginationProps) {\n const {\n totalLastPage,\n prevPage,\n nextPage,\n isPrevPageDisabled,\n isNextPageDisabled,\n } = usePagination({\n activePage,\n totalItemCount,\n pageRangeDisplayed: 1,\n itemCountPerPage,\n });\n\n const iconColor = (disabled: boolean) =>\n disabled ? contents300 : contents000;\n\n const onClickPrevPage = () => {\n const prevPageToGo =\n activePage === 1 && infinite ? totalLastPage : prevPage;\n onChangePage(prevPageToGo);\n };\n\n const onClickNextPage = () => {\n const nextPageToGo =\n activePage === totalLastPage && infinite ? 1 : nextPage;\n onChangePage(nextPageToGo);\n };\n\n const hasOnlyOnePage = totalLastPage === 1;\n\n const getArrowButtonDisabled = (disabled: boolean) => {\n if (hasOnlyOnePage) {\n return true;\n }\n if (infinite) {\n return false;\n }\n return disabled;\n };\n\n const getArrowButtonColor = (disabled: boolean) => {\n if (hasOnlyOnePage) {\n return contents300;\n }\n if (infinite) {\n return contents000;\n }\n return iconColor(disabled);\n };\n\n return (\n <CompactPaginationContainer\n className={className}\n role=\"navigation\"\n aria-label=\"페이지네이션\"\n >\n <ArrowButton\n disabled={getArrowButtonDisabled(isPrevPageDisabled)}\n onClick={onClickPrevPage}\n aria-label=\"이전 페이지로 이동\"\n >\n <IconArrow2Left\n size=\"small\"\n color={getArrowButtonColor(isPrevPageDisabled)}\n aria-hidden=\"true\"\n />\n </ArrowButton>\n <Flex gap=\"4px\" style={{ minWidth: '44px', userSelect: 'none' }}>\n <CurrentPage>{activePage}</CurrentPage>/ {totalLastPage}\n </Flex>\n <ArrowButton\n disabled={getArrowButtonDisabled(isNextPageDisabled)}\n onClick={onClickNextPage}\n aria-label=\"다음 페이지로 이동\"\n >\n <IconArrow2Right\n size=\"small\"\n color={getArrowButtonColor(isNextPageDisabled)}\n aria-hidden=\"true\"\n />\n </ArrowButton>\n </CompactPaginationContainer>\n );\n}\n"],"names":["activePage","totalItemCount","infinite","pageRangeDisplayed","itemCountPerPage","className","role","disabled","onClick","size","color","gap","style","minWidth","userSelect","children"],"mappings":";;;;;;;;AAeO;AAOoB;AANzBA;;AACAC;;;;AAGAC;;;AAUEF;AACAC;AACAE;AACAC;AACF;;;;;;AAEA;AAAoC;AACE;AAEtC;;;;AAMA;;;;AAMA;AAEA;AACE;AACE;AACF;AACA;AACE;AACF;AACA;;AAGF;AACE;AACE;AACF;AACA;AACE;AACF;;;;AAMEC;AACAC;AACA;;AAGEC;AACAC;AACA;;AAGEC;AACAC;;;AAEA;AAEEC;AAAUC;AAASC;AAAkBC;;;AAC7BC;;AAA2C;AAGvDR;AACAC;AACA;;AAGEC;AACAC;;;AAEA;AACU;AAGpB;;"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
5
|
-
var styled = require('styled-components');
|
|
6
5
|
var mixin = require('@remember-web/mixin');
|
|
6
|
+
var styled = require('styled-components');
|
|
7
7
|
|
|
8
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.cjs.js","sources":["../../../src/Paginations/styles.ts"],"sourcesContent":["'use client';\n\nimport
|
|
1
|
+
{"version":3,"file":"styles.cjs.js","sources":["../../../src/Paginations/styles.ts"],"sourcesContent":["'use client';\n\nimport {\n bg100,\n bg200,\n bg300,\n contents000,\n contents300,\n desktopOnly,\n getTypographyStyles,\n mobileOnly,\n} from '@remember-web/mixin';\nimport styled, { css } from 'styled-components';\n\nexport const PaginationContainer = styled.nav`\n all: unset;\n display: inline-flex;\n list-style-type: none;\n box-sizing: border-box;\n user-select: none;\n margin: 0;\n padding: 0;\n gap: 16px;\n\n ${mobileOnly(css`\n gap: 8px;\n `)}\n`;\n\nexport const CompactPaginationContainer = styled.div`\n all: unset;\n\n ${getTypographyStyles('Body1_M')}\n gap: 16px;\n display: flex;\n align-items: center;\n width: fit-content;\n height: fit-content;\n`;\n\nexport const CurrentPage = styled.span`\n ${getTypographyStyles('Body1_B')}\n`;\n\nexport const Pages = styled.ul`\n all: unset;\n display: inherit;\n gap: 4px;\n`;\n\nexport const Page = styled.li``;\n\nconst DefaultButton = styled.button.attrs({ type: 'button' })`\n all: unset;\n appearance: none;\n box-sizing: border-box;\n\n ${getTypographyStyles('Body1_M')}\n display: grid;\n place-items: center;\n\n min-width: 34px;\n height: 34px;\n cursor: pointer;\n color: ${contents000};\n border-radius: 4px;\n\n &:disabled {\n color: ${contents000};\n cursor: not-allowed;\n pointer-events: none;\n }\n`;\n\nexport const ArrowButton = styled(DefaultButton)`\n ${desktopOnly(css`\n &:hover {\n background-color: ${bg200};\n }\n &:active {\n background-color: ${bg300};\n }\n `)}\n\n ${mobileOnly(css`\n min-width: 44px;\n height: 44px;\n `)}\n`;\n\nexport const BaseButton = styled(DefaultButton)`\n &:hover,\n &:focus {\n border: solid 1px ${contents300};\n border-radius: 4px;\n background-color: ${bg100};\n }\n\n ${mobileOnly(css`\n min-width: 44px;\n height: 44px;\n `)}\n`;\n\nexport const PageButton = styled(BaseButton)<{ selected?: boolean }>`\n ${({ selected }) =>\n selected &&\n css`\n border: solid 1px ${contents300};\n border-radius: 4px;\n background-color: ${bg100};\n `}\n`;\n"],"names":["Pages","Page","type","BaseButton","PageButton"],"mappings":";;;;;;;;;;;;AAAa;AAcN;;;AA8BMA;AAMAC;AAEb;AAA4CC;AAAe;;AAsC9CC;AAcAC;AACT;AAAW;AAMV;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
|
|
3
|
-
import styled, { css } from 'styled-components';
|
|
4
3
|
import { mobileOnly, getTypographyStyles, contents000, desktopOnly, bg200, bg300, contents300, bg100 } from '@remember-web/mixin';
|
|
4
|
+
import styled, { css } from 'styled-components';
|
|
5
5
|
|
|
6
6
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
|
|
7
7
|
var PaginationContainer = styled.nav(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n all: unset;\n display: inline-flex;\n list-style-type: none;\n box-sizing: border-box;\n user-select: none;\n margin: 0;\n padding: 0;\n gap: 16px;\n\n ", "\n"])), mobileOnly(css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n gap: 8px;\n "])))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.esm.js","sources":["../../../src/Paginations/styles.ts"],"sourcesContent":["'use client';\n\nimport
|
|
1
|
+
{"version":3,"file":"styles.esm.js","sources":["../../../src/Paginations/styles.ts"],"sourcesContent":["'use client';\n\nimport {\n bg100,\n bg200,\n bg300,\n contents000,\n contents300,\n desktopOnly,\n getTypographyStyles,\n mobileOnly,\n} from '@remember-web/mixin';\nimport styled, { css } from 'styled-components';\n\nexport const PaginationContainer = styled.nav`\n all: unset;\n display: inline-flex;\n list-style-type: none;\n box-sizing: border-box;\n user-select: none;\n margin: 0;\n padding: 0;\n gap: 16px;\n\n ${mobileOnly(css`\n gap: 8px;\n `)}\n`;\n\nexport const CompactPaginationContainer = styled.div`\n all: unset;\n\n ${getTypographyStyles('Body1_M')}\n gap: 16px;\n display: flex;\n align-items: center;\n width: fit-content;\n height: fit-content;\n`;\n\nexport const CurrentPage = styled.span`\n ${getTypographyStyles('Body1_B')}\n`;\n\nexport const Pages = styled.ul`\n all: unset;\n display: inherit;\n gap: 4px;\n`;\n\nexport const Page = styled.li``;\n\nconst DefaultButton = styled.button.attrs({ type: 'button' })`\n all: unset;\n appearance: none;\n box-sizing: border-box;\n\n ${getTypographyStyles('Body1_M')}\n display: grid;\n place-items: center;\n\n min-width: 34px;\n height: 34px;\n cursor: pointer;\n color: ${contents000};\n border-radius: 4px;\n\n &:disabled {\n color: ${contents000};\n cursor: not-allowed;\n pointer-events: none;\n }\n`;\n\nexport const ArrowButton = styled(DefaultButton)`\n ${desktopOnly(css`\n &:hover {\n background-color: ${bg200};\n }\n &:active {\n background-color: ${bg300};\n }\n `)}\n\n ${mobileOnly(css`\n min-width: 44px;\n height: 44px;\n `)}\n`;\n\nexport const BaseButton = styled(DefaultButton)`\n &:hover,\n &:focus {\n border: solid 1px ${contents300};\n border-radius: 4px;\n background-color: ${bg100};\n }\n\n ${mobileOnly(css`\n min-width: 44px;\n height: 44px;\n `)}\n`;\n\nexport const PageButton = styled(BaseButton)<{ selected?: boolean }>`\n ${({ selected }) =>\n selected &&\n css`\n border: solid 1px ${contents300};\n border-radius: 4px;\n background-color: ${bg100};\n `}\n`;\n"],"names":["Pages","Page","type","BaseButton","PageButton"],"mappings":";;;;;AAAa;AAcN;;;AA8BMA;AAMAC;AAEb;AAA4CC;AAAe;;AAsC9CC;AAcAC;AACT;AAAW;AAMV;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMouseEventAway.cjs.js","sources":["../../../src/hooks/useMouseEventAway.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ntype MouseEventNames = Extract<\n keyof DocumentEventMap,\n `mouse${string}` | `pointer${string}` | `touch${string}` | 'click'\n>;\n\nexport default function useMouseEventAway<\n T extends HTMLElement,\n E extends MouseEventNames
|
|
1
|
+
{"version":3,"file":"useMouseEventAway.cjs.js","sources":["../../../src/hooks/useMouseEventAway.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ntype MouseEventNames = Extract<\n keyof DocumentEventMap,\n `mouse${string}` | `pointer${string}` | `touch${string}` | 'click'\n>;\n\nexport default function useMouseEventAway<\n T extends HTMLElement,\n E extends MouseEventNames,\n>(eventName: E, callback: (e: DocumentEventMap[E]) => void) {\n const ref = useRef<T | null>(null);\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n function clickAwayHandler(e: DocumentEventMap[E]) {\n if (!(e.target instanceof Node)) {\n return;\n }\n\n if (ref.current && !ref.current.contains(e.target)) {\n callbackRef.current(e);\n }\n }\n\n document.addEventListener(eventName, clickAwayHandler, true);\n\n return () => {\n document.removeEventListener(eventName, clickAwayHandler, true);\n };\n }, [eventName]);\n\n return ref;\n}\n"],"names":["useMouseEventAway","eventName","callback","ref","useRef","callbackRef","current","useEffect","clickAwayHandler","e","target","Node","contains","document","addEventListener","removeEventListener"],"mappings":";;;;AAOe,SAASA,iBAAiBA,CAGvCC,SAAY,EAAEC,QAA0C,EAAE;AAC1D,EAAA,IAAMC,GAAG,GAAGC,YAAM,CAAW,IAAI,CAAC,CAAA;AAClC,EAAA,IAAMC,WAAW,GAAGD,YAAM,CAACF,QAAQ,CAAC,CAAA;EACpCG,WAAW,CAACC,OAAO,GAAGJ,QAAQ,CAAA;AAE9BK,EAAAA,eAAS,CAAC,YAAM;IACd,SAASC,gBAAgBA,CAACC,CAAsB,EAAE;AAChD,MAAA,IAAI,EAAEA,CAAC,CAACC,MAAM,YAAYC,IAAI,CAAC,EAAE;AAC/B,QAAA,OAAA;AACF,OAAA;AAEA,MAAA,IAAIR,GAAG,CAACG,OAAO,IAAI,CAACH,GAAG,CAACG,OAAO,CAACM,QAAQ,CAACH,CAAC,CAACC,MAAM,CAAC,EAAE;AAClDL,QAAAA,WAAW,CAACC,OAAO,CAACG,CAAC,CAAC,CAAA;AACxB,OAAA;AACF,KAAA;IAEAI,QAAQ,CAACC,gBAAgB,CAACb,SAAS,EAAEO,gBAAgB,EAAE,IAAI,CAAC,CAAA;AAE5D,IAAA,OAAO,YAAM;MACXK,QAAQ,CAACE,mBAAmB,CAACd,SAAS,EAAEO,gBAAgB,EAAE,IAAI,CAAC,CAAA;KAChE,CAAA;AACH,GAAC,EAAE,CAACP,SAAS,CAAC,CAAC,CAAA;AAEf,EAAA,OAAOE,GAAG,CAAA;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMouseEventAway.esm.js","sources":["../../../src/hooks/useMouseEventAway.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ntype MouseEventNames = Extract<\n keyof DocumentEventMap,\n `mouse${string}` | `pointer${string}` | `touch${string}` | 'click'\n>;\n\nexport default function useMouseEventAway<\n T extends HTMLElement,\n E extends MouseEventNames
|
|
1
|
+
{"version":3,"file":"useMouseEventAway.esm.js","sources":["../../../src/hooks/useMouseEventAway.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ntype MouseEventNames = Extract<\n keyof DocumentEventMap,\n `mouse${string}` | `pointer${string}` | `touch${string}` | 'click'\n>;\n\nexport default function useMouseEventAway<\n T extends HTMLElement,\n E extends MouseEventNames,\n>(eventName: E, callback: (e: DocumentEventMap[E]) => void) {\n const ref = useRef<T | null>(null);\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n function clickAwayHandler(e: DocumentEventMap[E]) {\n if (!(e.target instanceof Node)) {\n return;\n }\n\n if (ref.current && !ref.current.contains(e.target)) {\n callbackRef.current(e);\n }\n }\n\n document.addEventListener(eventName, clickAwayHandler, true);\n\n return () => {\n document.removeEventListener(eventName, clickAwayHandler, true);\n };\n }, [eventName]);\n\n return ref;\n}\n"],"names":["useMouseEventAway","eventName","callback","ref","useRef","callbackRef","current","useEffect","clickAwayHandler","e","target","Node","contains","document","addEventListener","removeEventListener"],"mappings":";;AAOe,SAASA,iBAAiBA,CAGvCC,SAAY,EAAEC,QAA0C,EAAE;AAC1D,EAAA,IAAMC,GAAG,GAAGC,MAAM,CAAW,IAAI,CAAC,CAAA;AAClC,EAAA,IAAMC,WAAW,GAAGD,MAAM,CAACF,QAAQ,CAAC,CAAA;EACpCG,WAAW,CAACC,OAAO,GAAGJ,QAAQ,CAAA;AAE9BK,EAAAA,SAAS,CAAC,YAAM;IACd,SAASC,gBAAgBA,CAACC,CAAsB,EAAE;AAChD,MAAA,IAAI,EAAEA,CAAC,CAACC,MAAM,YAAYC,IAAI,CAAC,EAAE;AAC/B,QAAA,OAAA;AACF,OAAA;AAEA,MAAA,IAAIR,GAAG,CAACG,OAAO,IAAI,CAACH,GAAG,CAACG,OAAO,CAACM,QAAQ,CAACH,CAAC,CAACC,MAAM,CAAC,EAAE;AAClDL,QAAAA,WAAW,CAACC,OAAO,CAACG,CAAC,CAAC,CAAA;AACxB,OAAA;AACF,KAAA;IAEAI,QAAQ,CAACC,gBAAgB,CAACb,SAAS,EAAEO,gBAAgB,EAAE,IAAI,CAAC,CAAA;AAE5D,IAAA,OAAO,YAAM;MACXK,QAAQ,CAACE,mBAAmB,CAACd,SAAS,EAAEO,gBAAgB,EAAE,IAAI,CAAC,CAAA;KAChE,CAAA;AACH,GAAC,EAAE,CAACP,SAAS,CAAC,CAAC,CAAA;AAEf,EAAA,OAAOE,GAAG,CAAA;AACZ;;;;"}
|
package/dist/src/index.cjs.js
CHANGED
|
@@ -6,28 +6,29 @@ var index$1 = require('./Buttons/Button/index.cjs.js');
|
|
|
6
6
|
var utils = require('./Badge/utils.cjs.js');
|
|
7
7
|
var Badge = require('./Badge/Badge.cjs.js');
|
|
8
8
|
var style = require('./Badge/style.cjs.js');
|
|
9
|
-
var index$
|
|
10
|
-
var index$
|
|
11
|
-
var index$
|
|
12
|
-
var index$
|
|
13
|
-
var index$
|
|
9
|
+
var index$2 = require('./Common/Divider/index.cjs.js');
|
|
10
|
+
var index$3 = require('./Common/Flex/index.cjs.js');
|
|
11
|
+
var index$4 = require('./Common/Grid/index.cjs.js');
|
|
12
|
+
var index$5 = require('./Common/Spinner/index.cjs.js');
|
|
13
|
+
var index$6 = require('./Common/Skeleton/index.cjs.js');
|
|
14
|
+
var index$7 = require('./Common/Typography/index.cjs.js');
|
|
14
15
|
var styles$1 = require('./Common/Typography/styles.cjs.js');
|
|
15
16
|
var Checkbox = require('./Control/Checkbox.cjs.js');
|
|
16
17
|
var Toggle = require('./Control/Toggle.cjs.js');
|
|
17
|
-
var index$
|
|
18
|
+
var index$8 = require('./Control/Switch/index.cjs.js');
|
|
18
19
|
var Radio = require('./Control/Radio.cjs.js');
|
|
19
|
-
var index$
|
|
20
|
-
var index$
|
|
21
|
-
var index$
|
|
22
|
-
var index$
|
|
23
|
-
var index$
|
|
24
|
-
var index$
|
|
25
|
-
var index$
|
|
26
|
-
var index$
|
|
27
|
-
var index$
|
|
28
|
-
var index$
|
|
29
|
-
var index$
|
|
30
|
-
var index$
|
|
20
|
+
var index$9 = require('./Logos/RememberLogo/index.cjs.js');
|
|
21
|
+
var index$a = require('./Logos/RememberMobileLogo/index.cjs.js');
|
|
22
|
+
var index$b = require('./Logos/RememberSquareLogo/index.cjs.js');
|
|
23
|
+
var index$c = require('./Logos/RememberServiceLogo/index.cjs.js');
|
|
24
|
+
var index$d = require('./Modals/Dialog/index.cjs.js');
|
|
25
|
+
var index$e = require('./Paginations/Pagination/index.cjs.js');
|
|
26
|
+
var index$f = require('./Paginations/CompactPagination/index.cjs.js');
|
|
27
|
+
var index$g = require('./Inputs/TextInput/index.cjs.js');
|
|
28
|
+
var index$h = require('./Inputs/Select/index.cjs.js');
|
|
29
|
+
var index$i = require('./Floating/DropdownMenu/index.cjs.js');
|
|
30
|
+
var index$j = require('./Floating/Popover/index.cjs.js');
|
|
31
|
+
var index$k = require('./Floating/Tooltip/index.cjs.js');
|
|
31
32
|
var styles$2 = require('./Floating/DropdownMenu/styles.cjs.js');
|
|
32
33
|
var styles$3 = require('./Floating/Popover/styles.cjs.js');
|
|
33
34
|
|
|
@@ -35,36 +36,37 @@ var styles$3 = require('./Floating/Popover/styles.cjs.js');
|
|
|
35
36
|
|
|
36
37
|
exports.Avatar = index;
|
|
37
38
|
exports.StyledAvatar = styles.StyledAvatar;
|
|
38
|
-
exports.Button = index$1;
|
|
39
|
+
exports.Button = index$1.Button;
|
|
39
40
|
exports.badgePseudo = utils.badgePseudo;
|
|
40
41
|
exports.Badge = Badge.Badge;
|
|
41
42
|
exports.getBadgePseudoCss = style.getBadgePseudoCss;
|
|
42
|
-
exports.Divider = index$
|
|
43
|
-
exports.Flex = index$
|
|
44
|
-
exports.Grid = index$
|
|
45
|
-
exports.Spinner = index$
|
|
46
|
-
exports.
|
|
43
|
+
exports.Divider = index$2.Divider;
|
|
44
|
+
exports.Flex = index$3.Flex;
|
|
45
|
+
exports.Grid = index$4.Grid;
|
|
46
|
+
exports.Spinner = index$5.Spinner;
|
|
47
|
+
exports.Skeleton = index$6.Skeleton;
|
|
48
|
+
exports.Typography = index$7.Typography;
|
|
47
49
|
exports.StyledTypography = styles$1.StyledTypography;
|
|
48
50
|
exports.Checkbox = Checkbox.Checkbox;
|
|
49
51
|
exports._Checkbox = Checkbox._Checkbox;
|
|
50
52
|
exports.CircleBaseToggle = Toggle.CircleBaseToggle;
|
|
51
53
|
exports.Toggle = Toggle.Toggle;
|
|
52
54
|
exports._Toggle = Toggle._Toggle;
|
|
53
|
-
exports.Switch = index$
|
|
55
|
+
exports.Switch = index$8.Switch;
|
|
54
56
|
exports.Radio = Radio.Radio;
|
|
55
|
-
exports.RememberLogo = index$
|
|
56
|
-
exports.getViewBoxWidth = index$
|
|
57
|
-
exports.RememberMobileLogo = index$
|
|
58
|
-
exports.RememberSquareLogo = index$
|
|
59
|
-
exports.RememberServiceLogo = index$
|
|
60
|
-
exports.Dialog = index$
|
|
61
|
-
exports.Pagination = index$
|
|
62
|
-
exports.CompactPagination = index$
|
|
63
|
-
exports.TextInput = index$
|
|
64
|
-
exports.Select = index$
|
|
65
|
-
exports.DropdownMenu = index$
|
|
66
|
-
exports.Popover = index$
|
|
67
|
-
exports.Tooltip = index$
|
|
57
|
+
exports.RememberLogo = index$9.RememberLogo;
|
|
58
|
+
exports.getViewBoxWidth = index$9.getViewBoxWidth;
|
|
59
|
+
exports.RememberMobileLogo = index$a.RememberMobileLogo;
|
|
60
|
+
exports.RememberSquareLogo = index$b.RememberSquareLogo;
|
|
61
|
+
exports.RememberServiceLogo = index$c.RememberServiceLogo;
|
|
62
|
+
exports.Dialog = index$d.Dialog;
|
|
63
|
+
exports.Pagination = index$e.Pagination;
|
|
64
|
+
exports.CompactPagination = index$f.CompactPagination;
|
|
65
|
+
exports.TextInput = index$g;
|
|
66
|
+
exports.Select = index$h;
|
|
67
|
+
exports.DropdownMenu = index$i;
|
|
68
|
+
exports.Popover = index$j;
|
|
69
|
+
exports.Tooltip = index$k;
|
|
68
70
|
exports.DropdownMenuItemDisabledCSS = styles$2.DropdownMenuItemDisabledCSS;
|
|
69
71
|
exports.DropdownMenuItemHoverCSS = styles$2.DropdownMenuItemHoverCSS;
|
|
70
72
|
exports.StyledDropdownMenuContent = styles$2.StyledDropdownMenuContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/src/index.esm.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
export { default as Avatar } from './Avatars/Avatar/index.esm.js';
|
|
2
2
|
export { StyledAvatar } from './Avatars/Avatar/styles.esm.js';
|
|
3
|
-
export {
|
|
3
|
+
export { Button } from './Buttons/Button/index.esm.js';
|
|
4
4
|
export { badgePseudo } from './Badge/utils.esm.js';
|
|
5
5
|
export { Badge } from './Badge/Badge.esm.js';
|
|
6
6
|
export { getBadgePseudoCss } from './Badge/style.esm.js';
|
|
7
7
|
export { Divider } from './Common/Divider/index.esm.js';
|
|
8
|
-
export {
|
|
8
|
+
export { Flex } from './Common/Flex/index.esm.js';
|
|
9
9
|
export { Grid } from './Common/Grid/index.esm.js';
|
|
10
10
|
export { Spinner } from './Common/Spinner/index.esm.js';
|
|
11
|
-
export {
|
|
11
|
+
export { Skeleton } from './Common/Skeleton/index.esm.js';
|
|
12
|
+
export { Typography } from './Common/Typography/index.esm.js';
|
|
12
13
|
export { StyledTypography } from './Common/Typography/styles.esm.js';
|
|
13
14
|
export { Checkbox, _Checkbox } from './Control/Checkbox.esm.js';
|
|
14
15
|
export { CircleBaseToggle, Toggle, _Toggle } from './Control/Toggle.esm.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.styles.d.ts","sourceRoot":"","sources":["../../../src/stories/common.styles.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.styles.d.ts","sourceRoot":"","sources":["../../../src/stories/common.styles.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C,eAAO,MAAM,KAAK;;;GAmBjB,CAAC;AAEF,eAAO,MAAM,cAAc,gNAE1B,CAAC;AAEF,eAAO,MAAM,KAAK,yNAIjB,CAAC;AAEF,eAAO,MAAM,WAAW,kOAAiB,CAAC;AAE1C,eAAO,MAAM,SAAS,kOAAiB,CAAC;AAkBxC,eAAO,MAAM,WAAW,mCAIrB;IACD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,4CAKE,CAAC;AAEJ,eAAO,MAAM,QAAQ,0NAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remember-web/primitive",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.20",
|
|
4
4
|
"description": "Remember Web Primitive Components",
|
|
5
5
|
"homepage": "https://dramancompany.github.io/remember-web-packages/",
|
|
6
6
|
"author": "Remember",
|
|
@@ -16,8 +16,7 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "rollup -c && yarn fix:dts-alias",
|
|
18
18
|
"fix:dts-alias": "yarn tsc-alias -p tsconfig.alias.json",
|
|
19
|
-
"type-check": "tsc -p ./tsconfig.cli.json"
|
|
20
|
-
"lint": "eslint src --fix --ext .js,.jsx,.ts,.tsx --cache"
|
|
19
|
+
"type-check": "tsc -p ./tsconfig.cli.json"
|
|
21
20
|
},
|
|
22
21
|
"files": [
|
|
23
22
|
"dist",
|
|
@@ -59,8 +58,6 @@
|
|
|
59
58
|
"@storybook/react": "^7.6.17",
|
|
60
59
|
"@types/react": "^18.2.77",
|
|
61
60
|
"@types/react-dom": "^18.2.25",
|
|
62
|
-
"eslint": "^8.57.0",
|
|
63
|
-
"eslint-config-rui": "workspace:*",
|
|
64
61
|
"react": "^18.2.0",
|
|
65
62
|
"react-dom": "^18.2.0",
|
|
66
63
|
"rollup": "^4.14.1",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { forwardRef } from 'react';
|
|
4
|
-
import type { ForwardRefRenderFunction, ComponentPropsWithoutRef } from 'react';
|
|
5
|
-
import { bg200, divider } from '@remember-web/mixin';
|
|
6
3
|
import { IconAvatarEmpty } from '@remember-web/icon';
|
|
4
|
+
import { bg200, divider } from '@remember-web/mixin';
|
|
7
5
|
import type { ConvertTransientProps } from '@remember-web/shared';
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
|
+
import type { ComponentPropsWithoutRef, ForwardRefRenderFunction } from 'react';
|
|
8
8
|
|
|
9
9
|
import type { StyledAvatarProps } from '@/Avatars/Avatar/styles';
|
|
10
10
|
import { StyledAvatar } from '@/Avatars/Avatar/styles';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { StoryObj } from '@storybook/react';
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
|
|
4
|
-
import { badgePseudo } from '@/Badge/utils';
|
|
5
|
-
import type { BadgeAttribute } from '@/Badge/types';
|
|
6
4
|
import { Badge } from '@/Badge/Badge';
|
|
5
|
+
import type { BadgeAttribute } from '@/Badge/types';
|
|
6
|
+
import { badgePseudo } from '@/Badge/utils';
|
|
7
7
|
|
|
8
8
|
type Story = StoryObj<typeof Badge>;
|
|
9
9
|
|
package/src/Badge/style.tsx
CHANGED
package/src/Badge/utils.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import type { ForwardedRef } from 'react';
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import type { PolymorphicComponent } from 'styled-components';
|
|
6
6
|
|
|
7
7
|
import { Spinner } from '@/Common';
|
|
8
8
|
|
|
@@ -10,22 +10,22 @@ import { SPINNER_SIZE_MAP } from './const';
|
|
|
10
10
|
import { StyledButton } from './styles';
|
|
11
11
|
import type { ButtonProps } from './types';
|
|
12
12
|
|
|
13
|
-
const Button = forwardRef(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
13
|
+
export const Button = forwardRef(
|
|
14
|
+
(
|
|
15
|
+
{
|
|
16
|
+
children,
|
|
17
|
+
color,
|
|
18
|
+
size = 'small',
|
|
19
|
+
variant = 'primary',
|
|
20
|
+
layout = 'block',
|
|
21
|
+
isLoading = false,
|
|
22
|
+
filled = variant === 'primary',
|
|
23
|
+
icon,
|
|
24
|
+
iconPosition = 'left',
|
|
25
|
+
...props
|
|
26
|
+
}: ButtonProps,
|
|
27
|
+
ref: ForwardedRef<HTMLButtonElement | null>
|
|
28
|
+
) => (
|
|
29
29
|
<StyledButton
|
|
30
30
|
$color={color}
|
|
31
31
|
$size={size}
|
|
@@ -48,7 +48,5 @@ const Button = forwardRef(function (
|
|
|
48
48
|
</>
|
|
49
49
|
)}
|
|
50
50
|
</StyledButton>
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
export default Button;
|
|
51
|
+
)
|
|
52
|
+
) as PolymorphicComponent<'web', ButtonProps>;
|
|
@@ -37,14 +37,16 @@ export const StyledButton = styled.button<ButtonStyleProps>(
|
|
|
37
37
|
text-align: center;
|
|
38
38
|
|
|
39
39
|
width: fit-content;
|
|
40
|
-
${$layout === 'fullBlock' &&
|
|
40
|
+
${$layout === 'fullBlock' && 'width: 100%;'}
|
|
41
41
|
min-width: ${BUTTON_SIZES[$size].minWidth};
|
|
42
42
|
height: ${BUTTON_SIZES[$size].height};
|
|
43
43
|
padding: ${BUTTON_SIZES[$size].padding};
|
|
44
44
|
border-radius: 4px;
|
|
45
45
|
|
|
46
|
-
color: ${
|
|
47
|
-
|
|
46
|
+
color: ${
|
|
47
|
+
(props.$variant.startsWith('outline') ? $color : null) ??
|
|
48
|
+
BUTTON_COLORS[props.$variant].color
|
|
49
|
+
};
|
|
48
50
|
|
|
49
51
|
&:focus-visible:not(:disabled) {
|
|
50
52
|
outline: 2px solid ${primary100};
|
|
@@ -85,8 +87,9 @@ export const StyledButton = styled.button<ButtonStyleProps>(
|
|
|
85
87
|
// primary 스타일
|
|
86
88
|
props.$variant === 'primary' &&
|
|
87
89
|
css`
|
|
88
|
-
background-color: ${
|
|
89
|
-
|
|
90
|
+
background-color: ${
|
|
91
|
+
$color ?? BUTTON_COLORS[props.$variant].backgroundColor
|
|
92
|
+
};
|
|
90
93
|
&:disabled {
|
|
91
94
|
background-color: ${disabled};
|
|
92
95
|
}
|
|
@@ -98,9 +101,9 @@ export const StyledButton = styled.button<ButtonStyleProps>(
|
|
|
98
101
|
// outline 스타일
|
|
99
102
|
props.$variant === 'outline' &&
|
|
100
103
|
css`
|
|
101
|
-
background-color: ${
|
|
102
|
-
? bg100
|
|
103
|
-
|
|
104
|
+
background-color: ${
|
|
105
|
+
props.$filled ? bg100 : BUTTON_COLORS[props.$variant].backgroundColor
|
|
106
|
+
};
|
|
104
107
|
border: 1px solid ${$color ?? BUTTON_COLORS[props.$variant].borderColor};
|
|
105
108
|
&:disabled {
|
|
106
109
|
border-color: ${disabled};
|
package/src/Buttons/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from './Button';
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
4
|
import { divider } from '@remember-web/mixin';
|
|
5
|
+
import styled from 'styled-components';
|
|
6
6
|
|
|
7
7
|
export interface DividerProps extends SeparatorPrimitive.SeparatorProps {
|
|
8
8
|
color?: string;
|
|
9
|
+
$width?: string | number;
|
|
10
|
+
$height?: string | number;
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
const StyledDivider = styled(SeparatorPrimitive.Root)<DividerProps>`
|
|
12
14
|
background-color: ${({ color = divider }) => color};
|
|
13
15
|
&[data-orientation='horizontal'] {
|
|
14
16
|
height: 1px;
|
|
15
|
-
width: 100
|
|
17
|
+
width: ${({ $width = '100%' }) =>
|
|
18
|
+
typeof $width === 'number' ? `${$width}px` : $width};
|
|
16
19
|
}
|
|
17
|
-
|
|
18
20
|
&[data-orientation='vertical'] {
|
|
19
|
-
height: 100
|
|
21
|
+
height: ${({ $height = '100%' }) =>
|
|
22
|
+
typeof $height === 'number' ? `${$height}px` : $height};
|
|
20
23
|
width: 1px;
|
|
21
24
|
}
|
|
22
25
|
`;
|
|
@@ -49,11 +49,20 @@ const StyledFlex = styled.div<Partial<FlexStyledProps>>(
|
|
|
49
49
|
* @prop {CSSProperties['flexWrap']} wrap
|
|
50
50
|
*/
|
|
51
51
|
|
|
52
|
-
const Flex = forwardRef(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
export const Flex = forwardRef(
|
|
53
|
+
(
|
|
54
|
+
{
|
|
55
|
+
width,
|
|
56
|
+
height,
|
|
57
|
+
direction,
|
|
58
|
+
gap,
|
|
59
|
+
align,
|
|
60
|
+
justify,
|
|
61
|
+
wrap,
|
|
62
|
+
...props
|
|
63
|
+
}: FlexProps,
|
|
64
|
+
ref: ForwardedRef<HTMLDivElement | null>
|
|
65
|
+
) => (
|
|
57
66
|
<StyledFlex
|
|
58
67
|
ref={ref}
|
|
59
68
|
$width={width}
|
|
@@ -65,9 +74,7 @@ const Flex = forwardRef(function (
|
|
|
65
74
|
$wrap={wrap}
|
|
66
75
|
{...props}
|
|
67
76
|
/>
|
|
68
|
-
)
|
|
69
|
-
|
|
77
|
+
)
|
|
78
|
+
) as PolymorphicComponent<'web', FlexProps>;
|
|
70
79
|
|
|
71
|
-
type FlexProps = ConvertTransientProps<FlexStyledProps>;
|
|
72
|
-
|
|
73
|
-
export default Flex;
|
|
80
|
+
export type FlexProps = ConvertTransientProps<FlexStyledProps>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Skeleton } from '@/Common/Skeleton';
|
|
2
|
+
import { divider } from '@remember-web/mixin';
|
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
type Story = StoryObj<typeof Skeleton>;
|
|
8
|
+
|
|
9
|
+
const meta = {
|
|
10
|
+
title: 'Primitive/Skeleton/Skeleton',
|
|
11
|
+
component: Skeleton,
|
|
12
|
+
args: {
|
|
13
|
+
animate: true,
|
|
14
|
+
width: 300,
|
|
15
|
+
height: 300,
|
|
16
|
+
variant: 'rounded',
|
|
17
|
+
},
|
|
18
|
+
} satisfies Meta<typeof Skeleton>;
|
|
19
|
+
|
|
20
|
+
export const Default: Story = {
|
|
21
|
+
render: (args) => (
|
|
22
|
+
<div
|
|
23
|
+
style={{
|
|
24
|
+
border: `solid 1px ${divider}`,
|
|
25
|
+
height: '300px',
|
|
26
|
+
width: '300px',
|
|
27
|
+
padding: 14,
|
|
28
|
+
}}
|
|
29
|
+
>
|
|
30
|
+
<Skeleton {...args} />
|
|
31
|
+
</div>
|
|
32
|
+
),
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export default meta;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, ForwardedRef } from 'react';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import type { ConvertTransientProps } from '@remember-web/shared';
|
|
4
|
+
|
|
5
|
+
import type { StyledSkeletonProps } from '@/Common/Skeleton/styles';
|
|
6
|
+
import { StyledSkeleton } from '@/Common/Skeleton/styles';
|
|
7
|
+
|
|
8
|
+
type SkeletonProps = Partial<ConvertTransientProps<StyledSkeletonProps>> &
|
|
9
|
+
ComponentPropsWithoutRef<'div'>;
|
|
10
|
+
|
|
11
|
+
export const Skeleton = forwardRef(function (
|
|
12
|
+
{ variant, width, height, animate = true, ...props }: SkeletonProps,
|
|
13
|
+
ref: ForwardedRef<HTMLDivElement | null>
|
|
14
|
+
) {
|
|
15
|
+
return (
|
|
16
|
+
<StyledSkeleton
|
|
17
|
+
ref={ref}
|
|
18
|
+
$variant={variant}
|
|
19
|
+
$width={width}
|
|
20
|
+
$height={height}
|
|
21
|
+
$animate={animate}
|
|
22
|
+
{...props}
|
|
23
|
+
/>
|
|
24
|
+
);
|
|
25
|
+
});
|