@remember-web/primitive 0.1.15 → 0.1.17

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.
@@ -23,7 +23,7 @@ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefault(_objectWith
23
23
  var _excluded = ["variant", "label", "labelPosition", "className", "inputClassName", "size", "labelGap", "type", "onToggle", "onChange", "indeterminate"];
24
24
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25
25
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26
- var _BaseToggle = function _BaseToggle(_ref, _ref2) {
26
+ var _BaseToggle = function _BaseToggle(_ref, ref) {
27
27
  var variant = _ref.variant,
28
28
  _label = _ref.label,
29
29
  _ref$labelPosition = _ref.labelPosition,
@@ -45,22 +45,23 @@ var _BaseToggle = function _BaseToggle(_ref, _ref2) {
45
45
  variant: "Body1",
46
46
  children: _label
47
47
  }) : _label;
48
+ var refCallback = react.useCallback(function (input) {
49
+ if (ref) {
50
+ if (typeof ref === 'function') {
51
+ ref(input);
52
+ } else {
53
+ ref.current = input;
54
+ }
55
+ }
56
+ if (input) {
57
+ input.indeterminate = indeterminate !== null && indeterminate !== void 0 ? indeterminate : false;
58
+ }
59
+ }, [indeterminate, ref]);
48
60
  return /*#__PURE__*/jsxRuntime.jsxs(styles.ToggleRoot, {
49
61
  className: className,
50
62
  $gap: labelGap,
51
63
  children: [/*#__PURE__*/jsxRuntime.jsx(styles.ToggleInput, _objectSpread(_objectSpread({
52
- ref: function ref(input) {
53
- if (_ref2) {
54
- if (typeof _ref2 === 'function') {
55
- _ref2(input);
56
- } else {
57
- _ref2.current = input;
58
- }
59
- }
60
- if (input) {
61
- input.indeterminate = indeterminate !== null && indeterminate !== void 0 ? indeterminate : false;
62
- }
63
- },
64
+ ref: refCallback,
64
65
  className: inputClassName,
65
66
  type: type
66
67
  }, props), {}, {
@@ -73,7 +74,7 @@ var _BaseToggle = function _BaseToggle(_ref, _ref2) {
73
74
  size: size,
74
75
  status: "on",
75
76
  variant: variant
76
- }), /*#__PURE__*/jsxRuntime.jsx(index.ToggleIcon, {
77
+ }), type === 'checkbox' && /*#__PURE__*/jsxRuntime.jsx(index.ToggleIcon, {
77
78
  className: "indeterminateIcon",
78
79
  size: size,
79
80
  status: "indeterminate",
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../../src/Control/BaseToggle/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardRefRenderFunction } from 'react';\nimport { forwardRef } from 'react';\n\nimport { Typography } from '@/Common';\n\nimport { ToggleIcon } from './ToggleIcon';\nimport { ToggleInput, ToggleRoot } from './styles';\nimport type { BaseToggleProps } from './types';\n\nconst _BaseToggle: ForwardRefRenderFunction<\n HTMLInputElement,\n BaseToggleProps\n> = (\n {\n variant,\n label: _label,\n labelPosition = 'right',\n className,\n inputClassName,\n size = 'medium',\n labelGap = size === 'small' ? 2 : 4,\n type = 'checkbox',\n onToggle,\n onChange,\n indeterminate,\n ...props\n },\n ref\n) => {\n const isStringLabel = typeof _label === 'string';\n const label = isStringLabel ? (\n <Typography variant=\"Body1\">{_label}</Typography>\n ) : (\n _label\n );\n\n return (\n <ToggleRoot className={className} $gap={labelGap}>\n <ToggleInput\n ref={(input) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(input);\n } else {\n ref.current = input;\n }\n }\n\n if (input) {\n input.indeterminate = indeterminate ?? false;\n }\n }}\n className={inputClassName}\n type={type}\n {...props}\n onChange={(e) => {\n onChange?.(e);\n onToggle?.(e.target.checked);\n }}\n />\n {labelPosition === 'left' && label}\n <ToggleIcon\n className=\"onIcon\"\n size={size}\n status=\"on\"\n variant={variant}\n />\n <ToggleIcon\n className=\"indeterminateIcon\"\n size={size}\n status=\"indeterminate\"\n variant={variant}\n />\n <ToggleIcon\n className=\"offIcon\"\n size={size}\n status=\"off\"\n variant={variant}\n />\n {labelPosition === 'right' && label}\n </ToggleRoot>\n );\n};\n\nexport const BaseToggle = forwardRef(_BaseToggle);\n"],"names":["labelPosition","size","type","props","variant","children","className","$gap","ref","onChange","status"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAa;AAAA;AAAA;AAWb;AAmBK;;;AAZDA;;;;AAGAC;;;;AAEAC;;;;AAIGC;AAIL;AACA;AACcC;AAAeC;;;AAMfC;AAAsBC;AAAeF;AAE7CG;AACE;AACE;;AAEA;;AAEA;AACF;AAEA;;AAEA;;AAEFF;AACAJ;AAAW;AAEXO;AACEA;;AAEF;;AAIAH;AACAL;AACAS;AACAN;AAAiB;AAGjBE;AACAL;AACAS;AACAN;AAAiB;AAGjBE;AACAL;AACAS;AACAN;AAAiB;AAEgB;AAGzC;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../../src/Control/BaseToggle/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardRefRenderFunction } from 'react';\nimport { forwardRef, useCallback } from 'react';\n\nimport { Typography } from '@/Common';\n\nimport { ToggleIcon } from './ToggleIcon';\nimport { ToggleInput, ToggleRoot } from './styles';\nimport type { BaseToggleProps } from './types';\n\nconst _BaseToggle: ForwardRefRenderFunction<\n HTMLInputElement,\n BaseToggleProps\n> = (\n {\n variant,\n label: _label,\n labelPosition = 'right',\n className,\n inputClassName,\n size = 'medium',\n labelGap = size === 'small' ? 2 : 4,\n type = 'checkbox',\n onToggle,\n onChange,\n indeterminate,\n ...props\n },\n ref\n) => {\n const isStringLabel = typeof _label === 'string';\n const label = isStringLabel ? (\n <Typography variant=\"Body1\">{_label}</Typography>\n ) : (\n _label\n );\n\n const refCallback = useCallback(\n (input: HTMLInputElement | null) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(input);\n } else {\n ref.current = input;\n }\n }\n\n if (input) {\n input.indeterminate = indeterminate ?? false;\n }\n },\n [indeterminate, ref]\n );\n\n return (\n <ToggleRoot className={className} $gap={labelGap}>\n <ToggleInput\n ref={refCallback}\n className={inputClassName}\n type={type}\n {...props}\n onChange={(e) => {\n onChange?.(e);\n onToggle?.(e.target.checked);\n }}\n />\n {labelPosition === 'left' && label}\n <ToggleIcon\n className=\"onIcon\"\n size={size}\n status=\"on\"\n variant={variant}\n />\n {type === 'checkbox' && (\n <ToggleIcon\n className=\"indeterminateIcon\"\n size={size}\n status=\"indeterminate\"\n variant={variant}\n />\n )}\n <ToggleIcon\n className=\"offIcon\"\n size={size}\n status=\"off\"\n variant={variant}\n />\n {labelPosition === 'right' && label}\n </ToggleRoot>\n );\n};\n\nexport const BaseToggle = forwardRef(_BaseToggle);\n"],"names":["labelPosition","size","type","props","variant","children","className","$gap","ref","onChange","status"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAa;AAAA;AAAA;AAWb;AAmBK;;;AAZDA;;;;AAGAC;;;;AAEAC;;;;AAIGC;AAIL;AACA;AACcC;AAAeC;;AAK7B;AAEI;AACE;;AAEA;;AAEA;AACF;AAEA;;AAEA;AACF;;AAKYC;AAAsBC;AAAeF;AAE7CG;AACAF;AACAJ;AAAW;AAEXO;AACEA;;AAEF;;AAIAH;AACAL;AACAS;AACAN;;AAIEE;AACAL;AACAS;AACAN;AAAiB;AAInBE;AACAL;AACAS;AACAN;AAAiB;AAEgB;AAGzC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Control/BaseToggle/index.tsx"],"names":[],"mappings":";AAsFA,eAAO,MAAM,UAAU;;;;;;;;;;sJAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Control/BaseToggle/index.tsx"],"names":[],"mappings":";AA6FA,eAAO,MAAM,UAAU;;;;;;;;;;sJAA0B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
- import { forwardRef } from 'react';
4
+ import { forwardRef, useCallback } from 'react';
5
5
  import '../../Common/Divider/index.esm.js';
6
6
  import '../../Common/Flex/index.esm.js';
7
7
  import '../../Common/Grid/index.esm.js';
@@ -16,7 +16,7 @@ import { ToggleRoot, ToggleInput } from './styles.esm.js';
16
16
  var _excluded = ["variant", "label", "labelPosition", "className", "inputClassName", "size", "labelGap", "type", "onToggle", "onChange", "indeterminate"];
17
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
- var _BaseToggle = function _BaseToggle(_ref, _ref2) {
19
+ var _BaseToggle = function _BaseToggle(_ref, ref) {
20
20
  var variant = _ref.variant,
21
21
  _label = _ref.label,
22
22
  _ref$labelPosition = _ref.labelPosition,
@@ -38,22 +38,23 @@ var _BaseToggle = function _BaseToggle(_ref, _ref2) {
38
38
  variant: "Body1",
39
39
  children: _label
40
40
  }) : _label;
41
+ var refCallback = useCallback(function (input) {
42
+ if (ref) {
43
+ if (typeof ref === 'function') {
44
+ ref(input);
45
+ } else {
46
+ ref.current = input;
47
+ }
48
+ }
49
+ if (input) {
50
+ input.indeterminate = indeterminate !== null && indeterminate !== void 0 ? indeterminate : false;
51
+ }
52
+ }, [indeterminate, ref]);
41
53
  return /*#__PURE__*/jsxs(ToggleRoot, {
42
54
  className: className,
43
55
  $gap: labelGap,
44
56
  children: [/*#__PURE__*/jsx(ToggleInput, _objectSpread(_objectSpread({
45
- ref: function ref(input) {
46
- if (_ref2) {
47
- if (typeof _ref2 === 'function') {
48
- _ref2(input);
49
- } else {
50
- _ref2.current = input;
51
- }
52
- }
53
- if (input) {
54
- input.indeterminate = indeterminate !== null && indeterminate !== void 0 ? indeterminate : false;
55
- }
56
- },
57
+ ref: refCallback,
57
58
  className: inputClassName,
58
59
  type: type
59
60
  }, props), {}, {
@@ -66,7 +67,7 @@ var _BaseToggle = function _BaseToggle(_ref, _ref2) {
66
67
  size: size,
67
68
  status: "on",
68
69
  variant: variant
69
- }), /*#__PURE__*/jsx(ToggleIcon, {
70
+ }), type === 'checkbox' && /*#__PURE__*/jsx(ToggleIcon, {
70
71
  className: "indeterminateIcon",
71
72
  size: size,
72
73
  status: "indeterminate",
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../src/Control/BaseToggle/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardRefRenderFunction } from 'react';\nimport { forwardRef } from 'react';\n\nimport { Typography } from '@/Common';\n\nimport { ToggleIcon } from './ToggleIcon';\nimport { ToggleInput, ToggleRoot } from './styles';\nimport type { BaseToggleProps } from './types';\n\nconst _BaseToggle: ForwardRefRenderFunction<\n HTMLInputElement,\n BaseToggleProps\n> = (\n {\n variant,\n label: _label,\n labelPosition = 'right',\n className,\n inputClassName,\n size = 'medium',\n labelGap = size === 'small' ? 2 : 4,\n type = 'checkbox',\n onToggle,\n onChange,\n indeterminate,\n ...props\n },\n ref\n) => {\n const isStringLabel = typeof _label === 'string';\n const label = isStringLabel ? (\n <Typography variant=\"Body1\">{_label}</Typography>\n ) : (\n _label\n );\n\n return (\n <ToggleRoot className={className} $gap={labelGap}>\n <ToggleInput\n ref={(input) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(input);\n } else {\n ref.current = input;\n }\n }\n\n if (input) {\n input.indeterminate = indeterminate ?? false;\n }\n }}\n className={inputClassName}\n type={type}\n {...props}\n onChange={(e) => {\n onChange?.(e);\n onToggle?.(e.target.checked);\n }}\n />\n {labelPosition === 'left' && label}\n <ToggleIcon\n className=\"onIcon\"\n size={size}\n status=\"on\"\n variant={variant}\n />\n <ToggleIcon\n className=\"indeterminateIcon\"\n size={size}\n status=\"indeterminate\"\n variant={variant}\n />\n <ToggleIcon\n className=\"offIcon\"\n size={size}\n status=\"off\"\n variant={variant}\n />\n {labelPosition === 'right' && label}\n </ToggleRoot>\n );\n};\n\nexport const BaseToggle = forwardRef(_BaseToggle);\n"],"names":["labelPosition","size","type","props","variant","children","className","$gap","ref","onChange","status"],"mappings":";;;;;;;;;;;;;;;AAAa;AAAA;AAAA;AAWb;AAmBK;;;AAZDA;;;;AAGAC;;;;AAEAC;;;;AAIGC;AAIL;AACA;AACcC;AAAeC;;;AAMfC;AAAsBC;AAAeF;AAE7CG;AACE;AACE;;AAEA;;AAEA;AACF;AAEA;;AAEA;;AAEFF;AACAJ;AAAW;AAEXO;AACEA;;AAEF;;AAIAH;AACAL;AACAS;AACAN;AAAiB;AAGjBE;AACAL;AACAS;AACAN;AAAiB;AAGjBE;AACAL;AACAS;AACAN;AAAiB;AAEgB;AAGzC;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../src/Control/BaseToggle/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardRefRenderFunction } from 'react';\nimport { forwardRef, useCallback } from 'react';\n\nimport { Typography } from '@/Common';\n\nimport { ToggleIcon } from './ToggleIcon';\nimport { ToggleInput, ToggleRoot } from './styles';\nimport type { BaseToggleProps } from './types';\n\nconst _BaseToggle: ForwardRefRenderFunction<\n HTMLInputElement,\n BaseToggleProps\n> = (\n {\n variant,\n label: _label,\n labelPosition = 'right',\n className,\n inputClassName,\n size = 'medium',\n labelGap = size === 'small' ? 2 : 4,\n type = 'checkbox',\n onToggle,\n onChange,\n indeterminate,\n ...props\n },\n ref\n) => {\n const isStringLabel = typeof _label === 'string';\n const label = isStringLabel ? (\n <Typography variant=\"Body1\">{_label}</Typography>\n ) : (\n _label\n );\n\n const refCallback = useCallback(\n (input: HTMLInputElement | null) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(input);\n } else {\n ref.current = input;\n }\n }\n\n if (input) {\n input.indeterminate = indeterminate ?? false;\n }\n },\n [indeterminate, ref]\n );\n\n return (\n <ToggleRoot className={className} $gap={labelGap}>\n <ToggleInput\n ref={refCallback}\n className={inputClassName}\n type={type}\n {...props}\n onChange={(e) => {\n onChange?.(e);\n onToggle?.(e.target.checked);\n }}\n />\n {labelPosition === 'left' && label}\n <ToggleIcon\n className=\"onIcon\"\n size={size}\n status=\"on\"\n variant={variant}\n />\n {type === 'checkbox' && (\n <ToggleIcon\n className=\"indeterminateIcon\"\n size={size}\n status=\"indeterminate\"\n variant={variant}\n />\n )}\n <ToggleIcon\n className=\"offIcon\"\n size={size}\n status=\"off\"\n variant={variant}\n />\n {labelPosition === 'right' && label}\n </ToggleRoot>\n );\n};\n\nexport const BaseToggle = forwardRef(_BaseToggle);\n"],"names":["labelPosition","size","type","props","variant","children","className","$gap","ref","onChange","status"],"mappings":";;;;;;;;;;;;;;;AAAa;AAAA;AAAA;AAWb;AAmBK;;;AAZDA;;;;AAGAC;;;;AAEAC;;;;AAIGC;AAIL;AACA;AACcC;AAAeC;;AAK7B;AAEI;AACE;;AAEA;;AAEA;AACF;AAEA;;AAEA;AACF;;AAKYC;AAAsBC;AAAeF;AAE7CG;AACAF;AACAJ;AAAW;AAEXO;AACEA;;AAEF;;AAIAH;AACAL;AACAS;AACAN;;AAIEE;AACAL;AACAS;AACAN;AAAiB;AAInBE;AACAL;AACAS;AACAN;AAAiB;AAEgB;AAGzC;;;"}
@@ -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 & > svg {\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 > svg {\n filter: grayscale(0.05) brightness(0.95);\n }\n }\n"])), function (_ref) {
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 & > svg {\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 > svg {\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 ~ svg.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ svg.onIcon {\n display: none;\n }\n\n &:indeterminate ~ svg.offIcon,\n &:indeterminate ~ svg.onIcon {\n display: none;\n }\n\n &:not(:indeterminate) ~ svg.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ svg {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ svg {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ svg {\n outline: solid 2px ", ";\n outline-offset: -1px;\n }\n"])), mixin.primary100);
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 ~ svg.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ svg.onIcon {\n display: none;\n }\n\n &[type='checkbox']:indeterminate ~ svg.offIcon,\n &[type='checkbox']:indeterminate ~ svg.onIcon {\n display: none;\n }\n\n &[type='checkbox']:not(:indeterminate) ~ svg.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ svg {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ svg {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ svg {\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 & > svg {\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 > svg {\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 ~ svg.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ svg.onIcon {\n display: none;\n }\n\n &:indeterminate ~ svg.offIcon,\n &:indeterminate ~ svg.onIcon {\n display: none;\n }\n\n &:not(:indeterminate) ~ svg.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ svg {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ svg {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ svg {\n outline: solid 2px ${primary100};\n outline-offset: -1px;\n }\n`;\n"],"names":["ToggleRoot","ToggleInput"],"mappings":";;;;;;;;;;;;AAAa;AAKAA;AAIT;AAAO;AAAgC;AAsB9BC;;;"}
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 & > svg {\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 > svg {\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 ~ svg.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ svg.onIcon {\n display: none;\n }\n\n &[type='checkbox']:indeterminate ~ svg.offIcon,\n &[type='checkbox']:indeterminate ~ svg.onIcon {\n display: none;\n }\n\n &[type='checkbox']:not(:indeterminate) ~ svg.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ svg {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ svg {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ svg {\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 & > svg {\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 > svg {\n filter: grayscale(0.05) brightness(0.95);\n }\n }\n"])), function (_ref) {
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 & > svg {\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 > svg {\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 ~ svg.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ svg.onIcon {\n display: none;\n }\n\n &:indeterminate ~ svg.offIcon,\n &:indeterminate ~ svg.onIcon {\n display: none;\n }\n\n &:not(:indeterminate) ~ svg.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ svg {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ svg {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ svg {\n outline: solid 2px ", ";\n outline-offset: -1px;\n }\n"])), primary100);
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 ~ svg.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ svg.onIcon {\n display: none;\n }\n\n &[type='checkbox']:indeterminate ~ svg.offIcon,\n &[type='checkbox']:indeterminate ~ svg.onIcon {\n display: none;\n }\n\n &[type='checkbox']:not(:indeterminate) ~ svg.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ svg {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ svg {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ svg {\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 & > svg {\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 > svg {\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 ~ svg.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ svg.onIcon {\n display: none;\n }\n\n &:indeterminate ~ svg.offIcon,\n &:indeterminate ~ svg.onIcon {\n display: none;\n }\n\n &:not(:indeterminate) ~ svg.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ svg {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ svg {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ svg {\n outline: solid 2px ${primary100};\n outline-offset: -1px;\n }\n`;\n"],"names":["ToggleRoot","ToggleInput"],"mappings":";;;;;AAAa;AAKAA;AAIT;AAAO;AAAgC;AAsB9BC;;"}
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 & > svg {\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 > svg {\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 ~ svg.offIcon {\n display: none;\n }\n\n &:not(:checked) ~ svg.onIcon {\n display: none;\n }\n\n &[type='checkbox']:indeterminate ~ svg.offIcon,\n &[type='checkbox']:indeterminate ~ svg.onIcon {\n display: none;\n }\n\n &[type='checkbox']:not(:indeterminate) ~ svg.indeterminateIcon {\n display: none;\n }\n\n &:disabled ~ svg {\n filter: grayscale(1) brightness(1.1);\n }\n\n &:not(:disabled):active ~ svg {\n filter: grayscale(0.1) brightness(0.9);\n }\n\n &:focus-visible ~ svg {\n outline: solid 2px ${primary100};\n outline-offset: -1px;\n }\n`;\n"],"names":["ToggleRoot","ToggleInput"],"mappings":";;;;;AAAa;AAKAA;AAIT;AAAO;AAAgC;AAsB9BC;;"}
@@ -26,7 +26,9 @@ var RememberServiceLogo = function RememberServiceLogo(_ref) {
26
26
  _ref$color = _ref.color,
27
27
  color = _ref$color === void 0 ? 'black' : _ref$color,
28
28
  props = _objectWithoutProperties__default.default(_ref, _excluded);
29
- return /*#__PURE__*/jsxRuntime.jsxs(style.StyledServiceLogoRoot, _objectSpread(_objectSpread({}, props), {}, {
29
+ return /*#__PURE__*/jsxRuntime.jsxs(style.StyledServiceLogoRoot, _objectSpread(_objectSpread({
30
+ $color: color
31
+ }, props), {}, {
30
32
  children: [/*#__PURE__*/jsxRuntime.jsx(index.RememberLogo, {
31
33
  color: color
32
34
  }), label && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../../src/Logos/RememberServiceLogo/index.tsx"],"sourcesContent":["import type { GetStyledComponentProps } from '@remember-web/shared';\n\nimport type { RememberLogoProps } from '@/Logos/types';\nimport { Divider } from '@/Common';\n\nimport { RememberLogo } from '../RememberLogo';\nimport { StyledServiceLogoRoot } from './style';\n\nexport type GnbNaviLogoProps<As> = GetStyledComponentProps<\n typeof StyledServiceLogoRoot,\n As\n> & {\n label?: string;\n color?: RememberLogoProps['color'];\n};\n\nexport const RememberServiceLogo = <As,>({\n label,\n color = 'black',\n ...props\n}: GnbNaviLogoProps<As>) => (\n <StyledServiceLogoRoot {...props}>\n <RememberLogo color={color} />\n {label && (\n <>\n <Divider decorative orientation=\"vertical\" style={{ height: '15px' }} />\n <b>{label}</b>\n </>\n )}\n </StyledServiceLogoRoot>\n);\n"],"names":["RememberServiceLogo","_ref","label","_ref$color","color","props","_objectWithoutProperties","_excluded","_jsxs","StyledServiceLogoRoot","_objectSpread","children","_jsx","RememberLogo","_Fragment","Divider","decorative","orientation","style","height"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;IAgBaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAC9BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,UAAA,GAAAF,IAAA,CACLG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,UAAA;AACZE,IAAAA,KAAK,GAAAC,yCAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA,CAAA;EAAA,oBAERC,eAAA,CAACC,2BAAqB,EAAAC,aAAA,CAAAA,aAAA,KAAKL,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAM,QAAA,EAAA,cAC9BC,cAAA,CAACC,kBAAY,EAAA;AAACT,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,EAC7BF,KAAK,iBACJM,eAAA,CAAAM,mBAAA,EAAA;MAAAH,QAAA,EAAA,cACEC,cAAA,CAACG,eAAO,EAAA;QAACC,UAAU,EAAA,IAAA;AAACC,QAAAA,WAAW,EAAC,UAAU;AAACC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE,MAAA;AAAO,SAAA;OAAI,CAAC,eACxEP,cAAA,CAAA,GAAA,EAAA;AAAAD,QAAAA,QAAA,EAAIT,KAAAA;AAAK,OAAI,CAAC,CAAA;AAAA,KACd,CACH,CAAA;AAAA,GAAA,CACoB,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../../src/Logos/RememberServiceLogo/index.tsx"],"sourcesContent":["import type { GetStyledComponentProps } from '@remember-web/shared';\n\nimport type { RememberLogoProps } from '@/Logos/types';\nimport { Divider } from '@/Common';\n\nimport { RememberLogo } from '../RememberLogo';\nimport { StyledServiceLogoRoot } from './style';\n\nexport type GnbNaviLogoProps<As> = GetStyledComponentProps<\n typeof StyledServiceLogoRoot,\n As\n> & {\n label?: string;\n color?: RememberLogoProps['color'];\n};\n\nexport const RememberServiceLogo = <As,>({\n label,\n color = 'black',\n ...props\n}: GnbNaviLogoProps<As>) => (\n <StyledServiceLogoRoot $color={color} {...props}>\n <RememberLogo color={color} />\n {label && (\n <>\n <Divider decorative orientation=\"vertical\" style={{ height: '15px' }} />\n <b>{label}</b>\n </>\n )}\n </StyledServiceLogoRoot>\n);\n"],"names":["RememberServiceLogo","_ref","label","_ref$color","color","props","_objectWithoutProperties","_excluded","_jsxs","StyledServiceLogoRoot","_objectSpread","$color","children","_jsx","RememberLogo","_Fragment","Divider","decorative","orientation","style","height"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;IAgBaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAC9BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,UAAA,GAAAF,IAAA,CACLG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,UAAA;AACZE,IAAAA,KAAK,GAAAC,yCAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA,CAAA;AAAA,EAAA,oBAERC,eAAA,CAACC,2BAAqB,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAACC,IAAAA,MAAM,EAAEP,KAAAA;AAAM,GAAA,EAAKC,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAO,QAAA,EAAA,cAC7CC,cAAA,CAACC,kBAAY,EAAA;AAACV,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,EAC7BF,KAAK,iBACJM,eAAA,CAAAO,mBAAA,EAAA;MAAAH,QAAA,EAAA,cACEC,cAAA,CAACG,eAAO,EAAA;QAACC,UAAU,EAAA,IAAA;AAACC,QAAAA,WAAW,EAAC,UAAU;AAACC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE,MAAA;AAAO,SAAA;OAAI,CAAC,eACxEP,cAAA,CAAA,GAAA,EAAA;AAAAD,QAAAA,QAAA,EAAIV,KAAAA;AAAK,OAAI,CAAC,CAAA;AAAA,KACd,CACH,CAAA;AAAA,GAAA,CACoB,CAAC,CAAA;AAAA;;;;"}
@@ -19,7 +19,9 @@ var RememberServiceLogo = function RememberServiceLogo(_ref) {
19
19
  _ref$color = _ref.color,
20
20
  color = _ref$color === void 0 ? 'black' : _ref$color,
21
21
  props = _objectWithoutProperties(_ref, _excluded);
22
- return /*#__PURE__*/jsxs(StyledServiceLogoRoot, _objectSpread(_objectSpread({}, props), {}, {
22
+ return /*#__PURE__*/jsxs(StyledServiceLogoRoot, _objectSpread(_objectSpread({
23
+ $color: color
24
+ }, props), {}, {
23
25
  children: [/*#__PURE__*/jsx(RememberLogo, {
24
26
  color: color
25
27
  }), label && /*#__PURE__*/jsxs(Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../src/Logos/RememberServiceLogo/index.tsx"],"sourcesContent":["import type { GetStyledComponentProps } from '@remember-web/shared';\n\nimport type { RememberLogoProps } from '@/Logos/types';\nimport { Divider } from '@/Common';\n\nimport { RememberLogo } from '../RememberLogo';\nimport { StyledServiceLogoRoot } from './style';\n\nexport type GnbNaviLogoProps<As> = GetStyledComponentProps<\n typeof StyledServiceLogoRoot,\n As\n> & {\n label?: string;\n color?: RememberLogoProps['color'];\n};\n\nexport const RememberServiceLogo = <As,>({\n label,\n color = 'black',\n ...props\n}: GnbNaviLogoProps<As>) => (\n <StyledServiceLogoRoot {...props}>\n <RememberLogo color={color} />\n {label && (\n <>\n <Divider decorative orientation=\"vertical\" style={{ height: '15px' }} />\n <b>{label}</b>\n </>\n )}\n </StyledServiceLogoRoot>\n);\n"],"names":["RememberServiceLogo","_ref","label","_ref$color","color","props","_objectWithoutProperties","_excluded","_jsxs","StyledServiceLogoRoot","_objectSpread","children","_jsx","RememberLogo","_Fragment","Divider","decorative","orientation","style","height"],"mappings":";;;;;;;;;;;;;;;;IAgBaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAC9BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,UAAA,GAAAF,IAAA,CACLG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,UAAA;AACZE,IAAAA,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA,CAAA;EAAA,oBAERC,IAAA,CAACC,qBAAqB,EAAAC,aAAA,CAAAA,aAAA,KAAKL,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAM,QAAA,EAAA,cAC9BC,GAAA,CAACC,YAAY,EAAA;AAACT,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,EAC7BF,KAAK,iBACJM,IAAA,CAAAM,QAAA,EAAA;MAAAH,QAAA,EAAA,cACEC,GAAA,CAACG,OAAO,EAAA;QAACC,UAAU,EAAA,IAAA;AAACC,QAAAA,WAAW,EAAC,UAAU;AAACC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE,MAAA;AAAO,SAAA;OAAI,CAAC,eACxEP,GAAA,CAAA,GAAA,EAAA;AAAAD,QAAAA,QAAA,EAAIT,KAAAA;AAAK,OAAI,CAAC,CAAA;AAAA,KACd,CACH,CAAA;AAAA,GAAA,CACoB,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../src/Logos/RememberServiceLogo/index.tsx"],"sourcesContent":["import type { GetStyledComponentProps } from '@remember-web/shared';\n\nimport type { RememberLogoProps } from '@/Logos/types';\nimport { Divider } from '@/Common';\n\nimport { RememberLogo } from '../RememberLogo';\nimport { StyledServiceLogoRoot } from './style';\n\nexport type GnbNaviLogoProps<As> = GetStyledComponentProps<\n typeof StyledServiceLogoRoot,\n As\n> & {\n label?: string;\n color?: RememberLogoProps['color'];\n};\n\nexport const RememberServiceLogo = <As,>({\n label,\n color = 'black',\n ...props\n}: GnbNaviLogoProps<As>) => (\n <StyledServiceLogoRoot $color={color} {...props}>\n <RememberLogo color={color} />\n {label && (\n <>\n <Divider decorative orientation=\"vertical\" style={{ height: '15px' }} />\n <b>{label}</b>\n </>\n )}\n </StyledServiceLogoRoot>\n);\n"],"names":["RememberServiceLogo","_ref","label","_ref$color","color","props","_objectWithoutProperties","_excluded","_jsxs","StyledServiceLogoRoot","_objectSpread","$color","children","_jsx","RememberLogo","_Fragment","Divider","decorative","orientation","style","height"],"mappings":";;;;;;;;;;;;;;;;IAgBaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAC9BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,UAAA,GAAAF,IAAA,CACLG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,UAAA;AACZE,IAAAA,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA,CAAA;AAAA,EAAA,oBAERC,IAAA,CAACC,qBAAqB,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAACC,IAAAA,MAAM,EAAEP,KAAAA;AAAM,GAAA,EAAKC,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAO,QAAA,EAAA,cAC7CC,GAAA,CAACC,YAAY,EAAA;AAACV,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAE,CAAC,EAC7BF,KAAK,iBACJM,IAAA,CAAAO,QAAA,EAAA;MAAAH,QAAA,EAAA,cACEC,GAAA,CAACG,OAAO,EAAA;QAACC,UAAU,EAAA,IAAA;AAACC,QAAAA,WAAW,EAAC,UAAU;AAACC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE,MAAA;AAAO,SAAA;OAAI,CAAC,eACxEP,GAAA,CAAA,GAAA,EAAA;AAAAD,QAAAA,QAAA,EAAIV,KAAAA;AAAK,OAAI,CAAC,CAAA;AAAA,KACd,CACH,CAAA;AAAA,GAAA,CACoB,CAAC,CAAA;AAAA;;;;"}
@@ -10,7 +10,11 @@ var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefault(_taggedTempla
10
10
  var styled__default = /*#__PURE__*/_interopDefault(styled);
11
11
 
12
12
  var _templateObject;
13
- var StyledServiceLogoRoot = styled__default.default.a(_templateObject || (_templateObject = _taggedTemplateLiteral__default.default(["\n box-sizing: border-box;\n text-decoration: none;\n color: ", ";\n\n display: flex;\n align-items: end;\n gap: 8px;\n\n > b {\n ", ";\n text-decoration: none;\n line-height: 16px;\n }\n"])), mixin.contents000, mixin.getTypographyStyles('Title2'));
13
+ var StyledServiceLogoRoot = styled__default.default.a(_templateObject || (_templateObject = _taggedTemplateLiteral__default.default(["\n box-sizing: border-box;\n text-decoration: none;\n color: ", ";\n\n display: flex;\n align-items: end;\n gap: 8px;\n\n > b {\n ", ";\n text-decoration: none;\n line-height: 16px;\n }\n"])), function (_ref) {
14
+ var _ref$$color = _ref.$color,
15
+ $color = _ref$$color === void 0 ? mixin.contents000 : _ref$$color;
16
+ return $color;
17
+ }, mixin.getTypographyStyles('Title2'));
14
18
 
15
19
  exports.StyledServiceLogoRoot = StyledServiceLogoRoot;
16
20
  //# sourceMappingURL=style.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.cjs.js","sources":["../../../../src/Logos/RememberServiceLogo/style.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { contents000, getTypographyStyles } from '@remember-web/mixin';\n\nexport const StyledServiceLogoRoot = styled.a`\n box-sizing: border-box;\n text-decoration: none;\n color: ${contents000};\n\n display: flex;\n align-items: end;\n gap: 8px;\n\n > b {\n ${getTypographyStyles('Title2')};\n text-decoration: none;\n line-height: 16px;\n }\n`;\n"],"names":["StyledServiceLogoRoot","styled","a","_templateObject","_taggedTemplateLiteral","contents000","getTypographyStyles"],"mappings":";;;;;;;;;;;;IAGaA,qBAAqB,GAAGC,uBAAM,CAACC,CAAC,CAAAC,eAAA,KAAAA,eAAA,GAAAC,uCAAA,qNAGlCC,iBAAW,EAOhBC,yBAAmB,CAAC,QAAQ,CAAC;;;;"}
1
+ {"version":3,"file":"style.cjs.js","sources":["../../../../src/Logos/RememberServiceLogo/style.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { contents000, getTypographyStyles } from '@remember-web/mixin';\n\nexport const StyledServiceLogoRoot = styled.a<{ $color?: string }>`\n box-sizing: border-box;\n text-decoration: none;\n color: ${({ $color = contents000 }) => $color};\n\n display: flex;\n align-items: end;\n gap: 8px;\n\n > b {\n ${getTypographyStyles('Title2')};\n text-decoration: none;\n line-height: 16px;\n }\n`;\n"],"names":["StyledServiceLogoRoot","styled","a","_templateObject","_taggedTemplateLiteral","_ref","_ref$$color","$color","contents000","getTypographyStyles"],"mappings":";;;;;;;;;;;;AAGaA,IAAAA,qBAAqB,GAAGC,uBAAM,CAACC,CAAC,CAAAC,eAAA,KAAAA,eAAA,GAAAC,uCAAA,CAAA,CAAA,kEAAA,EAAA,0EAAA,EAAA,8DAAA,CAAA,CAAA,CAAA,EAGlC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,WAAA,GAAAD,IAAA,CAAGE,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAGE,KAAAA,CAAAA,GAAAA,iBAAW,GAAAF,WAAA,CAAA;AAAA,EAAA,OAAOC,MAAM,CAAA;AAAA,CAAA,EAOzCE,yBAAmB,CAAC,QAAQ,CAAC;;;;"}
@@ -1,3 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledServiceLogoRoot: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, never>>;
2
+ export declare const StyledServiceLogoRoot: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, {
3
+ $color?: string | undefined;
4
+ }>>;
3
5
  //# sourceMappingURL=style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../../src/Logos/RememberServiceLogo/style.ts"],"names":[],"mappings":";AAGA,eAAO,MAAM,qBAAqB,4NAcjC,CAAC"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../../src/Logos/RememberServiceLogo/style.ts"],"names":[],"mappings":";AAGA,eAAO,MAAM,qBAAqB;;GAcjC,CAAC"}
@@ -1,9 +1,13 @@
1
1
  import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
2
2
  import styled from 'styled-components';
3
- import { contents000, getTypographyStyles } from '@remember-web/mixin';
3
+ import { getTypographyStyles, contents000 } from '@remember-web/mixin';
4
4
 
5
5
  var _templateObject;
6
- var StyledServiceLogoRoot = styled.a(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n box-sizing: border-box;\n text-decoration: none;\n color: ", ";\n\n display: flex;\n align-items: end;\n gap: 8px;\n\n > b {\n ", ";\n text-decoration: none;\n line-height: 16px;\n }\n"])), contents000, getTypographyStyles('Title2'));
6
+ var StyledServiceLogoRoot = styled.a(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n box-sizing: border-box;\n text-decoration: none;\n color: ", ";\n\n display: flex;\n align-items: end;\n gap: 8px;\n\n > b {\n ", ";\n text-decoration: none;\n line-height: 16px;\n }\n"])), function (_ref) {
7
+ var _ref$$color = _ref.$color,
8
+ $color = _ref$$color === void 0 ? contents000 : _ref$$color;
9
+ return $color;
10
+ }, getTypographyStyles('Title2'));
7
11
 
8
12
  export { StyledServiceLogoRoot };
9
13
  //# sourceMappingURL=style.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.esm.js","sources":["../../../../src/Logos/RememberServiceLogo/style.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { contents000, getTypographyStyles } from '@remember-web/mixin';\n\nexport const StyledServiceLogoRoot = styled.a`\n box-sizing: border-box;\n text-decoration: none;\n color: ${contents000};\n\n display: flex;\n align-items: end;\n gap: 8px;\n\n > b {\n ${getTypographyStyles('Title2')};\n text-decoration: none;\n line-height: 16px;\n }\n`;\n"],"names":["StyledServiceLogoRoot","styled","a","_templateObject","_taggedTemplateLiteral","contents000","getTypographyStyles"],"mappings":";;;;;IAGaA,qBAAqB,GAAGC,MAAM,CAACC,CAAC,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,qNAGlCC,WAAW,EAOhBC,mBAAmB,CAAC,QAAQ,CAAC;;;;"}
1
+ {"version":3,"file":"style.esm.js","sources":["../../../../src/Logos/RememberServiceLogo/style.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { contents000, getTypographyStyles } from '@remember-web/mixin';\n\nexport const StyledServiceLogoRoot = styled.a<{ $color?: string }>`\n box-sizing: border-box;\n text-decoration: none;\n color: ${({ $color = contents000 }) => $color};\n\n display: flex;\n align-items: end;\n gap: 8px;\n\n > b {\n ${getTypographyStyles('Title2')};\n text-decoration: none;\n line-height: 16px;\n }\n`;\n"],"names":["StyledServiceLogoRoot","styled","a","_templateObject","_taggedTemplateLiteral","_ref","_ref$$color","$color","contents000","getTypographyStyles"],"mappings":";;;;;AAGaA,IAAAA,qBAAqB,GAAGC,MAAM,CAACC,CAAC,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,kEAAA,EAAA,0EAAA,EAAA,8DAAA,CAAA,CAAA,CAAA,EAGlC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,WAAA,GAAAD,IAAA,CAAGE,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAGE,KAAAA,CAAAA,GAAAA,WAAW,GAAAF,WAAA,CAAA;AAAA,EAAA,OAAOC,MAAM,CAAA;AAAA,CAAA,EAOzCE,mBAAmB,CAAC,QAAQ,CAAC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remember-web/primitive",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "description": "Remember Web Primitive Components",
5
5
  "homepage": "https://dramancompany.github.io/remember-web-packages/",
6
6
  "author": "Remember",
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import type { ForwardRefRenderFunction } from 'react';
4
- import { forwardRef } from 'react';
4
+ import { forwardRef, useCallback } from 'react';
5
5
 
6
6
  import { Typography } from '@/Common';
7
7
 
@@ -36,22 +36,27 @@ const _BaseToggle: ForwardRefRenderFunction<
36
36
  _label
37
37
  );
38
38
 
39
+ const refCallback = useCallback(
40
+ (input: HTMLInputElement | null) => {
41
+ if (ref) {
42
+ if (typeof ref === 'function') {
43
+ ref(input);
44
+ } else {
45
+ ref.current = input;
46
+ }
47
+ }
48
+
49
+ if (input) {
50
+ input.indeterminate = indeterminate ?? false;
51
+ }
52
+ },
53
+ [indeterminate, ref]
54
+ );
55
+
39
56
  return (
40
57
  <ToggleRoot className={className} $gap={labelGap}>
41
58
  <ToggleInput
42
- ref={(input) => {
43
- if (ref) {
44
- if (typeof ref === 'function') {
45
- ref(input);
46
- } else {
47
- ref.current = input;
48
- }
49
- }
50
-
51
- if (input) {
52
- input.indeterminate = indeterminate ?? false;
53
- }
54
- }}
59
+ ref={refCallback}
55
60
  className={inputClassName}
56
61
  type={type}
57
62
  {...props}
@@ -67,12 +72,14 @@ const _BaseToggle: ForwardRefRenderFunction<
67
72
  status="on"
68
73
  variant={variant}
69
74
  />
70
- <ToggleIcon
71
- className="indeterminateIcon"
72
- size={size}
73
- status="indeterminate"
74
- variant={variant}
75
- />
75
+ {type === 'checkbox' && (
76
+ <ToggleIcon
77
+ className="indeterminateIcon"
78
+ size={size}
79
+ status="indeterminate"
80
+ variant={variant}
81
+ />
82
+ )}
76
83
  <ToggleIcon
77
84
  className="offIcon"
78
85
  size={size}
@@ -18,7 +18,7 @@ export const ToggleRoot = styled.label<{ $gap?: number }>`
18
18
  flex-shrink: 0;
19
19
  }
20
20
 
21
- :has(input:disabled) {
21
+ &:has(input:disabled) {
22
22
  cursor: default;
23
23
  }
24
24
 
@@ -44,12 +44,12 @@ export const ToggleInput = styled.input`
44
44
  display: none;
45
45
  }
46
46
 
47
- &:indeterminate ~ svg.offIcon,
48
- &:indeterminate ~ svg.onIcon {
47
+ &[type='checkbox']:indeterminate ~ svg.offIcon,
48
+ &[type='checkbox']:indeterminate ~ svg.onIcon {
49
49
  display: none;
50
50
  }
51
51
 
52
- &:not(:indeterminate) ~ svg.indeterminateIcon {
52
+ &[type='checkbox']:not(:indeterminate) ~ svg.indeterminateIcon {
53
53
  display: none;
54
54
  }
55
55
 
@@ -1,6 +1,7 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
2
 
3
3
  import { Radio } from './Radio';
4
+ import { useState } from 'react';
4
5
 
5
6
  type Story = StoryObj<typeof Radio>;
6
7
 
@@ -20,17 +21,69 @@ export const Default: Story = {
20
21
  labelPosition: 'right',
21
22
  label: "I'm a Radio",
22
23
  },
23
- render: ({ ...args }) => (
24
- <div>
25
- <Radio {...args} name="radio" value="1" label="1번 라디오 입니다." />
26
- <Radio {...args} name="radio" value="2" label="2번 라디오 입니다." />
27
- <Radio {...args} name="radio" value="3" label="3번 라디오 입니다." />
28
- <Radio {...args} name="radio" value="4" label="4번 라디오 입니다." />
29
- <Radio {...args} name="radio" value="5" label="5번 라디오 입니다." />
30
- <Radio {...args} name="radio" value="6" label="6번 라디오 입니다." />
31
- <Radio {...args} name="radio" value="7" label="7번 라디오 입니다." />
32
- </div>
33
- ),
24
+ render: ({ ...args }) => {
25
+ const [value, setValue] = useState<string | null>(null);
26
+ return (
27
+ <>
28
+ <div>
29
+ <h2>name으로 묶은 uncontrolled 라디오</h2>
30
+ <Radio {...args} name="radio" value="1" label="1번 라디오 입니다." />
31
+ <Radio {...args} name="radio" value="2" label="2번 라디오 입니다." />
32
+ <Radio {...args} name="radio" value="3" label="3번 라디오 입니다." />
33
+ <Radio {...args} name="radio" value="4" label="4번 라디오 입니다." />
34
+ <Radio {...args} name="radio" value="5" label="5번 라디오 입니다." />
35
+ <Radio {...args} name="radio" value="6" label="6번 라디오 입니다." />
36
+ <Radio {...args} name="radio" value="7" label="7번 라디오 입니다." />
37
+ </div>
38
+
39
+ <div>
40
+ <h2>state로 관리하는 controlled 라디오</h2>
41
+ <Radio
42
+ {...args}
43
+ checked={value === '1'}
44
+ onClick={() => setValue('1')}
45
+ label="1번 라디오 입니다."
46
+ />
47
+ <Radio
48
+ {...args}
49
+ checked={value === '2'}
50
+ onClick={() => setValue('2')}
51
+ label="2번 라디오 입니다."
52
+ />
53
+ <Radio
54
+ {...args}
55
+ checked={value === '3'}
56
+ onClick={() => setValue('3')}
57
+ label="3번 라디오 입니다."
58
+ />
59
+ <Radio
60
+ {...args}
61
+ checked={value === '4'}
62
+ onClick={() => setValue('4')}
63
+ label="4번 라디오 입니다."
64
+ />
65
+ <Radio
66
+ {...args}
67
+ checked={value === '5'}
68
+ onClick={() => setValue('5')}
69
+ label="5번 라디오 입니다."
70
+ />
71
+ <Radio
72
+ {...args}
73
+ checked={value === '6'}
74
+ onClick={() => setValue('6')}
75
+ label="6번 라디오 입니다."
76
+ />
77
+ <Radio
78
+ {...args}
79
+ checked={value === '7'}
80
+ onClick={() => setValue('7')}
81
+ label="7번 라디오 입니다."
82
+ />
83
+ </div>
84
+ </>
85
+ );
86
+ },
34
87
  };
35
88
 
36
89
  export default meta;
@@ -19,7 +19,7 @@ export const RememberServiceLogo = <As,>({
19
19
  color = 'black',
20
20
  ...props
21
21
  }: GnbNaviLogoProps<As>) => (
22
- <StyledServiceLogoRoot {...props}>
22
+ <StyledServiceLogoRoot $color={color} {...props}>
23
23
  <RememberLogo color={color} />
24
24
  {label && (
25
25
  <>
@@ -1,10 +1,10 @@
1
1
  import styled from 'styled-components';
2
2
  import { contents000, getTypographyStyles } from '@remember-web/mixin';
3
3
 
4
- export const StyledServiceLogoRoot = styled.a`
4
+ export const StyledServiceLogoRoot = styled.a<{ $color?: string }>`
5
5
  box-sizing: border-box;
6
6
  text-decoration: none;
7
- color: ${contents000};
7
+ color: ${({ $color = contents000 }) => $color};
8
8
 
9
9
  display: flex;
10
10
  align-items: end;