@cocso-ui/react 0.1.10 → 0.1.11

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.
Files changed (149) hide show
  1. package/dist/cjs/accordion/Accordion.d.ts +15 -0
  2. package/dist/cjs/accordion/Accordion.js +71 -0
  3. package/dist/cjs/accordion/Accordion.module.css.js +9 -0
  4. package/dist/cjs/button/Button.d.ts +23 -0
  5. package/dist/cjs/button/Button.js +115 -0
  6. package/dist/cjs/button/Button.module.css.js +9 -0
  7. package/dist/cjs/checkbox/Checkbox.d.ts +18 -0
  8. package/dist/cjs/checkbox/Checkbox.js +115 -0
  9. package/dist/cjs/checkbox/Checkbox.module.css.js +9 -0
  10. package/dist/cjs/dropdown/Dropdown.d.ts +11 -0
  11. package/dist/cjs/dropdown/Dropdown.js +55 -0
  12. package/dist/cjs/dropdown/Dropdown.module.css.js +9 -0
  13. package/dist/cjs/index.d.ts +19 -0
  14. package/dist/cjs/index.js +53 -0
  15. package/dist/cjs/link/Link.d.ts +16 -0
  16. package/dist/cjs/link/Link.js +35 -0
  17. package/dist/cjs/link/Link.module.css.js +9 -0
  18. package/dist/cjs/modal/Modal.d.ts +12 -0
  19. package/dist/cjs/modal/Modal.js +103 -0
  20. package/dist/cjs/modal/Modal.module.css.js +9 -0
  21. package/dist/cjs/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +28 -0
  22. package/dist/cjs/one-time-password-field/OneTimePasswordField.d.ts +8 -0
  23. package/dist/cjs/one-time-password-field/OneTimePasswordField.js +52 -0
  24. package/dist/cjs/one-time-password-field/OneTimePasswordField.module.css.js +9 -0
  25. package/dist/cjs/pagination/Pagination.d.ts +13 -0
  26. package/dist/cjs/pagination/Pagination.js +83 -0
  27. package/dist/cjs/pagination/Pagination.module.css.js +9 -0
  28. package/dist/cjs/popover/Popover.d.ts +10 -0
  29. package/dist/cjs/popover/Popover.js +44 -0
  30. package/dist/cjs/popover/Popover.module.css.js +9 -0
  31. package/dist/cjs/select/Select.d.ts +12 -0
  32. package/dist/cjs/select/Select.js +84 -0
  33. package/dist/cjs/select/Select.module.css.js +9 -0
  34. package/dist/cjs/spinner/Spinner.d.ts +14 -0
  35. package/dist/cjs/spinner/Spinner.js +40 -0
  36. package/dist/cjs/spinner/Spinner.module.css.js +9 -0
  37. package/dist/cjs/stock-quantity-status/StockQuantityStatus.d.ts +12 -0
  38. package/dist/cjs/stock-quantity-status/StockQuantityStatus.js +105 -0
  39. package/dist/cjs/stock-quantity-status/StockQuantityStatus.module.css.js +9 -0
  40. package/dist/cjs/switch/Switch.d.ts +16 -0
  41. package/dist/cjs/switch/Switch.js +89 -0
  42. package/dist/cjs/switch/Switch.module.css.js +9 -0
  43. package/dist/cjs/tab/Tab.d.ts +10 -0
  44. package/dist/cjs/tab/Tab.js +64 -0
  45. package/dist/{token → cjs/token}/color.d.ts +3 -1
  46. package/dist/cjs/token/color.js +84 -0
  47. package/dist/{token → cjs/token}/spacing.d.ts +3 -1
  48. package/dist/cjs/token/spacing.js +29 -0
  49. package/dist/{token → cjs/token}/typography.d.ts +10 -7
  50. package/dist/cjs/token/typography.js +50 -0
  51. package/dist/cjs/typography/Typography.d.ts +33 -0
  52. package/dist/cjs/typography/Typography.js +90 -0
  53. package/dist/cjs/typography/Typography.module.css.js +9 -0
  54. package/dist/esm/accordion/Accordion.d.mts +15 -0
  55. package/dist/esm/accordion/Accordion.mjs +50 -0
  56. package/dist/esm/accordion/Accordion.module.css.mjs +7 -0
  57. package/dist/esm/button/Button.d.mts +23 -0
  58. package/dist/esm/button/Button.mjs +113 -0
  59. package/dist/esm/button/Button.module.css.mjs +7 -0
  60. package/dist/esm/checkbox/Checkbox.d.mts +18 -0
  61. package/dist/esm/checkbox/Checkbox.mjs +94 -0
  62. package/dist/esm/checkbox/Checkbox.module.css.mjs +7 -0
  63. package/dist/esm/dropdown/Dropdown.d.mts +11 -0
  64. package/dist/esm/dropdown/Dropdown.mjs +34 -0
  65. package/dist/esm/dropdown/Dropdown.module.css.mjs +7 -0
  66. package/dist/esm/index.d.mts +19 -0
  67. package/dist/esm/index.mjs +19 -0
  68. package/dist/esm/link/Link.d.mts +16 -0
  69. package/dist/esm/link/Link.mjs +33 -0
  70. package/dist/esm/link/Link.module.css.mjs +7 -0
  71. package/dist/esm/modal/Modal.d.mts +12 -0
  72. package/dist/esm/modal/Modal.mjs +82 -0
  73. package/dist/esm/modal/Modal.module.css.mjs +7 -0
  74. package/dist/esm/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +26 -0
  75. package/dist/esm/one-time-password-field/OneTimePasswordField.d.mts +8 -0
  76. package/dist/esm/one-time-password-field/OneTimePasswordField.mjs +31 -0
  77. package/dist/esm/one-time-password-field/OneTimePasswordField.module.css.mjs +7 -0
  78. package/dist/esm/pagination/Pagination.d.mts +13 -0
  79. package/dist/esm/pagination/Pagination.mjs +81 -0
  80. package/dist/esm/pagination/Pagination.module.css.mjs +7 -0
  81. package/dist/esm/popover/Popover.d.mts +10 -0
  82. package/dist/esm/popover/Popover.mjs +23 -0
  83. package/dist/esm/popover/Popover.module.css.mjs +7 -0
  84. package/dist/esm/select/Select.d.mts +12 -0
  85. package/dist/esm/select/Select.mjs +82 -0
  86. package/dist/esm/select/Select.module.css.mjs +7 -0
  87. package/dist/esm/spinner/Spinner.d.mts +14 -0
  88. package/dist/esm/spinner/Spinner.mjs +38 -0
  89. package/dist/esm/spinner/Spinner.module.css.mjs +7 -0
  90. package/dist/esm/stock-quantity-status/StockQuantityStatus.d.mts +12 -0
  91. package/dist/esm/stock-quantity-status/StockQuantityStatus.mjs +102 -0
  92. package/dist/esm/stock-quantity-status/StockQuantityStatus.module.css.mjs +7 -0
  93. package/dist/esm/switch/Switch.d.mts +16 -0
  94. package/dist/esm/switch/Switch.mjs +68 -0
  95. package/dist/esm/switch/Switch.module.css.mjs +7 -0
  96. package/dist/esm/tab/Tab.d.mts +10 -0
  97. package/dist/esm/tab/Tab.mjs +43 -0
  98. package/dist/esm/token/color.d.mts +82 -0
  99. package/dist/esm/token/color.mjs +82 -0
  100. package/dist/esm/token/spacing.d.mts +27 -0
  101. package/dist/esm/token/spacing.mjs +27 -0
  102. package/dist/esm/token/typography.d.mts +47 -0
  103. package/dist/esm/token/typography.mjs +46 -0
  104. package/dist/esm/typography/Typography.d.mts +33 -0
  105. package/dist/esm/typography/Typography.mjs +88 -0
  106. package/dist/esm/typography/Typography.module.css.mjs +7 -0
  107. package/package.json +33 -26
  108. package/dist/accordion/Accordion.d.ts +0 -12
  109. package/dist/accordion/index.d.ts +0 -1
  110. package/dist/body/Body.d.ts +0 -11
  111. package/dist/body/index.d.ts +0 -1
  112. package/dist/button/Button.d.ts +0 -18
  113. package/dist/button/index.d.ts +0 -1
  114. package/dist/checkbox/Checkbox.d.ts +0 -13
  115. package/dist/checkbox/index.d.ts +0 -1
  116. package/dist/display/Display.d.ts +0 -11
  117. package/dist/display/index.d.ts +0 -1
  118. package/dist/dropdown/Dropdown.d.ts +0 -7
  119. package/dist/dropdown/index.d.ts +0 -1
  120. package/dist/heading/Heading.d.ts +0 -10
  121. package/dist/heading/index.d.ts +0 -1
  122. package/dist/index.cjs +0 -1
  123. package/dist/index.css +0 -1
  124. package/dist/index.d.ts +0 -20
  125. package/dist/index.js +0 -1
  126. package/dist/link/Link.d.ts +0 -11
  127. package/dist/link/index.d.ts +0 -1
  128. package/dist/modal/Modal.d.ts +0 -8
  129. package/dist/modal/index.d.ts +0 -1
  130. package/dist/one-time-password-field/OneTimePasswordField.d.ts +0 -4
  131. package/dist/one-time-password-field/index.d.ts +0 -1
  132. package/dist/pagination/Pagination.d.ts +0 -8
  133. package/dist/pagination/index.d.ts +0 -1
  134. package/dist/popover/Popover.d.ts +0 -6
  135. package/dist/popover/index.d.ts +0 -1
  136. package/dist/select/Select.d.ts +0 -8
  137. package/dist/select/index.d.ts +0 -1
  138. package/dist/spinner/Spinner.d.ts +0 -9
  139. package/dist/spinner/index.d.ts +0 -1
  140. package/dist/stock-quantity-status/StockQuantityStatus.d.ts +0 -7
  141. package/dist/stock-quantity-status/index.d.ts +0 -1
  142. package/dist/switch/Switch.d.ts +0 -11
  143. package/dist/switch/index.d.ts +0 -1
  144. package/dist/tab/Tab.d.ts +0 -6
  145. package/dist/tab/index.d.ts +0 -1
  146. package/dist/toast/index.d.ts +0 -1
  147. package/dist/token/index.d.ts +0 -3
  148. package/dist/typography/Typography.d.ts +0 -9
  149. package/dist/typography/index.d.ts +0 -1
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ var reactIcons = require('@cocso-ui/react-icons');
4
+ var ModalPrimitive = require('@radix-ui/react-dialog');
5
+ var clsx = require('clsx');
6
+ var react = require('react');
7
+ var Modal_module = require('./Modal.module.css.js');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var Typography = require('../typography/Typography.js');
10
+
11
+ function _interopNamespaceDefault(e) {
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n.default = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ var ModalPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(ModalPrimitive);
29
+
30
+ const ModalContent = /*#__PURE__*/react.forwardRef(({
31
+ className,
32
+ children,
33
+ ...props
34
+ }, ref) => {
35
+ return /*#__PURE__*/jsxRuntime.jsxs(ModalPrimitive__namespace.Portal, {
36
+ children: [/*#__PURE__*/jsxRuntime.jsx(ModalPrimitive__namespace.Overlay, {
37
+ className: Modal_module.overlay
38
+ }), /*#__PURE__*/jsxRuntime.jsx(ModalPrimitive__namespace.Content, {
39
+ ref: ref,
40
+ className: clsx.clsx(Modal_module.content, className),
41
+ ...props,
42
+ children: children
43
+ })]
44
+ });
45
+ });
46
+ const ModalClose = /*#__PURE__*/react.forwardRef(({
47
+ className,
48
+ children,
49
+ ...props
50
+ }, ref) => {
51
+ return /*#__PURE__*/jsxRuntime.jsx(ModalPrimitive__namespace.Close, {
52
+ ref: ref,
53
+ className: clsx.clsx(Modal_module.close, className),
54
+ ...props,
55
+ children: /*#__PURE__*/jsxRuntime.jsx(reactIcons.CloseIcon, {
56
+ size: 24
57
+ })
58
+ });
59
+ });
60
+ const ModalTitle = /*#__PURE__*/react.forwardRef(({
61
+ className,
62
+ children,
63
+ ...props
64
+ }, ref) => {
65
+ return /*#__PURE__*/jsxRuntime.jsx(ModalPrimitive__namespace.Title, {
66
+ ref: ref,
67
+ className: clsx.clsx(Modal_module.title, className),
68
+ asChild: true,
69
+ ...props,
70
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography.Typography, {
71
+ type: "heading",
72
+ color: "text.basic",
73
+ children: children
74
+ })
75
+ });
76
+ });
77
+ const ModalDescription = /*#__PURE__*/react.forwardRef(({
78
+ className,
79
+ children,
80
+ ...props
81
+ }, ref) => {
82
+ return /*#__PURE__*/jsxRuntime.jsx(ModalPrimitive__namespace.Description, {
83
+ ref: ref,
84
+ className: clsx.clsx(Modal_module.description, className),
85
+ asChild: true,
86
+ ...props,
87
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography.Typography, {
88
+ type: "body",
89
+ size: "sm",
90
+ color: "text.subtle",
91
+ children: children
92
+ })
93
+ });
94
+ });
95
+ const Modal = Object.assign(ModalPrimitive__namespace.Root, {
96
+ Trigger: ModalPrimitive__namespace.Trigger,
97
+ Content: ModalContent,
98
+ Close: ModalClose,
99
+ Title: ModalTitle,
100
+ Description: ModalDescription
101
+ });
102
+
103
+ exports.Modal = Modal;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "@keyframes Modal-module_overlay-show__zyvAx{0%{opacity:0}to{opacity:1}}.Modal-module_overlay__7ZBDB{animation:Modal-module_overlay-show__zyvAx .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-black-alpha-30);inset:0;position:fixed;z-index:var(--z-index-overlay)}@keyframes Modal-module_content-show__anq3d{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.Modal-module_content__M1b6Q{animation:Modal-module_content-show__anq3d .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-white);border-radius:8px;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:420px;padding:var(--number-8);position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:var(--z-index-modal)}.Modal-module_close__UbAF7{align-items:center;cursor:pointer;display:flex;height:var(--ds-spacing-10);justify-content:center;width:var(--ds-spacing-10)}.Modal-module_title__oTluo{text-align:center;word-break:keep-all}.Modal-module_description__RgMC5{margin-top:var(--ds-spacing-5);text-align:center}";
6
+ var styles = {"overlay":"Modal-module_overlay__7ZBDB","content":"Modal-module_content__M1b6Q","close":"Modal-module_close__UbAF7","title":"Modal-module_title__oTluo","description":"Modal-module_description__RgMC5"};
7
+ styleInject_es(css_248z);
8
+
9
+ module.exports = styles;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ function styleInject(css, ref) {
4
+ if (ref === void 0) ref = {};
5
+ var insertAt = ref.insertAt;
6
+ if (!css || typeof document === 'undefined') {
7
+ return;
8
+ }
9
+ var head = document.head || document.getElementsByTagName('head')[0];
10
+ var style = document.createElement('style');
11
+ style.type = 'text/css';
12
+ if (insertAt === 'top') {
13
+ if (head.firstChild) {
14
+ head.insertBefore(style, head.firstChild);
15
+ } else {
16
+ head.appendChild(style);
17
+ }
18
+ } else {
19
+ head.appendChild(style);
20
+ }
21
+ if (style.styleSheet) {
22
+ style.styleSheet.cssText = css;
23
+ } else {
24
+ style.appendChild(document.createTextNode(css));
25
+ }
26
+ }
27
+
28
+ module.exports = styleInject;
@@ -0,0 +1,8 @@
1
+ import * as react from 'react';
2
+ import * as OneTimePasswordFieldPrimitive from '@radix-ui/react-one-time-password-field';
3
+
4
+ declare const OneTimePasswordField: react.ForwardRefExoticComponent<Omit<Omit<OneTimePasswordFieldPrimitive.OneTimePasswordFieldProps, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>> & {
5
+ Input: react.ForwardRefExoticComponent<Omit<Omit<OneTimePasswordFieldPrimitive.OneTimePasswordFieldInputProps, "ref"> & react.RefAttributes<HTMLInputElement>, "ref"> & react.RefAttributes<HTMLInputElement>>;
6
+ };
7
+
8
+ export { OneTimePasswordField };
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var OneTimePasswordFieldPrimitive = require('@radix-ui/react-one-time-password-field');
4
+ var clsx = require('clsx');
5
+ var react = require('react');
6
+ var OneTimePasswordField_module = require('./OneTimePasswordField.module.css.js');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespaceDefault(e) {
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var OneTimePasswordFieldPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(OneTimePasswordFieldPrimitive);
27
+
28
+ const OneTimePasswordFieldRoot = /*#__PURE__*/react.forwardRef(({
29
+ className,
30
+ ...props
31
+ }, ref) => {
32
+ return /*#__PURE__*/jsxRuntime.jsx(OneTimePasswordFieldPrimitive__namespace.Root, {
33
+ ref: ref,
34
+ className: clsx.clsx(OneTimePasswordField_module.otp, className),
35
+ ...props
36
+ });
37
+ });
38
+ const OneTimePasswordFieldInput = /*#__PURE__*/react.forwardRef(({
39
+ className,
40
+ ...props
41
+ }, ref) => {
42
+ return /*#__PURE__*/jsxRuntime.jsx(OneTimePasswordFieldPrimitive__namespace.Input, {
43
+ ref: ref,
44
+ className: clsx.clsx(OneTimePasswordField_module.input, className),
45
+ ...props
46
+ });
47
+ });
48
+ const OneTimePasswordField = Object.assign(OneTimePasswordFieldRoot, {
49
+ Input: OneTimePasswordFieldInput
50
+ });
51
+
52
+ exports.OneTimePasswordField = OneTimePasswordField;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = ".OneTimePasswordField-module_otp__zoWO7{align-items:center;display:flex;gap:var(--ds-spacing-5)}.OneTimePasswordField-module_input__owV9H{align-items:center;background-color:var(--ds-color-neutral-50);border:none;border-radius:var(--ds-spacing-2);box-shadow:0 0 0 var(--ds-spacing-1,1px) var(--ds-color-neutral-50);color:var(--ds-color-neutral-950);display:inline-flex;flex:1;font-size:16px;font-weight:500;height:100%;justify-content:center;line-height:1;outline:none;text-align:center;text-transform:uppercase;transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.OneTimePasswordField-module_input__owV9H:focus,.OneTimePasswordField-module_input__owV9H:hover{box-shadow:0 0 0 var(--ds-spacing-1,1px) var(--ds-color-neutral-200)}.OneTimePasswordField-module_input__owV9H::selection{background-color:var(--ds-color-neutral-400)}";
6
+ var styles = {"otp":"OneTimePasswordField-module_otp__zoWO7","input":"OneTimePasswordField-module_input__owV9H"};
7
+ styleInject_es(css_248z);
8
+
9
+ module.exports = styles;
@@ -0,0 +1,13 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef } from 'react';
3
+
4
+ interface PaginationProps extends Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> {
5
+ page: number;
6
+ totalPages: number;
7
+ maxVisible?: number;
8
+ onChange: (pageNumber: number) => void;
9
+ }
10
+ declare const Pagination: react.ForwardRefExoticComponent<PaginationProps & react.RefAttributes<HTMLDivElement>>;
11
+
12
+ export { Pagination };
13
+ export type { PaginationProps };
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var react = require('react');
5
+ var Pagination_module = require('./Pagination.module.css.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ const Pagination = /*#__PURE__*/react.forwardRef(({
9
+ className,
10
+ page,
11
+ totalPages,
12
+ maxVisible = 5,
13
+ onChange,
14
+ ...props
15
+ }, ref) => {
16
+ const halfVisible = Math.ceil(maxVisible / 2);
17
+ const renderPageButton = pageNumber => /*#__PURE__*/jsxRuntime.jsx("button", {
18
+ type: "button",
19
+ className: Pagination_module.item,
20
+ onClick: () => onChange(pageNumber),
21
+ "data-active": page === pageNumber,
22
+ children: pageNumber
23
+ }, pageNumber);
24
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
25
+ ref: ref,
26
+ className: clsx.clsx(Pagination_module.pagination, className),
27
+ ...props,
28
+ children: [totalPages > 1 && /*#__PURE__*/jsxRuntime.jsx("button", {
29
+ className: Pagination_module.arrow,
30
+ type: "button",
31
+ disabled: page === 1,
32
+ onClick: () => page > 1 && onChange(page - 1),
33
+ children: /*#__PURE__*/jsxRuntime.jsx("svg", {
34
+ xmlns: "http://www.w3.org/2000/svg",
35
+ width: "24",
36
+ height: "24",
37
+ viewBox: "0 0 24 24",
38
+ fill: "none",
39
+ stroke: "currentColor",
40
+ strokeWidth: "2",
41
+ strokeLinecap: "round",
42
+ strokeLinejoin: "round",
43
+ "aria-hidden": "true",
44
+ children: /*#__PURE__*/jsxRuntime.jsx("path", {
45
+ d: "m15 18-6-6 6-6"
46
+ })
47
+ })
48
+ }), totalPages <= maxVisible + 2 ? Array(totalPages).fill(0).map((_, index) => renderPageButton(index + 1)) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
49
+ children: [renderPageButton(1), page > 1 + halfVisible && /*#__PURE__*/jsxRuntime.jsx("span", {
50
+ className: Pagination_module.trunc,
51
+ children: "..."
52
+ }), Array(maxVisible).fill(0).map((_, index) => {
53
+ const pageNumber = page - halfVisible + index + 1;
54
+ return pageNumber > 1 && pageNumber < totalPages ? renderPageButton(pageNumber) : '';
55
+ }), page < totalPages - halfVisible && /*#__PURE__*/jsxRuntime.jsx("span", {
56
+ className: Pagination_module.trunc,
57
+ children: "..."
58
+ }), renderPageButton(totalPages)]
59
+ }), totalPages > 1 && /*#__PURE__*/jsxRuntime.jsx("button", {
60
+ className: Pagination_module.arrow,
61
+ type: "button",
62
+ disabled: page === totalPages,
63
+ onClick: () => page < totalPages && onChange(page + 1),
64
+ children: /*#__PURE__*/jsxRuntime.jsx("svg", {
65
+ xmlns: "http://www.w3.org/2000/svg",
66
+ width: "24",
67
+ height: "24",
68
+ viewBox: "0 0 24 24",
69
+ fill: "none",
70
+ stroke: "currentColor",
71
+ strokeWidth: "2",
72
+ strokeLinecap: "round",
73
+ strokeLinejoin: "round",
74
+ "aria-hidden": "true",
75
+ children: /*#__PURE__*/jsxRuntime.jsx("path", {
76
+ d: "m9 18 6-6-6-6"
77
+ })
78
+ })
79
+ })]
80
+ });
81
+ });
82
+
83
+ exports.Pagination = Pagination;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = ".Pagination-module_pagination__viYLy{align-items:center;display:flex;gap:var(--ds-spacing-2);justify-content:center;margin-inline:auto}.Pagination-module_arrow__YYkob,.Pagination-module_item__uVIra{--cocso-pagination-font-color:var(--ds-color-neutral-950);--cocso-pagination-font-weight:inherit;--cocso-pagination-bg-color:inherit;align-items:center;background-color:var(--cocso-pagination-bg-color);border-radius:var(--ds-spacing-4);color:var(--cocso-pagination-font-color);cursor:pointer;display:inline-flex;font-size:16px;font-weight:var(--cocso-pagination-font-weight);height:var(--ds-spacing-13);justify-content:center;transition:background-color .15s ease-in-out;width:var(--ds-spacing-13)}.Pagination-module_arrow__YYkob:disabled{cursor:not-allowed;opacity:.4}.Pagination-module_arrow__YYkob:not([disabled]):hover{--cocso-pagination-bg-color:var(--ds-color-neutral-50)}.Pagination-module_arrow__YYkob:not([disabled]):active{--cocso-pagination-bg-color:var(--ds-color-neutral-100)}.Pagination-module_arrow__YYkob>svg{flex-shrink:0;height:var(--ds-spacing-8);width:var(--ds-spacing-8)}.Pagination-module_item__uVIra[data-active=true]{--cocso-pagination-font-color:var(--ds-color-white);--cocso-pagination-bg-color:var(--ds-color-primary-500);--cocso-pagination-font-weight:600}.Pagination-module_item__uVIra[data-active=false]:hover{--cocso-pagination-bg-color:var(--ds-color-neutral-50)}.Pagination-module_item__uVIra[data-active=false]:active{--cocso-pagination-bg-color:var(--ds-color-neutral-100)}.Pagination-module_trunc__-ZgYQ{align-items:center;color:var(--ds-color-neutral-950);display:inline-flex;font-size:16px;height:var(--ds-spacing-13);justify-content:center;width:var(--ds-spacing-13)}";
6
+ var styles = {"pagination":"Pagination-module_pagination__viYLy","arrow":"Pagination-module_arrow__YYkob","item":"Pagination-module_item__uVIra","trunc":"Pagination-module_trunc__-ZgYQ"};
7
+ styleInject_es(css_248z);
8
+
9
+ module.exports = styles;
@@ -0,0 +1,10 @@
1
+ import * as react from 'react';
2
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
3
+
4
+ declare const Popover: react.FC<PopoverPrimitive.PopoverProps> & {
5
+ Trigger: react.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>>;
6
+ Portal: react.FC<PopoverPrimitive.PopoverPortalProps>;
7
+ Content: react.ForwardRefExoticComponent<Omit<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref">, "ref"> & react.RefAttributes<HTMLDivElement>>;
8
+ };
9
+
10
+ export { Popover };
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var PopoverPrimitive = require('@radix-ui/react-popover');
4
+ var clsx = require('clsx');
5
+ var react = require('react');
6
+ var Popover_module = require('./Popover.module.css.js');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespaceDefault(e) {
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(PopoverPrimitive);
27
+
28
+ const PopoverContent = /*#__PURE__*/react.forwardRef(({
29
+ className,
30
+ ...props
31
+ }, ref) => {
32
+ return /*#__PURE__*/jsxRuntime.jsx(PopoverPrimitive__namespace.Content, {
33
+ ref: ref,
34
+ className: clsx.clsx(Popover_module.content, className),
35
+ ...props
36
+ });
37
+ });
38
+ const Popover = Object.assign(PopoverPrimitive__namespace.Root, {
39
+ Trigger: PopoverPrimitive__namespace.Trigger,
40
+ Portal: PopoverPrimitive__namespace.Portal,
41
+ Content: PopoverContent
42
+ });
43
+
44
+ exports.Popover = Popover;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "@keyframes Popover-module_slide-up-and-fade__adQar{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes Popover-module_slide-right-and-fade__br3DV{0%{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes Popover-module_slide-down-and-fade__Lkl4N{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes Popover-module_slide-left-and-fade__yHinG{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}.Popover-module_content__ry9PF{animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);background-color:var(--ds-white);border:1px solid var(--ds-neutral-100);border-radius:var(--ds-spacing-4);box-shadow:var(--shadow-3);padding-block:var(--ds-spacing-6);padding-inline:var(--ds-spacing-8);will-change:transform,opacity}.Popover-module_content__ry9PF[data-state=open][data-side=top]{animation-name:Popover-module_slide-down-and-fade__Lkl4N}.Popover-module_content__ry9PF[data-state=open][data-side=right]{animation-name:Popover-module_slide-left-and-fade__yHinG}.Popover-module_content__ry9PF[data-state=open][data-side=bottom]{animation-name:Popover-module_slide-up-and-fade__adQar}.Popover-module_content__ry9PF[data-state=open][data-side=left]{animation-name:Popover-module_slide-right-and-fade__br3DV}";
6
+ var styles = {"content":"Popover-module_content__ry9PF"};
7
+ styleInject_es(css_248z);
8
+
9
+ module.exports = styles;
@@ -0,0 +1,12 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef } from 'react';
3
+
4
+ type SelectSize = 'xl' | 'lg' | 'md' | 'sm' | 'xs' | '2xs';
5
+ interface SelectProps extends Omit<ComponentPropsWithoutRef<'select'>, 'size'> {
6
+ size?: SelectSize;
7
+ disabled?: boolean;
8
+ }
9
+ declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLSelectElement>>;
10
+
11
+ export { Select };
12
+ export type { SelectProps };
@@ -0,0 +1,84 @@
1
+ 'use strict';
2
+
3
+ var reactIcons = require('@cocso-ui/react-icons');
4
+ var clsx = require('clsx');
5
+ var react = require('react');
6
+ var tsPattern = require('ts-pattern');
7
+ var Select_module = require('./Select.module.css.js');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var spacing = require('../token/spacing.js');
10
+
11
+ const Select = /*#__PURE__*/react.forwardRef(({
12
+ className,
13
+ style: _style,
14
+ size = 'md',
15
+ disabled = false,
16
+ children,
17
+ ...props
18
+ }, ref) => {
19
+ const style = {
20
+ ..._style,
21
+ ...getStyles(size)
22
+ };
23
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
24
+ className: Select_module.wrapper,
25
+ children: [/*#__PURE__*/jsxRuntime.jsx("select", {
26
+ ref: ref,
27
+ className: clsx.clsx(Select_module.select, className),
28
+ style: style,
29
+ disabled: disabled,
30
+ ...props,
31
+ children: children
32
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
33
+ className: Select_module.icon,
34
+ children: /*#__PURE__*/jsxRuntime.jsx(reactIcons.KeyboardArrowDownIcon, {
35
+ size: 20
36
+ })
37
+ })]
38
+ });
39
+ });
40
+ const getStyles = size => tsPattern.match(size).with('2xs', () => ({
41
+ '--cocso-select-min-width': spacing.spacing.s11,
42
+ '--cocso-select-height': spacing.spacing.s11,
43
+ '--cocso-select-padding-left': spacing.spacing.s5,
44
+ '--cocso-select-padding-right': `calc(${spacing.spacing.s8} + 16px)`,
45
+ '--cocso-select-font-size': '12px',
46
+ '--cocso-select-border-radius': spacing.spacing.s3
47
+ })).with('xs', () => ({
48
+ '--cocso-select-min-width': spacing.spacing.s12,
49
+ '--cocso-select-height': spacing.spacing.s12,
50
+ '--cocso-select-padding-left': spacing.spacing.s6,
51
+ '--cocso-select-padding-right': `calc(${spacing.spacing.s7} + 16px)`,
52
+ '--cocso-select-font-size': '14px',
53
+ '--cocso-select-border-radius': spacing.spacing.s3
54
+ })).with('sm', () => ({
55
+ '--cocso-select-min-width': spacing.spacing.s14,
56
+ '--cocso-select-height': spacing.spacing.s14,
57
+ '--cocso-select-padding-left': spacing.spacing.s7,
58
+ '--cocso-select-padding-right': `calc(${spacing.spacing.s7} + 16px)`,
59
+ '--cocso-select-font-size': '14px',
60
+ '--cocso-select-border-radius': spacing.spacing.s3
61
+ })).with('md', () => ({
62
+ '--cocso-select-min-width': spacing.spacing.s16,
63
+ '--cocso-select-height': spacing.spacing.s16,
64
+ '--cocso-select-padding-left': spacing.spacing.s8,
65
+ '--cocso-select-padding-right': `calc(${spacing.spacing.s8} + 16px)`,
66
+ '--cocso-select-font-size': '16px',
67
+ '--cocso-select-border-radius': spacing.spacing.s4
68
+ })).with('lg', () => ({
69
+ '--cocso-select-min-width': spacing.spacing.s17,
70
+ '--cocso-select-height': spacing.spacing.s17,
71
+ '--cocso-select-padding-left': spacing.spacing.s9,
72
+ '--cocso-select-padding-right': `calc(${spacing.spacing.s9} + 16px)`,
73
+ '--cocso-select-font-size': '18px',
74
+ '--cocso-select-border-radius': spacing.spacing.s4
75
+ })).with('xl', () => ({
76
+ '--cocso-select-min-width': spacing.spacing.s18,
77
+ '--cocso-select-height': spacing.spacing.s18,
78
+ '--cocso-select-padding-left': spacing.spacing.s10,
79
+ '--cocso-select-padding-right': `calc(${spacing.spacing.s10} + 16px)`,
80
+ '--cocso-select-font-size': '18px',
81
+ '--cocso-select-border-radius': spacing.spacing.s4
82
+ })).exhaustive();
83
+
84
+ exports.Select = Select;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = ".Select-module_wrapper__4k8By{cursor:pointer;position:relative;width:fit-content}.Select-module_select__MUUdH{--cocso-select-min-width:inherit;--cocso-select-height:inherit;--cocso-select-padding-left:inherit;--cocso-select-padding-right:inherit;--cocso-select-font-size:inherit;--cocso-select-border-radius:inherit;--cocso-select-bg-color:var(--ds-color-white);appearance:none;-o-appearance:none;-moz-appearance:none;-webkit-appearance:none;background-color:var(--cocso-select-bg-color);border:1px solid var(--ds-color-neutral-100);border-radius:var(--cocso-select-border-radius);color:var(--ds-color-neutral-950);font-size:var(--cocso-select-font-size);height:var(--cocso-select-height);min-width:var(--cocso-select-min-width);padding-left:var(--cocso-select-padding-left);padding-right:var(--cocso-select-padding-right)}.Select-module_select__MUUdH[disabled]{cursor:not-allowed}.Select-module_icon__EuBJI{color:var(--ds-color-neutral-500);pointer-events:none;position:absolute;right:var(--ds-spacing-5);top:50%;transform:translateY(-50%)}.Select-module_icon__EuBJI[disabled]{cursor:not-allowed}";
6
+ var styles = {"wrapper":"Select-module_wrapper__4k8By","select":"Select-module_select__MUUdH","icon":"Select-module_icon__EuBJI"};
7
+ styleInject_es(css_248z);
8
+
9
+ module.exports = styles;
@@ -0,0 +1,14 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef } from 'react';
3
+
4
+ type SpinnerSize = 'xl' | 'lg' | 'md' | 'sm';
5
+ type SpinnerColor = 'primary' | 'neutral' | 'white';
6
+ interface SpinnerProps extends Omit<ComponentPropsWithoutRef<'div'>, 'size' | 'color'> {
7
+ asChild?: boolean;
8
+ size?: SpinnerSize;
9
+ color?: SpinnerColor;
10
+ }
11
+ declare const Spinner: react.ForwardRefExoticComponent<SpinnerProps & react.RefAttributes<HTMLDivElement>>;
12
+
13
+ export { Spinner };
14
+ export type { SpinnerColor, SpinnerProps, SpinnerSize };
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var reactPrimitive = require('@radix-ui/react-primitive');
4
+ var reactSlot = require('@radix-ui/react-slot');
5
+ var clsx = require('clsx');
6
+ var react = require('react');
7
+ var tsPattern = require('ts-pattern');
8
+ var Spinner_module = require('./Spinner.module.css.js');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+ var color = require('../token/color.js');
11
+
12
+ const Spinner = /*#__PURE__*/react.forwardRef(({
13
+ asChild,
14
+ className,
15
+ style: _style,
16
+ size = 'md',
17
+ color = 'primary',
18
+ ...props
19
+ }, ref) => {
20
+ const Comp = asChild ? reactSlot.Slot : reactPrimitive.Primitive.div;
21
+ const style = {
22
+ ..._style,
23
+ '--cocso-spinner-size': getSize(size),
24
+ '--cocso-spinner-border-width': getBorderWidth(size),
25
+ '--cocso-spinner-border-color': getBorderColor(color),
26
+ '--cocso-spinner-bg-color': getBackgroundColor(color)
27
+ };
28
+ return /*#__PURE__*/jsxRuntime.jsx(Comp, {
29
+ ref: ref,
30
+ className: clsx.clsx(Spinner_module.spinner, className),
31
+ style: style,
32
+ ...props
33
+ });
34
+ });
35
+ const getSize = size => tsPattern.match(size).with('xl', () => '40px').with('lg', () => '32px').with('md', () => '24px').with('sm', () => '20px').exhaustive();
36
+ const getBorderWidth = size => tsPattern.match(size).with('xl', () => '5px').with('lg', () => '4px').with('md', () => '3px').with('sm', () => '2px').exhaustive();
37
+ const getBorderColor = color$1 => tsPattern.match(color$1).with('primary', () => color.colors.primary500).with('neutral', () => color.colors.neutral600).with('white', () => color.colors.white).exhaustive();
38
+ const getBackgroundColor = color$1 => tsPattern.match(color$1).with('primary', () => color.colors.primary100).with('neutral', () => color.colors.neutral100).with('white', () => color.colors.whiteAlpha20).exhaustive();
39
+
40
+ exports.Spinner = Spinner;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "@keyframes Spinner-module_donut-spin__cBa-F{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Spinner-module_spinner__iIx6p{--cocso-spinner-size:inherit;--cocso-spinner-border-width:inherit;--cocso-spinner-border-color:inherit;--cocso-spinner-bg-color:inherit;animation:Spinner-module_donut-spin__cBa-F .75s linear infinite;border:var(--cocso-spinner-border-width) solid var(--cocso-spinner-bg-color);border-radius:50%;border-top-color:var(--cocso-spinner-border-color);display:inline-block;height:var(--cocso-spinner-size);position:relative;transform-origin:center center;width:var(--cocso-spinner-size)}";
6
+ var styles = {"spinner":"Spinner-module_spinner__iIx6p"};
7
+ styleInject_es(css_248z);
8
+
9
+ module.exports = styles;
@@ -0,0 +1,12 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef } from 'react';
3
+
4
+ type QuantityStatus = '보통' | '여유' | '부족';
5
+ interface QuantityStatusProps extends ComponentPropsWithoutRef<'div'> {
6
+ quantity: QuantityStatus;
7
+ }
8
+ declare const StockQuantityStatus: react.ForwardRefExoticComponent<QuantityStatusProps & react.RefAttributes<HTMLDivElement>>;
9
+ declare const getColor: (quantity: QuantityStatus) => string;
10
+
11
+ export { StockQuantityStatus, getColor };
12
+ export type { QuantityStatus, QuantityStatusProps };