@remember-web/primitive 0.0.0-alpha.6 → 0.0.0-alpha.8
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/primitive/src/Avatars/Avatar/index.cjs +1 -1
- package/dist/primitive/src/Avatars/Avatar/index.cjs.map +1 -1
- package/dist/primitive/src/Avatars/Avatar/index.d.ts +1 -1
- package/dist/primitive/src/Avatars/Avatar/index.d.ts.map +1 -1
- package/dist/primitive/src/Avatars/Avatar/{index.mjs → index.js} +2 -2
- package/dist/primitive/src/Avatars/Avatar/index.js.map +1 -0
- package/dist/primitive/src/Avatars/Avatar/styles.cjs +4 -1
- package/dist/primitive/src/Avatars/Avatar/styles.cjs.map +1 -1
- package/dist/primitive/src/Avatars/Avatar/{styles.mjs → styles.js} +5 -2
- package/dist/primitive/src/Avatars/Avatar/styles.js.map +1 -0
- package/dist/primitive/src/Badge/{Badge.mjs → Badge.js} +3 -3
- package/dist/primitive/src/Badge/Badge.js.map +1 -0
- package/dist/primitive/src/Badge/style.cjs +6 -7
- package/dist/primitive/src/Badge/style.cjs.map +1 -1
- package/dist/primitive/src/Badge/style.js +29 -0
- package/dist/primitive/src/Badge/style.js.map +1 -0
- package/dist/primitive/src/Badge/{utils.mjs → utils.js} +2 -2
- package/dist/primitive/src/Badge/utils.js.map +1 -0
- package/dist/primitive/src/Buttons/Button/{const.mjs → const.js} +1 -1
- package/dist/primitive/src/Buttons/Button/const.js.map +1 -0
- package/dist/primitive/src/Buttons/Button/{index.mjs → index.js} +8 -8
- package/dist/primitive/src/Buttons/Button/index.js.map +1 -0
- package/dist/primitive/src/Buttons/Button/styles.cjs +7 -7
- package/dist/primitive/src/Buttons/Button/styles.cjs.map +1 -1
- package/dist/primitive/src/Buttons/Button/styles.js +26 -0
- package/dist/primitive/src/Buttons/Button/styles.js.map +1 -0
- package/dist/primitive/src/Common/Divider/index.cjs +4 -4
- package/dist/primitive/src/Common/Divider/index.cjs.map +1 -1
- package/dist/primitive/src/Common/Divider/{index.mjs → index.js} +5 -4
- package/dist/primitive/src/Common/Divider/index.js.map +1 -0
- package/dist/primitive/src/Common/Flex/index.cjs +5 -5
- package/dist/primitive/src/Common/Flex/index.cjs.map +1 -1
- package/dist/primitive/src/Common/Flex/{index.mjs → index.js} +6 -5
- package/dist/primitive/src/Common/Flex/index.js.map +1 -0
- package/dist/primitive/src/Common/Grid/index.cjs +4 -4
- package/dist/primitive/src/Common/Grid/index.cjs.map +1 -1
- package/dist/primitive/src/Common/Grid/{index.mjs → index.js} +5 -4
- package/dist/primitive/src/Common/Grid/index.js.map +1 -0
- package/dist/primitive/src/Common/Spinner/{index.mjs → index.js} +2 -2
- package/dist/primitive/src/Common/Spinner/index.js.map +1 -0
- package/dist/primitive/src/Common/Spinner/styles.cjs +6 -6
- package/dist/primitive/src/Common/Spinner/styles.cjs.map +1 -1
- package/dist/primitive/src/Common/Spinner/styles.js +15 -0
- package/dist/primitive/src/Common/Spinner/styles.js.map +1 -0
- package/dist/primitive/src/Common/Typography/{index.mjs → index.js} +2 -2
- package/dist/primitive/src/Common/Typography/index.js.map +1 -0
- package/dist/primitive/src/Common/Typography/styles.cjs +4 -4
- package/dist/primitive/src/Common/Typography/styles.cjs.map +1 -1
- package/dist/primitive/src/Common/Typography/{styles.mjs → styles.js} +5 -4
- package/dist/primitive/src/Common/Typography/styles.js.map +1 -0
- package/dist/primitive/src/Control/BaseToggle/ToggleIcon/{index.mjs → index.js} +1 -1
- package/dist/primitive/src/Control/BaseToggle/ToggleIcon/index.js.map +1 -0
- package/dist/primitive/src/Control/BaseToggle/{index.mjs → index.js} +8 -8
- package/dist/primitive/src/Control/BaseToggle/index.js.map +1 -0
- package/dist/primitive/src/Control/BaseToggle/styles.cjs +8 -5
- package/dist/primitive/src/Control/BaseToggle/styles.cjs.map +1 -1
- package/dist/primitive/src/Control/BaseToggle/styles.js +18 -0
- package/dist/primitive/src/Control/BaseToggle/styles.js.map +1 -0
- package/dist/primitive/src/Control/{Checkbox.mjs → Checkbox.js} +2 -2
- package/dist/primitive/src/Control/Checkbox.js.map +1 -0
- package/dist/primitive/src/Control/{Radio.mjs → Radio.js} +2 -2
- package/dist/primitive/src/Control/Radio.js.map +1 -0
- package/dist/primitive/src/Control/Switch/{index.mjs → index.js} +2 -2
- package/dist/primitive/src/Control/Switch/index.js.map +1 -0
- package/dist/primitive/src/Control/Switch/styles.cjs +14 -8
- package/dist/primitive/src/Control/Switch/styles.cjs.map +1 -1
- package/dist/primitive/src/Control/Switch/styles.js +26 -0
- package/dist/primitive/src/Control/Switch/styles.js.map +1 -0
- package/dist/primitive/src/Control/Toggle.cjs +4 -4
- package/dist/primitive/src/Control/Toggle.cjs.map +1 -1
- package/dist/primitive/src/Control/{Toggle.mjs → Toggle.js} +6 -5
- package/dist/primitive/src/Control/Toggle.js.map +1 -0
- package/dist/primitive/src/Floating/DropdownMenu/{DropdownMenuSection.mjs → DropdownMenuSection.js} +2 -2
- package/dist/primitive/src/Floating/DropdownMenu/DropdownMenuSection.js.map +1 -0
- package/dist/primitive/src/Floating/DropdownMenu/{index.mjs → index.js} +4 -4
- package/dist/primitive/src/Floating/DropdownMenu/index.js.map +1 -0
- package/dist/primitive/src/Floating/DropdownMenu/styles.cjs +19 -10
- package/dist/primitive/src/Floating/DropdownMenu/styles.cjs.map +1 -1
- package/dist/primitive/src/Floating/DropdownMenu/{styles.mjs → styles.js} +21 -11
- package/dist/primitive/src/Floating/DropdownMenu/styles.js.map +1 -0
- package/dist/primitive/src/Floating/Popover/{index.mjs → index.js} +2 -2
- package/dist/primitive/src/Floating/Popover/index.js.map +1 -0
- package/dist/primitive/src/Floating/Popover/styles.cjs +6 -6
- package/dist/primitive/src/Floating/Popover/styles.cjs.map +1 -1
- package/dist/primitive/src/Floating/Popover/styles.js +19 -0
- package/dist/primitive/src/Floating/Popover/styles.js.map +1 -0
- package/dist/primitive/src/Floating/Tooltip/{index.mjs → index.js} +4 -4
- package/dist/primitive/src/Floating/Tooltip/index.js.map +1 -0
- package/dist/primitive/src/Floating/Tooltip/styles.cjs +14 -8
- package/dist/primitive/src/Floating/Tooltip/styles.cjs.map +1 -1
- package/dist/primitive/src/Floating/Tooltip/styles.js +39 -0
- package/dist/primitive/src/Floating/Tooltip/styles.js.map +1 -0
- package/dist/primitive/src/Floating/Tooltip/{types.mjs → types.js} +1 -1
- package/dist/primitive/src/Floating/Tooltip/types.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/DesignedSelect/{const.mjs → const.js} +1 -1
- package/dist/primitive/src/Inputs/Select/DesignedSelect/const.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/DesignedSelect/{index.mjs → index.js} +7 -7
- package/dist/primitive/src/Inputs/Select/DesignedSelect/index.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/DesignedSelect/styles.cjs +24 -15
- package/dist/primitive/src/Inputs/Select/DesignedSelect/styles.cjs.map +1 -1
- package/dist/primitive/src/Inputs/Select/DesignedSelect/styles.js +49 -0
- package/dist/primitive/src/Inputs/Select/DesignedSelect/styles.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/NativeSelect/Option/{index.mjs → index.js} +1 -1
- package/dist/primitive/src/Inputs/Select/NativeSelect/Option/index.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/NativeSelect/{index.mjs → index.js} +3 -3
- package/dist/primitive/src/Inputs/Select/NativeSelect/index.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/NativeSelect/styles.cjs +9 -6
- package/dist/primitive/src/Inputs/Select/NativeSelect/styles.cjs.map +1 -1
- package/dist/primitive/src/Inputs/Select/NativeSelect/styles.js +27 -0
- package/dist/primitive/src/Inputs/Select/NativeSelect/styles.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/Option/{index.mjs → index.js} +1 -1
- package/dist/primitive/src/Inputs/Select/Option/index.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/{index.mjs → index.js} +6 -6
- package/dist/primitive/src/Inputs/Select/index.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/styles.cjs +8 -5
- package/dist/primitive/src/Inputs/Select/styles.cjs.map +1 -1
- package/dist/primitive/src/Inputs/Select/styles.js +24 -0
- package/dist/primitive/src/Inputs/Select/styles.js.map +1 -0
- package/dist/primitive/src/Inputs/Select/{utils.mjs → utils.js} +1 -1
- package/dist/primitive/src/Inputs/Select/utils.js.map +1 -0
- package/dist/primitive/src/Inputs/TextInput/{index.mjs → index.js} +2 -2
- package/dist/primitive/src/Inputs/TextInput/index.js.map +1 -0
- package/dist/primitive/src/Inputs/TextInput/styles.cjs +34 -13
- package/dist/primitive/src/Inputs/TextInput/styles.cjs.map +1 -1
- package/dist/primitive/src/Inputs/TextInput/styles.js +50 -0
- package/dist/primitive/src/Inputs/TextInput/styles.js.map +1 -0
- package/dist/primitive/src/Logos/EnvLabel/{index.mjs → index.js} +1 -1
- package/dist/primitive/src/Logos/EnvLabel/index.js.map +1 -0
- package/dist/primitive/src/Logos/RememberLogo/{index.mjs → index.js} +2 -2
- package/dist/primitive/src/Logos/RememberLogo/index.js.map +1 -0
- package/dist/primitive/src/Logos/RememberMobileLogo/{index.mjs → index.js} +1 -1
- package/dist/primitive/src/Logos/RememberMobileLogo/index.js.map +1 -0
- package/dist/primitive/src/Logos/RememberServiceLogo/{index.mjs → index.js} +8 -8
- package/dist/primitive/src/Logos/RememberServiceLogo/index.js.map +1 -0
- package/dist/primitive/src/Logos/RememberServiceLogo/style.cjs +4 -4
- package/dist/primitive/src/Logos/RememberServiceLogo/style.cjs.map +1 -1
- package/dist/primitive/src/Logos/RememberServiceLogo/style.js +10 -0
- package/dist/primitive/src/Logos/RememberServiceLogo/style.js.map +1 -0
- package/dist/primitive/src/Logos/RememberSquareLogo/{index.mjs → index.js} +1 -1
- package/dist/primitive/src/Logos/RememberSquareLogo/index.js.map +1 -0
- package/dist/primitive/src/Modals/Dialog/{index.mjs → index.js} +3 -3
- package/dist/primitive/src/Modals/Dialog/index.js.map +1 -0
- package/dist/primitive/src/Modals/Dialog/styles.cjs +26 -11
- package/dist/primitive/src/Modals/Dialog/styles.cjs.map +1 -1
- package/dist/primitive/src/Modals/Dialog/styles.js +34 -0
- package/dist/primitive/src/Modals/Dialog/styles.js.map +1 -0
- package/dist/primitive/src/Paginations/CompactPagination/{index.mjs → index.js} +4 -4
- package/dist/primitive/src/Paginations/CompactPagination/index.js.map +1 -0
- package/dist/primitive/src/Paginations/Pagination/{index.mjs → index.js} +4 -4
- package/dist/primitive/src/Paginations/Pagination/index.js.map +1 -0
- package/dist/primitive/src/Paginations/styles.cjs +37 -13
- package/dist/primitive/src/Paginations/styles.cjs.map +1 -1
- package/dist/primitive/src/Paginations/styles.js +48 -0
- package/dist/primitive/src/Paginations/styles.js.map +1 -0
- package/dist/primitive/src/Paginations/{usePagination.mjs → usePagination.js} +1 -1
- package/dist/primitive/src/Paginations/usePagination.js.map +1 -0
- package/dist/primitive/src/hooks/{useMouseEventAway.mjs → useMouseEventAway.js} +1 -1
- package/dist/primitive/src/hooks/useMouseEventAway.js.map +1 -0
- package/dist/primitive/src/index.js +26 -0
- package/dist/primitive/src/index.js.map +1 -0
- package/dist/shared/utils/{common.mjs → common.js} +1 -1
- package/dist/shared/utils/common.js.map +1 -0
- package/dist/shared/utils/{style.mjs → style.js} +1 -1
- package/dist/shared/utils/style.js.map +1 -0
- package/package.json +6 -4
- package/src/Avatars/Avatar/index.tsx +2 -2
- package/dist/primitive/src/Avatars/Avatar/index.mjs.map +0 -1
- package/dist/primitive/src/Avatars/Avatar/styles.mjs.map +0 -1
- package/dist/primitive/src/Badge/Badge.mjs.map +0 -1
- package/dist/primitive/src/Badge/style.mjs +0 -29
- package/dist/primitive/src/Badge/style.mjs.map +0 -1
- package/dist/primitive/src/Badge/utils.mjs.map +0 -1
- package/dist/primitive/src/Buttons/Button/const.mjs.map +0 -1
- package/dist/primitive/src/Buttons/Button/index.mjs.map +0 -1
- package/dist/primitive/src/Buttons/Button/styles.mjs +0 -25
- package/dist/primitive/src/Buttons/Button/styles.mjs.map +0 -1
- package/dist/primitive/src/Common/Divider/index.mjs.map +0 -1
- package/dist/primitive/src/Common/Flex/index.mjs.map +0 -1
- package/dist/primitive/src/Common/Grid/index.mjs.map +0 -1
- package/dist/primitive/src/Common/Spinner/index.mjs.map +0 -1
- package/dist/primitive/src/Common/Spinner/styles.mjs +0 -14
- package/dist/primitive/src/Common/Spinner/styles.mjs.map +0 -1
- package/dist/primitive/src/Common/Typography/index.mjs.map +0 -1
- package/dist/primitive/src/Common/Typography/styles.mjs.map +0 -1
- package/dist/primitive/src/Control/BaseToggle/ToggleIcon/index.mjs.map +0 -1
- package/dist/primitive/src/Control/BaseToggle/index.mjs.map +0 -1
- package/dist/primitive/src/Control/BaseToggle/styles.mjs +0 -14
- package/dist/primitive/src/Control/BaseToggle/styles.mjs.map +0 -1
- package/dist/primitive/src/Control/Checkbox.mjs.map +0 -1
- package/dist/primitive/src/Control/Radio.mjs.map +0 -1
- package/dist/primitive/src/Control/Switch/index.mjs.map +0 -1
- package/dist/primitive/src/Control/Switch/styles.mjs +0 -19
- package/dist/primitive/src/Control/Switch/styles.mjs.map +0 -1
- package/dist/primitive/src/Control/Toggle.mjs.map +0 -1
- package/dist/primitive/src/Floating/DropdownMenu/DropdownMenuSection.mjs.map +0 -1
- package/dist/primitive/src/Floating/DropdownMenu/index.mjs.map +0 -1
- package/dist/primitive/src/Floating/DropdownMenu/styles.mjs.map +0 -1
- package/dist/primitive/src/Floating/Popover/index.mjs.map +0 -1
- package/dist/primitive/src/Floating/Popover/styles.mjs +0 -18
- package/dist/primitive/src/Floating/Popover/styles.mjs.map +0 -1
- package/dist/primitive/src/Floating/Tooltip/index.mjs.map +0 -1
- package/dist/primitive/src/Floating/Tooltip/styles.mjs +0 -32
- package/dist/primitive/src/Floating/Tooltip/styles.mjs.map +0 -1
- package/dist/primitive/src/Floating/Tooltip/types.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/DesignedSelect/const.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/DesignedSelect/index.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/DesignedSelect/styles.mjs +0 -39
- package/dist/primitive/src/Inputs/Select/DesignedSelect/styles.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/NativeSelect/Option/index.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/NativeSelect/index.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/NativeSelect/styles.mjs +0 -23
- package/dist/primitive/src/Inputs/Select/NativeSelect/styles.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/Option/index.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/index.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/styles.mjs +0 -20
- package/dist/primitive/src/Inputs/Select/styles.mjs.map +0 -1
- package/dist/primitive/src/Inputs/Select/utils.mjs.map +0 -1
- package/dist/primitive/src/Inputs/TextInput/index.mjs.map +0 -1
- package/dist/primitive/src/Inputs/TextInput/styles.mjs +0 -28
- package/dist/primitive/src/Inputs/TextInput/styles.mjs.map +0 -1
- package/dist/primitive/src/Logos/EnvLabel/index.mjs.map +0 -1
- package/dist/primitive/src/Logos/RememberLogo/index.mjs.map +0 -1
- package/dist/primitive/src/Logos/RememberMobileLogo/index.mjs.map +0 -1
- package/dist/primitive/src/Logos/RememberServiceLogo/index.mjs.map +0 -1
- package/dist/primitive/src/Logos/RememberServiceLogo/style.mjs +0 -9
- package/dist/primitive/src/Logos/RememberServiceLogo/style.mjs.map +0 -1
- package/dist/primitive/src/Logos/RememberSquareLogo/index.mjs.map +0 -1
- package/dist/primitive/src/Modals/Dialog/index.mjs.map +0 -1
- package/dist/primitive/src/Modals/Dialog/styles.mjs +0 -18
- package/dist/primitive/src/Modals/Dialog/styles.mjs.map +0 -1
- package/dist/primitive/src/Paginations/CompactPagination/index.mjs.map +0 -1
- package/dist/primitive/src/Paginations/Pagination/index.mjs.map +0 -1
- package/dist/primitive/src/Paginations/styles.mjs +0 -23
- package/dist/primitive/src/Paginations/styles.mjs.map +0 -1
- package/dist/primitive/src/Paginations/usePagination.mjs.map +0 -1
- package/dist/primitive/src/hooks/useMouseEventAway.mjs.map +0 -1
- package/dist/primitive/src/index.mjs +0 -26
- package/dist/primitive/src/index.mjs.map +0 -1
- package/dist/shared/utils/common.mjs.map +0 -1
- package/dist/shared/utils/style.mjs.map +0 -1
|
@@ -1,45 +1,54 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
5
4
|
var styled = require('styled-components');
|
|
6
5
|
var mixin = require('@remember-web/mixin');
|
|
7
6
|
var styles = require('../styles.cjs');
|
|
8
7
|
|
|
9
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
9
|
|
|
11
|
-
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefault(_taggedTemplateLiteral);
|
|
12
10
|
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
13
11
|
|
|
14
|
-
var
|
|
15
|
-
|
|
12
|
+
var StyledSelect = styled__default.default.div.withConfig({
|
|
13
|
+
displayName: "styles__StyledSelect",
|
|
14
|
+
componentId: "sc-14m4ck5-0"
|
|
15
|
+
})(["", " border:1px solid ", ";", ";padding:10px 36px 10px 12px;transition:border-color 0.2s,background-color 0.2s;", " ", ":focus-within &{outline:none;border-color:", ";}", ":not([aria-disabled='true']) &{@media (hover:hover){&:hover{background-color:", ";}}&:active{background-color:", ";}}"], mixin.ellipsis(), mixin.contents300, function (_ref) {
|
|
16
16
|
var expandedDirection = _ref.expandedDirection;
|
|
17
17
|
return {
|
|
18
|
-
none: styled.css(
|
|
19
|
-
above: styled.css(
|
|
20
|
-
below: styled.css(
|
|
18
|
+
none: styled.css(["border-radius:4px;"]),
|
|
19
|
+
above: styled.css(["border-radius:0 0 4px 4px;border-top-color:transparent;"]),
|
|
20
|
+
below: styled.css(["border-radius:4px 4px 0 0;border-bottom-color:transparent;"])
|
|
21
21
|
}[expandedDirection !== null && expandedDirection !== void 0 ? expandedDirection : 'none'];
|
|
22
22
|
}, function (_ref2) {
|
|
23
23
|
var isPlaceholder = _ref2.isPlaceholder;
|
|
24
|
-
return isPlaceholder && styled.css(
|
|
24
|
+
return isPlaceholder && styled.css(["color:", ";"], mixin.contents200);
|
|
25
25
|
}, styles.SelectContainer, mixin.contents000, styles.SelectContainer, mixin.bg200, mixin.bg300);
|
|
26
|
-
var SelectDownIcon = styled__default.default.div
|
|
27
|
-
|
|
26
|
+
var SelectDownIcon = styled__default.default.div.withConfig({
|
|
27
|
+
displayName: "styles__SelectDownIcon",
|
|
28
|
+
componentId: "sc-14m4ck5-1"
|
|
29
|
+
})(["position:absolute;right:12px;top:50%;transform:translateY(-50%);& > svg{display:block;}pointer-events:none;"]);
|
|
30
|
+
var SelectOptionWrapper = styled__default.default.ul.withConfig({
|
|
31
|
+
displayName: "styles__SelectOptionWrapper",
|
|
32
|
+
componentId: "sc-14m4ck5-2"
|
|
33
|
+
})(["all:unset;position:absolute;left:0;right:0;z-index:1;border:1px solid ", ";background-color:", ";overflow-y:scroll;overscroll-behavior:contain;transition:border-color 0.2s,background-color 0.2s;", ";", " ", ":focus &,", ":focus-within &{outline:none;border-color:", ";}"], mixin.contents300, mixin.bg100, function (_ref3) {
|
|
28
34
|
var maxHeight = _ref3.maxHeight;
|
|
29
35
|
if (!maxHeight) {
|
|
30
36
|
return null;
|
|
31
37
|
}
|
|
32
38
|
if (typeof maxHeight === 'number') {
|
|
33
|
-
return styled.css(
|
|
39
|
+
return styled.css(["max-height:", "px;"], maxHeight);
|
|
34
40
|
}
|
|
35
|
-
return styled.css(
|
|
41
|
+
return styled.css(["max-height:", ";"], maxHeight);
|
|
36
42
|
}, function (_ref4) {
|
|
37
43
|
var expandedDirection = _ref4.expandedDirection;
|
|
38
|
-
return expandedDirection === 'below' ? styled.css(
|
|
44
|
+
return expandedDirection === 'below' ? styled.css(["top:calc(100% - 1px);border-top:none;border-radius:0 0 4px 4px;"]) : styled.css(["bottom:calc(100% - 1px);border-bottom:none;border-radius:4px 4px 0 0;"]);
|
|
39
45
|
}, styles.SelectContainer, styles.SelectContainer, mixin.contents000);
|
|
40
|
-
var SelectOption = styled__default.default.li
|
|
46
|
+
var SelectOption = styled__default.default.li.withConfig({
|
|
47
|
+
displayName: "styles__SelectOption",
|
|
48
|
+
componentId: "sc-14m4ck5-3"
|
|
49
|
+
})(["", " padding:10px 12px;color:", ";&[aria-disabled='true']{color:", ";}&:focus{background-color:", ";outline:none;}", ""], mixin.ellipsis(), mixin.contents000, mixin.contents300, mixin.bg200, function (_ref5) {
|
|
41
50
|
var isSelected = _ref5.isSelected;
|
|
42
|
-
return isSelected && styled.css(
|
|
51
|
+
return isSelected && styled.css(["background-color:", ";"], mixin.bg200);
|
|
43
52
|
});
|
|
44
53
|
|
|
45
54
|
exports.SelectDownIcon = SelectDownIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.cjs","sources":["../../../../../../src/Inputs/Select/DesignedSelect/styles.ts"],"sourcesContent":["'use client';\n\nimport styled, { css } from 'styled-components';\nimport {\n bg100,\n bg200,\n bg300,\n contents000,\n contents200,\n contents300,\n ellipsis,\n} from '@remember-web/mixin';\n\nimport { SelectContainer } from '../styles';\nimport type { ExpandedType } from './types';\n\nexport const StyledSelect = styled.div<{\n expandedDirection?: ExpandedType;\n isPlaceholder?: boolean;\n}>`\n ${ellipsis()}\n border: 1px solid ${contents300};\n ${({ expandedDirection }) =>\n ({\n none: css`\n border-radius: 4px;\n `,\n above: css`\n border-radius: 0 0 4px 4px;\n border-top-color: transparent;\n `,\n below: css`\n border-radius: 4px 4px 0 0;\n border-bottom-color: transparent;\n `,\n }[expandedDirection ?? 'none'])};\n\n padding: 10px 36px 10px 12px;\n transition: border-color 0.2s, background-color 0.2s;\n\n ${({ isPlaceholder }) =>\n isPlaceholder &&\n css`\n color: ${contents200};\n `}\n\n ${SelectContainer}:focus-within & {\n outline: none;\n border-color: ${contents000};\n }\n ${SelectContainer}:not([aria-disabled='true']) & {\n @media (hover: hover) {\n &:hover {\n background-color: ${bg200};\n }\n }\n\n &:active {\n background-color: ${bg300};\n }\n }\n`;\n\nexport const SelectDownIcon = styled.div`\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n\n & > svg {\n display: block;\n }\n\n pointer-events: none;\n`;\n\nexport const SelectOptionWrapper = styled.ul<{\n expandedDirection?: ExpandedType;\n maxHeight?: number | string;\n}>`\n all: unset;\n position: absolute;\n left: 0;\n right: 0;\n z-index: 1;\n border: 1px solid ${contents300};\n background-color: ${bg100};\n overflow-y: scroll;\n overscroll-behavior: contain;\n transition: border-color 0.2s, background-color 0.2s;\n\n ${({ maxHeight }) => {\n if (!maxHeight) {\n return null;\n }\n\n if (typeof maxHeight === 'number') {\n return css`\n max-height: ${maxHeight}px;\n `;\n }\n\n return css`\n max-height: ${maxHeight};\n `;\n }};\n\n ${({ expandedDirection }) =>\n expandedDirection === 'below'\n ? css`\n top: calc(100% - 1px);\n border-top: none;\n border-radius: 0 0 4px 4px;\n `\n : css`\n bottom: calc(100% - 1px);\n border-bottom: none;\n border-radius: 4px 4px 0 0;\n `}\n\n ${SelectContainer}:focus &, ${SelectContainer}:focus-within & {\n outline: none;\n border-color: ${contents000};\n }\n`;\n\nexport const SelectOption = styled.li<{ isSelected?: boolean }>`\n ${ellipsis()}\n padding: 10px 12px;\n color: ${contents000};\n\n &[aria-disabled='true'] {\n color: ${contents300};\n }\n\n &:focus {\n background-color: ${bg200};\n outline: none;\n }\n\n ${({ isSelected }) =>\n isSelected &&\n css`\n background-color: ${bg200};\n `}\n`;\n"],"names":["below"
|
|
1
|
+
{"version":3,"file":"styles.cjs","sources":["../../../../../../src/Inputs/Select/DesignedSelect/styles.ts"],"sourcesContent":["'use client';\n\nimport styled, { css } from 'styled-components';\nimport {\n bg100,\n bg200,\n bg300,\n contents000,\n contents200,\n contents300,\n ellipsis,\n} from '@remember-web/mixin';\n\nimport { SelectContainer } from '../styles';\nimport type { ExpandedType } from './types';\n\nexport const StyledSelect = styled.div<{\n expandedDirection?: ExpandedType;\n isPlaceholder?: boolean;\n}>`\n ${ellipsis()}\n border: 1px solid ${contents300};\n ${({ expandedDirection }) =>\n ({\n none: css`\n border-radius: 4px;\n `,\n above: css`\n border-radius: 0 0 4px 4px;\n border-top-color: transparent;\n `,\n below: css`\n border-radius: 4px 4px 0 0;\n border-bottom-color: transparent;\n `,\n }[expandedDirection ?? 'none'])};\n\n padding: 10px 36px 10px 12px;\n transition: border-color 0.2s, background-color 0.2s;\n\n ${({ isPlaceholder }) =>\n isPlaceholder &&\n css`\n color: ${contents200};\n `}\n\n ${SelectContainer}:focus-within & {\n outline: none;\n border-color: ${contents000};\n }\n ${SelectContainer}:not([aria-disabled='true']) & {\n @media (hover: hover) {\n &:hover {\n background-color: ${bg200};\n }\n }\n\n &:active {\n background-color: ${bg300};\n }\n }\n`;\n\nexport const SelectDownIcon = styled.div`\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n\n & > svg {\n display: block;\n }\n\n pointer-events: none;\n`;\n\nexport const SelectOptionWrapper = styled.ul<{\n expandedDirection?: ExpandedType;\n maxHeight?: number | string;\n}>`\n all: unset;\n position: absolute;\n left: 0;\n right: 0;\n z-index: 1;\n border: 1px solid ${contents300};\n background-color: ${bg100};\n overflow-y: scroll;\n overscroll-behavior: contain;\n transition: border-color 0.2s, background-color 0.2s;\n\n ${({ maxHeight }) => {\n if (!maxHeight) {\n return null;\n }\n\n if (typeof maxHeight === 'number') {\n return css`\n max-height: ${maxHeight}px;\n `;\n }\n\n return css`\n max-height: ${maxHeight};\n `;\n }};\n\n ${({ expandedDirection }) =>\n expandedDirection === 'below'\n ? css`\n top: calc(100% - 1px);\n border-top: none;\n border-radius: 0 0 4px 4px;\n `\n : css`\n bottom: calc(100% - 1px);\n border-bottom: none;\n border-radius: 4px 4px 0 0;\n `}\n\n ${SelectContainer}:focus &, ${SelectContainer}:focus-within & {\n outline: none;\n border-color: ${contents000};\n }\n`;\n\nexport const SelectOption = styled.li<{ isSelected?: boolean }>`\n ${ellipsis()}\n padding: 10px 12px;\n color: ${contents000};\n\n &[aria-disabled='true'] {\n color: ${contents300};\n }\n\n &:focus {\n background-color: ${bg200};\n outline: none;\n }\n\n ${({ isSelected }) =>\n isSelected &&\n css`\n background-color: ${bg200};\n `}\n`;\n"],"names":["below"],"mappings":";;;;;;;;;;;;;;AAgBsC;AAMlC;;;;AASEA;;AAI4B;AAK9B;AAAgB;AAIf;;;;AAmBmC;;;;AAaI;AAerB;;AAEjB;AACF;AAEA;;AAIA;;AAKF;AAEE;AAAoB;AAWf;;;;AAQ4B;AAcjC;AAAa;AAIZ;;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import styled, { css } from 'styled-components';
|
|
3
|
+
import { ellipsis, contents300, contents200, contents000, bg200, bg300, bg100 } from '@remember-web/mixin';
|
|
4
|
+
import { SelectContainer } from '../styles.js';
|
|
5
|
+
|
|
6
|
+
var StyledSelect = styled.div.withConfig({
|
|
7
|
+
displayName: "styles__StyledSelect",
|
|
8
|
+
componentId: "sc-14m4ck5-0"
|
|
9
|
+
})(["", " border:1px solid ", ";", ";padding:10px 36px 10px 12px;transition:border-color 0.2s,background-color 0.2s;", " ", ":focus-within &{outline:none;border-color:", ";}", ":not([aria-disabled='true']) &{@media (hover:hover){&:hover{background-color:", ";}}&:active{background-color:", ";}}"], ellipsis(), contents300, function (_ref) {
|
|
10
|
+
var expandedDirection = _ref.expandedDirection;
|
|
11
|
+
return {
|
|
12
|
+
none: css(["border-radius:4px;"]),
|
|
13
|
+
above: css(["border-radius:0 0 4px 4px;border-top-color:transparent;"]),
|
|
14
|
+
below: css(["border-radius:4px 4px 0 0;border-bottom-color:transparent;"])
|
|
15
|
+
}[expandedDirection !== null && expandedDirection !== void 0 ? expandedDirection : 'none'];
|
|
16
|
+
}, function (_ref2) {
|
|
17
|
+
var isPlaceholder = _ref2.isPlaceholder;
|
|
18
|
+
return isPlaceholder && css(["color:", ";"], contents200);
|
|
19
|
+
}, SelectContainer, contents000, SelectContainer, bg200, bg300);
|
|
20
|
+
var SelectDownIcon = styled.div.withConfig({
|
|
21
|
+
displayName: "styles__SelectDownIcon",
|
|
22
|
+
componentId: "sc-14m4ck5-1"
|
|
23
|
+
})(["position:absolute;right:12px;top:50%;transform:translateY(-50%);& > svg{display:block;}pointer-events:none;"]);
|
|
24
|
+
var SelectOptionWrapper = styled.ul.withConfig({
|
|
25
|
+
displayName: "styles__SelectOptionWrapper",
|
|
26
|
+
componentId: "sc-14m4ck5-2"
|
|
27
|
+
})(["all:unset;position:absolute;left:0;right:0;z-index:1;border:1px solid ", ";background-color:", ";overflow-y:scroll;overscroll-behavior:contain;transition:border-color 0.2s,background-color 0.2s;", ";", " ", ":focus &,", ":focus-within &{outline:none;border-color:", ";}"], contents300, bg100, function (_ref3) {
|
|
28
|
+
var maxHeight = _ref3.maxHeight;
|
|
29
|
+
if (!maxHeight) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
if (typeof maxHeight === 'number') {
|
|
33
|
+
return css(["max-height:", "px;"], maxHeight);
|
|
34
|
+
}
|
|
35
|
+
return css(["max-height:", ";"], maxHeight);
|
|
36
|
+
}, function (_ref4) {
|
|
37
|
+
var expandedDirection = _ref4.expandedDirection;
|
|
38
|
+
return expandedDirection === 'below' ? css(["top:calc(100% - 1px);border-top:none;border-radius:0 0 4px 4px;"]) : css(["bottom:calc(100% - 1px);border-bottom:none;border-radius:4px 4px 0 0;"]);
|
|
39
|
+
}, SelectContainer, SelectContainer, contents000);
|
|
40
|
+
var SelectOption = styled.li.withConfig({
|
|
41
|
+
displayName: "styles__SelectOption",
|
|
42
|
+
componentId: "sc-14m4ck5-3"
|
|
43
|
+
})(["", " padding:10px 12px;color:", ";&[aria-disabled='true']{color:", ";}&:focus{background-color:", ";outline:none;}", ""], ellipsis(), contents000, contents300, bg200, function (_ref5) {
|
|
44
|
+
var isSelected = _ref5.isSelected;
|
|
45
|
+
return isSelected && css(["background-color:", ";"], bg200);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
export { SelectDownIcon, SelectOption, SelectOptionWrapper, StyledSelect };
|
|
49
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../src/Inputs/Select/DesignedSelect/styles.ts"],"sourcesContent":["'use client';\n\nimport styled, { css } from 'styled-components';\nimport {\n bg100,\n bg200,\n bg300,\n contents000,\n contents200,\n contents300,\n ellipsis,\n} from '@remember-web/mixin';\n\nimport { SelectContainer } from '../styles';\nimport type { ExpandedType } from './types';\n\nexport const StyledSelect = styled.div<{\n expandedDirection?: ExpandedType;\n isPlaceholder?: boolean;\n}>`\n ${ellipsis()}\n border: 1px solid ${contents300};\n ${({ expandedDirection }) =>\n ({\n none: css`\n border-radius: 4px;\n `,\n above: css`\n border-radius: 0 0 4px 4px;\n border-top-color: transparent;\n `,\n below: css`\n border-radius: 4px 4px 0 0;\n border-bottom-color: transparent;\n `,\n }[expandedDirection ?? 'none'])};\n\n padding: 10px 36px 10px 12px;\n transition: border-color 0.2s, background-color 0.2s;\n\n ${({ isPlaceholder }) =>\n isPlaceholder &&\n css`\n color: ${contents200};\n `}\n\n ${SelectContainer}:focus-within & {\n outline: none;\n border-color: ${contents000};\n }\n ${SelectContainer}:not([aria-disabled='true']) & {\n @media (hover: hover) {\n &:hover {\n background-color: ${bg200};\n }\n }\n\n &:active {\n background-color: ${bg300};\n }\n }\n`;\n\nexport const SelectDownIcon = styled.div`\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n\n & > svg {\n display: block;\n }\n\n pointer-events: none;\n`;\n\nexport const SelectOptionWrapper = styled.ul<{\n expandedDirection?: ExpandedType;\n maxHeight?: number | string;\n}>`\n all: unset;\n position: absolute;\n left: 0;\n right: 0;\n z-index: 1;\n border: 1px solid ${contents300};\n background-color: ${bg100};\n overflow-y: scroll;\n overscroll-behavior: contain;\n transition: border-color 0.2s, background-color 0.2s;\n\n ${({ maxHeight }) => {\n if (!maxHeight) {\n return null;\n }\n\n if (typeof maxHeight === 'number') {\n return css`\n max-height: ${maxHeight}px;\n `;\n }\n\n return css`\n max-height: ${maxHeight};\n `;\n }};\n\n ${({ expandedDirection }) =>\n expandedDirection === 'below'\n ? css`\n top: calc(100% - 1px);\n border-top: none;\n border-radius: 0 0 4px 4px;\n `\n : css`\n bottom: calc(100% - 1px);\n border-bottom: none;\n border-radius: 4px 4px 0 0;\n `}\n\n ${SelectContainer}:focus &, ${SelectContainer}:focus-within & {\n outline: none;\n border-color: ${contents000};\n }\n`;\n\nexport const SelectOption = styled.li<{ isSelected?: boolean }>`\n ${ellipsis()}\n padding: 10px 12px;\n color: ${contents000};\n\n &[aria-disabled='true'] {\n color: ${contents300};\n }\n\n &:focus {\n background-color: ${bg200};\n outline: none;\n }\n\n ${({ isSelected }) =>\n isSelected &&\n css`\n background-color: ${bg200};\n `}\n`;\n"],"names":["below"],"mappings":";;;;;;;;AAgBsC;AAMlC;;;;AASEA;;AAI4B;AAK9B;AAAgB;AAIf;;;;AAmBmC;;;;AAaI;AAerB;;AAEjB;AACF;AAEA;;AAIA;;AAKF;AAEE;AAAoB;AAWf;;;;AAQ4B;AAcjC;AAAa;AAIZ;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/Inputs/Select/NativeSelect/Option/index.tsx"],"sourcesContent":["'use client';\n\nimport type { OptionProps, SelectValue } from '../../types';\n\nexport const NativeOption = <Value extends SelectValue = string>({\n children,\n disabled,\n value,\n}: OptionProps<Value>) => (\n <option value={value} disabled={disabled}>\n {String(children)}\n </option>\n);\n"],"names":["value","disabled"],"mappings":";;;;AAIyB;;;AAGlB;AAEGA;AAAcC;;AACH;AACV;;"}
|
|
@@ -3,8 +3,8 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
5
|
import { IconArrow2Down } from '@remember-web/icon';
|
|
6
|
-
import { StyledSelect, SelectDownIcon } from './styles.
|
|
7
|
-
import { SelectContainer } from '../styles.
|
|
6
|
+
import { StyledSelect, SelectDownIcon } from './styles.js';
|
|
7
|
+
import { SelectContainer } from '../styles.js';
|
|
8
8
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
9
9
|
|
|
10
10
|
var _excluded = ["children", "className", "width", "placeholder", "value", "disabled"];
|
|
@@ -43,4 +43,4 @@ var NativeSelect = function NativeSelect(_ref, ref) {
|
|
|
43
43
|
var NativeSelect$1 = /*#__PURE__*/forwardRef(NativeSelect);
|
|
44
44
|
|
|
45
45
|
export { NativeSelect$1 as default };
|
|
46
|
-
//# sourceMappingURL=index.
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/Inputs/Select/NativeSelect/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardRefRenderFunction } from 'react';\nimport { forwardRef } from 'react';\n\nimport { IconArrow2Down } from '@remember-web/icon';\n\nimport { SelectDownIcon, StyledSelect } from './styles';\nimport type { NativeSelectInternalProps } from './types';\nimport { SelectContainer } from '../styles';\n\nconst NativeSelect: ForwardRefRenderFunction<\n HTMLSelectElement,\n NativeSelectInternalProps\n> = (\n { children, className, width, placeholder, value, disabled, ...props },\n ref\n) => {\n const showPlaceholder = !value && !!placeholder;\n\n return (\n <SelectContainer aria-disabled={disabled} className={className}>\n <StyledSelect\n {...props}\n value={value}\n $width={width}\n ref={ref}\n isPlaceholder={showPlaceholder}\n disabled={disabled}\n >\n {!value && (\n <option value=\"\" selected>\n {placeholder || 'ㅤ'}\n </option>\n )}\n {children}\n </StyledSelect>\n <SelectDownIcon>\n <IconArrow2Down size=\"small\" />\n </SelectDownIcon>\n </SelectContainer>\n );\n};\n\nexport default forwardRef(NativeSelect);\n"],"names":["props","className","value","$width","ref","isPlaceholder","disabled","children","size"],"mappings":";;;;;;;;;AAAa;AAAA;AAAA;AAWb;AAMK;;;;;;AAF4DA;AAG/D;;AAGmB;AAAyBC;;AAGtCC;AACAC;AACAC;AACAC;AACAC;AAAmBC;AAGTL;;;;AAID;;AAGOM;;AAAe;AAChB;AAGvB;AAEA;;"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
5
4
|
var styled = require('styled-components');
|
|
6
5
|
var mixin = require('@remember-web/mixin');
|
|
7
6
|
|
|
8
7
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
8
|
|
|
10
|
-
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefault(_taggedTemplateLiteral);
|
|
11
9
|
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
12
10
|
|
|
13
|
-
var
|
|
14
|
-
|
|
11
|
+
var StyledSelect = styled__default.default.select.withConfig({
|
|
12
|
+
displayName: "styles__StyledSelect",
|
|
13
|
+
componentId: "sc-xnzpg1-0"
|
|
14
|
+
})(["all:unset;", " border:1px solid ", ";border-radius:4px;padding:10px 36px 10px 12px;box-sizing:border-box;", " width:", ";transition:border-color 0.2s,background-color 0.2s;&:focus{border-color:", ";}&:not(:disabled){@media (hover:hover){&:hover{background-color:", ";}}&:active{background-color:", ";}}"], mixin.getTypographyStyles('Body1_M'), mixin.contents300, function (_ref) {
|
|
15
15
|
var isPlaceholder = _ref.isPlaceholder;
|
|
16
|
-
return isPlaceholder && styled.css(
|
|
16
|
+
return isPlaceholder && styled.css(["color:", ";"], mixin.contents200);
|
|
17
17
|
}, function (_ref2) {
|
|
18
18
|
var $width = _ref2.$width;
|
|
19
19
|
if (!$width) {
|
|
@@ -24,7 +24,10 @@ var StyledSelect = styled__default.default.select(_templateObject || (_templateO
|
|
|
24
24
|
}
|
|
25
25
|
return $width;
|
|
26
26
|
}, mixin.contents000, mixin.bg200, mixin.bg300);
|
|
27
|
-
var SelectDownIcon = styled__default.default.div
|
|
27
|
+
var SelectDownIcon = styled__default.default.div.withConfig({
|
|
28
|
+
displayName: "styles__SelectDownIcon",
|
|
29
|
+
componentId: "sc-xnzpg1-1"
|
|
30
|
+
})(["position:absolute;right:12px;top:50%;transform:translateY(-50%);& > svg{display:block;}pointer-events:none;"]);
|
|
28
31
|
|
|
29
32
|
exports.SelectDownIcon = SelectDownIcon;
|
|
30
33
|
exports.StyledSelect = StyledSelect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.cjs","sources":["../../../../../../src/Inputs/Select/NativeSelect/styles.ts"],"sourcesContent":["'use client';\n\nimport styled, { css } from 'styled-components';\nimport {\n bg200,\n bg300,\n contents000,\n contents200,\n contents300,\n getTypographyStyles,\n} from '@remember-web/mixin';\n\nexport const StyledSelect = styled.select<{\n $width?: number | string;\n isPlaceholder?: boolean;\n}>`\n all: unset;\n\n ${getTypographyStyles('Body1_M')}\n border: 1px solid ${contents300};\n border-radius: 4px;\n padding: 10px 36px 10px 12px;\n box-sizing: border-box;\n\n ${({ isPlaceholder }) =>\n isPlaceholder &&\n css`\n color: ${contents200};\n `}\n\n width: ${({ $width }) => {\n if (!$width) {\n return null;\n }\n\n if (typeof $width === 'number') {\n return `${$width}px`;\n }\n\n return $width;\n }};\n\n transition: border-color 0.2s, background-color 0.2s;\n\n &:focus {\n border-color: ${contents000};\n }\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: ${bg200};\n }\n }\n\n &:active {\n background-color: ${bg300};\n }\n }\n`;\nexport const SelectDownIcon = styled.div`\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n\n & > svg {\n display: block;\n }\n\n pointer-events: none;\n`;\n"],"names":[
|
|
1
|
+
{"version":3,"file":"styles.cjs","sources":["../../../../../../src/Inputs/Select/NativeSelect/styles.ts"],"sourcesContent":["'use client';\n\nimport styled, { css } from 'styled-components';\nimport {\n bg200,\n bg300,\n contents000,\n contents200,\n contents300,\n getTypographyStyles,\n} from '@remember-web/mixin';\n\nexport const StyledSelect = styled.select<{\n $width?: number | string;\n isPlaceholder?: boolean;\n}>`\n all: unset;\n\n ${getTypographyStyles('Body1_M')}\n border: 1px solid ${contents300};\n border-radius: 4px;\n padding: 10px 36px 10px 12px;\n box-sizing: border-box;\n\n ${({ isPlaceholder }) =>\n isPlaceholder &&\n css`\n color: ${contents200};\n `}\n\n width: ${({ $width }) => {\n if (!$width) {\n return null;\n }\n\n if (typeof $width === 'number') {\n return `${$width}px`;\n }\n\n return $width;\n }};\n\n transition: border-color 0.2s, background-color 0.2s;\n\n &:focus {\n border-color: ${contents000};\n }\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: ${bg200};\n }\n }\n\n &:active {\n background-color: ${bg300};\n }\n }\n`;\nexport const SelectDownIcon = styled.div`\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n\n & > svg {\n display: block;\n }\n\n pointer-events: none;\n`;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAYyC;AAYrC;AAAgB;AAIf;AAEsB;;AAErB;AACF;AAEA;;AAEA;AAEA;AACF;;;;AAoBsC;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import styled, { css } from 'styled-components';
|
|
3
|
+
import { getTypographyStyles, contents300, contents200, contents000, bg200, bg300 } from '@remember-web/mixin';
|
|
4
|
+
|
|
5
|
+
var StyledSelect = styled.select.withConfig({
|
|
6
|
+
displayName: "styles__StyledSelect",
|
|
7
|
+
componentId: "sc-xnzpg1-0"
|
|
8
|
+
})(["all:unset;", " border:1px solid ", ";border-radius:4px;padding:10px 36px 10px 12px;box-sizing:border-box;", " width:", ";transition:border-color 0.2s,background-color 0.2s;&:focus{border-color:", ";}&:not(:disabled){@media (hover:hover){&:hover{background-color:", ";}}&:active{background-color:", ";}}"], getTypographyStyles('Body1_M'), contents300, function (_ref) {
|
|
9
|
+
var isPlaceholder = _ref.isPlaceholder;
|
|
10
|
+
return isPlaceholder && css(["color:", ";"], contents200);
|
|
11
|
+
}, function (_ref2) {
|
|
12
|
+
var $width = _ref2.$width;
|
|
13
|
+
if (!$width) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
if (typeof $width === 'number') {
|
|
17
|
+
return "".concat($width, "px");
|
|
18
|
+
}
|
|
19
|
+
return $width;
|
|
20
|
+
}, contents000, bg200, bg300);
|
|
21
|
+
var SelectDownIcon = styled.div.withConfig({
|
|
22
|
+
displayName: "styles__SelectDownIcon",
|
|
23
|
+
componentId: "sc-xnzpg1-1"
|
|
24
|
+
})(["position:absolute;right:12px;top:50%;transform:translateY(-50%);& > svg{display:block;}pointer-events:none;"]);
|
|
25
|
+
|
|
26
|
+
export { SelectDownIcon, StyledSelect };
|
|
27
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../src/Inputs/Select/NativeSelect/styles.ts"],"sourcesContent":["'use client';\n\nimport styled, { css } from 'styled-components';\nimport {\n bg200,\n bg300,\n contents000,\n contents200,\n contents300,\n getTypographyStyles,\n} from '@remember-web/mixin';\n\nexport const StyledSelect = styled.select<{\n $width?: number | string;\n isPlaceholder?: boolean;\n}>`\n all: unset;\n\n ${getTypographyStyles('Body1_M')}\n border: 1px solid ${contents300};\n border-radius: 4px;\n padding: 10px 36px 10px 12px;\n box-sizing: border-box;\n\n ${({ isPlaceholder }) =>\n isPlaceholder &&\n css`\n color: ${contents200};\n `}\n\n width: ${({ $width }) => {\n if (!$width) {\n return null;\n }\n\n if (typeof $width === 'number') {\n return `${$width}px`;\n }\n\n return $width;\n }};\n\n transition: border-color 0.2s, background-color 0.2s;\n\n &:focus {\n border-color: ${contents000};\n }\n\n &:not(:disabled) {\n @media (hover: hover) {\n &:hover {\n background-color: ${bg200};\n }\n }\n\n &:active {\n background-color: ${bg300};\n }\n }\n`;\nexport const SelectDownIcon = styled.div`\n position: absolute;\n right: 12px;\n top: 50%;\n transform: translateY(-50%);\n\n & > svg {\n display: block;\n }\n\n pointer-events: none;\n`;\n"],"names":[],"mappings":";;;;;;;AAYyC;AAYrC;AAAgB;AAIf;AAEsB;;AAErB;AACF;AAEA;;AAEA;AAEA;AACF;;;;AAoBsC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/Inputs/Select/Option/index.tsx"],"sourcesContent":["'use client';\n\nimport type { OptionProps, SelectValue } from '../types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const OptionHolder = <T extends SelectValue>(props: OptionProps<T>) =>\n null;\n\nOptionHolder.displayName = 'Select.Option';\n"],"names":["OptionHolder"],"mappings":";AAIA;;AACyE;AACnE;AAENA;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import { forwardRef, Children } from 'react';
|
|
4
|
-
import DesignedSelect from './DesignedSelect/index.
|
|
5
|
-
import NativeSelect from './NativeSelect/index.
|
|
6
|
-
import { NativeOption } from './NativeSelect/Option/index.
|
|
7
|
-
import { OptionHolder } from './Option/index.
|
|
8
|
-
import { SelectLabel } from './styles.
|
|
4
|
+
import DesignedSelect from './DesignedSelect/index.js';
|
|
5
|
+
import NativeSelect from './NativeSelect/index.js';
|
|
6
|
+
import { NativeOption } from './NativeSelect/Option/index.js';
|
|
7
|
+
import { OptionHolder } from './Option/index.js';
|
|
8
|
+
import { SelectLabel } from './styles.js';
|
|
9
9
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
11
|
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; }
|
|
@@ -69,4 +69,4 @@ var index = Object.assign( /*#__PURE__*/forwardRef(Select), {
|
|
|
69
69
|
});
|
|
70
70
|
|
|
71
71
|
export { index as default };
|
|
72
|
-
//# sourceMappingURL=index.
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/Inputs/Select/index.tsx"],"sourcesContent":["'use client';\n\nimport type { Ref, RefAttributes } from 'react';\nimport { Children, forwardRef } from 'react';\n\nimport DesignedSelect from './DesignedSelect';\nimport NativeSelect from './NativeSelect';\nimport { NativeOption } from './NativeSelect/Option';\nimport { OptionHolder } from './Option';\nimport { SelectLabel } from './styles';\nimport type {\n DesignedSelectProps,\n NativeSelectProps,\n SelectProps,\n SelectValue,\n} from './types';\n\nfunction Select<Value extends SelectValue>(\n props: SelectProps<Value>,\n ref: Ref<HTMLDivElement | HTMLSelectElement>\n) {\n const {\n children,\n label,\n value,\n className,\n disabled,\n onChange,\n placeholder,\n width,\n required,\n } = props;\n\n if (props.native) {\n return (\n <div>\n {label && (\n <SelectLabel>\n {label}\n {required && <mark>*</mark>}\n </SelectLabel>\n )}\n <NativeSelect\n disabled={disabled}\n className={className}\n onChange={(e) => {\n onChange?.(e.target.value as Value, e.target.innerText);\n }}\n value={value}\n required={required}\n placeholder={placeholder}\n width={width}\n ref={ref as Ref<HTMLSelectElement>}\n >\n {Children.map(children, (child) => (\n <NativeOption {...child.props} />\n ))}\n </NativeSelect>\n </div>\n );\n }\n\n return (\n <div>\n {label && (\n <SelectLabel>\n {label}\n {required && <mark>*</mark>}\n </SelectLabel>\n )}\n <DesignedSelect\n className={className}\n value={value}\n disabled={disabled}\n onChange={(_value, _label) => onChange?.(_value as Value, _label)}\n placeholder={placeholder}\n width={width}\n maxHeight={props.maxHeight}\n extendDirection={props.extendDirection}\n ref={ref as Ref<HTMLDivElement>}\n >\n {children}\n </DesignedSelect>\n </div>\n );\n}\n\nexport default Object.assign(\n forwardRef(Select) as <Value extends SelectValue>(\n props:\n | (DesignedSelectProps<Value> & RefAttributes<HTMLDivElement>)\n | (NativeSelectProps<Value> & RefAttributes<HTMLSelectElement>)\n ) => JSX.Element,\n { Option: OptionHolder }\n);\n"],"names":["children","disabled","className","onChange","value","required","placeholder","width","ref","Option"],"mappings":";;;;;;;;;;AAAa;AAAA;AAiBb;AAIE;;;;;;;;;;AAaE;AACEA;AAEgBA;AAEGA;AAAO;AAAO;AAI7BC;AACAC;AACAC;AACEA;;AAEFC;AACAC;AACAC;AACAC;AACAC;;;;AAIE;AACW;AAGrB;AAEA;AACER;AAEgBA;AAEGA;AAAO;AAAO;AAI7BE;AACAE;AACAH;AACAE;;;AACAG;AACAC;;;AAGAC;AAAgCR;AAEvB;AACM;AAGvB;AAEA;AAMIS;AAAqB;;"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
5
4
|
var styled = require('styled-components');
|
|
6
5
|
var mixin = require('@remember-web/mixin');
|
|
7
6
|
|
|
8
7
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
8
|
|
|
10
|
-
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefault(_taggedTemplateLiteral);
|
|
11
9
|
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
12
10
|
|
|
13
|
-
var
|
|
14
|
-
|
|
11
|
+
var SelectContainer = styled__default.default.div.withConfig({
|
|
12
|
+
displayName: "styles__SelectContainer",
|
|
13
|
+
componentId: "sc-1wrmy1c-0"
|
|
14
|
+
})(["", " color:", ";width:", ";position:relative;user-select:none;&:focus{outline:none;border-color:", ";}&[aria-disabled='true']{color:", ";border-color:", ";background-color:", ";}"], mixin.getTypographyStyles('Body1_M'), mixin.contents000, function (_ref) {
|
|
15
15
|
var $width = _ref.$width;
|
|
16
16
|
if (!$width) {
|
|
17
17
|
return 'fit-content';
|
|
@@ -21,7 +21,10 @@ var SelectContainer = styled__default.default.div(_templateObject || (_templateO
|
|
|
21
21
|
}
|
|
22
22
|
return $width;
|
|
23
23
|
}, mixin.contents000, mixin.contents200, mixin.contents300, mixin.bg200);
|
|
24
|
-
var SelectLabel = styled__default.default.label
|
|
24
|
+
var SelectLabel = styled__default.default.label.withConfig({
|
|
25
|
+
displayName: "styles__SelectLabel",
|
|
26
|
+
componentId: "sc-1wrmy1c-1"
|
|
27
|
+
})(["", " display:block;margin-bottom:12px;display:flex;align-items:center;gap:4px;& > mark{all:unset;color:", ";}"], mixin.getTypographyStyles('Headline4_B'), mixin.roleRed);
|
|
25
28
|
|
|
26
29
|
exports.SelectContainer = SelectContainer;
|
|
27
30
|
exports.SelectLabel = SelectLabel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.cjs","sources":["../../../../../src/Inputs/Select/styles.ts"],"sourcesContent":["'use client';\n\nimport styled from 'styled-components';\nimport {\n bg200,\n contents000,\n contents200,\n contents300,\n getTypographyStyles,\n roleRed,\n} from '@remember-web/mixin';\n\nexport const SelectContainer = styled.div<{ $width?: number | string }>`\n ${getTypographyStyles('Body1_M')}\n color: ${contents000};\n width: ${({ $width }) => {\n if (!$width) {\n return 'fit-content';\n }\n\n if (typeof $width === 'number') {\n return `${$width}px`;\n }\n\n return $width;\n }};\n position: relative;\n user-select: none;\n\n &:focus {\n outline: none;\n border-color: ${contents000};\n }\n &[aria-disabled='true'] {\n color: ${contents200};\n border-color: ${contents300};\n background-color: ${bg200};\n }\n`;\n\nexport const SelectLabel = styled.label`\n ${getTypographyStyles('Headline4_B')}\n display: block;\n margin-bottom: 12px;\n display: flex;\n align-items: center;\n gap: 4px;\n\n & > mark {\n all: unset;\n color: ${roleRed};\n }\n`;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"styles.cjs","sources":["../../../../../src/Inputs/Select/styles.ts"],"sourcesContent":["'use client';\n\nimport styled from 'styled-components';\nimport {\n bg200,\n contents000,\n contents200,\n contents300,\n getTypographyStyles,\n roleRed,\n} from '@remember-web/mixin';\n\nexport const SelectContainer = styled.div<{ $width?: number | string }>`\n ${getTypographyStyles('Body1_M')}\n color: ${contents000};\n width: ${({ $width }) => {\n if (!$width) {\n return 'fit-content';\n }\n\n if (typeof $width === 'number') {\n return `${$width}px`;\n }\n\n return $width;\n }};\n position: relative;\n user-select: none;\n\n &:focus {\n outline: none;\n border-color: ${contents000};\n }\n &[aria-disabled='true'] {\n color: ${contents200};\n border-color: ${contents300};\n background-color: ${bg200};\n }\n`;\n\nexport const SelectLabel = styled.label`\n ${getTypographyStyles('Headline4_B')}\n display: block;\n margin-bottom: 12px;\n display: flex;\n align-items: center;\n gap: 4px;\n\n & > mark {\n all: unset;\n color: ${roleRed};\n }\n`;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAYyC;AAGd;;AAErB;AACF;AAEA;;AAEA;AAEA;AACF;;;;AAeqC;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import { getTypographyStyles, contents000, contents200, contents300, bg200, roleRed } from '@remember-web/mixin';
|
|
4
|
+
|
|
5
|
+
var SelectContainer = styled.div.withConfig({
|
|
6
|
+
displayName: "styles__SelectContainer",
|
|
7
|
+
componentId: "sc-1wrmy1c-0"
|
|
8
|
+
})(["", " color:", ";width:", ";position:relative;user-select:none;&:focus{outline:none;border-color:", ";}&[aria-disabled='true']{color:", ";border-color:", ";background-color:", ";}"], getTypographyStyles('Body1_M'), contents000, function (_ref) {
|
|
9
|
+
var $width = _ref.$width;
|
|
10
|
+
if (!$width) {
|
|
11
|
+
return 'fit-content';
|
|
12
|
+
}
|
|
13
|
+
if (typeof $width === 'number') {
|
|
14
|
+
return "".concat($width, "px");
|
|
15
|
+
}
|
|
16
|
+
return $width;
|
|
17
|
+
}, contents000, contents200, contents300, bg200);
|
|
18
|
+
var SelectLabel = styled.label.withConfig({
|
|
19
|
+
displayName: "styles__SelectLabel",
|
|
20
|
+
componentId: "sc-1wrmy1c-1"
|
|
21
|
+
})(["", " display:block;margin-bottom:12px;display:flex;align-items:center;gap:4px;& > mark{all:unset;color:", ";}"], getTypographyStyles('Headline4_B'), roleRed);
|
|
22
|
+
|
|
23
|
+
export { SelectContainer, SelectLabel };
|
|
24
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/Inputs/Select/styles.ts"],"sourcesContent":["'use client';\n\nimport styled from 'styled-components';\nimport {\n bg200,\n contents000,\n contents200,\n contents300,\n getTypographyStyles,\n roleRed,\n} from '@remember-web/mixin';\n\nexport const SelectContainer = styled.div<{ $width?: number | string }>`\n ${getTypographyStyles('Body1_M')}\n color: ${contents000};\n width: ${({ $width }) => {\n if (!$width) {\n return 'fit-content';\n }\n\n if (typeof $width === 'number') {\n return `${$width}px`;\n }\n\n return $width;\n }};\n position: relative;\n user-select: none;\n\n &:focus {\n outline: none;\n border-color: ${contents000};\n }\n &[aria-disabled='true'] {\n color: ${contents200};\n border-color: ${contents300};\n background-color: ${bg200};\n }\n`;\n\nexport const SelectLabel = styled.label`\n ${getTypographyStyles('Headline4_B')}\n display: block;\n margin-bottom: 12px;\n display: flex;\n align-items: center;\n gap: 4px;\n\n & > mark {\n all: unset;\n color: ${roleRed};\n }\n`;\n"],"names":[],"mappings":";;;;;;;AAYyC;AAGd;;AAErB;AACF;AAEA;;AAEA;AAEA;AACF;;;;AAeqC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/Inputs/Select/utils.ts"],"sourcesContent":["// focus된 요소의 sibling을 찾아서 focus\nexport function focusSibling<E extends HTMLElement>(\n currentFocusedElement: E,\n siblingDirection: 'previous' | 'next'\n) {\n if (currentFocusedElement?.matches('[data-option-value]')) {\n const siblingElement = getSiblingElement(\n currentFocusedElement,\n siblingDirection\n );\n const listElement = currentFocusedElement.parentElement;\n if (\n listElement &&\n siblingElement?.matches('[data-option-value]') &&\n checkSameElementType(currentFocusedElement, siblingElement)\n ) {\n siblingElement.focus({ preventScroll: true });\n // 방향키를 통해 넘어가는 스크롤 방향에 따라 scrollIntoView의 block을 다르게 설정\n if (\n {\n // 아래 요소를 선택할 때 스크롤이 아래로 내려가는 경우\n next:\n siblingElement.offsetTop >=\n (siblingElement.parentElement?.scrollTop ?? 0) +\n listElement.clientHeight,\n\n // 위 요소를 선택할 때 스크롤이 위로 올라가는 경우\n previous:\n siblingElement.offsetTop <=\n (siblingElement.parentElement?.scrollTop ?? 0),\n }[siblingDirection]\n ) {\n siblingElement.scrollIntoView({\n block: siblingDirection === 'previous' ? 'start' : 'end',\n });\n }\n }\n }\n}\n\nconst checkSameElementType = <E extends Element>(\n element1: E,\n element2: Element\n): element2 is E => element2 instanceof element1.constructor;\n\n// 재귀적으로 disabled되지 않은 sibling을 찾아서 반환\nfunction getSiblingElement<E extends Element>(\n target: E,\n siblingDirection: 'previous' | 'next'\n): E | null {\n const siblingElement = target[`${siblingDirection}ElementSibling`];\n if (\n !siblingElement ||\n !checkSameElementType(target, siblingElement) ||\n !siblingElement.matches('[data-option-value]')\n ) {\n return null;\n }\n\n if (siblingElement.matches('[aria-disabled=\"true\"]')) {\n return getSiblingElement(siblingElement, siblingDirection);\n }\n\n return siblingElement;\n}\n"],"names":["focusSibling","currentFocusedElement","siblingDirection","matches","siblingElement","getSiblingElement","listElement","parentElement","checkSameElementType","_siblingElement$paren","_siblingElement$paren2","_siblingElement$paren3","_siblingElement$paren4","focus","preventScroll","next","offsetTop","scrollTop","clientHeight","previous","scrollIntoView","block","element1","element2","constructor","target","concat"],"mappings":"AAAA;AACO,SAASA,YAAYA,CAC1BC,qBAAwB,EACxBC,gBAAqC,EACrC;EACA,IAAID,qBAAqB,KAArBA,IAAAA,IAAAA,qBAAqB,KAArBA,KAAAA,CAAAA,IAAAA,qBAAqB,CAAEE,OAAO,CAAC,qBAAqB,CAAC,EAAE;AACzD,IAAA,IAAMC,cAAc,GAAGC,iBAAiB,CACtCJ,qBAAqB,EACrBC,gBACF,CAAC,CAAA;AACD,IAAA,IAAMI,WAAW,GAAGL,qBAAqB,CAACM,aAAa,CAAA;AACvD,IAAA,IACED,WAAW,IACXF,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,IAAdA,cAAc,CAAED,OAAO,CAAC,qBAAqB,CAAC,IAC9CK,oBAAoB,CAACP,qBAAqB,EAAEG,cAAc,CAAC,EAC3D;AAAA,MAAA,IAAAK,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,CAAA;MACAR,cAAc,CAACS,KAAK,CAAC;AAAEC,QAAAA,aAAa,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AAC7C;MACA,IACE;AACE;AACAC,QAAAA,IAAI,EACFX,cAAc,CAACY,SAAS,IACxB,CAAA,CAAAP,qBAAA,GAAA,CAAAC,sBAAA,GAACN,cAAc,CAACG,aAAa,MAAA,IAAA,IAAAG,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA5BA,sBAAA,CAA8BO,SAAS,MAAA,IAAA,IAAAR,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,CAAC,IAC3CH,WAAW,CAACY,YAAY;AAE5B;QACAC,QAAQ,EACNf,cAAc,CAACY,SAAS,MAAAL,sBAAA,GAAA,CAAAC,sBAAA,GACvBR,cAAc,CAACG,aAAa,MAAAK,IAAAA,IAAAA,sBAAA,KAA5BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAA8BK,SAAS,cAAAN,sBAAA,KAAA,KAAA,CAAA,GAAAA,sBAAA,GAAI,CAAC,CAAA;OAChD,CAACT,gBAAgB,CAAC,EACnB;QACAE,cAAc,CAACgB,cAAc,CAAC;AAC5BC,UAAAA,KAAK,EAAEnB,gBAAgB,KAAK,UAAU,GAAG,OAAO,GAAG,KAAA;AACrD,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;AACF,GAAA;AACF,CAAA;AAEA,IAAMM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CACxBc,QAAW,EACXC,QAAiB,EAAA;AAAA,EAAA,OACCA,QAAQ,YAAYD,QAAQ,CAACE,WAAW,CAAA;AAAA,CAAA,CAAA;;AAE5D;AACA,SAASnB,iBAAiBA,CACxBoB,MAAS,EACTvB,gBAAqC,EAC3B;AACV,EAAA,IAAME,cAAc,GAAGqB,MAAM,IAAAC,MAAA,CAAIxB,gBAAgB,EAAiB,gBAAA,CAAA,CAAA,CAAA;AAClE,EAAA,IACE,CAACE,cAAc,IACf,CAACI,oBAAoB,CAACiB,MAAM,EAAErB,cAAc,CAAC,IAC7C,CAACA,cAAc,CAACD,OAAO,CAAC,qBAAqB,CAAC,EAC9C;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,IAAIC,cAAc,CAACD,OAAO,CAAC,wBAAwB,CAAC,EAAE;AACpD,IAAA,OAAOE,iBAAiB,CAACD,cAAc,EAAEF,gBAAgB,CAAC,CAAA;AAC5D,GAAA;AAEA,EAAA,OAAOE,cAAc,CAAA;AACvB;;;;"}
|
|
@@ -4,7 +4,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
4
4
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
5
5
|
import { forwardRef, useId, useState } from 'react';
|
|
6
6
|
import { IconHidden, IconVisible } from '@remember-web/icon';
|
|
7
|
-
import { InputWrapper, InputLabel, InputContainer, InputDecorator, InputInner, InputHintText, InputError, InputTogglePasswordVisibilityButton } from './styles.
|
|
7
|
+
import { InputWrapper, InputLabel, InputContainer, InputDecorator, InputInner, InputHintText, InputError, InputTogglePasswordVisibilityButton } from './styles.js';
|
|
8
8
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
9
9
|
|
|
10
10
|
var _excluded = ["className", "label", "leftElement", "rightElement", "disabled", "hintText", "hintTextColor", "errorMessage", "width"];
|
|
@@ -84,4 +84,4 @@ var TogglePasswordVisibilityButton = function TogglePasswordVisibilityButton(_re
|
|
|
84
84
|
var index = /*#__PURE__*/forwardRef(TextInput);
|
|
85
85
|
|
|
86
86
|
export { index as default };
|
|
87
|
-
//# sourceMappingURL=index.
|
|
87
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/Inputs/TextInput/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ForwardRefRenderFunction } from 'react';\nimport { forwardRef, useId, useState } from 'react';\n\nimport { IconHidden, IconVisible } from '@remember-web/icon';\n\nimport {\n InputContainer,\n InputDecorator,\n InputError,\n InputHintText,\n InputInner,\n InputLabel,\n InputTogglePasswordVisibilityButton,\n InputWrapper,\n} from './styles';\nimport type { InputProps } from './types';\n\nconst TextInput: ForwardRefRenderFunction<HTMLInputElement, InputProps> = (\n {\n className,\n label,\n leftElement,\n rightElement,\n disabled,\n hintText,\n hintTextColor,\n errorMessage,\n width,\n ...props\n },\n ref\n) => {\n const inputId = useId();\n const labelId = useId();\n const [isVisiblePassword, setIsVisiblePassword] = useState(false);\n const isForceVisibleInput =\n props.type === 'password' &&\n props.hasTogglePasswordVisibilityButton &&\n isVisiblePassword;\n\n return (\n <InputWrapper $width={width}>\n {label && (\n <InputLabel id={labelId} htmlFor={inputId}>\n {label}\n {props.required && <mark>*</mark>}\n </InputLabel>\n )}\n <InputContainer\n disabled={disabled}\n hasError={!!errorMessage}\n className={className}\n >\n {leftElement && <InputDecorator>{leftElement}</InputDecorator>}\n <InputInner\n disabled={disabled}\n id={inputId}\n aria-labelledby={label ? labelId : undefined}\n {...props}\n type={isForceVisibleInput ? 'text' : props.type || 'text'}\n ref={ref}\n />\n {hintText && (\n <InputHintText textColor={hintTextColor}>{hintText}</InputHintText>\n )}\n {props.type === 'password' &&\n props.hasTogglePasswordVisibilityButton && (\n <TogglePasswordVisibilityButton\n value={isVisiblePassword}\n onChange={setIsVisiblePassword}\n />\n )}\n {rightElement && <InputDecorator>{rightElement}</InputDecorator>}\n </InputContainer>\n {errorMessage && <InputError>{errorMessage}</InputError>}\n </InputWrapper>\n );\n};\n\nconst TogglePasswordVisibilityButton = ({\n value,\n onChange,\n}: {\n value: boolean;\n onChange: (value: boolean) => void;\n}) => (\n <InputTogglePasswordVisibilityButton\n type=\"button\"\n role=\"switch\"\n aria-checked={value ? 'true' : 'false'}\n aria-label=\"비밀번호 표시\"\n onClick={() => {\n onChange(!value);\n }}\n >\n {value ? <IconHidden size=\"small\" /> : <IconVisible size=\"small\" />}\n </InputTogglePasswordVisibilityButton>\n);\n\nexport default forwardRef(TextInput);\n"],"names":["props","isVisiblePassword","setIsVisiblePassword","$width","children","id","htmlFor","disabled","className","ref","textColor","value","onChange","type","role","size"],"mappings":";;;;;;;;;AAAa;AAAA;AAAA;AAmBb;AAcK;;;;;;;;;AAHEA;AAIL;AACA;AACA;;AAAOC;AAAmBC;AAC1B;;AAMgBC;AAAcC;AAEZC;AAAaC;AAAiBF;AAErBA;AAAO;AAAO;AAInCG;;AAEAC;AAAqBJ;AAEUA;;AAE7BG;AACAF;;AAC6C;;AAG7CI;AAAS;AAGMC;AAAyBN;AAAU;AAK9CO;AACAC;AAA+B;AAGLR;AAAc;AAAkB;AAEtCA;AAAc;AAAc;AAG9D;AAEA;AAAoC;;;AAQhCS;AACAC;AACA;AACA;;;;AAGEV;AAEmBW;AAAY;AAAmBA;;AAAe;AAC/B;AAGxC;;"}
|
|
@@ -1,35 +1,56 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
5
4
|
var styled = require('styled-components');
|
|
6
5
|
var mixin = require('@remember-web/mixin');
|
|
7
6
|
var style = require('../../../../shared/utils/style.cjs');
|
|
8
7
|
|
|
9
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
9
|
|
|
11
|
-
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefault(_taggedTemplateLiteral);
|
|
12
10
|
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
13
11
|
|
|
14
|
-
var
|
|
15
|
-
|
|
12
|
+
var InputWrapper = styled__default.default.div.withConfig({
|
|
13
|
+
displayName: "styles__InputWrapper",
|
|
14
|
+
componentId: "sc-1ezvdso-0"
|
|
15
|
+
})(["", ";"], function (_ref) {
|
|
16
16
|
var $width = _ref.$width;
|
|
17
|
-
return $width && styled.css(
|
|
17
|
+
return $width && styled.css(["width:", ";"], style.formatUnit($width));
|
|
18
18
|
});
|
|
19
|
-
var InputContainer = styled__default.default.div
|
|
19
|
+
var InputContainer = styled__default.default.div.withConfig({
|
|
20
|
+
displayName: "styles__InputContainer",
|
|
21
|
+
componentId: "sc-1ezvdso-1"
|
|
22
|
+
})(["display:flex;align-items:center;border:1px solid ", ";border-radius:4px;padding:0 12px;gap:8px;transition:border-color 0.2s,background-color 0.2s;", ""], mixin.contents300, function (_ref2) {
|
|
20
23
|
var hasError = _ref2.hasError,
|
|
21
24
|
disabled = _ref2.disabled;
|
|
22
|
-
return [hasError ? styled.css(
|
|
25
|
+
return [hasError ? styled.css(["border-color:", ";"], mixin.roleRed) : styled.css(["&:focus-within{border-color:", ";}"], mixin.contents000), disabled && styled.css(["background-color:", ";"], mixin.bg200)];
|
|
23
26
|
});
|
|
24
|
-
var InputDecorator = styled__default.default.div
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var
|
|
27
|
+
var InputDecorator = styled__default.default.div.withConfig({
|
|
28
|
+
displayName: "styles__InputDecorator",
|
|
29
|
+
componentId: "sc-1ezvdso-2"
|
|
30
|
+
})(["flex-shrink:0;> *{display:block;}"]);
|
|
31
|
+
var InputInner = styled__default.default.input.withConfig({
|
|
32
|
+
displayName: "styles__InputInner",
|
|
33
|
+
componentId: "sc-1ezvdso-3"
|
|
34
|
+
})(["", " color:", ";display:block;flex-grow:1;width:100%;padding:10px 0;border:0;background-color:transparent;&:placeholder-shown{", "}&::placeholder{color:", ";}&:focus{outline:none;}"], mixin.getTypographyStyles('Body1_M'), mixin.contents000, mixin.ellipsis(), mixin.contents200);
|
|
35
|
+
var InputLabel = styled__default.default.label.withConfig({
|
|
36
|
+
displayName: "styles__InputLabel",
|
|
37
|
+
componentId: "sc-1ezvdso-4"
|
|
38
|
+
})(["", " display:block;margin-bottom:12px;display:flex;align-items:center;gap:4px;& > mark{all:unset;color:", ";}"], mixin.getTypographyStyles('Headline4_B'), mixin.roleRed);
|
|
39
|
+
var InputError = styled__default.default.div.withConfig({
|
|
40
|
+
displayName: "styles__InputError",
|
|
41
|
+
componentId: "sc-1ezvdso-5"
|
|
42
|
+
})(["", " color:", ";margin-top:8px;"], mixin.getTypographyStyles('Body2_M'), mixin.roleRed);
|
|
43
|
+
var InputHintText = styled__default.default.span.withConfig({
|
|
44
|
+
displayName: "styles__InputHintText",
|
|
45
|
+
componentId: "sc-1ezvdso-6"
|
|
46
|
+
})(["", " color:", ";white-space:nowrap;"], mixin.getTypographyStyles('Body1_M'), function (_ref3) {
|
|
29
47
|
var textColor = _ref3.textColor;
|
|
30
48
|
return textColor;
|
|
31
49
|
});
|
|
32
|
-
var InputTogglePasswordVisibilityButton = styled__default.default.button
|
|
50
|
+
var InputTogglePasswordVisibilityButton = styled__default.default.button.withConfig({
|
|
51
|
+
displayName: "styles__InputTogglePasswordVisibilityButton",
|
|
52
|
+
componentId: "sc-1ezvdso-7"
|
|
53
|
+
})(["all:unset;appearance:none;cursor:pointer;flex-shrink:0;& > svg{display:block;}"]);
|
|
33
54
|
|
|
34
55
|
exports.InputContainer = InputContainer;
|
|
35
56
|
exports.InputDecorator = InputDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.cjs","sources":["../../../../../src/Inputs/TextInput/styles.ts"],"sourcesContent":["'use client';\n\nimport styled, { css } from 'styled-components';\n\nimport {\n bg200,\n contents000,\n contents200,\n contents300,\n roleRed,\n} from '@remember-web/mixin';\nimport { ellipsis, getTypographyStyles } from '@remember-web/mixin';\nimport { formatUnit } from '@remember-web/shared/utils/style';\nimport { ColorVariable } from '@remember-web/mixin';\n\nexport const InputWrapper = styled.div<{ $width?: string | number }>`\n ${({ $width }) =>\n $width &&\n css`\n width: ${formatUnit($width)};\n `};\n`;\n\nexport const InputContainer = styled.div<{\n disabled?: boolean;\n hasError?: boolean;\n}>`\n display: flex;\n align-items: center;\n border: 1px solid ${contents300};\n border-radius: 4px;\n padding: 0 12px;\n gap: 8px;\n\n transition: border-color 0.2s, background-color 0.2s;\n\n ${({ hasError, disabled }) => [\n hasError\n ? css`\n border-color: ${roleRed};\n `\n : css`\n &:focus-within {\n border-color: ${contents000};\n }\n `,\n disabled &&\n css`\n background-color: ${bg200};\n `,\n ]}\n`;\n\nexport const InputDecorator = styled.div`\n flex-shrink: 0;\n /* Inline요소가 들어오면 강제로 block으로 처리 (중앙정렬을 위해) */\n > * {\n display: block;\n }\n`;\n\nexport const InputInner = styled.input`\n ${getTypographyStyles('Body1_M')}\n color: ${contents000};\n\n display: block;\n flex-grow: 1;\n width: 100%;\n padding: 10px 0;\n border: 0;\n background-color: transparent;\n\n &:placeholder-shown {\n ${ellipsis()}\n }\n\n &::placeholder {\n color: ${contents200};\n }\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const InputLabel = styled.label`\n ${getTypographyStyles('Headline4_B')}\n display: block;\n margin-bottom: 12px;\n display: flex;\n align-items: center;\n gap: 4px;\n\n & > mark {\n all: unset;\n color: ${roleRed};\n }\n`;\n\nexport const InputError = styled.div`\n ${getTypographyStyles('Body2_M')}\n color: ${roleRed};\n\n margin-top: 8px;\n`;\n\nexport const InputHintText = styled.span<{ textColor?: ColorVariable }>`\n ${getTypographyStyles('Body1_M')}\n color: ${({ textColor }) => textColor};\n white-space: nowrap;\n`;\n\nexport const InputTogglePasswordVisibilityButton = styled.button`\n all: unset;\n appearance: none;\n cursor: pointer;\n flex-shrink: 0;\n\n & > svg {\n display: block;\n }\n`;\n"],"names":[
|
|
1
|
+
{"version":3,"file":"styles.cjs","sources":["../../../../../src/Inputs/TextInput/styles.ts"],"sourcesContent":["'use client';\n\nimport styled, { css } from 'styled-components';\n\nimport {\n bg200,\n contents000,\n contents200,\n contents300,\n roleRed,\n} from '@remember-web/mixin';\nimport { ellipsis, getTypographyStyles } from '@remember-web/mixin';\nimport { formatUnit } from '@remember-web/shared/utils/style';\nimport { ColorVariable } from '@remember-web/mixin';\n\nexport const InputWrapper = styled.div<{ $width?: string | number }>`\n ${({ $width }) =>\n $width &&\n css`\n width: ${formatUnit($width)};\n `};\n`;\n\nexport const InputContainer = styled.div<{\n disabled?: boolean;\n hasError?: boolean;\n}>`\n display: flex;\n align-items: center;\n border: 1px solid ${contents300};\n border-radius: 4px;\n padding: 0 12px;\n gap: 8px;\n\n transition: border-color 0.2s, background-color 0.2s;\n\n ${({ hasError, disabled }) => [\n hasError\n ? css`\n border-color: ${roleRed};\n `\n : css`\n &:focus-within {\n border-color: ${contents000};\n }\n `,\n disabled &&\n css`\n background-color: ${bg200};\n `,\n ]}\n`;\n\nexport const InputDecorator = styled.div`\n flex-shrink: 0;\n /* Inline요소가 들어오면 강제로 block으로 처리 (중앙정렬을 위해) */\n > * {\n display: block;\n }\n`;\n\nexport const InputInner = styled.input`\n ${getTypographyStyles('Body1_M')}\n color: ${contents000};\n\n display: block;\n flex-grow: 1;\n width: 100%;\n padding: 10px 0;\n border: 0;\n background-color: transparent;\n\n &:placeholder-shown {\n ${ellipsis()}\n }\n\n &::placeholder {\n color: ${contents200};\n }\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const InputLabel = styled.label`\n ${getTypographyStyles('Headline4_B')}\n display: block;\n margin-bottom: 12px;\n display: flex;\n align-items: center;\n gap: 4px;\n\n & > mark {\n all: unset;\n color: ${roleRed};\n }\n`;\n\nexport const InputError = styled.div`\n ${getTypographyStyles('Body2_M')}\n color: ${roleRed};\n\n margin-top: 8px;\n`;\n\nexport const InputHintText = styled.span<{ textColor?: ColorVariable }>`\n ${getTypographyStyles('Body1_M')}\n color: ${({ textColor }) => textColor};\n white-space: nowrap;\n`;\n\nexport const InputTogglePasswordVisibilityButton = styled.button`\n all: unset;\n appearance: none;\n cursor: pointer;\n flex-shrink: 0;\n\n & > svg {\n display: block;\n }\n`;\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAesC;AAClC;;AAIC;;;;AAGmC;AAapC;;AAAqB;AActB;;;;AAGqC;;;;AAQF;;;;AAwBA;;;;AAcF;;;;AAOI;AAE7B;AAAY;AAAgB;;;;AAIyB;;;;;;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import styled, { css } from 'styled-components';
|
|
3
|
+
import { contents300, roleRed, contents000, bg200, getTypographyStyles, ellipsis, contents200 } from '@remember-web/mixin';
|
|
4
|
+
import { formatUnit } from '../../../../shared/utils/style.js';
|
|
5
|
+
|
|
6
|
+
var InputWrapper = styled.div.withConfig({
|
|
7
|
+
displayName: "styles__InputWrapper",
|
|
8
|
+
componentId: "sc-1ezvdso-0"
|
|
9
|
+
})(["", ";"], function (_ref) {
|
|
10
|
+
var $width = _ref.$width;
|
|
11
|
+
return $width && css(["width:", ";"], formatUnit($width));
|
|
12
|
+
});
|
|
13
|
+
var InputContainer = styled.div.withConfig({
|
|
14
|
+
displayName: "styles__InputContainer",
|
|
15
|
+
componentId: "sc-1ezvdso-1"
|
|
16
|
+
})(["display:flex;align-items:center;border:1px solid ", ";border-radius:4px;padding:0 12px;gap:8px;transition:border-color 0.2s,background-color 0.2s;", ""], contents300, function (_ref2) {
|
|
17
|
+
var hasError = _ref2.hasError,
|
|
18
|
+
disabled = _ref2.disabled;
|
|
19
|
+
return [hasError ? css(["border-color:", ";"], roleRed) : css(["&:focus-within{border-color:", ";}"], contents000), disabled && css(["background-color:", ";"], bg200)];
|
|
20
|
+
});
|
|
21
|
+
var InputDecorator = styled.div.withConfig({
|
|
22
|
+
displayName: "styles__InputDecorator",
|
|
23
|
+
componentId: "sc-1ezvdso-2"
|
|
24
|
+
})(["flex-shrink:0;> *{display:block;}"]);
|
|
25
|
+
var InputInner = styled.input.withConfig({
|
|
26
|
+
displayName: "styles__InputInner",
|
|
27
|
+
componentId: "sc-1ezvdso-3"
|
|
28
|
+
})(["", " color:", ";display:block;flex-grow:1;width:100%;padding:10px 0;border:0;background-color:transparent;&:placeholder-shown{", "}&::placeholder{color:", ";}&:focus{outline:none;}"], getTypographyStyles('Body1_M'), contents000, ellipsis(), contents200);
|
|
29
|
+
var InputLabel = styled.label.withConfig({
|
|
30
|
+
displayName: "styles__InputLabel",
|
|
31
|
+
componentId: "sc-1ezvdso-4"
|
|
32
|
+
})(["", " display:block;margin-bottom:12px;display:flex;align-items:center;gap:4px;& > mark{all:unset;color:", ";}"], getTypographyStyles('Headline4_B'), roleRed);
|
|
33
|
+
var InputError = styled.div.withConfig({
|
|
34
|
+
displayName: "styles__InputError",
|
|
35
|
+
componentId: "sc-1ezvdso-5"
|
|
36
|
+
})(["", " color:", ";margin-top:8px;"], getTypographyStyles('Body2_M'), roleRed);
|
|
37
|
+
var InputHintText = styled.span.withConfig({
|
|
38
|
+
displayName: "styles__InputHintText",
|
|
39
|
+
componentId: "sc-1ezvdso-6"
|
|
40
|
+
})(["", " color:", ";white-space:nowrap;"], getTypographyStyles('Body1_M'), function (_ref3) {
|
|
41
|
+
var textColor = _ref3.textColor;
|
|
42
|
+
return textColor;
|
|
43
|
+
});
|
|
44
|
+
var InputTogglePasswordVisibilityButton = styled.button.withConfig({
|
|
45
|
+
displayName: "styles__InputTogglePasswordVisibilityButton",
|
|
46
|
+
componentId: "sc-1ezvdso-7"
|
|
47
|
+
})(["all:unset;appearance:none;cursor:pointer;flex-shrink:0;& > svg{display:block;}"]);
|
|
48
|
+
|
|
49
|
+
export { InputContainer, InputDecorator, InputError, InputHintText, InputInner, InputLabel, InputTogglePasswordVisibilityButton, InputWrapper };
|
|
50
|
+
//# sourceMappingURL=styles.js.map
|