@remember-web/primitive 0.1.17 → 0.1.19
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/Buttons/Button/index.cjs.js +5 -6
- package/dist/src/Buttons/Button/index.cjs.js.map +1 -1
- package/dist/src/Buttons/Button/index.d.ts +3 -8
- package/dist/src/Buttons/Button/index.d.ts.map +1 -1
- package/dist/src/Buttons/Button/index.esm.js +3 -4
- 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 +1 -2
- 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/Button/types.d.ts +4 -6
- package/dist/src/Buttons/Button/types.d.ts.map +1 -1
- package/dist/src/Common/Flex/index.cjs.js +8 -7
- package/dist/src/Common/Flex/index.cjs.js.map +1 -1
- package/dist/src/Common/Flex/index.d.ts +5 -4
- package/dist/src/Common/Flex/index.d.ts.map +1 -1
- package/dist/src/Common/Flex/index.esm.js +8 -7
- package/dist/src/Common/Flex/index.esm.js.map +1 -1
- package/dist/src/Common/Grid/index.cjs.js +1 -0
- package/dist/src/Common/Grid/index.cjs.js.map +1 -1
- package/dist/src/Common/Grid/index.d.ts +1 -0
- package/dist/src/Common/Grid/index.d.ts.map +1 -1
- package/dist/src/Common/Grid/index.esm.js +1 -0
- package/dist/src/Common/Grid/index.esm.js.map +1 -1
- package/dist/src/Common/Typography/index.cjs.js +4 -7
- package/dist/src/Common/Typography/index.cjs.js.map +1 -1
- package/dist/src/Common/Typography/index.d.ts +6 -9
- package/dist/src/Common/Typography/index.d.ts.map +1 -1
- package/dist/src/Common/Typography/index.esm.js +4 -7
- package/dist/src/Common/Typography/index.esm.js.map +1 -1
- package/dist/src/Common/index.d.ts +1 -1
- package/dist/src/Common/index.d.ts.map +1 -1
- package/dist/src/Control/BaseToggle/ToggleIcon/index.cjs.js +14 -3
- 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 +9 -3
- package/dist/src/Control/BaseToggle/ToggleIcon/index.esm.js.map +1 -1
- package/dist/src/Control/BaseToggle/styles.cjs.js +2 -2
- package/dist/src/Control/BaseToggle/styles.cjs.js.map +1 -1
- package/dist/src/Control/BaseToggle/styles.esm.js +2 -2
- package/dist/src/Control/BaseToggle/styles.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/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/index.cjs.js +6 -6
- package/dist/src/index.esm.js +1 -1
- package/package.json +2 -2
- package/src/Buttons/Button/Button.stories.tsx +1 -1
- package/src/Buttons/Button/index.tsx +32 -39
- package/src/Buttons/Button/styles.ts +2 -3
- package/src/Buttons/Button/types.ts +6 -12
- package/src/Common/Divider/Divider.stories.tsx +1 -1
- package/src/Common/Flex/index.tsx +29 -28
- package/src/Common/Grid/index.tsx +1 -0
- package/src/Common/Typography/index.tsx +24 -37
- package/src/Common/index.ts +1 -1
- package/src/Control/BaseToggle/ToggleIcon/index.tsx +14 -1
- package/src/Control/BaseToggle/styles.ts +10 -10
- package/src/Modals/Dialog/index.tsx +1 -1
- package/src/Paginations/CompactPagination/index.tsx +1 -1
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
4
5
|
var icon = require('@remember-web/icon');
|
|
5
6
|
var util = require('@remember-web/icon/util');
|
|
7
|
+
var styled = require('styled-components');
|
|
6
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
9
|
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefault(_taggedTemplateLiteral);
|
|
13
|
+
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
14
|
+
|
|
15
|
+
var _templateObject;
|
|
8
16
|
var ICON_NAME = {
|
|
9
17
|
check: {
|
|
10
18
|
on: icon.ControlCheckOn,
|
|
@@ -39,11 +47,14 @@ function ToggleIcon(_ref) {
|
|
|
39
47
|
className = _ref.className;
|
|
40
48
|
var iconSize = typeof size === 'string' && util.isSvgRegularSize(size) ? util.SVG_SIZES[size] : size;
|
|
41
49
|
var Icon = ICON_NAME[variant][status];
|
|
42
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
43
|
-
className: className,
|
|
44
|
-
|
|
50
|
+
return /*#__PURE__*/jsxRuntime.jsx(ToggleIconContainer, {
|
|
51
|
+
className: "toggleIcon ".concat(className),
|
|
52
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Icon, {
|
|
53
|
+
size: iconSize
|
|
54
|
+
})
|
|
45
55
|
});
|
|
46
56
|
}
|
|
57
|
+
var ToggleIconContainer = styled__default.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral__default.default(["\n border-radius: 50%;\n\n > svg {\n display: block;\n }\n"])));
|
|
47
58
|
|
|
48
59
|
exports.ToggleIcon = ToggleIcon;
|
|
49
60
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../../../src/Control/BaseToggle/ToggleIcon/index.tsx"],"sourcesContent":["'use client';\n\nimport {\n ControlBookmarkOff,\n ControlBookmarkOn,\n ControlCheckOff,\n ControlCheckOn,\n ControlCheckboxIndeterminate,\n ControlCheckboxOff,\n ControlCheckboxOn,\n ControlFavoriteOff,\n ControlFavoriteOn,\n ControlRadioOff,\n ControlRadioOn,\n} from '@remember-web/icon';\nimport {\n SVG_SIZES,\n isSvgRegularSize,\n type SvgSizeProps,\n type WithSvgSizeComponentType,\n} from '@remember-web/icon/util';\n\nimport type { ToggleStatusType, ToggleVariantType } from '../types';\n\nconst ICON_NAME = {\n check: {\n on: ControlCheckOn,\n indeterminate: ControlCheckOn,\n off: ControlCheckOff,\n },\n checkbox: {\n on: ControlCheckboxOn,\n indeterminate: ControlCheckboxIndeterminate,\n off: ControlCheckboxOff,\n },\n favorite: {\n on: ControlFavoriteOn,\n indeterminate: ControlFavoriteOn,\n off: ControlFavoriteOff,\n },\n bookmark: {\n on: ControlBookmarkOn,\n indeterminate: ControlBookmarkOn,\n off: ControlBookmarkOff,\n },\n radio: {\n on: ControlRadioOn,\n indeterminate: ControlRadioOff,\n off: ControlRadioOff,\n },\n} as const satisfies Record<\n ToggleVariantType,\n Record<ToggleStatusType, WithSvgSizeComponentType>\n>;\n\nexport function ToggleIcon({\n size,\n status,\n variant,\n className,\n}: {\n variant: ToggleVariantType;\n status: ToggleStatusType;\n className?: string;\n} & SvgSizeProps) {\n const iconSize =\n typeof size === 'string' && isSvgRegularSize(size) ? SVG_SIZES[size] : size;\n\n const Icon = ICON_NAME[variant][status];\n\n return <
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../../../src/Control/BaseToggle/ToggleIcon/index.tsx"],"sourcesContent":["'use client';\n\nimport {\n ControlBookmarkOff,\n ControlBookmarkOn,\n ControlCheckOff,\n ControlCheckOn,\n ControlCheckboxIndeterminate,\n ControlCheckboxOff,\n ControlCheckboxOn,\n ControlFavoriteOff,\n ControlFavoriteOn,\n ControlRadioOff,\n ControlRadioOn,\n} from '@remember-web/icon';\nimport {\n SVG_SIZES,\n isSvgRegularSize,\n type SvgSizeProps,\n type WithSvgSizeComponentType,\n} from '@remember-web/icon/util';\nimport styled from 'styled-components';\n\nimport type { ToggleStatusType, ToggleVariantType } from '../types';\n\nconst ICON_NAME = {\n check: {\n on: ControlCheckOn,\n indeterminate: ControlCheckOn,\n off: ControlCheckOff,\n },\n checkbox: {\n on: ControlCheckboxOn,\n indeterminate: ControlCheckboxIndeterminate,\n off: ControlCheckboxOff,\n },\n favorite: {\n on: ControlFavoriteOn,\n indeterminate: ControlFavoriteOn,\n off: ControlFavoriteOff,\n },\n bookmark: {\n on: ControlBookmarkOn,\n indeterminate: ControlBookmarkOn,\n off: ControlBookmarkOff,\n },\n radio: {\n on: ControlRadioOn,\n indeterminate: ControlRadioOff,\n off: ControlRadioOff,\n },\n} as const satisfies Record<\n ToggleVariantType,\n Record<ToggleStatusType, WithSvgSizeComponentType>\n>;\n\nexport function ToggleIcon({\n size,\n status,\n variant,\n className,\n}: {\n variant: ToggleVariantType;\n status: ToggleStatusType;\n className?: string;\n} & SvgSizeProps) {\n const iconSize =\n typeof size === 'string' && isSvgRegularSize(size) ? SVG_SIZES[size] : size;\n\n const Icon = ICON_NAME[variant][status];\n\n return (\n <ToggleIconContainer className={`toggleIcon ${className}`}>\n <Icon size={iconSize} />\n </ToggleIconContainer>\n );\n}\n\nconst ToggleIconContainer = styled.div`\n border-radius: 50%;\n\n > svg {\n display: block;\n }\n`;\n"],"names":["check","on","indeterminate","off","checkbox","favorite","bookmark","radio","className","size"],"mappings":";;;;;;;;;;;;;;AAAa;AAyBb;AACEA;AACEC;AACAC;AACAC;;AAEFC;AACEH;AACAC;AACAC;;AAEFE;AACEJ;AACAC;AACAC;;AAEFG;AACEL;AACAC;AACAC;;AAEFI;AACEN;AACAC;AACAC;AACF;AACF;AAKO;AASW;;;;AAChB;;;AAMuBK;;AACbC;;AAAkB;AAG9B;AAEA;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Control/BaseToggle/ToggleIcon/index.tsx"],"names":[],"mappings":"AAeA,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Control/BaseToggle/ToggleIcon/index.tsx"],"names":[],"mappings":"AAeA,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAiCpE,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,GACV,EAAE;IACD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,YAAY,2CAWf"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
|
|
2
3
|
import { ControlCheckOn, ControlCheckOff, ControlCheckboxOn, ControlCheckboxIndeterminate, ControlCheckboxOff, ControlFavoriteOn, ControlFavoriteOff, ControlBookmarkOn, ControlBookmarkOff, ControlRadioOn, ControlRadioOff } from '@remember-web/icon';
|
|
3
4
|
import { isSvgRegularSize, SVG_SIZES } from '@remember-web/icon/util';
|
|
5
|
+
import styled from 'styled-components';
|
|
4
6
|
import { jsx } from 'react/jsx-runtime';
|
|
5
7
|
|
|
8
|
+
var _templateObject;
|
|
6
9
|
var ICON_NAME = {
|
|
7
10
|
check: {
|
|
8
11
|
on: ControlCheckOn,
|
|
@@ -37,11 +40,14 @@ function ToggleIcon(_ref) {
|
|
|
37
40
|
className = _ref.className;
|
|
38
41
|
var iconSize = typeof size === 'string' && isSvgRegularSize(size) ? SVG_SIZES[size] : size;
|
|
39
42
|
var Icon = ICON_NAME[variant][status];
|
|
40
|
-
return /*#__PURE__*/jsx(
|
|
41
|
-
className: className,
|
|
42
|
-
|
|
43
|
+
return /*#__PURE__*/jsx(ToggleIconContainer, {
|
|
44
|
+
className: "toggleIcon ".concat(className),
|
|
45
|
+
children: /*#__PURE__*/jsx(Icon, {
|
|
46
|
+
size: iconSize
|
|
47
|
+
})
|
|
43
48
|
});
|
|
44
49
|
}
|
|
50
|
+
var ToggleIconContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-radius: 50%;\n\n > svg {\n display: block;\n }\n"])));
|
|
45
51
|
|
|
46
52
|
export { ToggleIcon };
|
|
47
53
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../../src/Control/BaseToggle/ToggleIcon/index.tsx"],"sourcesContent":["'use client';\n\nimport {\n ControlBookmarkOff,\n ControlBookmarkOn,\n ControlCheckOff,\n ControlCheckOn,\n ControlCheckboxIndeterminate,\n ControlCheckboxOff,\n ControlCheckboxOn,\n ControlFavoriteOff,\n ControlFavoriteOn,\n ControlRadioOff,\n ControlRadioOn,\n} from '@remember-web/icon';\nimport {\n SVG_SIZES,\n isSvgRegularSize,\n type SvgSizeProps,\n type WithSvgSizeComponentType,\n} from '@remember-web/icon/util';\n\nimport type { ToggleStatusType, ToggleVariantType } from '../types';\n\nconst ICON_NAME = {\n check: {\n on: ControlCheckOn,\n indeterminate: ControlCheckOn,\n off: ControlCheckOff,\n },\n checkbox: {\n on: ControlCheckboxOn,\n indeterminate: ControlCheckboxIndeterminate,\n off: ControlCheckboxOff,\n },\n favorite: {\n on: ControlFavoriteOn,\n indeterminate: ControlFavoriteOn,\n off: ControlFavoriteOff,\n },\n bookmark: {\n on: ControlBookmarkOn,\n indeterminate: ControlBookmarkOn,\n off: ControlBookmarkOff,\n },\n radio: {\n on: ControlRadioOn,\n indeterminate: ControlRadioOff,\n off: ControlRadioOff,\n },\n} as const satisfies Record<\n ToggleVariantType,\n Record<ToggleStatusType, WithSvgSizeComponentType>\n>;\n\nexport function ToggleIcon({\n size,\n status,\n variant,\n className,\n}: {\n variant: ToggleVariantType;\n status: ToggleStatusType;\n className?: string;\n} & SvgSizeProps) {\n const iconSize =\n typeof size === 'string' && isSvgRegularSize(size) ? SVG_SIZES[size] : size;\n\n const Icon = ICON_NAME[variant][status];\n\n return <
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../../src/Control/BaseToggle/ToggleIcon/index.tsx"],"sourcesContent":["'use client';\n\nimport {\n ControlBookmarkOff,\n ControlBookmarkOn,\n ControlCheckOff,\n ControlCheckOn,\n ControlCheckboxIndeterminate,\n ControlCheckboxOff,\n ControlCheckboxOn,\n ControlFavoriteOff,\n ControlFavoriteOn,\n ControlRadioOff,\n ControlRadioOn,\n} from '@remember-web/icon';\nimport {\n SVG_SIZES,\n isSvgRegularSize,\n type SvgSizeProps,\n type WithSvgSizeComponentType,\n} from '@remember-web/icon/util';\nimport styled from 'styled-components';\n\nimport type { ToggleStatusType, ToggleVariantType } from '../types';\n\nconst ICON_NAME = {\n check: {\n on: ControlCheckOn,\n indeterminate: ControlCheckOn,\n off: ControlCheckOff,\n },\n checkbox: {\n on: ControlCheckboxOn,\n indeterminate: ControlCheckboxIndeterminate,\n off: ControlCheckboxOff,\n },\n favorite: {\n on: ControlFavoriteOn,\n indeterminate: ControlFavoriteOn,\n off: ControlFavoriteOff,\n },\n bookmark: {\n on: ControlBookmarkOn,\n indeterminate: ControlBookmarkOn,\n off: ControlBookmarkOff,\n },\n radio: {\n on: ControlRadioOn,\n indeterminate: ControlRadioOff,\n off: ControlRadioOff,\n },\n} as const satisfies Record<\n ToggleVariantType,\n Record<ToggleStatusType, WithSvgSizeComponentType>\n>;\n\nexport function ToggleIcon({\n size,\n status,\n variant,\n className,\n}: {\n variant: ToggleVariantType;\n status: ToggleStatusType;\n className?: string;\n} & SvgSizeProps) {\n const iconSize =\n typeof size === 'string' && isSvgRegularSize(size) ? SVG_SIZES[size] : size;\n\n const Icon = ICON_NAME[variant][status];\n\n return (\n <ToggleIconContainer className={`toggleIcon ${className}`}>\n <Icon size={iconSize} />\n </ToggleIconContainer>\n );\n}\n\nconst ToggleIconContainer = styled.div`\n border-radius: 50%;\n\n > svg {\n display: block;\n }\n`;\n"],"names":["check","on","indeterminate","off","checkbox","favorite","bookmark","radio","className","size"],"mappings":";;;;;;;AAAa;AAyBb;AACEA;AACEC;AACAC;AACAC;;AAEFC;AACEH;AACAC;AACAC;;AAEFE;AACEJ;AACAC;AACAC;;AAEFG;AACEL;AACAC;AACAC;;AAEFI;AACEN;AACAC;AACAC;AACF;AACF;AAKO;AASW;;;;AAChB;;;AAMuBK;;AACbC;;AAAkB;AAG9B;AAEA;;"}
|
|
@@ -11,11 +11,11 @@ var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefault(_taggedTempla
|
|
|
11
11
|
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
12
12
|
|
|
13
13
|
var _templateObject, _templateObject2;
|
|
14
|
-
var ToggleRoot = styled__default.default.label(_templateObject || (_templateObject = _taggedTemplateLiteral__default.default(["\n width: fit-content;\n height: fit-content;\n display: flex;\n ", "\n\n cursor: pointer;\n user-select: none;\n align-items: center;\n\n & >
|
|
14
|
+
var ToggleRoot = styled__default.default.label(_templateObject || (_templateObject = _taggedTemplateLiteral__default.default(["\n width: fit-content;\n height: fit-content;\n display: flex;\n ", "\n\n cursor: pointer;\n user-select: none;\n align-items: center;\n\n & > .toggleIcon {\n transition: filter 0.2s ease-in-out;\n flex-shrink: 0;\n }\n\n &:has(input:disabled) {\n cursor: default;\n }\n\n @media (hover: hover) {\n &:hover > .toggleIcon {\n filter: grayscale(0.05) brightness(0.95);\n }\n }\n"])), function (_ref) {
|
|
15
15
|
var $gap = _ref.$gap;
|
|
16
16
|
return $gap && "gap: ".concat($gap, "px;");
|
|
17
17
|
});
|
|
18
|
-
var ToggleInput = styled__default.default.input(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral__default.default(["\n all: unset;\n position: absolute;\n width: 1px;\n height: 0px;\n margin-left: -1px;\n\n &:checked ~
|
|
18
|
+
var ToggleInput = styled__default.default.input(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral__default.default(["\n all: unset;\n position: absolute;\n width: 1px;\n height: 0px;\n margin-left: -1px;\n\n &:checked ~ .toggleIcon.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ .toggleIcon.onIcon {\n display: none;\n }\n\n &[type='checkbox']:indeterminate ~ .toggleIcon.offIcon,\n &[type='checkbox']:indeterminate ~ .toggleIcon.onIcon {\n display: none;\n }\n\n &[type='checkbox']:not(:indeterminate) ~ .toggleIcon.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ .toggleIcon {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ .toggleIcon {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ .toggleIcon {\n outline: solid 2px ", ";\n outline-offset: -1px;\n }\n"])), mixin.primary100);
|
|
19
19
|
|
|
20
20
|
exports.ToggleInput = ToggleInput;
|
|
21
21
|
exports.ToggleRoot = ToggleRoot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.cjs.js","sources":["../../../../src/Control/BaseToggle/styles.ts"],"sourcesContent":["'use client';\n\nimport styled from 'styled-components';\nimport { primary100 } from '@remember-web/mixin';\n\nexport const ToggleRoot = styled.label<{ $gap?: number }>`\n width: fit-content;\n height: fit-content;\n display: flex;\n ${({ $gap }) => $gap && `gap: ${$gap}px;`}\n\n cursor: pointer;\n user-select: none;\n align-items: center;\n\n & >
|
|
1
|
+
{"version":3,"file":"styles.cjs.js","sources":["../../../../src/Control/BaseToggle/styles.ts"],"sourcesContent":["'use client';\n\nimport styled from 'styled-components';\nimport { primary100 } from '@remember-web/mixin';\n\nexport const ToggleRoot = styled.label<{ $gap?: number }>`\n width: fit-content;\n height: fit-content;\n display: flex;\n ${({ $gap }) => $gap && `gap: ${$gap}px;`}\n\n cursor: pointer;\n user-select: none;\n align-items: center;\n\n & > .toggleIcon {\n transition: filter 0.2s ease-in-out;\n flex-shrink: 0;\n }\n\n &:has(input:disabled) {\n cursor: default;\n }\n\n @media (hover: hover) {\n &:hover > .toggleIcon {\n filter: grayscale(0.05) brightness(0.95);\n }\n }\n`;\n\nexport const ToggleInput = styled.input`\n all: unset;\n position: absolute;\n width: 1px;\n height: 0px;\n margin-left: -1px;\n\n &:checked ~ .toggleIcon.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ .toggleIcon.onIcon {\n display: none;\n }\n\n &[type='checkbox']:indeterminate ~ .toggleIcon.offIcon,\n &[type='checkbox']:indeterminate ~ .toggleIcon.onIcon {\n display: none;\n }\n\n &[type='checkbox']:not(:indeterminate) ~ .toggleIcon.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ .toggleIcon {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ .toggleIcon {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ .toggleIcon {\n outline: solid 2px ${primary100};\n outline-offset: -1px;\n }\n`;\n"],"names":["ToggleRoot","ToggleInput"],"mappings":";;;;;;;;;;;;AAAa;AAKAA;AAIT;AAAO;AAAgC;AAsB9BC;;;"}
|
|
@@ -4,11 +4,11 @@ import styled from 'styled-components';
|
|
|
4
4
|
import { primary100 } from '@remember-web/mixin';
|
|
5
5
|
|
|
6
6
|
var _templateObject, _templateObject2;
|
|
7
|
-
var ToggleRoot = styled.label(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: fit-content;\n height: fit-content;\n display: flex;\n ", "\n\n cursor: pointer;\n user-select: none;\n align-items: center;\n\n & >
|
|
7
|
+
var ToggleRoot = styled.label(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: fit-content;\n height: fit-content;\n display: flex;\n ", "\n\n cursor: pointer;\n user-select: none;\n align-items: center;\n\n & > .toggleIcon {\n transition: filter 0.2s ease-in-out;\n flex-shrink: 0;\n }\n\n &:has(input:disabled) {\n cursor: default;\n }\n\n @media (hover: hover) {\n &:hover > .toggleIcon {\n filter: grayscale(0.05) brightness(0.95);\n }\n }\n"])), function (_ref) {
|
|
8
8
|
var $gap = _ref.$gap;
|
|
9
9
|
return $gap && "gap: ".concat($gap, "px;");
|
|
10
10
|
});
|
|
11
|
-
var ToggleInput = styled.input(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n all: unset;\n position: absolute;\n width: 1px;\n height: 0px;\n margin-left: -1px;\n\n &:checked ~
|
|
11
|
+
var ToggleInput = styled.input(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n all: unset;\n position: absolute;\n width: 1px;\n height: 0px;\n margin-left: -1px;\n\n &:checked ~ .toggleIcon.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ .toggleIcon.onIcon {\n display: none;\n }\n\n &[type='checkbox']:indeterminate ~ .toggleIcon.offIcon,\n &[type='checkbox']:indeterminate ~ .toggleIcon.onIcon {\n display: none;\n }\n\n &[type='checkbox']:not(:indeterminate) ~ .toggleIcon.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ .toggleIcon {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ .toggleIcon {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ .toggleIcon {\n outline: solid 2px ", ";\n outline-offset: -1px;\n }\n"])), primary100);
|
|
12
12
|
|
|
13
13
|
export { ToggleInput, ToggleRoot };
|
|
14
14
|
//# sourceMappingURL=styles.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.esm.js","sources":["../../../../src/Control/BaseToggle/styles.ts"],"sourcesContent":["'use client';\n\nimport styled from 'styled-components';\nimport { primary100 } from '@remember-web/mixin';\n\nexport const ToggleRoot = styled.label<{ $gap?: number }>`\n width: fit-content;\n height: fit-content;\n display: flex;\n ${({ $gap }) => $gap && `gap: ${$gap}px;`}\n\n cursor: pointer;\n user-select: none;\n align-items: center;\n\n & >
|
|
1
|
+
{"version":3,"file":"styles.esm.js","sources":["../../../../src/Control/BaseToggle/styles.ts"],"sourcesContent":["'use client';\n\nimport styled from 'styled-components';\nimport { primary100 } from '@remember-web/mixin';\n\nexport const ToggleRoot = styled.label<{ $gap?: number }>`\n width: fit-content;\n height: fit-content;\n display: flex;\n ${({ $gap }) => $gap && `gap: ${$gap}px;`}\n\n cursor: pointer;\n user-select: none;\n align-items: center;\n\n & > .toggleIcon {\n transition: filter 0.2s ease-in-out;\n flex-shrink: 0;\n }\n\n &:has(input:disabled) {\n cursor: default;\n }\n\n @media (hover: hover) {\n &:hover > .toggleIcon {\n filter: grayscale(0.05) brightness(0.95);\n }\n }\n`;\n\nexport const ToggleInput = styled.input`\n all: unset;\n position: absolute;\n width: 1px;\n height: 0px;\n margin-left: -1px;\n\n &:checked ~ .toggleIcon.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ .toggleIcon.onIcon {\n display: none;\n }\n\n &[type='checkbox']:indeterminate ~ .toggleIcon.offIcon,\n &[type='checkbox']:indeterminate ~ .toggleIcon.onIcon {\n display: none;\n }\n\n &[type='checkbox']:not(:indeterminate) ~ .toggleIcon.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ .toggleIcon {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ .toggleIcon {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ .toggleIcon {\n outline: solid 2px ${primary100};\n outline-offset: -1px;\n }\n`;\n"],"names":["ToggleRoot","ToggleInput"],"mappings":";;;;;AAAa;AAKAA;AAIT;AAAO;AAAgC;AAsB9BC;;"}
|
|
@@ -45,7 +45,7 @@ Dialog.Content = function (_ref2) {
|
|
|
45
45
|
props = _objectWithoutProperties__default.default(_ref2, _excluded2);
|
|
46
46
|
return /*#__PURE__*/jsxRuntime.jsxs(DialogPrimitive.Portal, {
|
|
47
47
|
children: [dimmed && /*#__PURE__*/jsxRuntime.jsx(styles.StyledOverlay, {}), /*#__PURE__*/jsxRuntime.jsx(styles.DialogContent, _objectSpread(_objectSpread({}, props), {}, {
|
|
48
|
-
children: /*#__PURE__*/jsxRuntime.jsx(index
|
|
48
|
+
children: /*#__PURE__*/jsxRuntime.jsx(index, {
|
|
49
49
|
direction: "column",
|
|
50
50
|
align: "center",
|
|
51
51
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../../src/Modals/Dialog/index.tsx"],"sourcesContent":["'use client';\n\nimport type { DialogContentProps, DialogProps } from '@radix-ui/react-dialog';\nimport { Root, Trigger, Close, Portal } from '@radix-ui/react-dialog';\nimport { IconClose, PictogramAlert, PictogramCheck } from '@remember-web/icon';\n\nimport
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../../src/Modals/Dialog/index.tsx"],"sourcesContent":["'use client';\n\nimport type { DialogContentProps, DialogProps } from '@radix-ui/react-dialog';\nimport { Root, Trigger, Close, Portal } from '@radix-ui/react-dialog';\nimport { IconClose, PictogramAlert, PictogramCheck } from '@remember-web/icon';\n\nimport Flex from '@/Common/Flex';\n\nimport {\n DialogContent,\n DialogDescription,\n DialogIcon,\n DialogTitle,\n IconButton,\n StyledOverlay,\n} from './styles';\n\ninterface ContentProps extends DialogContentProps {\n children: React.ReactNode;\n dimmed?: boolean;\n}\n\n/**\n * @prop {React.ReactNode} children\n * @prop {boolean} open\n * @prop {boolean} defaultOpen\n * @prop {(open: boolean) => void} onOpenChange\n * @prop {boolean} modal\n * @prop {string} id\n */\nexport function Dialog({ children, ...props }: DialogProps) {\n return <Root {...props}>{children}</Root>;\n}\n\n/**\n * @prop {boolean} dimmed\n * @see https://www.radix-ui.com/docs/primitives/components/dialog\n */\nDialog.Content = ({ children, dimmed = true, ...props }: ContentProps) => (\n <Portal>\n {dimmed && <StyledOverlay />}\n <DialogContent {...props}>\n <Flex direction=\"column\" align=\"center\">\n {children}\n </Flex>\n </DialogContent>\n </Portal>\n);\n\nDialog.HeadIcon = ({ type = 'alert' }: { type?: 'alert' | 'confirm' }) => (\n <DialogIcon>\n {type === 'alert' && <PictogramAlert size={40} />}\n {type === 'confirm' && <PictogramCheck size={40} />}\n </DialogIcon>\n);\n\nDialog.CloseIcon = () => (\n <Close asChild>\n <IconButton type=\"button\" aria-label=\"Close\">\n <IconClose size=\"small\" />\n </IconButton>\n </Close>\n);\n\nDialog.Title = ({ children }: { children: React.ReactNode }) => (\n <DialogTitle>{children}</DialogTitle>\n);\n\nDialog.Description = ({ children }: { children: React.ReactNode }) => (\n <DialogDescription>{children}</DialogDescription>\n);\n\nDialog.Trigger = Trigger;\nDialog.Close = Close;\n"],"names":["props","children","Dialog","dimmed","direction","align","type","size"],"mappings":";;;;;;;;;;;;;;;;AAAa;;AAAA;AAAA;AAsBb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AAAqD;AAAtBA;;AACdC;AAAW;AACnC;;AAEA;AACA;AACA;AACA;AACAC;AAAiB;;AAAaC;AAAkBH;;AACvCC;;AAGGG;AAAmBC;AAAcJ;;AAEhC;AACO;AACT;AAGXC;AAAkB;AAAGI;;AACRL;AAC4BM;;AACEA;AAAS;AAAG;AACxC;AAGfL;;;;AAEgBI;AAAc;;AACbC;;;AACA;AACP;AAGVL;AAAe;;AACDD;AAAU;AAAe;AAGvCC;AAAqB;;AACDD;AAAU;AAAqB;AAGnDC;AACAA;;"}
|
|
@@ -3,7 +3,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
4
|
import { Root, Portal, Close, Trigger } from '@radix-ui/react-dialog';
|
|
5
5
|
import { PictogramAlert, PictogramCheck, IconClose } from '@remember-web/icon';
|
|
6
|
-
import
|
|
6
|
+
import Flex from '../../Common/Flex/index.esm.js';
|
|
7
7
|
import { StyledOverlay, DialogContent, DialogIcon, IconButton, DialogTitle, DialogDescription } from './styles.esm.js';
|
|
8
8
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../src/Modals/Dialog/index.tsx"],"sourcesContent":["'use client';\n\nimport type { DialogContentProps, DialogProps } from '@radix-ui/react-dialog';\nimport { Root, Trigger, Close, Portal } from '@radix-ui/react-dialog';\nimport { IconClose, PictogramAlert, PictogramCheck } from '@remember-web/icon';\n\nimport
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../src/Modals/Dialog/index.tsx"],"sourcesContent":["'use client';\n\nimport type { DialogContentProps, DialogProps } from '@radix-ui/react-dialog';\nimport { Root, Trigger, Close, Portal } from '@radix-ui/react-dialog';\nimport { IconClose, PictogramAlert, PictogramCheck } from '@remember-web/icon';\n\nimport Flex from '@/Common/Flex';\n\nimport {\n DialogContent,\n DialogDescription,\n DialogIcon,\n DialogTitle,\n IconButton,\n StyledOverlay,\n} from './styles';\n\ninterface ContentProps extends DialogContentProps {\n children: React.ReactNode;\n dimmed?: boolean;\n}\n\n/**\n * @prop {React.ReactNode} children\n * @prop {boolean} open\n * @prop {boolean} defaultOpen\n * @prop {(open: boolean) => void} onOpenChange\n * @prop {boolean} modal\n * @prop {string} id\n */\nexport function Dialog({ children, ...props }: DialogProps) {\n return <Root {...props}>{children}</Root>;\n}\n\n/**\n * @prop {boolean} dimmed\n * @see https://www.radix-ui.com/docs/primitives/components/dialog\n */\nDialog.Content = ({ children, dimmed = true, ...props }: ContentProps) => (\n <Portal>\n {dimmed && <StyledOverlay />}\n <DialogContent {...props}>\n <Flex direction=\"column\" align=\"center\">\n {children}\n </Flex>\n </DialogContent>\n </Portal>\n);\n\nDialog.HeadIcon = ({ type = 'alert' }: { type?: 'alert' | 'confirm' }) => (\n <DialogIcon>\n {type === 'alert' && <PictogramAlert size={40} />}\n {type === 'confirm' && <PictogramCheck size={40} />}\n </DialogIcon>\n);\n\nDialog.CloseIcon = () => (\n <Close asChild>\n <IconButton type=\"button\" aria-label=\"Close\">\n <IconClose size=\"small\" />\n </IconButton>\n </Close>\n);\n\nDialog.Title = ({ children }: { children: React.ReactNode }) => (\n <DialogTitle>{children}</DialogTitle>\n);\n\nDialog.Description = ({ children }: { children: React.ReactNode }) => (\n <DialogDescription>{children}</DialogDescription>\n);\n\nDialog.Trigger = Trigger;\nDialog.Close = Close;\n"],"names":["props","children","Dialog","dimmed","direction","align","type","size"],"mappings":";;;;;;;;;AAAa;;AAAA;AAAA;AAsBb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AAAqD;AAAtBA;;AACdC;AAAW;AACnC;;AAEA;AACA;AACA;AACA;AACAC;AAAiB;;AAAaC;AAAkBH;;AACvCC;;AAGGG;AAAmBC;AAAcJ;;AAEhC;AACO;AACT;AAGXC;AAAkB;AAAGI;;AACRL;AAC4BM;;AACEA;AAAS;AAAG;AACxC;AAGfL;;;;AAEgBI;AAAc;;AACbC;;;AACA;AACP;AAGVL;AAAe;;AACDD;AAAU;AAAe;AAGvCC;AAAqB;;AACDD;AAAU;AAAqB;AAGnDC;AACAA;;"}
|
|
@@ -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
|
|
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
|
|
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
|
|
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;;"}
|
package/dist/src/index.cjs.js
CHANGED
|
@@ -6,11 +6,11 @@ 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$
|
|
9
|
+
var index$4 = require('./Common/Divider/index.cjs.js');
|
|
10
|
+
var index$2 = require('./Common/Flex/index.cjs.js');
|
|
11
11
|
var index$5 = require('./Common/Grid/index.cjs.js');
|
|
12
12
|
var index$6 = require('./Common/Spinner/index.cjs.js');
|
|
13
|
-
var index$
|
|
13
|
+
var index$3 = require('./Common/Typography/index.cjs.js');
|
|
14
14
|
var styles$1 = require('./Common/Typography/styles.cjs.js');
|
|
15
15
|
var Checkbox = require('./Control/Checkbox.cjs.js');
|
|
16
16
|
var Toggle = require('./Control/Toggle.cjs.js');
|
|
@@ -39,11 +39,11 @@ exports.Button = index$1;
|
|
|
39
39
|
exports.badgePseudo = utils.badgePseudo;
|
|
40
40
|
exports.Badge = Badge.Badge;
|
|
41
41
|
exports.getBadgePseudoCss = style.getBadgePseudoCss;
|
|
42
|
-
exports.Divider = index$
|
|
43
|
-
exports.Flex = index$
|
|
42
|
+
exports.Divider = index$4.Divider;
|
|
43
|
+
exports.Flex = index$2;
|
|
44
44
|
exports.Grid = index$5.Grid;
|
|
45
45
|
exports.Spinner = index$6.Spinner;
|
|
46
|
-
exports.Typography = index$
|
|
46
|
+
exports.Typography = index$3;
|
|
47
47
|
exports.StyledTypography = styles$1.StyledTypography;
|
|
48
48
|
exports.Checkbox = Checkbox.Checkbox;
|
|
49
49
|
exports._Checkbox = Checkbox._Checkbox;
|
package/dist/src/index.esm.js
CHANGED
|
@@ -5,7 +5,7 @@ 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 { Flex } from './Common/Flex/index.esm.js';
|
|
8
|
+
export { default as 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
11
|
export { default as Typography } from './Common/Typography/index.esm.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remember-web/primitive",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"description": "Remember Web Primitive Components",
|
|
5
5
|
"homepage": "https://dramancompany.github.io/remember-web-packages/",
|
|
6
6
|
"author": "Remember",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@radix-ui/react-tooltip": "^1.0.7",
|
|
45
45
|
"@remember-web/icon": "^0.1.9",
|
|
46
46
|
"@remember-web/mixin": "^0.1.15",
|
|
47
|
-
"@remember-web/shared": "^0.1.
|
|
47
|
+
"@remember-web/shared": "^0.1.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@babel/core": "^7.24.4",
|
|
@@ -56,7 +56,7 @@ export const AnchorButton: Story = {
|
|
|
56
56
|
isIconName(iconString) &&
|
|
57
57
|
createElement(getIconComponentFromName(iconString));
|
|
58
58
|
|
|
59
|
-
return <Button {...args} icon={iconElement} as="a" href="#" />;
|
|
59
|
+
return <Button {...(args as any)} icon={iconElement} as="a" href="#" />;
|
|
60
60
|
},
|
|
61
61
|
};
|
|
62
62
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import type {
|
|
3
|
+
import type { ForwardedRef } from 'react';
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
|
-
import type
|
|
5
|
+
import { type PolymorphicComponent } from 'styled-components';
|
|
6
6
|
|
|
7
7
|
import { Spinner } from '@/Common';
|
|
8
8
|
|
|
@@ -10,10 +10,7 @@ import { SPINNER_SIZE_MAP } from './const';
|
|
|
10
10
|
import { StyledButton } from './styles';
|
|
11
11
|
import type { ButtonProps } from './types';
|
|
12
12
|
|
|
13
|
-
const Button
|
|
14
|
-
HTMLButtonElement,
|
|
15
|
-
ButtonProps<'button'> & As<ElementType>
|
|
16
|
-
> = (
|
|
13
|
+
const Button = forwardRef(function (
|
|
17
14
|
{
|
|
18
15
|
children,
|
|
19
16
|
color,
|
|
@@ -25,37 +22,33 @@ const Button: ForwardRefRenderFunction<
|
|
|
25
22
|
icon,
|
|
26
23
|
iconPosition = 'left',
|
|
27
24
|
...props
|
|
28
|
-
},
|
|
29
|
-
ref
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
25
|
+
}: ButtonProps,
|
|
26
|
+
ref: ForwardedRef<HTMLButtonElement | null>
|
|
27
|
+
) {
|
|
28
|
+
return (
|
|
29
|
+
<StyledButton
|
|
30
|
+
$color={color}
|
|
31
|
+
$size={size}
|
|
32
|
+
$variant={variant}
|
|
33
|
+
$layout={layout}
|
|
34
|
+
$isLoading={isLoading}
|
|
35
|
+
$filled={filled}
|
|
36
|
+
aria-live="polite"
|
|
37
|
+
aria-busy={isLoading}
|
|
38
|
+
ref={ref}
|
|
39
|
+
{...props}
|
|
40
|
+
>
|
|
41
|
+
{isLoading ? (
|
|
42
|
+
<Spinner size={SPINNER_SIZE_MAP[size]} />
|
|
43
|
+
) : (
|
|
44
|
+
<>
|
|
45
|
+
{iconPosition === 'left' && icon}
|
|
46
|
+
{children}
|
|
47
|
+
{iconPosition === 'right' && icon}
|
|
48
|
+
</>
|
|
49
|
+
)}
|
|
50
|
+
</StyledButton>
|
|
51
|
+
);
|
|
52
|
+
}) as PolymorphicComponent<'web', ButtonProps>;
|
|
54
53
|
|
|
55
|
-
|
|
56
|
-
props: { as?: T | null } & ButtonProps<T> & {
|
|
57
|
-
ref?: React.ComponentPropsWithRef<T>['ref'];
|
|
58
|
-
}
|
|
59
|
-
) => React.ReactElement | null;
|
|
60
|
-
|
|
61
|
-
export default forwardRef(Button) as ButtonComponentWithRef;
|
|
54
|
+
export default Button;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import type { DataAttributes } from 'styled-components';
|
|
4
|
-
import styled, { css } from 'styled-components';
|
|
5
3
|
import {
|
|
6
4
|
bg100,
|
|
7
5
|
disabled,
|
|
@@ -9,11 +7,12 @@ import {
|
|
|
9
7
|
primary100,
|
|
10
8
|
primary200,
|
|
11
9
|
} from '@remember-web/mixin';
|
|
10
|
+
import styled, { css } from 'styled-components';
|
|
12
11
|
|
|
13
12
|
import { BUTTON_COLORS, BUTTON_SIZES, ICON_GAP_MAP } from './const';
|
|
14
13
|
import type { ButtonStyleProps } from './types';
|
|
15
14
|
|
|
16
|
-
export const StyledButton = styled.button<ButtonStyleProps
|
|
15
|
+
export const StyledButton = styled.button<ButtonStyleProps>(
|
|
17
16
|
({ $size, $layout, $color, ...props }) => [
|
|
18
17
|
// 공용 스타일
|
|
19
18
|
css`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ElementType } from 'react';
|
|
2
|
-
import type { ConvertTransientProps } from '@remember-web/shared';
|
|
3
1
|
import type { ColorVariable } from '@remember-web/mixin';
|
|
2
|
+
import type { ConvertTransientProps } from '@remember-web/shared';
|
|
3
|
+
import type { ComponentProps } from 'react';
|
|
4
4
|
|
|
5
5
|
export type ButtonSize = 'small' | 'medium' | 'large' | 'xLarge';
|
|
6
6
|
|
|
@@ -19,13 +19,7 @@ export interface ButtonStyleProps {
|
|
|
19
19
|
$filled?: boolean;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
type
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
keyof ButtonStyleProps | 'icon' | 'iconPosition'
|
|
27
|
-
> &
|
|
28
|
-
ConvertProps & {
|
|
29
|
-
icon?: React.ReactNode;
|
|
30
|
-
iconPosition?: 'left' | 'right';
|
|
31
|
-
};
|
|
22
|
+
export type ButtonProps = ConvertTransientProps<Partial<ButtonStyleProps>> & {
|
|
23
|
+
icon?: React.ReactNode;
|
|
24
|
+
iconPosition?: 'left' | 'right';
|
|
25
|
+
} & ComponentProps<'button'>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import type { CSSProperties, ElementType, HTMLAttributes } from 'react';
|
|
4
|
-
import styled, { css } from 'styled-components';
|
|
5
3
|
import type { ConvertTransientProps } from '@remember-web/shared';
|
|
4
|
+
import type { CSSProperties, ComponentProps, ForwardedRef } from 'react';
|
|
5
|
+
import { forwardRef } from 'react';
|
|
6
|
+
import type { PolymorphicComponent } from 'styled-components';
|
|
7
|
+
import styled, { css } from 'styled-components';
|
|
6
8
|
|
|
7
|
-
export interface
|
|
8
|
-
as?: ElementType;
|
|
9
|
+
export interface FlexStyledProps extends ComponentProps<'div'> {
|
|
9
10
|
$align?: CSSProperties['alignItems'];
|
|
10
11
|
$direction?: CSSProperties['flexDirection'];
|
|
11
12
|
$justify?: CSSProperties['justifyContent'];
|
|
@@ -15,7 +16,7 @@ export interface FlexProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
15
16
|
$height?: string | number;
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
const StyledFlex = styled.div<Partial<
|
|
19
|
+
const StyledFlex = styled.div<Partial<FlexStyledProps>>(
|
|
19
20
|
({
|
|
20
21
|
$align = 'center',
|
|
21
22
|
$direction = 'row',
|
|
@@ -47,26 +48,26 @@ const StyledFlex = styled.div<Partial<FlexProps>>(
|
|
|
47
48
|
* @prop {CSSProperties['flexDirection']} direction
|
|
48
49
|
* @prop {CSSProperties['flexWrap']} wrap
|
|
49
50
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
width,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
51
|
+
|
|
52
|
+
const Flex = forwardRef(function (
|
|
53
|
+
{ width, height, direction, gap, align, justify, wrap, ...props }: FlexProps,
|
|
54
|
+
ref: ForwardedRef<HTMLDivElement | null>
|
|
55
|
+
) {
|
|
56
|
+
return (
|
|
57
|
+
<StyledFlex
|
|
58
|
+
ref={ref}
|
|
59
|
+
$width={width}
|
|
60
|
+
$height={height}
|
|
61
|
+
$direction={direction}
|
|
62
|
+
$gap={gap}
|
|
63
|
+
$align={align}
|
|
64
|
+
$justify={justify}
|
|
65
|
+
$wrap={wrap}
|
|
66
|
+
{...props}
|
|
67
|
+
/>
|
|
68
|
+
);
|
|
69
|
+
}) as PolymorphicComponent<'web', FlexProps>;
|
|
70
|
+
|
|
71
|
+
type FlexProps = ConvertTransientProps<FlexStyledProps>;
|
|
72
|
+
|
|
73
|
+
export default Flex;
|