@cocso-ui/react 1.0.0 → 1.0.1

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 (46) hide show
  1. package/dist/cjs/components/button/button.d.ts +2 -2
  2. package/dist/cjs/components/dialog/dialog.js +3 -1
  3. package/dist/cjs/components/dropdown/dropdown.d.ts +1 -1
  4. package/dist/cjs/components/dropdown/dropdown.js +13 -0
  5. package/dist/cjs/components/dropdown/dropdown.module.css.js +2 -2
  6. package/dist/cjs/components/input/input.js +1 -0
  7. package/dist/cjs/components/input-trigger/input-trigger.d.ts +25 -0
  8. package/dist/cjs/components/input-trigger/input-trigger.js +54 -0
  9. package/dist/cjs/components/input-trigger/input-trigger.module.css.js +9 -0
  10. package/dist/cjs/components/link/link.d.ts +2 -2
  11. package/dist/cjs/components/pagination/pagination.d.ts +4 -2
  12. package/dist/cjs/components/pagination/pagination.js +20 -4
  13. package/dist/cjs/components/popover/popover.js +2 -0
  14. package/dist/cjs/components/popover/popover.module.css.js +2 -2
  15. package/dist/cjs/components/select/select.js +1 -0
  16. package/dist/cjs/components/tab/tab.d.ts +9 -4
  17. package/dist/cjs/components/tooltip/tooltip.js +2 -0
  18. package/dist/cjs/components/tooltip/tooltip.module.css.js +2 -2
  19. package/dist/cjs/components/typography/typography.d.ts +2 -2
  20. package/dist/cjs/index.d.ts +4 -2
  21. package/dist/cjs/index.js +2 -0
  22. package/dist/cjs/primitives/use-render.d.ts +11 -0
  23. package/dist/esm/components/button/button.d.mts +2 -2
  24. package/dist/esm/components/dialog/dialog.mjs +3 -1
  25. package/dist/esm/components/dropdown/dropdown.d.mts +1 -1
  26. package/dist/esm/components/dropdown/dropdown.mjs +13 -0
  27. package/dist/esm/components/dropdown/dropdown.module.css.mjs +1 -1
  28. package/dist/esm/components/input/input.mjs +1 -0
  29. package/dist/esm/components/input-trigger/input-trigger.d.mts +25 -0
  30. package/dist/esm/components/input-trigger/input-trigger.mjs +51 -0
  31. package/dist/esm/components/input-trigger/input-trigger.module.css.mjs +3 -0
  32. package/dist/esm/components/link/link.d.mts +2 -2
  33. package/dist/esm/components/pagination/pagination.d.mts +4 -2
  34. package/dist/esm/components/pagination/pagination.mjs +20 -4
  35. package/dist/esm/components/popover/popover.mjs +2 -0
  36. package/dist/esm/components/popover/popover.module.css.mjs +1 -1
  37. package/dist/esm/components/select/select.mjs +1 -0
  38. package/dist/esm/components/tab/tab.d.mts +9 -4
  39. package/dist/esm/components/tooltip/tooltip.mjs +2 -0
  40. package/dist/esm/components/tooltip/tooltip.module.css.mjs +1 -1
  41. package/dist/esm/components/typography/typography.d.mts +2 -2
  42. package/dist/esm/index.css +1 -1
  43. package/dist/esm/index.d.mts +4 -2
  44. package/dist/esm/index.mjs +1 -0
  45. package/dist/esm/primitives/use-render.d.mts +11 -0
  46. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentProps, ReactNode } from 'react';
3
- import { useRender } from '@base-ui/react/use-render';
3
+ import { RenderProp } from '../../primitives/use-render.js';
4
4
  import { FontWeight } from '../../token/typography.js';
5
5
  import { SpinnerVariant } from '../spinner/spinner.js';
6
6
 
@@ -11,7 +11,7 @@ interface ButtonProps extends Omit<ComponentProps<"button">, "prefix"> {
11
11
  disabled?: boolean;
12
12
  loading?: boolean;
13
13
  prefix?: ReactNode;
14
- render?: useRender.RenderProp;
14
+ render?: RenderProp;
15
15
  shape?: ButtonShape;
16
16
  size?: ButtonSize;
17
17
  spinnerVariant?: SpinnerVariant;
@@ -17,9 +17,11 @@ function DialogContent({
17
17
  }) {
18
18
  return /*#__PURE__*/jsxRuntime.jsxs(dialog.Dialog.Portal, {
19
19
  children: [/*#__PURE__*/jsxRuntime.jsx(dialog.Dialog.Backdrop, {
20
- className: dialog_module.overlay
20
+ className: dialog_module.overlay,
21
+ "data-cocso-component": "dialog-overlay"
21
22
  }), /*#__PURE__*/jsxRuntime.jsx(dialog.Dialog.Popup, {
22
23
  className: cn.cn(dialog_module.panel, dialog_module[size], className),
24
+ "data-cocso-component": "dialog-content",
23
25
  ...props,
24
26
  children: children
25
27
  })]
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ComponentProps, ReactNode } from 'react';
3
3
  import { Menu } from '@base-ui/react/menu';
4
4
 
5
- declare function DropdownContent({ className, ...props }: ComponentProps<typeof Menu.Popup>): react_jsx_runtime.JSX.Element;
5
+ declare function DropdownContent({ className, side, sideOffset, align, alignOffset, arrowPadding, ...props }: ComponentProps<typeof Menu.Popup> & Pick<ComponentProps<typeof Menu.Positioner>, "side" | "sideOffset" | "align" | "alignOffset" | "arrowPadding">): react_jsx_runtime.JSX.Element;
6
6
  declare function DropdownItem({ className, prefix, children, ...props }: Omit<ComponentProps<typeof Menu.Item>, "prefix"> & {
7
7
  prefix?: ReactNode;
8
8
  }): react_jsx_runtime.JSX.Element;
@@ -7,12 +7,24 @@ var menu = require('@base-ui/react/menu');
7
7
 
8
8
  function DropdownContent({
9
9
  className,
10
+ side,
11
+ sideOffset,
12
+ align,
13
+ alignOffset,
14
+ arrowPadding,
10
15
  ...props
11
16
  }) {
12
17
  return /*#__PURE__*/jsxRuntime.jsx(menu.Menu.Portal, {
13
18
  children: /*#__PURE__*/jsxRuntime.jsx(menu.Menu.Positioner, {
19
+ align: align,
20
+ alignOffset: alignOffset,
21
+ arrowPadding: arrowPadding,
22
+ className: dropdown_module.positioner,
23
+ side: side,
24
+ sideOffset: sideOffset,
14
25
  children: /*#__PURE__*/jsxRuntime.jsx(menu.Menu.Popup, {
15
26
  className: cn.cn(dropdown_module.content, className),
27
+ "data-cocso-component": "dropdown-content",
16
28
  ...props
17
29
  })
18
30
  })
@@ -26,6 +38,7 @@ function DropdownItem({
26
38
  }) {
27
39
  return /*#__PURE__*/jsxRuntime.jsxs(menu.Menu.Item, {
28
40
  className: cn.cn(dropdown_module.item, className),
41
+ "data-cocso-component": "dropdown-item",
29
42
  ...props,
30
43
  children: [prefix && /*#__PURE__*/jsxRuntime.jsx("span", {
31
44
  className: dropdown_module.prefix,
@@ -2,8 +2,8 @@
2
2
 
3
3
  var styleInject_es = require('../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
4
 
5
- var css_248z = "@layer components{@keyframes dropdown-module_dropdown-slide-up__OrP7L{0%{opacity:.9;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdown-module_dropdown-slide-down__3NX30{0%{opacity:.9;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.dropdown-module_content__nf11j{animation:none}.dropdown-module_item__BvWCj{transition:none}}.dropdown-module_content__nf11j{animation-duration:var(--cocso-duration-normal);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);border-radius:var(--cocso-radius-3);box-shadow:var(--cocso-shadow-dropdown);display:flex;flex-direction:column;min-width:128px;padding:var(--cocso-spacing-4);will-change:transform,opacity;z-index:var(--cocso-z-index-overlay)}.dropdown-module_content__nf11j[data-side=top]{animation-name:dropdown-module_dropdown-slide-up__OrP7L;margin-bottom:var(--cocso-spacing-3)}.dropdown-module_content__nf11j[data-side=bottom]{animation-name:dropdown-module_dropdown-slide-down__3NX30;margin-top:var(--cocso-spacing-3)}.dropdown-module_item__BvWCj{align-items:center;border-radius:var(--cocso-radius-3);cursor:pointer;display:flex;font-size:var(--cocso-text-sm);gap:var(--cocso-spacing-4);height:fit-content;line-height:1.5;padding-block:var(--cocso-spacing-4);padding-inline:var(--cocso-spacing-5);transition:background-color var(--cocso-duration-fast) var(--cocso-easing-soft),scale var(--cocso-duration-fast) var(--cocso-easing-soft)}.dropdown-module_prefix__oBteB{align-items:center;display:inline-flex;flex-shrink:0;height:14px;justify-content:center;width:14px}@media (hover:hover) and (pointer:fine){.dropdown-module_item__BvWCj:hover{background-color:var(--cocso-color-surface-secondary)}.dropdown-module_item__BvWCj[data-disabled]:hover{background-color:transparent}}.dropdown-module_item__BvWCj:active{scale:.98}.dropdown-module_item__BvWCj[data-disabled]{cursor:not-allowed;opacity:.4}.dropdown-module_item__BvWCj[data-disabled]:active{scale:1}}";
6
- var styles = {"content":"dropdown-module_content__nf11j","item":"dropdown-module_item__BvWCj","prefix":"dropdown-module_prefix__oBteB"};
5
+ var css_248z = "@layer components{@keyframes dropdown-module_dropdown-slide-up__OrP7L{0%{opacity:.9;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdown-module_dropdown-slide-down__3NX30{0%{opacity:.9;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.dropdown-module_content__nf11j{animation:none}.dropdown-module_item__BvWCj{transition:none}}.dropdown-module_content__nf11j,.dropdown-module_positioner__mGdXB{z-index:var(--cocso-z-index-overlay)}.dropdown-module_content__nf11j{animation-duration:var(--cocso-duration-normal);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);border-radius:var(--cocso-radius-3);box-shadow:var(--cocso-shadow-dropdown);display:flex;flex-direction:column;min-width:128px;padding:var(--cocso-spacing-4);will-change:transform,opacity}.dropdown-module_content__nf11j[data-side=top]{animation-name:dropdown-module_dropdown-slide-up__OrP7L;margin-bottom:var(--cocso-spacing-3)}.dropdown-module_content__nf11j[data-side=bottom]{animation-name:dropdown-module_dropdown-slide-down__3NX30;margin-top:var(--cocso-spacing-3)}.dropdown-module_item__BvWCj{align-items:center;border-radius:var(--cocso-radius-3);cursor:pointer;display:flex;font-size:var(--cocso-text-sm);gap:var(--cocso-spacing-4);height:fit-content;line-height:1.5;padding-block:var(--cocso-spacing-4);padding-inline:var(--cocso-spacing-5);transition:background-color var(--cocso-duration-fast) var(--cocso-easing-soft),scale var(--cocso-duration-fast) var(--cocso-easing-soft)}.dropdown-module_prefix__oBteB{align-items:center;display:inline-flex;flex-shrink:0;height:14px;justify-content:center;width:14px}@media (hover:hover) and (pointer:fine){.dropdown-module_item__BvWCj:hover{background-color:var(--cocso-color-surface-secondary)}.dropdown-module_item__BvWCj[data-disabled]:hover{background-color:transparent}}.dropdown-module_item__BvWCj:active{scale:.98}.dropdown-module_item__BvWCj[data-disabled]{cursor:not-allowed;opacity:.4}.dropdown-module_item__BvWCj[data-disabled]:active{scale:1}}";
6
+ var styles = {"content":"dropdown-module_content__nf11j","item":"dropdown-module_item__BvWCj","positioner":"dropdown-module_positioner__mGdXB","prefix":"dropdown-module_prefix__oBteB"};
7
7
  styleInject_es(css_248z);
8
8
 
9
9
  module.exports = styles;
@@ -35,6 +35,7 @@ function Input({
35
35
  className: cn.cn(input.input({
36
36
  size
37
37
  }), input_module.input, stretch && input_module.stretch, hasError && input_module.error, className),
38
+ "data-cocso-component": "input",
38
39
  disabled: disabled,
39
40
  id: id,
40
41
  ref: ref,
@@ -0,0 +1,25 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentProps, ReactNode } from 'react';
3
+ import { InputSize } from '../input/input.js';
4
+
5
+ interface InputTriggerProps extends Omit<ComponentProps<"button">, "prefix"> {
6
+ error?: boolean | string;
7
+ /** Shown in a muted style when no `children` value is present. */
8
+ placeholder?: string;
9
+ /** Leading content (e.g. an icon) rendered before the value. */
10
+ prefix?: ReactNode;
11
+ size?: InputSize;
12
+ stretch?: boolean;
13
+ /** Trailing content (e.g. a calendar or chevron icon). */
14
+ suffix?: ReactNode;
15
+ }
16
+ /**
17
+ * A native `<button>` styled to look like an `Input`. Use it as the trigger for
18
+ * `Dropdown`, `DayPicker`, `MonthPicker`, etc. — being a real button, it never
19
+ * triggers Base UI's `nativeButton` warning, while still presenting an
20
+ * input-like surface (value/placeholder + optional affix icons).
21
+ */
22
+ declare function InputTrigger({ ref, className, size, error, stretch, disabled, prefix, suffix, placeholder, children, ...props }: InputTriggerProps): react_jsx_runtime.JSX.Element;
23
+
24
+ export { InputTrigger };
25
+ export type { InputTriggerProps };
@@ -0,0 +1,54 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var input = require('../../ecosystem/codegen/generated/input.js');
5
+ require('../../ecosystem/codegen/generated/input.css.js');
6
+ var cn = require('../../cn.js');
7
+ var inputTrigger_module = require('./input-trigger.module.css.js');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+
10
+ /**
11
+ * A native `<button>` styled to look like an `Input`. Use it as the trigger for
12
+ * `Dropdown`, `DayPicker`, `MonthPicker`, etc. — being a real button, it never
13
+ * triggers Base UI's `nativeButton` warning, while still presenting an
14
+ * input-like surface (value/placeholder + optional affix icons).
15
+ */
16
+ function InputTrigger({
17
+ ref,
18
+ className,
19
+ size = "medium",
20
+ error = false,
21
+ stretch = false,
22
+ disabled = false,
23
+ prefix,
24
+ suffix,
25
+ placeholder,
26
+ children,
27
+ ...props
28
+ }) {
29
+ const hasError = !!error;
30
+ const hasValue = children != null && children !== "";
31
+ return /*#__PURE__*/jsxRuntime.jsxs("button", {
32
+ "aria-invalid": hasError || undefined,
33
+ className: cn.cn(input.input({
34
+ size
35
+ }), inputTrigger_module.trigger, stretch && inputTrigger_module.stretch, hasError && inputTrigger_module.error, className),
36
+ "data-cocso-component": "input-trigger",
37
+ disabled: disabled,
38
+ ref: ref,
39
+ type: "button",
40
+ ...props,
41
+ children: [prefix && /*#__PURE__*/jsxRuntime.jsx("span", {
42
+ className: inputTrigger_module.affix,
43
+ children: prefix
44
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
45
+ className: cn.cn(inputTrigger_module.value, !hasValue && inputTrigger_module.placeholder),
46
+ children: hasValue ? children : placeholder
47
+ }), suffix && /*#__PURE__*/jsxRuntime.jsx("span", {
48
+ className: inputTrigger_module.affix,
49
+ children: suffix
50
+ })]
51
+ });
52
+ }
53
+
54
+ exports.InputTrigger = InputTrigger;
@@ -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 = "@layer components{.input-trigger-module_trigger__FepZ1{--cocso-input-height:inherit;--cocso-input-padding-x:inherit;--cocso-input-font-size:inherit;--cocso-input-border-radius:inherit;--cocso-input-bg-color:var(--cocso-color-white);align-items:center;background-color:var(--cocso-input-bg-color);border:none;border-radius:var(--cocso-input-border-radius);box-shadow:0 0 0 1px var(--cocso-color-neutral-100),var(--cocso-shadow-xs);color:var(--cocso-color-neutral-950);cursor:pointer;display:inline-flex;font-size:var(--cocso-input-font-size);gap:var(--cocso-spacing-4);height:var(--cocso-input-height);padding-inline:var(--cocso-input-padding-x);text-align:left;transition:box-shadow var(--cocso-duration-fast) var(--cocso-easing-soft);width:fit-content}.input-trigger-module_trigger__FepZ1:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-neutral-400),var(--cocso-shadow-xs);outline:2px solid transparent}.input-trigger-module_trigger__FepZ1.input-trigger-module_stretch__iRyO-{width:100%}.input-trigger-module_trigger__FepZ1:disabled{cursor:not-allowed;opacity:.4}.input-trigger-module_trigger__FepZ1.input-trigger-module_error__qttrx,.input-trigger-module_trigger__FepZ1.input-trigger-module_error__qttrx:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs)}.input-trigger-module_value__3RNV4{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-trigger-module_placeholder__-9y7a{color:var(--cocso-color-neutral-400)}.input-trigger-module_affix__IJsDY{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}}";
6
+ var styles = {"trigger":"input-trigger-module_trigger__FepZ1","stretch":"input-trigger-module_stretch__iRyO-","error":"input-trigger-module_error__qttrx","value":"input-trigger-module_value__3RNV4","placeholder":"input-trigger-module_placeholder__-9y7a","affix":"input-trigger-module_affix__IJsDY"};
7
+ styleInject_es(css_248z);
8
+
9
+ module.exports = styles;
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ExternalLinkIcon } from '@cocso-ui/react-icons';
3
3
  import { ComponentProps } from 'react';
4
- import { useRender } from '@base-ui/react/use-render';
4
+ import { RenderProp } from '../../primitives/use-render.js';
5
5
  import { LineHeight, FontWeight } from '../../token/typography.js';
6
6
  import { TypographyProps } from '../typography/typography.js';
7
7
 
@@ -10,7 +10,7 @@ type LinkVariant = "inline" | "current" | "plain";
10
10
  interface LinkProps extends ComponentProps<"a"> {
11
11
  indicator?: boolean;
12
12
  lineHeight?: LineHeight;
13
- render?: useRender.RenderProp;
13
+ render?: RenderProp;
14
14
  size?: TypographyProps["size"];
15
15
  type?: TypographyProps["type"];
16
16
  variant?: LinkVariant;
@@ -7,15 +7,17 @@ interface PaginationLabels {
7
7
  page?: (n: number) => string;
8
8
  previous?: string;
9
9
  }
10
+ type PaginationLocale = "en" | "ko";
10
11
  interface PaginationProps extends Omit<ComponentProps<"nav">, "onChange"> {
11
12
  labels?: PaginationLabels;
13
+ locale?: PaginationLocale;
12
14
  maxVisible?: number;
13
15
  onChange: (pageNumber: number) => void;
14
16
  page: number;
15
17
  totalPages: number;
16
18
  }
17
19
  /** Page navigation component with previous/next controls and truncated page range. */
18
- declare function Pagination({ ref, className, page, totalPages, maxVisible, onChange, labels, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
20
+ declare function Pagination({ ref, className, page, totalPages, maxVisible, onChange, labels, locale, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
19
21
 
20
22
  export { Pagination };
21
- export type { PaginationLabels, PaginationProps };
23
+ export type { PaginationLabels, PaginationLocale, PaginationProps };
@@ -5,6 +5,20 @@ var cn = require('../../cn.js');
5
5
  var pagination_module = require('./pagination.module.css.js');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
 
8
+ const LOCALE_LABELS = {
9
+ en: {
10
+ navigation: "Page navigation",
11
+ previous: "Previous page",
12
+ next: "Next page",
13
+ page: n => `Page ${n}`
14
+ },
15
+ ko: {
16
+ navigation: "페이지 탐색",
17
+ previous: "이전 페이지",
18
+ next: "다음 페이지",
19
+ page: n => `${n} 페이지`
20
+ }
21
+ };
8
22
  /** Page navigation component with previous/next controls and truncated page range. */
9
23
  function Pagination({
10
24
  ref,
@@ -14,13 +28,15 @@ function Pagination({
14
28
  maxVisible = 5,
15
29
  onChange,
16
30
  labels,
31
+ locale = "en",
17
32
  ...props
18
33
  }) {
19
34
  const halfVisible = Math.ceil(maxVisible / 2);
20
- const navigationLabel = labels?.navigation ?? "Page navigation";
21
- const previousLabel = labels?.previous ?? "Previous page";
22
- const nextLabel = labels?.next ?? "Next page";
23
- const pageLabel = labels?.page ?? (n => `Page ${n}`);
35
+ const defaults = LOCALE_LABELS[locale];
36
+ const navigationLabel = labels?.navigation ?? defaults.navigation;
37
+ const previousLabel = labels?.previous ?? defaults.previous;
38
+ const nextLabel = labels?.next ?? defaults.next;
39
+ const pageLabel = labels?.page ?? defaults.page;
24
40
  const renderPageButton = pageNumber => /*#__PURE__*/jsxRuntime.jsx("button", {
25
41
  "aria-current": page === pageNumber ? "page" : undefined,
26
42
  "aria-label": pageLabel(pageNumber),
@@ -28,10 +28,12 @@ function PopoverContent({
28
28
  align: align,
29
29
  alignOffset: alignOffset,
30
30
  arrowPadding: arrowPadding,
31
+ className: popover_module.positioner,
31
32
  side: side,
32
33
  sideOffset: sideOffset,
33
34
  children: /*#__PURE__*/jsxRuntime.jsx(popover.Popover.Popup, {
34
35
  className: cn.cn(popover_module.content, className),
36
+ "data-cocso-component": "popover-content",
35
37
  ...props
36
38
  })
37
39
  })
@@ -2,8 +2,8 @@
2
2
 
3
3
  var styleInject_es = require('../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
4
 
5
- var css_248z = "@layer components{@keyframes popover-module_slide-up-and-fade__Xlvb6{0%{opacity:.9;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-module_slide-right-and-fade__R8x1-{0%{opacity:.9;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes popover-module_slide-down-and-fade__hwk68{0%{opacity:.9;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-module_slide-left-and-fade__dQXyx{0%{opacity:.9;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.popover-module_content__TwOg0{animation:none}}.popover-module_content__TwOg0{animation-duration:var(--cocso-duration-normal);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);border-radius:var(--cocso-radius-3);box-shadow:var(--cocso-shadow-popover);font-size:var(--cocso-text-sm);line-height:1.5;overflow:visible;padding-block:var(--cocso-spacing-4);padding-inline:var(--cocso-spacing-5);position:relative;will-change:transform,opacity}.popover-module_content__TwOg0[data-open][data-side=top]{animation-name:popover-module_slide-up-and-fade__Xlvb6;margin-bottom:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=right]{animation-name:popover-module_slide-right-and-fade__R8x1-;margin-left:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=bottom]{animation-name:popover-module_slide-down-and-fade__hwk68;margin-top:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=left]{animation-name:popover-module_slide-left-and-fade__dQXyx;margin-right:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=top]:has(.popover-module_arrow__zZuHF){margin-bottom:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=right]:has(.popover-module_arrow__zZuHF){margin-left:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=bottom]:has(.popover-module_arrow__zZuHF){margin-top:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=left]:has(.popover-module_arrow__zZuHF){margin-right:var(--cocso-spacing-6)}.popover-module_arrow__zZuHF{background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);height:10px;width:10px}.popover-module_arrow__zZuHF[data-side=bottom]{border-bottom:none;border-right:none;top:0;transform:translateY(-50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=top]{border-left:none;border-top:none;bottom:0;transform:translateY(50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=right]{border-right:none;border-top:none;left:0;transform:translateX(-50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=left]{border-bottom:none;border-left:none;right:0;transform:translateX(50%) rotate(45deg)}}";
6
- var styles = {"content":"popover-module_content__TwOg0","arrow":"popover-module_arrow__zZuHF"};
5
+ var css_248z = "@layer components{@keyframes popover-module_slide-up-and-fade__Xlvb6{0%{opacity:.9;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-module_slide-right-and-fade__R8x1-{0%{opacity:.9;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes popover-module_slide-down-and-fade__hwk68{0%{opacity:.9;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-module_slide-left-and-fade__dQXyx{0%{opacity:.9;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.popover-module_content__TwOg0{animation:none}}.popover-module_positioner__TnQeH{z-index:var(--cocso-z-index-overlay)}.popover-module_content__TwOg0{animation-duration:var(--cocso-duration-normal);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);border-radius:var(--cocso-radius-3);box-shadow:var(--cocso-shadow-popover);font-size:var(--cocso-text-sm);line-height:1.5;overflow:visible;padding-block:var(--cocso-spacing-4);padding-inline:var(--cocso-spacing-5);position:relative;will-change:transform,opacity}.popover-module_content__TwOg0[data-open][data-side=top]{animation-name:popover-module_slide-up-and-fade__Xlvb6;margin-bottom:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=right]{animation-name:popover-module_slide-right-and-fade__R8x1-;margin-left:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=bottom]{animation-name:popover-module_slide-down-and-fade__hwk68;margin-top:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=left]{animation-name:popover-module_slide-left-and-fade__dQXyx;margin-right:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=top]:has(.popover-module_arrow__zZuHF){margin-bottom:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=right]:has(.popover-module_arrow__zZuHF){margin-left:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=bottom]:has(.popover-module_arrow__zZuHF){margin-top:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=left]:has(.popover-module_arrow__zZuHF){margin-right:var(--cocso-spacing-6)}.popover-module_arrow__zZuHF{background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);height:10px;width:10px}.popover-module_arrow__zZuHF[data-side=bottom]{border-bottom:none;border-right:none;top:0;transform:translateY(-50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=top]{border-left:none;border-top:none;bottom:0;transform:translateY(50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=right]{border-right:none;border-top:none;left:0;transform:translateX(-50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=left]{border-bottom:none;border-left:none;right:0;transform:translateX(50%) rotate(45deg)}}";
6
+ var styles = {"content":"popover-module_content__TwOg0","positioner":"popover-module_positioner__TnQeH","arrow":"popover-module_arrow__zZuHF"};
7
7
  styleInject_es(css_248z);
8
8
 
9
9
  module.exports = styles;
@@ -40,6 +40,7 @@ function Select({
40
40
  className: cn.cn(select.select({
41
41
  size
42
42
  }), select_module.wrapper, stretch && select_module.stretch, hasError && select_module.error, className),
43
+ "data-cocso-component": "select",
43
44
  style: wrapperStyle,
44
45
  children: [/*#__PURE__*/jsxRuntime.jsx(FieldAwareSelect, {
45
46
  "aria-invalid": hasError || undefined,
@@ -2,10 +2,14 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ComponentProps } from 'react';
3
3
  import { Tabs } from '@base-ui/react/tabs';
4
4
 
5
- declare function TabRoot(props: ComponentProps<typeof Tabs.Root>): react_jsx_runtime.JSX.Element;
6
- declare function TabList(props: ComponentProps<typeof Tabs.List>): react_jsx_runtime.JSX.Element;
7
- declare function TabTrigger(props: ComponentProps<typeof Tabs.Tab>): react_jsx_runtime.JSX.Element;
8
- declare function TabContent(props: ComponentProps<typeof Tabs.Panel>): react_jsx_runtime.JSX.Element;
5
+ type TabProps = ComponentProps<typeof Tabs.Root>;
6
+ type TabListProps = ComponentProps<typeof Tabs.List>;
7
+ type TabTriggerProps = ComponentProps<typeof Tabs.Tab>;
8
+ type TabContentProps = ComponentProps<typeof Tabs.Panel>;
9
+ declare function TabRoot(props: TabProps): react_jsx_runtime.JSX.Element;
10
+ declare function TabList(props: TabListProps): react_jsx_runtime.JSX.Element;
11
+ declare function TabTrigger(props: TabTriggerProps): react_jsx_runtime.JSX.Element;
12
+ declare function TabContent(props: TabContentProps): react_jsx_runtime.JSX.Element;
9
13
  declare const Tab: typeof TabRoot & {
10
14
  displayName: "Tab";
11
15
  List: typeof TabList;
@@ -14,3 +18,4 @@ declare const Tab: typeof TabRoot & {
14
18
  };
15
19
 
16
20
  export { Tab };
21
+ export type { TabContentProps, TabListProps, TabProps, TabTriggerProps };
@@ -28,10 +28,12 @@ function TooltipContent({
28
28
  align: align,
29
29
  alignOffset: alignOffset,
30
30
  arrowPadding: arrowPadding,
31
+ className: tooltip_module.positioner,
31
32
  side: side,
32
33
  sideOffset: sideOffset,
33
34
  children: /*#__PURE__*/jsxRuntime.jsx(tooltip.Tooltip.Popup, {
34
35
  className: cn.cn(tooltip_module.content, className),
36
+ "data-cocso-component": "tooltip-content",
35
37
  ...props
36
38
  })
37
39
  })
@@ -2,8 +2,8 @@
2
2
 
3
3
  var styleInject_es = require('../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
4
4
 
5
- var css_248z = "@layer components{@keyframes tooltip-module_slide-up-and-fade__DiOEq{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-module_slide-right-and-fade__o6cCB{0%{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes tooltip-module_slide-down-and-fade__HJFYG{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-module_slide-left-and-fade__ghuNp{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.tooltip-module_content__gv0-E{animation:none}}.tooltip-module_content__gv0-E{animation-duration:var(--cocso-duration-fast);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-inverse);border-radius:var(--cocso-radius-2);color:var(--cocso-color-surface-primary);font-size:var(--cocso-text-xs);line-height:1.5;overflow:visible;padding-block:var(--cocso-spacing-3);padding-inline:var(--cocso-spacing-5);position:relative;will-change:transform,opacity}.tooltip-module_content__gv0-E[data-open][data-side=top]{animation-name:tooltip-module_slide-up-and-fade__DiOEq;margin-bottom:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=right]{animation-name:tooltip-module_slide-right-and-fade__o6cCB;margin-left:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=bottom]{animation-name:tooltip-module_slide-down-and-fade__HJFYG;margin-top:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=left]{animation-name:tooltip-module_slide-left-and-fade__ghuNp;margin-right:var(--cocso-spacing-5)}.tooltip-module_arrow__HFT-V{background-color:var(--cocso-color-surface-inverse);height:6px;width:6px}.tooltip-module_arrow__HFT-V[data-side=bottom]{top:0;transform:translateY(-50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=top]{bottom:0;transform:translateY(50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=right]{left:0;transform:translateX(-50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=left]{right:0;transform:translateX(50%) rotate(45deg)}}";
6
- var styles = {"content":"tooltip-module_content__gv0-E","arrow":"tooltip-module_arrow__HFT-V"};
5
+ var css_248z = "@layer components{@keyframes tooltip-module_slide-up-and-fade__DiOEq{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-module_slide-right-and-fade__o6cCB{0%{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes tooltip-module_slide-down-and-fade__HJFYG{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-module_slide-left-and-fade__ghuNp{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.tooltip-module_content__gv0-E{animation:none}}.tooltip-module_positioner__iuJEP{z-index:var(--cocso-z-index-overlay)}.tooltip-module_content__gv0-E{animation-duration:var(--cocso-duration-fast);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-inverse);border-radius:var(--cocso-radius-2);color:var(--cocso-color-surface-primary);font-size:var(--cocso-text-xs);line-height:1.5;overflow:visible;padding-block:var(--cocso-spacing-3);padding-inline:var(--cocso-spacing-5);position:relative;will-change:transform,opacity}.tooltip-module_content__gv0-E[data-open][data-side=top]{animation-name:tooltip-module_slide-up-and-fade__DiOEq;margin-bottom:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=right]{animation-name:tooltip-module_slide-right-and-fade__o6cCB;margin-left:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=bottom]{animation-name:tooltip-module_slide-down-and-fade__HJFYG;margin-top:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=left]{animation-name:tooltip-module_slide-left-and-fade__ghuNp;margin-right:var(--cocso-spacing-5)}.tooltip-module_arrow__HFT-V{background-color:var(--cocso-color-surface-inverse);height:6px;width:6px}.tooltip-module_arrow__HFT-V[data-side=bottom]{top:0;transform:translateY(-50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=top]{bottom:0;transform:translateY(50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=right]{left:0;transform:translateX(-50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=left]{right:0;transform:translateX(50%) rotate(45deg)}}";
6
+ var styles = {"content":"tooltip-module_content__gv0-E","positioner":"tooltip-module_positioner__iuJEP","arrow":"tooltip-module_arrow__HFT-V"};
7
7
  styleInject_es(css_248z);
8
8
 
9
9
  module.exports = styles;
@@ -1,13 +1,13 @@
1
1
  import * as react from 'react';
2
2
  import { Ref, ComponentProps } from 'react';
3
- import { useRender } from '@base-ui/react/use-render';
3
+ import { RenderProp } from '../../primitives/use-render.js';
4
4
  import { FontWeight, LineHeight, ResponsiveFontSize } from '../../token/typography.js';
5
5
 
6
6
  type BodySize = "large" | "medium" | "small" | "x-small";
7
7
  type HeadingSize = "x-large" | "large" | "medium" | "small" | "x-small";
8
8
  type TypographyPropsBase = {
9
9
  ref?: Ref<HTMLElement>;
10
- render?: useRender.RenderProp;
10
+ render?: RenderProp;
11
11
  weight?: FontWeight;
12
12
  lineHeight?: LineHeight;
13
13
  } & Omit<ComponentProps<"p">, "ref">;
@@ -12,10 +12,11 @@ export { Dialog, DialogCloseProps, DialogSize } from './components/dialog/dialog
12
12
  export { Dropdown } from './components/dropdown/dropdown.js';
13
13
  export { Field, FieldProps, useField } from './components/field/field.js';
14
14
  export { Input, InputProps, InputSize } from './components/input/input.js';
15
+ export { InputTrigger, InputTriggerProps } from './components/input-trigger/input-trigger.js';
15
16
  export { Link, LinkProps, LinkSize, LinkVariant } from './components/link/link.js';
16
17
  export { MonthPicker, MonthPickerProps } from './components/month-picker/month-picker.js';
17
18
  export { OneTimePasswordField, OneTimePasswordFieldProps } from './components/one-time-password-field/one-time-password-field.js';
18
- export { Pagination, PaginationLabels, PaginationProps } from './components/pagination/pagination.js';
19
+ export { Pagination, PaginationLabels, PaginationLocale, PaginationProps } from './components/pagination/pagination.js';
19
20
  export { Popover } from './components/popover/popover.js';
20
21
  export { Progress, ProgressProps, ProgressSize, ProgressVariant } from './components/progress/progress.js';
21
22
  export { RadioGroup, RadioSize } from './components/radio-group/radio-group.js';
@@ -24,10 +25,11 @@ export { Skeleton, SkeletonAnimation, SkeletonProps, SkeletonVariant } from './c
24
25
  export { Spinner, SpinnerProps, SpinnerSize, SpinnerVariant } from './components/spinner/spinner.js';
25
26
  export { QuantityStatus, StockQuantityStatus, StockQuantityStatusProps } from './components/stock-quantity-status/stock-quantity-status.js';
26
27
  export { Switch, SwitchProps, SwitchSize, SwitchVariant } from './components/switch/switch.js';
27
- export { Tab } from './components/tab/tab.js';
28
+ export { Tab, TabContentProps, TabListProps, TabProps, TabTriggerProps } from './components/tab/tab.js';
28
29
  export { Toaster, toast } from 'sonner';
29
30
  export { Tooltip } from './components/tooltip/tooltip.js';
30
31
  export { BodySize, HeadingSize, Typography, TypographyProps } from './components/typography/typography.js';
32
+ export { RenderProp } from './primitives/use-render.js';
31
33
  export { colors } from './token/color.js';
32
34
  export { radius } from './token/radius.js';
33
35
  export { spacing } from './token/spacing.js';
package/dist/cjs/index.js CHANGED
@@ -14,6 +14,7 @@ var dialog = require('./components/dialog/dialog.js');
14
14
  var dropdown = require('./components/dropdown/dropdown.js');
15
15
  var field = require('./components/field/field.js');
16
16
  var input = require('./components/input/input.js');
17
+ var inputTrigger = require('./components/input-trigger/input-trigger.js');
17
18
  var link = require('./components/link/link.js');
18
19
  var monthPicker = require('./components/month-picker/month-picker.js');
19
20
  var oneTimePasswordField = require('./components/one-time-password-field/one-time-password-field.js');
@@ -52,6 +53,7 @@ exports.Dropdown = dropdown.Dropdown;
52
53
  exports.Field = field.Field;
53
54
  exports.useField = field.useField;
54
55
  exports.Input = input.Input;
56
+ exports.InputTrigger = inputTrigger.InputTrigger;
55
57
  exports.Link = link.Link;
56
58
  exports.MonthPicker = monthPicker.MonthPicker;
57
59
  exports.OneTimePasswordField = oneTimePasswordField.OneTimePasswordField;
@@ -0,0 +1,11 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ export { useRender } from '@base-ui/react/use-render';
3
+
4
+ /**
5
+ * Public alias for the `render` prop type accepted by polymorphic components
6
+ * (`Button`, `Link`, `Typography`, …). Re-exported so consumers can type their
7
+ * own `render` values without importing from `@base-ui/react` directly.
8
+ */
9
+ type RenderProp = useRender.RenderProp;
10
+
11
+ export type { RenderProp };
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentProps, ReactNode } from 'react';
3
- import { useRender } from '@base-ui/react/use-render';
3
+ import { RenderProp } from '../../primitives/use-render.mjs';
4
4
  import { FontWeight } from '../../token/typography.mjs';
5
5
  import { SpinnerVariant } from '../spinner/spinner.mjs';
6
6
 
@@ -11,7 +11,7 @@ interface ButtonProps extends Omit<ComponentProps<"button">, "prefix"> {
11
11
  disabled?: boolean;
12
12
  loading?: boolean;
13
13
  prefix?: ReactNode;
14
- render?: useRender.RenderProp;
14
+ render?: RenderProp;
15
15
  shape?: ButtonShape;
16
16
  size?: ButtonSize;
17
17
  spinnerVariant?: SpinnerVariant;
@@ -15,9 +15,11 @@ function DialogContent({
15
15
  }) {
16
16
  return /*#__PURE__*/jsxs(Dialog$1.Portal, {
17
17
  children: [/*#__PURE__*/jsx(Dialog$1.Backdrop, {
18
- className: styles.overlay
18
+ className: styles.overlay,
19
+ "data-cocso-component": "dialog-overlay"
19
20
  }), /*#__PURE__*/jsx(Dialog$1.Popup, {
20
21
  className: cn(styles.panel, styles[size], className),
22
+ "data-cocso-component": "dialog-content",
21
23
  ...props,
22
24
  children: children
23
25
  })]
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ComponentProps, ReactNode } from 'react';
3
3
  import { Menu } from '@base-ui/react/menu';
4
4
 
5
- declare function DropdownContent({ className, ...props }: ComponentProps<typeof Menu.Popup>): react_jsx_runtime.JSX.Element;
5
+ declare function DropdownContent({ className, side, sideOffset, align, alignOffset, arrowPadding, ...props }: ComponentProps<typeof Menu.Popup> & Pick<ComponentProps<typeof Menu.Positioner>, "side" | "sideOffset" | "align" | "alignOffset" | "arrowPadding">): react_jsx_runtime.JSX.Element;
6
6
  declare function DropdownItem({ className, prefix, children, ...props }: Omit<ComponentProps<typeof Menu.Item>, "prefix"> & {
7
7
  prefix?: ReactNode;
8
8
  }): react_jsx_runtime.JSX.Element;
@@ -5,12 +5,24 @@ import { Menu } from '@base-ui/react/menu';
5
5
 
6
6
  function DropdownContent({
7
7
  className,
8
+ side,
9
+ sideOffset,
10
+ align,
11
+ alignOffset,
12
+ arrowPadding,
8
13
  ...props
9
14
  }) {
10
15
  return /*#__PURE__*/jsx(Menu.Portal, {
11
16
  children: /*#__PURE__*/jsx(Menu.Positioner, {
17
+ align: align,
18
+ alignOffset: alignOffset,
19
+ arrowPadding: arrowPadding,
20
+ className: styles.positioner,
21
+ side: side,
22
+ sideOffset: sideOffset,
12
23
  children: /*#__PURE__*/jsx(Menu.Popup, {
13
24
  className: cn(styles.content, className),
25
+ "data-cocso-component": "dropdown-content",
14
26
  ...props
15
27
  })
16
28
  })
@@ -24,6 +36,7 @@ function DropdownItem({
24
36
  }) {
25
37
  return /*#__PURE__*/jsxs(Menu.Item, {
26
38
  className: cn(styles.item, className),
39
+ "data-cocso-component": "dropdown-item",
27
40
  ...props,
28
41
  children: [prefix && /*#__PURE__*/jsx("span", {
29
42
  className: styles.prefix,
@@ -1,3 +1,3 @@
1
- var styles = {"content":"dropdown-module_content__nf11j","item":"dropdown-module_item__BvWCj","prefix":"dropdown-module_prefix__oBteB"};
1
+ var styles = {"content":"dropdown-module_content__nf11j","item":"dropdown-module_item__BvWCj","positioner":"dropdown-module_positioner__mGdXB","prefix":"dropdown-module_prefix__oBteB"};
2
2
 
3
3
  export { styles as default };
@@ -32,6 +32,7 @@ function Input({
32
32
  className: cn(input({
33
33
  size
34
34
  }), styles.input, stretch && styles.stretch, hasError && styles.error, className),
35
+ "data-cocso-component": "input",
35
36
  disabled: disabled,
36
37
  id: id,
37
38
  ref: ref,
@@ -0,0 +1,25 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentProps, ReactNode } from 'react';
3
+ import { InputSize } from '../input/input.mjs';
4
+
5
+ interface InputTriggerProps extends Omit<ComponentProps<"button">, "prefix"> {
6
+ error?: boolean | string;
7
+ /** Shown in a muted style when no `children` value is present. */
8
+ placeholder?: string;
9
+ /** Leading content (e.g. an icon) rendered before the value. */
10
+ prefix?: ReactNode;
11
+ size?: InputSize;
12
+ stretch?: boolean;
13
+ /** Trailing content (e.g. a calendar or chevron icon). */
14
+ suffix?: ReactNode;
15
+ }
16
+ /**
17
+ * A native `<button>` styled to look like an `Input`. Use it as the trigger for
18
+ * `Dropdown`, `DayPicker`, `MonthPicker`, etc. — being a real button, it never
19
+ * triggers Base UI's `nativeButton` warning, while still presenting an
20
+ * input-like surface (value/placeholder + optional affix icons).
21
+ */
22
+ declare function InputTrigger({ ref, className, size, error, stretch, disabled, prefix, suffix, placeholder, children, ...props }: InputTriggerProps): react_jsx_runtime.JSX.Element;
23
+
24
+ export { InputTrigger };
25
+ export type { InputTriggerProps };
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { input } from '../../ecosystem/codegen/generated/input.mjs';
3
+ import { cn } from '../../cn.mjs';
4
+ import styles from './input-trigger.module.css.mjs';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ /**
8
+ * A native `<button>` styled to look like an `Input`. Use it as the trigger for
9
+ * `Dropdown`, `DayPicker`, `MonthPicker`, etc. — being a real button, it never
10
+ * triggers Base UI's `nativeButton` warning, while still presenting an
11
+ * input-like surface (value/placeholder + optional affix icons).
12
+ */
13
+ function InputTrigger({
14
+ ref,
15
+ className,
16
+ size = "medium",
17
+ error = false,
18
+ stretch = false,
19
+ disabled = false,
20
+ prefix,
21
+ suffix,
22
+ placeholder,
23
+ children,
24
+ ...props
25
+ }) {
26
+ const hasError = !!error;
27
+ const hasValue = children != null && children !== "";
28
+ return /*#__PURE__*/jsxs("button", {
29
+ "aria-invalid": hasError || undefined,
30
+ className: cn(input({
31
+ size
32
+ }), styles.trigger, stretch && styles.stretch, hasError && styles.error, className),
33
+ "data-cocso-component": "input-trigger",
34
+ disabled: disabled,
35
+ ref: ref,
36
+ type: "button",
37
+ ...props,
38
+ children: [prefix && /*#__PURE__*/jsx("span", {
39
+ className: styles.affix,
40
+ children: prefix
41
+ }), /*#__PURE__*/jsx("span", {
42
+ className: cn(styles.value, !hasValue && styles.placeholder),
43
+ children: hasValue ? children : placeholder
44
+ }), suffix && /*#__PURE__*/jsx("span", {
45
+ className: styles.affix,
46
+ children: suffix
47
+ })]
48
+ });
49
+ }
50
+
51
+ export { InputTrigger };
@@ -0,0 +1,3 @@
1
+ var styles = {"trigger":"input-trigger-module_trigger__FepZ1","stretch":"input-trigger-module_stretch__iRyO-","error":"input-trigger-module_error__qttrx","value":"input-trigger-module_value__3RNV4","placeholder":"input-trigger-module_placeholder__-9y7a","affix":"input-trigger-module_affix__IJsDY"};
2
+
3
+ export { styles as default };
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ExternalLinkIcon } from '@cocso-ui/react-icons';
3
3
  import { ComponentProps } from 'react';
4
- import { useRender } from '@base-ui/react/use-render';
4
+ import { RenderProp } from '../../primitives/use-render.mjs';
5
5
  import { LineHeight, FontWeight } from '../../token/typography.mjs';
6
6
  import { TypographyProps } from '../typography/typography.mjs';
7
7
 
@@ -10,7 +10,7 @@ type LinkVariant = "inline" | "current" | "plain";
10
10
  interface LinkProps extends ComponentProps<"a"> {
11
11
  indicator?: boolean;
12
12
  lineHeight?: LineHeight;
13
- render?: useRender.RenderProp;
13
+ render?: RenderProp;
14
14
  size?: TypographyProps["size"];
15
15
  type?: TypographyProps["type"];
16
16
  variant?: LinkVariant;
@@ -7,15 +7,17 @@ interface PaginationLabels {
7
7
  page?: (n: number) => string;
8
8
  previous?: string;
9
9
  }
10
+ type PaginationLocale = "en" | "ko";
10
11
  interface PaginationProps extends Omit<ComponentProps<"nav">, "onChange"> {
11
12
  labels?: PaginationLabels;
13
+ locale?: PaginationLocale;
12
14
  maxVisible?: number;
13
15
  onChange: (pageNumber: number) => void;
14
16
  page: number;
15
17
  totalPages: number;
16
18
  }
17
19
  /** Page navigation component with previous/next controls and truncated page range. */
18
- declare function Pagination({ ref, className, page, totalPages, maxVisible, onChange, labels, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
20
+ declare function Pagination({ ref, className, page, totalPages, maxVisible, onChange, labels, locale, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
19
21
 
20
22
  export { Pagination };
21
- export type { PaginationLabels, PaginationProps };
23
+ export type { PaginationLabels, PaginationLocale, PaginationProps };
@@ -3,6 +3,20 @@ import { cn } from '../../cn.mjs';
3
3
  import styles from './pagination.module.css.mjs';
4
4
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
5
5
 
6
+ const LOCALE_LABELS = {
7
+ en: {
8
+ navigation: "Page navigation",
9
+ previous: "Previous page",
10
+ next: "Next page",
11
+ page: n => `Page ${n}`
12
+ },
13
+ ko: {
14
+ navigation: "페이지 탐색",
15
+ previous: "이전 페이지",
16
+ next: "다음 페이지",
17
+ page: n => `${n} 페이지`
18
+ }
19
+ };
6
20
  /** Page navigation component with previous/next controls and truncated page range. */
7
21
  function Pagination({
8
22
  ref,
@@ -12,13 +26,15 @@ function Pagination({
12
26
  maxVisible = 5,
13
27
  onChange,
14
28
  labels,
29
+ locale = "en",
15
30
  ...props
16
31
  }) {
17
32
  const halfVisible = Math.ceil(maxVisible / 2);
18
- const navigationLabel = labels?.navigation ?? "Page navigation";
19
- const previousLabel = labels?.previous ?? "Previous page";
20
- const nextLabel = labels?.next ?? "Next page";
21
- const pageLabel = labels?.page ?? (n => `Page ${n}`);
33
+ const defaults = LOCALE_LABELS[locale];
34
+ const navigationLabel = labels?.navigation ?? defaults.navigation;
35
+ const previousLabel = labels?.previous ?? defaults.previous;
36
+ const nextLabel = labels?.next ?? defaults.next;
37
+ const pageLabel = labels?.page ?? defaults.page;
22
38
  const renderPageButton = pageNumber => /*#__PURE__*/jsx("button", {
23
39
  "aria-current": page === pageNumber ? "page" : undefined,
24
40
  "aria-label": pageLabel(pageNumber),
@@ -26,10 +26,12 @@ function PopoverContent({
26
26
  align: align,
27
27
  alignOffset: alignOffset,
28
28
  arrowPadding: arrowPadding,
29
+ className: styles.positioner,
29
30
  side: side,
30
31
  sideOffset: sideOffset,
31
32
  children: /*#__PURE__*/jsx(Popover$1.Popup, {
32
33
  className: cn(styles.content, className),
34
+ "data-cocso-component": "popover-content",
33
35
  ...props
34
36
  })
35
37
  })
@@ -1,3 +1,3 @@
1
- var styles = {"content":"popover-module_content__TwOg0","arrow":"popover-module_arrow__zZuHF"};
1
+ var styles = {"content":"popover-module_content__TwOg0","positioner":"popover-module_positioner__TnQeH","arrow":"popover-module_arrow__zZuHF"};
2
2
 
3
3
  export { styles as default };
@@ -37,6 +37,7 @@ function Select({
37
37
  className: cn(select({
38
38
  size
39
39
  }), styles.wrapper, stretch && styles.stretch, hasError && styles.error, className),
40
+ "data-cocso-component": "select",
40
41
  style: wrapperStyle,
41
42
  children: [/*#__PURE__*/jsx(FieldAwareSelect, {
42
43
  "aria-invalid": hasError || undefined,
@@ -2,10 +2,14 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ComponentProps } from 'react';
3
3
  import { Tabs } from '@base-ui/react/tabs';
4
4
 
5
- declare function TabRoot(props: ComponentProps<typeof Tabs.Root>): react_jsx_runtime.JSX.Element;
6
- declare function TabList(props: ComponentProps<typeof Tabs.List>): react_jsx_runtime.JSX.Element;
7
- declare function TabTrigger(props: ComponentProps<typeof Tabs.Tab>): react_jsx_runtime.JSX.Element;
8
- declare function TabContent(props: ComponentProps<typeof Tabs.Panel>): react_jsx_runtime.JSX.Element;
5
+ type TabProps = ComponentProps<typeof Tabs.Root>;
6
+ type TabListProps = ComponentProps<typeof Tabs.List>;
7
+ type TabTriggerProps = ComponentProps<typeof Tabs.Tab>;
8
+ type TabContentProps = ComponentProps<typeof Tabs.Panel>;
9
+ declare function TabRoot(props: TabProps): react_jsx_runtime.JSX.Element;
10
+ declare function TabList(props: TabListProps): react_jsx_runtime.JSX.Element;
11
+ declare function TabTrigger(props: TabTriggerProps): react_jsx_runtime.JSX.Element;
12
+ declare function TabContent(props: TabContentProps): react_jsx_runtime.JSX.Element;
9
13
  declare const Tab: typeof TabRoot & {
10
14
  displayName: "Tab";
11
15
  List: typeof TabList;
@@ -14,3 +18,4 @@ declare const Tab: typeof TabRoot & {
14
18
  };
15
19
 
16
20
  export { Tab };
21
+ export type { TabContentProps, TabListProps, TabProps, TabTriggerProps };
@@ -26,10 +26,12 @@ function TooltipContent({
26
26
  align: align,
27
27
  alignOffset: alignOffset,
28
28
  arrowPadding: arrowPadding,
29
+ className: styles.positioner,
29
30
  side: side,
30
31
  sideOffset: sideOffset,
31
32
  children: /*#__PURE__*/jsx(Tooltip$1.Popup, {
32
33
  className: cn(styles.content, className),
34
+ "data-cocso-component": "tooltip-content",
33
35
  ...props
34
36
  })
35
37
  })
@@ -1,3 +1,3 @@
1
- var styles = {"content":"tooltip-module_content__gv0-E","arrow":"tooltip-module_arrow__HFT-V"};
1
+ var styles = {"content":"tooltip-module_content__gv0-E","positioner":"tooltip-module_positioner__iuJEP","arrow":"tooltip-module_arrow__HFT-V"};
2
2
 
3
3
  export { styles as default };
@@ -1,13 +1,13 @@
1
1
  import * as react from 'react';
2
2
  import { Ref, ComponentProps } from 'react';
3
- import { useRender } from '@base-ui/react/use-render';
3
+ import { RenderProp } from '../../primitives/use-render.mjs';
4
4
  import { FontWeight, LineHeight, ResponsiveFontSize } from '../../token/typography.mjs';
5
5
 
6
6
  type BodySize = "large" | "medium" | "small" | "x-small";
7
7
  type HeadingSize = "x-large" | "large" | "medium" | "small" | "x-small";
8
8
  type TypographyPropsBase = {
9
9
  ref?: Ref<HTMLElement>;
10
- render?: useRender.RenderProp;
10
+ render?: RenderProp;
11
11
  weight?: FontWeight;
12
12
  lineHeight?: LineHeight;
13
13
  } & Omit<ComponentProps<"p">, "ref">;
@@ -4,4 +4,4 @@
4
4
  --cocso-desktop-typography-font-size,var(
5
5
  --cocso-tablet-typography-font-size,var(--cocso-typography-font-size)
6
6
  )
7
- )}}}@layer components{.badge-module_badge__4Tx0D{--cocso-badge-padding:inherit;--cocso-badge-border-radius:inherit;--cocso-badge-bg-color:inherit;--cocso-badge-border:none;background-color:var(--cocso-badge-bg-color);border:var(--cocso-badge-border);border-radius:var(--cocso-badge-border-radius);color:var(--cocso-badge-font-color);display:inline-flex;padding:var(--cocso-badge-padding);-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.badge-module_circle__NP4-2{aspect-ratio:1;justify-content:center;padding:var(--cocso-badge-padding-y)}.badge-module_inner__YYjpI{align-items:center;display:inline-flex;gap:var(--cocso-spacing-2)}}.cocso-breadcrumb{--cocso-breadcrumb-font-color:var(--cocso-color-text-muted)}.cocso-breadcrumb.cocso-breadcrumb--size-sm{--cocso-breadcrumb-font-size:12px}.cocso-breadcrumb.cocso-breadcrumb--size-md{--cocso-breadcrumb-font-size:14px}.cocso-breadcrumb.cocso-breadcrumb--size-lg{--cocso-breadcrumb-font-size:16px}@layer components{.breadcrumb-module_breadcrumb__dW5v-{color:var(--cocso-breadcrumb-font-color);font-size:var(--cocso-breadcrumb-font-size)}.breadcrumb-module_list__mLCBo{align-items:center;display:flex;flex-wrap:wrap;gap:var(--cocso-spacing-2);list-style:none;margin:0;padding:0}.breadcrumb-module_item__G0t2y{align-items:center;display:inline-flex;gap:var(--cocso-spacing-2)}.breadcrumb-module_item__G0t2y:last-child{color:var(--cocso-color-neutral-950);font-weight:500}.breadcrumb-module_separator__wMAks{color:var(--cocso-color-neutral-300);user-select:none}}.cocso-button.cocso-button--variant-primary{--cocso-button-bg-color:var(--cocso-color-interactive-primary);--cocso-button-font-color:var(--cocso-color-text-on-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-primary-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-primary-active)}.cocso-button.cocso-button--variant-secondary{--cocso-button-bg-color:var(--cocso-color-surface-secondary);--cocso-button-font-color:var(--cocso-color-text-secondary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-secondary);--cocso-button-bg-color-active:var(--cocso-color-interactive-secondary-hover)}.cocso-button.cocso-button--variant-outline{--cocso-button-bg-color:var(--cocso-color-transparent);--cocso-button-font-color:var(--cocso-color-text-primary);--cocso-button-border:1px solid var(--cocso-color-border-secondary);--cocso-button-bg-color-hover:var(--cocso-color-surface-secondary);--cocso-button-bg-color-active:var(--cocso-color-interactive-secondary)}.cocso-button.cocso-button--variant-ghost{--cocso-button-bg-color:var(--cocso-color-surface-primary);--cocso-button-font-color:var(--cocso-color-text-primary);--cocso-button-bg-color-hover:var(--cocso-color-surface-secondary);--cocso-button-bg-color-active:var(--cocso-color-interactive-secondary)}.cocso-button.cocso-button--variant-success{--cocso-button-bg-color:var(--cocso-color-interactive-success);--cocso-button-font-color:var(--cocso-color-text-on-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-success-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-success-active)}.cocso-button.cocso-button--variant-error{--cocso-button-bg-color:var(--cocso-color-interactive-danger);--cocso-button-font-color:var(--cocso-color-text-on-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-danger-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-danger-active)}.cocso-button.cocso-button--variant-warning{--cocso-button-bg-color:var(--cocso-color-interactive-warning);--cocso-button-font-color:var(--cocso-color-text-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-warning-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-warning-active)}.cocso-button.cocso-button--variant-info{--cocso-button-bg-color:var(--cocso-color-interactive-info);--cocso-button-font-color:var(--cocso-color-text-on-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-info-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-info-active)}.cocso-button.cocso-button--size-large{--cocso-button-height:40px;--cocso-button-padding-inline:14px;--cocso-button-content-padding:0 6px;--cocso-button-font-size:14px}.cocso-button.cocso-button--size-medium{--cocso-button-height:36px;--cocso-button-padding-inline:12px;--cocso-button-content-padding:0 6px;--cocso-button-font-size:14px}.cocso-button.cocso-button--size-small{--cocso-button-height:32px;--cocso-button-padding-inline:10px;--cocso-button-content-padding:0 2px;--cocso-button-font-size:14px}.cocso-button.cocso-button--size-x-small{--cocso-button-height:28px;--cocso-button-padding-inline:8px;--cocso-button-content-padding:0;--cocso-button-font-size:12px}.cocso-button.cocso-button--shape-circle{--cocso-button-border-radius:100%}.cocso-button.cocso-button--shape-rounded{--cocso-button-border-radius:var(--cocso-radius-full)}.cocso-button.cocso-button--shape-square.cocso-button--size-x-small{--cocso-button-border-radius:var(--cocso-radius-3)}.cocso-button.cocso-button--shape-square.cocso-button--size-large,.cocso-button.cocso-button--shape-square.cocso-button--size-medium,.cocso-button.cocso-button--shape-square.cocso-button--size-small{--cocso-button-border-radius:var(--cocso-radius-4)}.cocso-spinner.cocso-spinner--variant-primary{--cocso-spinner-blade-color:var(--cocso-color-interactive-primary)}.cocso-spinner.cocso-spinner--variant-secondary{--cocso-spinner-blade-color:var(--cocso-color-text-muted)}.cocso-spinner.cocso-spinner--variant-success{--cocso-spinner-blade-color:var(--cocso-color-feedback-success)}.cocso-spinner.cocso-spinner--variant-error{--cocso-spinner-blade-color:var(--cocso-color-feedback-danger)}.cocso-spinner.cocso-spinner--variant-warning{--cocso-spinner-blade-color:var(--cocso-color-feedback-warning)}.cocso-spinner.cocso-spinner--variant-info{--cocso-spinner-blade-color:var(--cocso-color-feedback-info)}.cocso-spinner.cocso-spinner--variant-white{--cocso-spinner-blade-color:var(--cocso-color-surface-primary)}.cocso-spinner.cocso-spinner--size-large{--cocso-spinner-blades:10px;--cocso-spinner-blade-width:2px;--cocso-spinner-blade-height:6px;--cocso-spinner-blade-radius:1px;--cocso-spinner-output:20px}.cocso-spinner.cocso-spinner--size-medium{--cocso-spinner-blades:8px;--cocso-spinner-blade-width:2px;--cocso-spinner-blade-height:5px;--cocso-spinner-blade-radius:1px;--cocso-spinner-output:16px}.cocso-spinner.cocso-spinner--size-small{--cocso-spinner-blades:6px;--cocso-spinner-blade-width:1.5px;--cocso-spinner-blade-height:4px;--cocso-spinner-blade-radius:0.75px;--cocso-spinner-output:12px}@layer components{@keyframes spinner-module_spinner-blade-fade__Xtrit{0%{opacity:1}to{opacity:.15}}.spinner-module_spinner__28e7a{color:var(--cocso-spinner-blade-color);display:block;flex-shrink:0;position:relative}.spinner-module_blade__EIEE6{animation:spinner-module_spinner-blade-fade__Xtrit var(--cocso-duration-decorative) linear infinite;bottom:0;position:absolute}@keyframes spinner-module_spinner-reduced-pulse__-WlGM{0%,to{opacity:.4}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){.spinner-module_blade__EIEE6{animation:spinner-module_spinner-reduced-pulse__-WlGM 2s ease-in-out infinite;animation-delay:0s!important}}}@layer components{.button-module_button__5dzDN{--cocso-button-height:inherit;--cocso-button-padding-inline:inherit;--cocso-button-content-padding:inherit;--cocso-button-font-color:inherit;--cocso-button-font-size:inherit;--cocso-button-font-weight:inherit;--cocso-button-border:inherit;--cocso-button-border-radius:inherit;--cocso-button-bg-color:inherit;align-items:center;background-color:var(--cocso-button-bg-color);border:var(--cocso-button-border,none);border-radius:var(--cocso-button-border-radius);color:var(--cocso-button-font-color);cursor:pointer;display:inline-flex;font-size:var(--cocso-button-font-size);font-weight:var(--cocso-button-font-weight);height:var(--cocso-button-height);justify-content:center;opacity:1;padding-inline:var(--cocso-button-padding-inline);position:relative;transition:background-color var(--cocso-duration-fast) var(--cocso-easing-default)}@media (hover:hover) and (pointer:fine){.button-module_button__5dzDN:not([disabled]):hover{--cocso-button-bg-color-hover:inherit;background-color:var(--cocso-button-bg-color-hover)}}.button-module_button__5dzDN:not([disabled]):active{--cocso-button-bg-color-active:inherit;background-color:var(--cocso-button-bg-color-active)}.button-module_content__q0g4H{padding:var(--cocso-button-content-padding)}.button-module_prefix__836bE{margin-right:var(--cocso-spacing-2)}.button-module_prefix__836bE,.button-module_suffix__6k1TK{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.button-module_suffix__6k1TK{margin-left:var(--cocso-spacing-2)}.button-module_button__5dzDN:focus-visible{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.button-module_button__5dzDN[disabled]{cursor:not-allowed;opacity:.4}.button-module_svgOnly__QHNx6{aspect-ratio:1/1;padding:0}.button-module_spinnerOverlay__kbemq{inset:0;position:absolute}.button-module_buttonInner__aXpaa,.button-module_spinnerOverlay__kbemq{align-items:center;display:inline-flex;justify-content:center}.button-module_invisible__esdRe{opacity:0}}.cocso-card.cocso-card--variant-elevated,.cocso-card.cocso-card--variant-outlined{--cocso-card-bg-color:var(--cocso-color-surface-primary);--cocso-card-border-radius:var(--cocso-radius-4)}.cocso-card.cocso-card--variant-outlined{--cocso-card-border:1px solid var(--cocso-color-border-secondary)}.cocso-card.cocso-card--variant-filled{--cocso-card-bg-color:var(--cocso-color-surface-secondary);--cocso-card-border-radius:var(--cocso-radius-4)}.cocso-card.cocso-card--padding-sm{--cocso-card-padding:12px}.cocso-card.cocso-card--padding-md{--cocso-card-padding:16px}.cocso-card.cocso-card--padding-lg{--cocso-card-padding:24px}@layer components{.card-module_card__ZPFTz{background-color:var(--cocso-card-bg-color);border:var(--cocso-card-border,none);border-radius:var(--cocso-card-border-radius);display:flex;flex-direction:column;padding:var(--cocso-card-padding)}.card-module_elevated__Gua8s{box-shadow:var(--cocso-shadow-card)}}.cocso-checkbox.cocso-checkbox--size-large{--cocso-checkbox-size:18px;--cocso-checkbox-radius:var(--cocso-radius-3)}.cocso-checkbox.cocso-checkbox--size-medium{--cocso-checkbox-size:16px;--cocso-checkbox-radius:var(--cocso-radius-2)}.cocso-checkbox.cocso-checkbox--size-small{--cocso-checkbox-size:14px;--cocso-checkbox-radius:var(--cocso-radius-1)}.cocso-checkbox.cocso-checkbox--status-on{--cocso-checkbox-border-color:var(--cocso-color-interactive-primary);--cocso-checkbox-bg-color:var(--cocso-color-interactive-primary);--cocso-checkbox-bg-color-hover:var(--cocso-color-interactive-primary-hover);--cocso-checkbox-border-color-hover:var(--cocso-color-interactive-primary-hover)}.cocso-checkbox.cocso-checkbox--status-off{--cocso-checkbox-border-color:var(--cocso-color-border-secondary);--cocso-checkbox-bg-color:var(--cocso-color-surface-primary);--cocso-checkbox-bg-color-hover:var(--cocso-color-interactive-secondary-hover);--cocso-checkbox-border-color-hover:var(--cocso-color-interactive-secondary-hover)}.cocso-checkbox.cocso-checkbox--status-intermediate{--cocso-checkbox-border-color:var(--cocso-color-interactive-primary);--cocso-checkbox-bg-color:var(--cocso-color-interactive-primary);--cocso-checkbox-bg-color-hover:var(--cocso-color-interactive-primary-hover);--cocso-checkbox-border-color-hover:var(--cocso-color-interactive-primary-hover)}@layer components{.checkbox-module_wrapper__vP2bp{align-items:center;display:flex;gap:var(--cocso-spacing-5)}.checkbox-module_checkbox__zAB1y{--cocso-checkbox-size:inherit;--cocso-checkbox-color:inherit;--cocso-checkbox-border-color:inherit;--cocso-checkbox-bg-color:inherit;align-items:center;background-color:var(--cocso-checkbox-bg-color);border:1px solid var(--cocso-checkbox-border-color);border-radius:var(--cocso-checkbox-radius);color:var(--cocso-checkbox-color);cursor:pointer;display:inline-flex;height:var(--cocso-checkbox-size);justify-content:center;opacity:1;position:relative;transition:color var(--cocso-duration-fast) var(--cocso-easing-default),border-color var(--cocso-duration-fast) var(--cocso-easing-default),background-color var(--cocso-duration-fast) var(--cocso-easing-default);width:var(--cocso-checkbox-size)}.checkbox-module_icon__Taf0X{stroke:var(--cocso-checkbox-color);display:block;height:auto;max-width:100%;transition:stroke var(--cocso-duration-fast) var(--cocso-easing-default)}.checkbox-module_checkbox__zAB1y:focus-within{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.checkbox-module_checkbox__zAB1y input[type=checkbox]{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.checkbox-module_indicator__Cs9Yi{bottom:var(--cocso-spacing-1);left:var(--cocso-spacing-1);position:absolute;right:var(--cocso-spacing-1);top:var(--cocso-spacing-1);transition:opacity var(--cocso-duration-fast) var(--cocso-easing-default)}.checkbox-module_label__EvRQ7{cursor:pointer;opacity:1}.checkbox-module_checkbox__zAB1y[data-disabled],.checkbox-module_label__EvRQ7[aria-disabled=true]{cursor:not-allowed;opacity:.4}}@layer components{@keyframes dropdown-module_dropdown-slide-up__OrP7L{0%{opacity:.9;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdown-module_dropdown-slide-down__3NX30{0%{opacity:.9;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.dropdown-module_content__nf11j{animation:none}.dropdown-module_item__BvWCj{transition:none}}.dropdown-module_content__nf11j{animation-duration:var(--cocso-duration-normal);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);border-radius:var(--cocso-radius-3);box-shadow:var(--cocso-shadow-dropdown);display:flex;flex-direction:column;min-width:128px;padding:var(--cocso-spacing-4);will-change:transform,opacity;z-index:var(--cocso-z-index-overlay)}.dropdown-module_content__nf11j[data-side=top]{animation-name:dropdown-module_dropdown-slide-up__OrP7L;margin-bottom:var(--cocso-spacing-3)}.dropdown-module_content__nf11j[data-side=bottom]{animation-name:dropdown-module_dropdown-slide-down__3NX30;margin-top:var(--cocso-spacing-3)}.dropdown-module_item__BvWCj{align-items:center;border-radius:var(--cocso-radius-3);cursor:pointer;display:flex;font-size:var(--cocso-text-sm);gap:var(--cocso-spacing-4);height:fit-content;line-height:1.5;padding-block:var(--cocso-spacing-4);padding-inline:var(--cocso-spacing-5);transition:background-color var(--cocso-duration-fast) var(--cocso-easing-soft),scale var(--cocso-duration-fast) var(--cocso-easing-soft)}.dropdown-module_prefix__oBteB{align-items:center;display:inline-flex;flex-shrink:0;height:14px;justify-content:center;width:14px}@media (hover:hover) and (pointer:fine){.dropdown-module_item__BvWCj:hover{background-color:var(--cocso-color-surface-secondary)}.dropdown-module_item__BvWCj[data-disabled]:hover{background-color:transparent}}.dropdown-module_item__BvWCj:active{scale:.98}.dropdown-module_item__BvWCj[data-disabled]{cursor:not-allowed;opacity:.4}.dropdown-module_item__BvWCj[data-disabled]:active{scale:1}.day-picker-module_root__QVrbb{display:inline-block;transform:translateZ(0)}.day-picker-module_content__34qUu{border-radius:var(--cocso-radius-4);min-width:260px;overflow:hidden;padding:var(--cocso-spacing-7)}.day-picker-module_menu__2eMt0{align-items:center;display:flex;gap:var(--cocso-spacing-3);justify-content:center}.day-picker-module_arrow__p9QLq{height:24px;width:24px}.react-datepicker__day.day-picker-module_sunday__nVavs{color:var(--cocso-color-danger-600)}.react-datepicker__day.day-picker-module_saturday__ZYoB9{color:var(--cocso-color-info-600)}.react-datepicker{background-color:var(--cocso-color-surface-primary);color:var(--cocso-color-text-primary);display:inline-block;font-size:.8rem;padding-inline:0;position:relative}.react-datepicker__aria-live{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.react-datepicker__sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__month-container{padding-block:0;width:100%}.react-datepicker__header--custom{padding-bottom:var(--cocso-spacing-5)}.react-datepicker__day-names,.react-datepicker__header--custom{align-items:center;display:flex;justify-content:space-between;width:100%}.react-datepicker__day-names{padding-bottom:var(--cocso-spacing-2);text-align:center;white-space:nowrap}.react-datepicker__month{gap:var(--cocso-spacing-2)}.react-datepicker__week{align-items:center;display:flex;justify-content:space-between;text-align:center;white-space:nowrap;width:100%}.react-datepicker__day-name{font-weight:500;padding-inline:var(--cocso-spacing-3)}.react-datepicker__day,.react-datepicker__day-name{align-items:center;aspect-ratio:1/1;color:var(--cocso-color-text-primary);display:inline-flex;justify-content:center;margin:0;min-width:1.7rem;text-align:center;width:auto}.react-datepicker__day{border-radius:var(--cocso-radius-4);cursor:pointer;font-family:var(--font-mono,"monospace"),monospace}.react-datepicker__day.react-datepicker__day--selected{background-color:var(--cocso-color-interactive-primary);color:var(--cocso-color-surface-primary)}}@layer components{@media (hover:hover) and (pointer:fine){.react-datepicker__day:hover{background-color:var(--cocso-color-interactive-secondary)}.react-datepicker__day.react-datepicker__day--selected:hover{background-color:var(--cocso-color-interactive-primary-hover)}}.react-datepicker__day-name:first-child{color:var(--cocso-color-danger-600)}.react-datepicker__day-name:nth-child(7){color:var(--cocso-color-info-600)}.react-datepicker__day--outside-month{opacity:.4}.react-datepicker__day--disabled{cursor:not-allowed;opacity:.4}}@layer components{@keyframes dialog-module_overlay-show__gzSZE{0%{opacity:0}to{opacity:1}}.dialog-module_overlay__aJLpW{animation:dialog-module_overlay-show__gzSZE var(--cocso-duration-slow) var(--cocso-easing-entrance);background-color:var(--cocso-color-black-alpha-30);inset:0;position:fixed;z-index:var(--cocso-z-index-overlay)}@keyframes dialog-module_content-show__rVhLI{0%{opacity:0;transform:translate(-50%,-48%) perspective(1200px) rotateX(-2deg) scale(.995)}to{opacity:1;transform:translate(-50%,-50%) perspective(1200px) rotateX(0deg) scale(1)}}.dialog-module_panel__5XCTU{animation:dialog-module_content-show__rVhLI var(--cocso-duration-slow) var(--cocso-easing-entrance);background-color:var(--cocso-color-white);border:1px solid var(--cocso-color-neutral-100);border-radius:var(--cocso-radius-5);box-shadow:var(--cocso-shadow-dialog);display:flex;flex-direction:column;left:50%;max-height:85vh;padding:var(--cocso-spacing-9);position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:var(--cocso-z-index-dialog)}.dialog-module_small__JObfk{max-width:380px}.dialog-module_medium__Xxtor{max-width:520px}.dialog-module_large__O71LV{max-width:680px}@media (prefers-reduced-motion:reduce){.dialog-module_overlay__aJLpW,.dialog-module_panel__5XCTU{animation:none}}.dialog-module_close__cuRe9{align-items:center;align-self:flex-end;cursor:pointer;display:flex;height:var(--cocso-spacing-10);justify-content:center;position:absolute;right:var(--cocso-spacing-9);top:var(--cocso-spacing-9);width:var(--cocso-spacing-10)}.dialog-module_title__E36pq{word-break:keep-all}.dialog-module_description__DNssa{margin-top:var(--cocso-spacing-3)}.field-module_root__m2CZV{--cocso-field-label-font-size:var(--cocso-text-sm);--cocso-field-description-font-size:var(--cocso-text-xs);display:flex;flex-direction:column;gap:var(--cocso-spacing-5)}.field-module_label__LbITU{color:var(--cocso-color-text-primary);cursor:pointer;font-size:var(--cocso-field-label-font-size);font-weight:var(--cocso-font-weight-medium);user-select:none}.field-module_optional__NE5TC{color:var(--cocso-color-text-tertiary);font-size:var(--cocso-field-description-font-size);font-weight:var(--cocso-font-weight-regular);margin-left:var(--cocso-spacing-4)}.field-module_description__qiTfj{color:var(--cocso-color-text-secondary);font-size:var(--cocso-field-description-font-size);margin:0}.field-module_errorMessage__HWoWa{color:var(--cocso-color-feedback-danger);font-size:var(--cocso-field-description-font-size);margin:0}}.cocso-input{--cocso-input-border-color:var(--cocso-color-border-primary)}.cocso-input.cocso-input--size-x-small{--cocso-input-height:28px;--cocso-input-padding-x:8px;--cocso-input-font-size:12px;--cocso-input-border-radius:var(--cocso-radius-3);--cocso-input-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-input-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-input.cocso-input--size-small{--cocso-input-height:32px;--cocso-input-padding-x:10px;--cocso-input-font-size:12px;--cocso-input-border-radius:var(--cocso-radius-3);--cocso-input-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-input-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-input.cocso-input--size-medium{--cocso-input-height:36px;--cocso-input-padding-x:12px;--cocso-input-font-size:14px;--cocso-input-border-radius:var(--cocso-radius-4);--cocso-input-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-input-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-input.cocso-input--size-large{--cocso-input-height:40px;--cocso-input-padding-x:14px;--cocso-input-font-size:14px;--cocso-input-border-radius:var(--cocso-radius-4);--cocso-input-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-input-border-color-focus:var(--cocso-color-interactive-primary-active)}@layer components{.input-module_input__-ipHD{--cocso-input-height:inherit;--cocso-input-padding-x:inherit;--cocso-input-font-size:inherit;--cocso-input-border-radius:inherit;--cocso-input-bg-color:var(--cocso-color-white);background-color:var(--cocso-input-bg-color);border:none;border-radius:var(--cocso-input-border-radius);box-shadow:0 0 0 1px var(--cocso-color-neutral-100),var(--cocso-shadow-xs);color:var(--cocso-color-neutral-950);display:block;font-size:var(--cocso-input-font-size);height:var(--cocso-input-height);outline:none;padding-inline:var(--cocso-input-padding-x);transition:box-shadow var(--cocso-duration-fast) var(--cocso-easing-soft);width:fit-content}.input-module_input__-ipHD::placeholder{color:var(--cocso-color-neutral-400)}.input-module_input__-ipHD:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-neutral-400),var(--cocso-shadow-xs);outline:2px solid transparent}.input-module_input__-ipHD.input-module_stretch__1zxJA{width:100%}.input-module_input__-ipHD:disabled{cursor:not-allowed;opacity:.4}.input-module_input__-ipHD:read-only{background-color:var(--cocso-color-neutral-50);cursor:default}.input-module_input__-ipHD.input-module_error__8P-i-{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs)}.input-module_input__-ipHD.input-module_error__8P-i-:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs);outline:2px solid transparent}}.cocso-link.cocso-link--variant-inline{--cocso-link-color:var(--cocso-color-interactive-info);--cocso-link-color-hover:var(--cocso-color-interactive-info-active)}.cocso-link.cocso-link--variant-current{--cocso-link-color:currentColor;--cocso-link-color-hover:currentColor}.cocso-link.cocso-link--variant-plain{--cocso-link-color:var(--cocso-color-interactive-info);--cocso-link-color-hover:var(--cocso-color-interactive-info-active)}@layer components{.link-module_link__RLpbr{align-items:center;color:var(--cocso-link-color);cursor:pointer;display:inline-flex;gap:var(--cocso-spacing-2);justify-content:center;text-decoration:none;transition:color var(--cocso-duration-fast) var(--cocso-easing-default);width:fit-content}@media (hover:hover) and (pointer:fine){.link-module_link__RLpbr:hover{color:var(--cocso-link-color-hover)}.link-module_current__RgEV9:hover{opacity:.7}}.link-module_link__RLpbr:focus-visible{border-radius:var(--cocso-radius-1);outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.link-module_indicator__73GYU{text-decoration:underline;text-decoration-thickness:.0625em;text-underline-offset:.15em}.link-module_externalIcon__3okjy{flex-shrink:0;height:1em;width:1em}.month-picker-module_root__iHMl-{--cocso-month-picker-font-size:var(--cocso-text-sm);display:inline-block;transform:translateZ(0)}.month-picker-module_content__vb64G{--cocso-month-picker-min-width:260px;border-radius:var(--cocso-radius-4);min-width:var(--cocso-month-picker-min-width);overflow:hidden;padding:var(--cocso-spacing-7)}.month-picker-module_menu__V8bwo{align-items:center;display:flex;gap:var(--cocso-spacing-3);justify-content:center}.month-picker-module_arrow__eD5-G{height:24px;width:24px}.react-datepicker{background-color:var(--cocso-color-surface-primary);color:var(--cocso-color-text-primary);display:inline-block;font-size:.8rem;padding-inline:0;position:relative}.react-datepicker__aria-live{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.react-datepicker__sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__header--custom{align-items:center;display:flex;justify-content:space-between;padding-bottom:var(--cocso-spacing-5);width:100%}.react-datepicker__week{text-align:center;white-space:nowrap}.react-datepicker__month{display:flex;flex-direction:column;gap:var(--cocso-spacing-5)}.react-datepicker__month-wrapper{align-items:center;display:flex;gap:var(--cocso-spacing-3);justify-content:space-between}.react-datepicker__month-text{align-items:center;border-radius:var(--cocso-radius-4);color:var(--cocso-color-text-primary);cursor:pointer;display:flex;flex:1;font-size:var(--cocso-month-picker-font-size);font-weight:var(--cocso-font-weight-medium);height:var(--cocso-spacing-14);justify-content:center}.react-datepicker__month-text--selected{background-color:var(--cocso-color-interactive-primary);color:var(--cocso-color-surface-primary);font-weight:var(--cocso-font-weight-semibold)}}@layer components{@media (hover:hover) and (pointer:fine){.react-datepicker__month-text:hover{background-color:var(--cocso-color-interactive-secondary)}.react-datepicker__month-text--selected:hover{background-color:var(--cocso-color-interactive-primary-hover)}}}@layer components{.one-time-password-field-module_otp__6eiAN{align-items:center;display:flex;gap:var(--cocso-spacing-5)}.one-time-password-field-module_slot__tFGbq{align-items:center;background-color:var(--cocso-color-surface-secondary);border-radius:var(--cocso-radius-1);box-shadow:0 0 0 var(--cocso-spacing-1,1px) var(--cocso-color-border-secondary);color:var(--cocso-color-text-primary);display:inline-flex;font-size:var(--cocso-text-base);font-weight:var(--cocso-font-weight-medium);height:3rem;justify-content:center;line-height:1;position:relative;text-align:center;text-transform:uppercase;transition:background-color var(--cocso-duration-fast) var(--cocso-easing-default),box-shadow var(--cocso-duration-fast) var(--cocso-easing-default);user-select:none;width:2.5rem}@media (hover:hover) and (pointer:fine){.one-time-password-field-module_slot__tFGbq:hover{box-shadow:0 0 0 var(--cocso-spacing-1,1px) var(--cocso-color-border-primary)}}.one-time-password-field-module_slotActive__iT0ud{box-shadow:0 0 0 var(--cocso-spacing-1,1px) var(--cocso-color-border-primary)}.one-time-password-field-module_caret__X9T-B{animation:one-time-password-field-module_caret-blink__dcoHY 1s step-end infinite;background-color:var(--cocso-color-text-primary);height:1em;position:absolute;width:1px}@keyframes one-time-password-field-module_caret-blink__dcoHY{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.one-time-password-field-module_caret__X9T-B{animation:none}}}@layer components{.pagination-module_pagination__XjBXK{align-items:center;display:flex;gap:var(--cocso-spacing-2);justify-content:center;margin-inline:auto}.pagination-module_arrow__q388S,.pagination-module_item__9Vttf{--cocso-pagination-font-size:var(--cocso-text-sm);--cocso-pagination-font-color:var(--cocso-color-text-primary);--cocso-pagination-font-weight:inherit;--cocso-pagination-bg-color:inherit;align-items:center;background-color:var(--cocso-pagination-bg-color);border-radius:var(--cocso-radius-4);color:var(--cocso-pagination-font-color);cursor:pointer;display:inline-flex;font-size:var(--cocso-pagination-font-size);font-weight:var(--cocso-pagination-font-weight);height:var(--cocso-spacing-12);justify-content:center;transition:transform var(--cocso-duration-fast) var(--cocso-easing-default);width:var(--cocso-spacing-12);will-change:transform}.pagination-module_arrow__q388S:focus-visible,.pagination-module_item__9Vttf:focus-visible{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.pagination-module_arrow__q388S:disabled{cursor:not-allowed;opacity:.4}@media (hover:hover) and (pointer:fine){.pagination-module_arrow__q388S:not(:disabled):hover,.pagination-module_item__9Vttf[data-active=false]:hover{--cocso-pagination-bg-color:var(--cocso-color-neutral-50)}}.pagination-module_arrow__q388S:not(:disabled):active{--cocso-pagination-bg-color:var(--cocso-color-neutral-100)}.pagination-module_arrow__q388S>svg{flex-shrink:0;height:var(--cocso-spacing-8);width:var(--cocso-spacing-8)}.pagination-module_arrow__q388S:active,.pagination-module_item__9Vttf:active{transform:scale(.98)}.pagination-module_item__9Vttf[data-active=true]{--cocso-pagination-font-color:var(--cocso-color-white);--cocso-pagination-bg-color:var(--cocso-color-primary-950);--cocso-pagination-font-weight:var(--cocso-font-weight-semibold)}.pagination-module_item__9Vttf[data-active=false]:active{--cocso-pagination-bg-color:var(--cocso-color-neutral-100)}.pagination-module_trunc__neqoN{align-items:center;color:var(--cocso-color-text-primary);display:inline-flex;font-size:var(--cocso-text-base);height:var(--cocso-spacing-13);justify-content:center;width:var(--cocso-spacing-13)}}@layer components{@keyframes popover-module_slide-up-and-fade__Xlvb6{0%{opacity:.9;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-module_slide-right-and-fade__R8x1-{0%{opacity:.9;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes popover-module_slide-down-and-fade__hwk68{0%{opacity:.9;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-module_slide-left-and-fade__dQXyx{0%{opacity:.9;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.popover-module_content__TwOg0{animation:none}}.popover-module_content__TwOg0{animation-duration:var(--cocso-duration-normal);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);border-radius:var(--cocso-radius-3);box-shadow:var(--cocso-shadow-popover);font-size:var(--cocso-text-sm);line-height:1.5;overflow:visible;padding-block:var(--cocso-spacing-4);padding-inline:var(--cocso-spacing-5);position:relative;will-change:transform,opacity}.popover-module_content__TwOg0[data-open][data-side=top]{animation-name:popover-module_slide-up-and-fade__Xlvb6;margin-bottom:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=right]{animation-name:popover-module_slide-right-and-fade__R8x1-;margin-left:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=bottom]{animation-name:popover-module_slide-down-and-fade__hwk68;margin-top:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=left]{animation-name:popover-module_slide-left-and-fade__dQXyx;margin-right:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=top]:has(.popover-module_arrow__zZuHF){margin-bottom:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=right]:has(.popover-module_arrow__zZuHF){margin-left:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=bottom]:has(.popover-module_arrow__zZuHF){margin-top:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=left]:has(.popover-module_arrow__zZuHF){margin-right:var(--cocso-spacing-6)}.popover-module_arrow__zZuHF{background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);height:10px;width:10px}.popover-module_arrow__zZuHF[data-side=bottom]{border-bottom:none;border-right:none;top:0;transform:translateY(-50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=top]{border-left:none;border-top:none;bottom:0;transform:translateY(50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=right]{border-right:none;border-top:none;left:0;transform:translateX(-50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=left]{border-bottom:none;border-left:none;right:0;transform:translateX(50%) rotate(45deg)}}.cocso-progress{--cocso-progress-bg-color:var(--cocso-color-surface-neutral)}.cocso-progress.cocso-progress--variant-primary{--cocso-progress-fill-color:var(--cocso-color-interactive-primary)}.cocso-progress.cocso-progress--variant-secondary{--cocso-progress-fill-color:var(--cocso-color-text-muted)}.cocso-progress.cocso-progress--variant-success{--cocso-progress-fill-color:var(--cocso-color-feedback-success)}.cocso-progress.cocso-progress--variant-danger{--cocso-progress-fill-color:var(--cocso-color-feedback-danger)}.cocso-progress.cocso-progress--variant-warning{--cocso-progress-fill-color:var(--cocso-color-feedback-warning)}.cocso-progress.cocso-progress--variant-info{--cocso-progress-fill-color:var(--cocso-color-feedback-info)}.cocso-progress.cocso-progress--size-sm{--cocso-progress-height:4px;--cocso-progress-border-radius:var(--cocso-radius-1)}.cocso-progress.cocso-progress--size-md{--cocso-progress-height:8px;--cocso-progress-border-radius:var(--cocso-radius-2)}.cocso-progress.cocso-progress--size-lg{--cocso-progress-height:12px;--cocso-progress-border-radius:var(--cocso-radius-3)}@layer components{.progress-module_track__gM0oV{background-color:var(--cocso-progress-bg-color);border-radius:var(--cocso-progress-border-radius);height:var(--cocso-progress-height);overflow:hidden;width:100%}.progress-module_fill__aLAbp{background-color:var(--cocso-progress-fill-color);border-radius:inherit;height:100%;transition:width var(--cocso-duration-normal) var(--cocso-easing-soft)}}.cocso-radio.cocso-radio--size-large{--cocso-radio-size:18px;--cocso-radio-dot-size:8px}.cocso-radio.cocso-radio--size-medium{--cocso-radio-size:16px;--cocso-radio-dot-size:7px}.cocso-radio.cocso-radio--size-small{--cocso-radio-size:14px;--cocso-radio-dot-size:6px}.cocso-radio.cocso-radio--selected-true{--cocso-radio-bg-color:var(--cocso-color-interactive-primary);--cocso-radio-border-color:var(--cocso-color-interactive-primary);--cocso-radio-bg-color-hover:var(--cocso-color-interactive-primary-hover);--cocso-radio-border-color-hover:var(--cocso-color-interactive-primary-hover)}.cocso-radio.cocso-radio--selected-false{--cocso-radio-bg-color:var(--cocso-color-surface-primary);--cocso-radio-border-color:var(--cocso-color-border-primary);--cocso-radio-border-color-hover:var(--cocso-color-interactive-primary-muted)}@layer components{.radio-group-module_root__b8W35{display:flex;flex-direction:column;gap:var(--cocso-spacing-4)}.radio-group-module_root__b8W35[data-disabled]{cursor:not-allowed;opacity:.4}.radio-group-module_item__QAyhl{background-color:var(--cocso-color-white);border:var(--cocso-spacing-2) solid var(--cocso-color-text-primary);border-radius:100%;cursor:pointer;height:var(--cocso-radio-size,16px);width:var(--cocso-radio-size,16px)}.radio-group-module_item__QAyhl:focus-visible{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.radio-group-module_item__QAyhl[data-checked]{border-color:var(--cocso-color-primary-950)}.radio-group-module_item__QAyhl[data-disabled]{cursor:not-allowed;opacity:.4}.radio-group-module_indicator__I0Col{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.radio-group-module_indicator__I0Col:after{background-color:var(--cocso-color-primary-950);border-radius:50%;content:"";display:block;height:var(--cocso-radio-dot-size,7px);width:var(--cocso-radio-dot-size,7px)}}.cocso-select{--cocso-select-border-color:var(--cocso-color-border-primary)}.cocso-select.cocso-select--size-x-small{--cocso-select-min-width:28px;--cocso-select-height:28px;--cocso-select-padding-left:8px;--cocso-select-padding-right:26px;--cocso-select-icon-right:8px;--cocso-select-font-size:12px;--cocso-select-border-radius:var(--cocso-radius-3);--cocso-select-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-select-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-select.cocso-select--size-small{--cocso-select-min-width:32px;--cocso-select-height:32px;--cocso-select-padding-left:10px;--cocso-select-padding-right:32px;--cocso-select-icon-right:10px;--cocso-select-font-size:12px;--cocso-select-border-radius:var(--cocso-radius-3);--cocso-select-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-select-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-select.cocso-select--size-medium{--cocso-select-min-width:36px;--cocso-select-height:36px;--cocso-select-padding-left:12px;--cocso-select-padding-right:38px;--cocso-select-icon-right:12px;--cocso-select-font-size:14px;--cocso-select-border-radius:var(--cocso-radius-4);--cocso-select-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-select-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-select.cocso-select--size-large{--cocso-select-min-width:40px;--cocso-select-height:40px;--cocso-select-padding-left:14px;--cocso-select-padding-right:42px;--cocso-select-icon-right:14px;--cocso-select-font-size:14px;--cocso-select-border-radius:var(--cocso-radius-4);--cocso-select-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-select-border-color-focus:var(--cocso-color-interactive-primary-active)}@layer components{.select-module_wrapper__7szq0{cursor:pointer;position:relative;width:fit-content}.select-module_wrapper__7szq0.select-module_stretch__mQv7N{width:100%}.select-module_select__RLsWH{--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(--cocso-color-white);-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:var(--cocso-select-bg-color);border:none;border-radius:var(--cocso-select-border-radius);box-shadow:0 0 0 1px var(--cocso-color-neutral-100),var(--cocso-shadow-xs);color:var(--cocso-color-neutral-950);font-size:var(--cocso-select-font-size);height:var(--cocso-select-height);min-width:var(--cocso-select-min-width);outline:none;padding-left:var(--cocso-select-padding-left);padding-right:var(--cocso-select-padding-right);transition:box-shadow var(--cocso-duration-fast) var(--cocso-easing-soft)}.select-module_select__RLsWH:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-neutral-400),var(--cocso-shadow-xs);outline:2px solid transparent}.select-module_wrapper__7szq0.select-module_stretch__mQv7N .select-module_select__RLsWH{width:100%}.select-module_wrapper__7szq0:has(select:disabled){cursor:not-allowed}.select-module_select__RLsWH:disabled{cursor:not-allowed;opacity:.4}.select-module_wrapper__7szq0.select-module_error__4KQv3 .select-module_select__RLsWH{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs)}.select-module_wrapper__7szq0.select-module_error__4KQv3 .select-module_select__RLsWH:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs);outline:2px solid transparent}.select-module_icon__K93bs{color:var(--cocso-color-neutral-500);pointer-events:none;position:absolute;right:var(--cocso-select-icon-right,var(--cocso-spacing-5));top:50%;transform:translateY(-50%)}.select-module_wrapper__7szq0:has(select:disabled) .select-module_icon__K93bs{opacity:.4}}.cocso-skeleton{--cocso-skeleton-bg-color:var(--cocso-color-surface-neutral)}.cocso-skeleton.cocso-skeleton--variant-text{--cocso-skeleton-height:16px;--cocso-skeleton-border-radius:var(--cocso-radius-2)}.cocso-skeleton.cocso-skeleton--variant-circular{--cocso-skeleton-height:40px;--cocso-skeleton-width:40px;--cocso-skeleton-border-radius:100%}.cocso-skeleton.cocso-skeleton--variant-rectangular{--cocso-skeleton-height:120px;--cocso-skeleton-border-radius:var(--cocso-radius-4)}@layer components{.skeleton-module_skeleton__fula5{background-color:var(--cocso-skeleton-bg-color);border-radius:var(--cocso-skeleton-border-radius);height:var(--cocso-skeleton-height);width:var(--cocso-skeleton-width,100%)}.skeleton-module_pulse__YLysm{animation:skeleton-module_skeleton-pulse__Yp45W var(--cocso-duration-decorative-slow) var(--cocso-easing-default) infinite}.skeleton-module_wave__GxWJ1{overflow:hidden;position:relative}.skeleton-module_wave__GxWJ1:after{animation:skeleton-module_skeleton-wave__zaVNu var(--cocso-duration-decorative-slow) var(--cocso-easing-default) infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);content:"";inset:0;position:absolute}@keyframes skeleton-module_skeleton-pulse__Yp45W{0%,to{opacity:1}50%{opacity:.4}}@keyframes skeleton-module_skeleton-wave__zaVNu{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}}.cocso-stock-quantity-status.cocso-stock-quantity-status--quantity-sufficient{--cocso-stock-quantity-status-color:var(--cocso-color-feedback-info)}.cocso-stock-quantity-status.cocso-stock-quantity-status--quantity-normal{--cocso-stock-quantity-status-color:var(--cocso-color-feedback-success-muted)}.cocso-stock-quantity-status.cocso-stock-quantity-status--quantity-insufficient{--cocso-stock-quantity-status-color:var(--cocso-color-feedback-danger)}@layer components{.stock-quantity-status-module_stock__vGdTq{--cocso-stock-quantity-status-color:inherit;align-items:center;color:var(--cocso-stock-quantity-status-color);display:inline-flex;gap:var(--cocso-spacing-2)}.stock-quantity-status-module_indicator__AerLT{--cocso-stock-quantity-status-indicator-width:inherit;flex-shrink:0;height:auto;width:var(--cocso-stock-quantity-status-indicator-width)}.stock-quantity-status-module_indicator__AerLT>svg{height:100%;width:100%}}.cocso-switch{--cocso-switch-switch-bg-color:var(--cocso-color-surface-neutral)}.cocso-switch.cocso-switch--variant-primary{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-primary);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-primary-hover)}.cocso-switch.cocso-switch--variant-success{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-success);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-success-hover-subtle)}.cocso-switch.cocso-switch--variant-error{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-danger);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-danger-hover-subtle)}.cocso-switch.cocso-switch--variant-warning{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-warning-active);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-warning-hover-subtle)}.cocso-switch.cocso-switch--variant-info{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-info);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-info-hover-subtle)}.cocso-switch.cocso-switch--size-large{--cocso-switch-width:40px;--cocso-switch-height:22px;--cocso-switch-thumb-size:18px;--cocso-switch-thumb-offset:2px}.cocso-switch.cocso-switch--size-medium{--cocso-switch-width:36px;--cocso-switch-height:20px;--cocso-switch-thumb-size:16px;--cocso-switch-thumb-offset:2px}.cocso-switch.cocso-switch--size-small{--cocso-switch-width:32px;--cocso-switch-height:18px;--cocso-switch-thumb-size:14px;--cocso-switch-thumb-offset:2px}.cocso-switch.cocso-switch--variant-primary.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-primary)}.cocso-switch.cocso-switch--variant-success.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-success)}.cocso-switch.cocso-switch--variant-error.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-danger)}.cocso-switch.cocso-switch--variant-warning.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-warning-active)}.cocso-switch.cocso-switch--variant-info.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-info)}.cocso-switch.cocso-switch--checked-false{--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-secondary-hover)}@layer components{.switch-module_wrapper__mB3eH{align-items:center;display:flex;gap:var(--cocso-spacing-5)}.switch-module_wrapper__mB3eH[data-disabled]{cursor:not-allowed;opacity:.4}.switch-module_switch__KrHDz{--cocso-switch-width:inherit;--cocso-switch-height:inherit;--cocso-switch-bg-color:inherit;background-color:var(--cocso-switch-bg-color);border-radius:var(--cocso-radius-full);cursor:pointer;height:var(--cocso-switch-height);opacity:1;position:relative;width:var(--cocso-switch-width)}.switch-module_switch__KrHDz:focus-visible{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.switch-module_switch__KrHDz[data-disabled]{cursor:not-allowed;opacity:.4}.switch-module_switch__KrHDz[data-checked]{--cocso-switch-bg-color:var(--cocso-switch-checked-bg-color)}.switch-module_thumb__sXgSl{--cocso-switch-thumb-size:inherit;background-color:var(--cocso-color-white);border-radius:var(--cocso-radius-full);box-shadow:var(--cocso-shadow-thumb);display:block;height:var(--cocso-switch-thumb-size);position:absolute;top:50%;transform:translate(var(--cocso-switch-thumb-offset),-50%);transition:transform var(--cocso-duration-fast) var(--cocso-easing-soft);width:var(--cocso-switch-thumb-size);will-change:transform}.switch-module_thumb__sXgSl[data-checked]{transform:translate(calc(var(--cocso-switch-width) - var(--cocso-switch-thumb-size) - var(--cocso-switch-thumb-offset)),-50%)}}@layer components{@keyframes tooltip-module_slide-up-and-fade__DiOEq{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-module_slide-right-and-fade__o6cCB{0%{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes tooltip-module_slide-down-and-fade__HJFYG{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-module_slide-left-and-fade__ghuNp{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.tooltip-module_content__gv0-E{animation:none}}.tooltip-module_content__gv0-E{animation-duration:var(--cocso-duration-fast);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-inverse);border-radius:var(--cocso-radius-2);color:var(--cocso-color-surface-primary);font-size:var(--cocso-text-xs);line-height:1.5;overflow:visible;padding-block:var(--cocso-spacing-3);padding-inline:var(--cocso-spacing-5);position:relative;will-change:transform,opacity}.tooltip-module_content__gv0-E[data-open][data-side=top]{animation-name:tooltip-module_slide-up-and-fade__DiOEq;margin-bottom:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=right]{animation-name:tooltip-module_slide-right-and-fade__o6cCB;margin-left:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=bottom]{animation-name:tooltip-module_slide-down-and-fade__HJFYG;margin-top:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=left]{animation-name:tooltip-module_slide-left-and-fade__ghuNp;margin-right:var(--cocso-spacing-5)}.tooltip-module_arrow__HFT-V{background-color:var(--cocso-color-surface-inverse);height:6px;width:6px}.tooltip-module_arrow__HFT-V[data-side=bottom]{top:0;transform:translateY(-50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=top]{bottom:0;transform:translateY(50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=right]{left:0;transform:translateX(-50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=left]{right:0;transform:translateX(50%) rotate(45deg)}}
7
+ )}}}@layer components{.badge-module_badge__4Tx0D{--cocso-badge-padding:inherit;--cocso-badge-border-radius:inherit;--cocso-badge-bg-color:inherit;--cocso-badge-border:none;background-color:var(--cocso-badge-bg-color);border:var(--cocso-badge-border);border-radius:var(--cocso-badge-border-radius);color:var(--cocso-badge-font-color);display:inline-flex;padding:var(--cocso-badge-padding);-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.badge-module_circle__NP4-2{aspect-ratio:1;justify-content:center;padding:var(--cocso-badge-padding-y)}.badge-module_inner__YYjpI{align-items:center;display:inline-flex;gap:var(--cocso-spacing-2)}}.cocso-breadcrumb{--cocso-breadcrumb-font-color:var(--cocso-color-text-muted)}.cocso-breadcrumb.cocso-breadcrumb--size-sm{--cocso-breadcrumb-font-size:12px}.cocso-breadcrumb.cocso-breadcrumb--size-md{--cocso-breadcrumb-font-size:14px}.cocso-breadcrumb.cocso-breadcrumb--size-lg{--cocso-breadcrumb-font-size:16px}@layer components{.breadcrumb-module_breadcrumb__dW5v-{color:var(--cocso-breadcrumb-font-color);font-size:var(--cocso-breadcrumb-font-size)}.breadcrumb-module_list__mLCBo{align-items:center;display:flex;flex-wrap:wrap;gap:var(--cocso-spacing-2);list-style:none;margin:0;padding:0}.breadcrumb-module_item__G0t2y{align-items:center;display:inline-flex;gap:var(--cocso-spacing-2)}.breadcrumb-module_item__G0t2y:last-child{color:var(--cocso-color-neutral-950);font-weight:500}.breadcrumb-module_separator__wMAks{color:var(--cocso-color-neutral-300);user-select:none}}.cocso-button.cocso-button--variant-primary{--cocso-button-bg-color:var(--cocso-color-interactive-primary);--cocso-button-font-color:var(--cocso-color-text-on-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-primary-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-primary-active)}.cocso-button.cocso-button--variant-secondary{--cocso-button-bg-color:var(--cocso-color-surface-secondary);--cocso-button-font-color:var(--cocso-color-text-secondary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-secondary);--cocso-button-bg-color-active:var(--cocso-color-interactive-secondary-hover)}.cocso-button.cocso-button--variant-outline{--cocso-button-bg-color:var(--cocso-color-transparent);--cocso-button-font-color:var(--cocso-color-text-primary);--cocso-button-border:1px solid var(--cocso-color-border-secondary);--cocso-button-bg-color-hover:var(--cocso-color-surface-secondary);--cocso-button-bg-color-active:var(--cocso-color-interactive-secondary)}.cocso-button.cocso-button--variant-ghost{--cocso-button-bg-color:var(--cocso-color-surface-primary);--cocso-button-font-color:var(--cocso-color-text-primary);--cocso-button-bg-color-hover:var(--cocso-color-surface-secondary);--cocso-button-bg-color-active:var(--cocso-color-interactive-secondary)}.cocso-button.cocso-button--variant-success{--cocso-button-bg-color:var(--cocso-color-interactive-success);--cocso-button-font-color:var(--cocso-color-text-on-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-success-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-success-active)}.cocso-button.cocso-button--variant-error{--cocso-button-bg-color:var(--cocso-color-interactive-danger);--cocso-button-font-color:var(--cocso-color-text-on-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-danger-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-danger-active)}.cocso-button.cocso-button--variant-warning{--cocso-button-bg-color:var(--cocso-color-interactive-warning);--cocso-button-font-color:var(--cocso-color-text-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-warning-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-warning-active)}.cocso-button.cocso-button--variant-info{--cocso-button-bg-color:var(--cocso-color-interactive-info);--cocso-button-font-color:var(--cocso-color-text-on-primary);--cocso-button-bg-color-hover:var(--cocso-color-interactive-info-hover);--cocso-button-bg-color-active:var(--cocso-color-interactive-info-active)}.cocso-button.cocso-button--size-large{--cocso-button-height:40px;--cocso-button-padding-inline:14px;--cocso-button-content-padding:0 6px;--cocso-button-font-size:14px}.cocso-button.cocso-button--size-medium{--cocso-button-height:36px;--cocso-button-padding-inline:12px;--cocso-button-content-padding:0 6px;--cocso-button-font-size:14px}.cocso-button.cocso-button--size-small{--cocso-button-height:32px;--cocso-button-padding-inline:10px;--cocso-button-content-padding:0 2px;--cocso-button-font-size:14px}.cocso-button.cocso-button--size-x-small{--cocso-button-height:28px;--cocso-button-padding-inline:8px;--cocso-button-content-padding:0;--cocso-button-font-size:12px}.cocso-button.cocso-button--shape-circle{--cocso-button-border-radius:100%}.cocso-button.cocso-button--shape-rounded{--cocso-button-border-radius:var(--cocso-radius-full)}.cocso-button.cocso-button--shape-square.cocso-button--size-x-small{--cocso-button-border-radius:var(--cocso-radius-3)}.cocso-button.cocso-button--shape-square.cocso-button--size-large,.cocso-button.cocso-button--shape-square.cocso-button--size-medium,.cocso-button.cocso-button--shape-square.cocso-button--size-small{--cocso-button-border-radius:var(--cocso-radius-4)}.cocso-spinner.cocso-spinner--variant-primary{--cocso-spinner-blade-color:var(--cocso-color-interactive-primary)}.cocso-spinner.cocso-spinner--variant-secondary{--cocso-spinner-blade-color:var(--cocso-color-text-muted)}.cocso-spinner.cocso-spinner--variant-success{--cocso-spinner-blade-color:var(--cocso-color-feedback-success)}.cocso-spinner.cocso-spinner--variant-error{--cocso-spinner-blade-color:var(--cocso-color-feedback-danger)}.cocso-spinner.cocso-spinner--variant-warning{--cocso-spinner-blade-color:var(--cocso-color-feedback-warning)}.cocso-spinner.cocso-spinner--variant-info{--cocso-spinner-blade-color:var(--cocso-color-feedback-info)}.cocso-spinner.cocso-spinner--variant-white{--cocso-spinner-blade-color:var(--cocso-color-surface-primary)}.cocso-spinner.cocso-spinner--size-large{--cocso-spinner-blades:10px;--cocso-spinner-blade-width:2px;--cocso-spinner-blade-height:6px;--cocso-spinner-blade-radius:1px;--cocso-spinner-output:20px}.cocso-spinner.cocso-spinner--size-medium{--cocso-spinner-blades:8px;--cocso-spinner-blade-width:2px;--cocso-spinner-blade-height:5px;--cocso-spinner-blade-radius:1px;--cocso-spinner-output:16px}.cocso-spinner.cocso-spinner--size-small{--cocso-spinner-blades:6px;--cocso-spinner-blade-width:1.5px;--cocso-spinner-blade-height:4px;--cocso-spinner-blade-radius:0.75px;--cocso-spinner-output:12px}@layer components{@keyframes spinner-module_spinner-blade-fade__Xtrit{0%{opacity:1}to{opacity:.15}}.spinner-module_spinner__28e7a{color:var(--cocso-spinner-blade-color);display:block;flex-shrink:0;position:relative}.spinner-module_blade__EIEE6{animation:spinner-module_spinner-blade-fade__Xtrit var(--cocso-duration-decorative) linear infinite;bottom:0;position:absolute}@keyframes spinner-module_spinner-reduced-pulse__-WlGM{0%,to{opacity:.4}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){.spinner-module_blade__EIEE6{animation:spinner-module_spinner-reduced-pulse__-WlGM 2s ease-in-out infinite;animation-delay:0s!important}}}@layer components{.button-module_button__5dzDN{--cocso-button-height:inherit;--cocso-button-padding-inline:inherit;--cocso-button-content-padding:inherit;--cocso-button-font-color:inherit;--cocso-button-font-size:inherit;--cocso-button-font-weight:inherit;--cocso-button-border:inherit;--cocso-button-border-radius:inherit;--cocso-button-bg-color:inherit;align-items:center;background-color:var(--cocso-button-bg-color);border:var(--cocso-button-border,none);border-radius:var(--cocso-button-border-radius);color:var(--cocso-button-font-color);cursor:pointer;display:inline-flex;font-size:var(--cocso-button-font-size);font-weight:var(--cocso-button-font-weight);height:var(--cocso-button-height);justify-content:center;opacity:1;padding-inline:var(--cocso-button-padding-inline);position:relative;transition:background-color var(--cocso-duration-fast) var(--cocso-easing-default)}@media (hover:hover) and (pointer:fine){.button-module_button__5dzDN:not([disabled]):hover{--cocso-button-bg-color-hover:inherit;background-color:var(--cocso-button-bg-color-hover)}}.button-module_button__5dzDN:not([disabled]):active{--cocso-button-bg-color-active:inherit;background-color:var(--cocso-button-bg-color-active)}.button-module_content__q0g4H{padding:var(--cocso-button-content-padding)}.button-module_prefix__836bE{margin-right:var(--cocso-spacing-2)}.button-module_prefix__836bE,.button-module_suffix__6k1TK{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.button-module_suffix__6k1TK{margin-left:var(--cocso-spacing-2)}.button-module_button__5dzDN:focus-visible{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.button-module_button__5dzDN[disabled]{cursor:not-allowed;opacity:.4}.button-module_svgOnly__QHNx6{aspect-ratio:1/1;padding:0}.button-module_spinnerOverlay__kbemq{inset:0;position:absolute}.button-module_buttonInner__aXpaa,.button-module_spinnerOverlay__kbemq{align-items:center;display:inline-flex;justify-content:center}.button-module_invisible__esdRe{opacity:0}}.cocso-card.cocso-card--variant-elevated,.cocso-card.cocso-card--variant-outlined{--cocso-card-bg-color:var(--cocso-color-surface-primary);--cocso-card-border-radius:var(--cocso-radius-4)}.cocso-card.cocso-card--variant-outlined{--cocso-card-border:1px solid var(--cocso-color-border-secondary)}.cocso-card.cocso-card--variant-filled{--cocso-card-bg-color:var(--cocso-color-surface-secondary);--cocso-card-border-radius:var(--cocso-radius-4)}.cocso-card.cocso-card--padding-sm{--cocso-card-padding:12px}.cocso-card.cocso-card--padding-md{--cocso-card-padding:16px}.cocso-card.cocso-card--padding-lg{--cocso-card-padding:24px}@layer components{.card-module_card__ZPFTz{background-color:var(--cocso-card-bg-color);border:var(--cocso-card-border,none);border-radius:var(--cocso-card-border-radius);display:flex;flex-direction:column;padding:var(--cocso-card-padding)}.card-module_elevated__Gua8s{box-shadow:var(--cocso-shadow-card)}}.cocso-checkbox.cocso-checkbox--size-large{--cocso-checkbox-size:18px;--cocso-checkbox-radius:var(--cocso-radius-3)}.cocso-checkbox.cocso-checkbox--size-medium{--cocso-checkbox-size:16px;--cocso-checkbox-radius:var(--cocso-radius-2)}.cocso-checkbox.cocso-checkbox--size-small{--cocso-checkbox-size:14px;--cocso-checkbox-radius:var(--cocso-radius-1)}.cocso-checkbox.cocso-checkbox--status-on{--cocso-checkbox-border-color:var(--cocso-color-interactive-primary);--cocso-checkbox-bg-color:var(--cocso-color-interactive-primary);--cocso-checkbox-bg-color-hover:var(--cocso-color-interactive-primary-hover);--cocso-checkbox-border-color-hover:var(--cocso-color-interactive-primary-hover)}.cocso-checkbox.cocso-checkbox--status-off{--cocso-checkbox-border-color:var(--cocso-color-border-secondary);--cocso-checkbox-bg-color:var(--cocso-color-surface-primary);--cocso-checkbox-bg-color-hover:var(--cocso-color-interactive-secondary-hover);--cocso-checkbox-border-color-hover:var(--cocso-color-interactive-secondary-hover)}.cocso-checkbox.cocso-checkbox--status-intermediate{--cocso-checkbox-border-color:var(--cocso-color-interactive-primary);--cocso-checkbox-bg-color:var(--cocso-color-interactive-primary);--cocso-checkbox-bg-color-hover:var(--cocso-color-interactive-primary-hover);--cocso-checkbox-border-color-hover:var(--cocso-color-interactive-primary-hover)}@layer components{.checkbox-module_wrapper__vP2bp{align-items:center;display:flex;gap:var(--cocso-spacing-5)}.checkbox-module_checkbox__zAB1y{--cocso-checkbox-size:inherit;--cocso-checkbox-color:inherit;--cocso-checkbox-border-color:inherit;--cocso-checkbox-bg-color:inherit;align-items:center;background-color:var(--cocso-checkbox-bg-color);border:1px solid var(--cocso-checkbox-border-color);border-radius:var(--cocso-checkbox-radius);color:var(--cocso-checkbox-color);cursor:pointer;display:inline-flex;height:var(--cocso-checkbox-size);justify-content:center;opacity:1;position:relative;transition:color var(--cocso-duration-fast) var(--cocso-easing-default),border-color var(--cocso-duration-fast) var(--cocso-easing-default),background-color var(--cocso-duration-fast) var(--cocso-easing-default);width:var(--cocso-checkbox-size)}.checkbox-module_icon__Taf0X{stroke:var(--cocso-checkbox-color);display:block;height:auto;max-width:100%;transition:stroke var(--cocso-duration-fast) var(--cocso-easing-default)}.checkbox-module_checkbox__zAB1y:focus-within{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.checkbox-module_checkbox__zAB1y input[type=checkbox]{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.checkbox-module_indicator__Cs9Yi{bottom:var(--cocso-spacing-1);left:var(--cocso-spacing-1);position:absolute;right:var(--cocso-spacing-1);top:var(--cocso-spacing-1);transition:opacity var(--cocso-duration-fast) var(--cocso-easing-default)}.checkbox-module_label__EvRQ7{cursor:pointer;opacity:1}.checkbox-module_checkbox__zAB1y[data-disabled],.checkbox-module_label__EvRQ7[aria-disabled=true]{cursor:not-allowed;opacity:.4}}@layer components{@keyframes dropdown-module_dropdown-slide-up__OrP7L{0%{opacity:.9;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdown-module_dropdown-slide-down__3NX30{0%{opacity:.9;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.dropdown-module_content__nf11j{animation:none}.dropdown-module_item__BvWCj{transition:none}}.dropdown-module_content__nf11j,.dropdown-module_positioner__mGdXB{z-index:var(--cocso-z-index-overlay)}.dropdown-module_content__nf11j{animation-duration:var(--cocso-duration-normal);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);border-radius:var(--cocso-radius-3);box-shadow:var(--cocso-shadow-dropdown);display:flex;flex-direction:column;min-width:128px;padding:var(--cocso-spacing-4);will-change:transform,opacity}.dropdown-module_content__nf11j[data-side=top]{animation-name:dropdown-module_dropdown-slide-up__OrP7L;margin-bottom:var(--cocso-spacing-3)}.dropdown-module_content__nf11j[data-side=bottom]{animation-name:dropdown-module_dropdown-slide-down__3NX30;margin-top:var(--cocso-spacing-3)}.dropdown-module_item__BvWCj{align-items:center;border-radius:var(--cocso-radius-3);cursor:pointer;display:flex;font-size:var(--cocso-text-sm);gap:var(--cocso-spacing-4);height:fit-content;line-height:1.5;padding-block:var(--cocso-spacing-4);padding-inline:var(--cocso-spacing-5);transition:background-color var(--cocso-duration-fast) var(--cocso-easing-soft),scale var(--cocso-duration-fast) var(--cocso-easing-soft)}.dropdown-module_prefix__oBteB{align-items:center;display:inline-flex;flex-shrink:0;height:14px;justify-content:center;width:14px}@media (hover:hover) and (pointer:fine){.dropdown-module_item__BvWCj:hover{background-color:var(--cocso-color-surface-secondary)}.dropdown-module_item__BvWCj[data-disabled]:hover{background-color:transparent}}.dropdown-module_item__BvWCj:active{scale:.98}.dropdown-module_item__BvWCj[data-disabled]{cursor:not-allowed;opacity:.4}.dropdown-module_item__BvWCj[data-disabled]:active{scale:1}.day-picker-module_root__QVrbb{display:inline-block;transform:translateZ(0)}.day-picker-module_content__34qUu{border-radius:var(--cocso-radius-4);min-width:260px;overflow:hidden;padding:var(--cocso-spacing-7)}.day-picker-module_menu__2eMt0{align-items:center;display:flex;gap:var(--cocso-spacing-3);justify-content:center}.day-picker-module_arrow__p9QLq{height:24px;width:24px}.react-datepicker__day.day-picker-module_sunday__nVavs{color:var(--cocso-color-danger-600)}.react-datepicker__day.day-picker-module_saturday__ZYoB9{color:var(--cocso-color-info-600)}.react-datepicker{background-color:var(--cocso-color-surface-primary);color:var(--cocso-color-text-primary);display:inline-block;font-size:.8rem;padding-inline:0;position:relative}.react-datepicker__aria-live{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.react-datepicker__sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__month-container{padding-block:0;width:100%}.react-datepicker__header--custom{padding-bottom:var(--cocso-spacing-5)}.react-datepicker__day-names,.react-datepicker__header--custom{align-items:center;display:flex;justify-content:space-between;width:100%}.react-datepicker__day-names{padding-bottom:var(--cocso-spacing-2);text-align:center;white-space:nowrap}.react-datepicker__month{gap:var(--cocso-spacing-2)}.react-datepicker__week{align-items:center;display:flex;justify-content:space-between;text-align:center;white-space:nowrap;width:100%}.react-datepicker__day-name{font-weight:500;padding-inline:var(--cocso-spacing-3)}.react-datepicker__day,.react-datepicker__day-name{align-items:center;aspect-ratio:1/1;color:var(--cocso-color-text-primary);display:inline-flex;justify-content:center;margin:0;min-width:1.7rem;text-align:center;width:auto}.react-datepicker__day{border-radius:var(--cocso-radius-4);cursor:pointer;font-family:var(--font-mono,"monospace"),monospace}.react-datepicker__day.react-datepicker__day--selected{background-color:var(--cocso-color-interactive-primary);color:var(--cocso-color-surface-primary)}}@layer components{@media (hover:hover) and (pointer:fine){.react-datepicker__day:hover{background-color:var(--cocso-color-interactive-secondary)}.react-datepicker__day.react-datepicker__day--selected:hover{background-color:var(--cocso-color-interactive-primary-hover)}}.react-datepicker__day-name:first-child{color:var(--cocso-color-danger-600)}.react-datepicker__day-name:nth-child(7){color:var(--cocso-color-info-600)}.react-datepicker__day--outside-month{opacity:.4}.react-datepicker__day--disabled{cursor:not-allowed;opacity:.4}}@layer components{@keyframes dialog-module_overlay-show__gzSZE{0%{opacity:0}to{opacity:1}}.dialog-module_overlay__aJLpW{animation:dialog-module_overlay-show__gzSZE var(--cocso-duration-slow) var(--cocso-easing-entrance);background-color:var(--cocso-color-black-alpha-30);inset:0;position:fixed;z-index:var(--cocso-z-index-overlay)}@keyframes dialog-module_content-show__rVhLI{0%{opacity:0;transform:translate(-50%,-48%) perspective(1200px) rotateX(-2deg) scale(.995)}to{opacity:1;transform:translate(-50%,-50%) perspective(1200px) rotateX(0deg) scale(1)}}.dialog-module_panel__5XCTU{animation:dialog-module_content-show__rVhLI var(--cocso-duration-slow) var(--cocso-easing-entrance);background-color:var(--cocso-color-white);border:1px solid var(--cocso-color-neutral-100);border-radius:var(--cocso-radius-5);box-shadow:var(--cocso-shadow-dialog);display:flex;flex-direction:column;left:50%;max-height:85vh;padding:var(--cocso-spacing-9);position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:var(--cocso-z-index-dialog)}.dialog-module_small__JObfk{max-width:380px}.dialog-module_medium__Xxtor{max-width:520px}.dialog-module_large__O71LV{max-width:680px}@media (prefers-reduced-motion:reduce){.dialog-module_overlay__aJLpW,.dialog-module_panel__5XCTU{animation:none}}.dialog-module_close__cuRe9{align-items:center;align-self:flex-end;cursor:pointer;display:flex;height:var(--cocso-spacing-10);justify-content:center;position:absolute;right:var(--cocso-spacing-9);top:var(--cocso-spacing-9);width:var(--cocso-spacing-10)}.dialog-module_title__E36pq{word-break:keep-all}.dialog-module_description__DNssa{margin-top:var(--cocso-spacing-3)}.field-module_root__m2CZV{--cocso-field-label-font-size:var(--cocso-text-sm);--cocso-field-description-font-size:var(--cocso-text-xs);display:flex;flex-direction:column;gap:var(--cocso-spacing-5)}.field-module_label__LbITU{color:var(--cocso-color-text-primary);cursor:pointer;font-size:var(--cocso-field-label-font-size);font-weight:var(--cocso-font-weight-medium);user-select:none}.field-module_optional__NE5TC{color:var(--cocso-color-text-tertiary);font-size:var(--cocso-field-description-font-size);font-weight:var(--cocso-font-weight-regular);margin-left:var(--cocso-spacing-4)}.field-module_description__qiTfj{color:var(--cocso-color-text-secondary);font-size:var(--cocso-field-description-font-size);margin:0}.field-module_errorMessage__HWoWa{color:var(--cocso-color-feedback-danger);font-size:var(--cocso-field-description-font-size);margin:0}}.cocso-input{--cocso-input-border-color:var(--cocso-color-border-primary)}.cocso-input.cocso-input--size-x-small{--cocso-input-height:28px;--cocso-input-padding-x:8px;--cocso-input-font-size:12px;--cocso-input-border-radius:var(--cocso-radius-3);--cocso-input-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-input-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-input.cocso-input--size-small{--cocso-input-height:32px;--cocso-input-padding-x:10px;--cocso-input-font-size:12px;--cocso-input-border-radius:var(--cocso-radius-3);--cocso-input-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-input-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-input.cocso-input--size-medium{--cocso-input-height:36px;--cocso-input-padding-x:12px;--cocso-input-font-size:14px;--cocso-input-border-radius:var(--cocso-radius-4);--cocso-input-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-input-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-input.cocso-input--size-large{--cocso-input-height:40px;--cocso-input-padding-x:14px;--cocso-input-font-size:14px;--cocso-input-border-radius:var(--cocso-radius-4);--cocso-input-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-input-border-color-focus:var(--cocso-color-interactive-primary-active)}@layer components{.input-module_input__-ipHD{--cocso-input-height:inherit;--cocso-input-padding-x:inherit;--cocso-input-font-size:inherit;--cocso-input-border-radius:inherit;--cocso-input-bg-color:var(--cocso-color-white);background-color:var(--cocso-input-bg-color);border:none;border-radius:var(--cocso-input-border-radius);box-shadow:0 0 0 1px var(--cocso-color-neutral-100),var(--cocso-shadow-xs);color:var(--cocso-color-neutral-950);display:block;font-size:var(--cocso-input-font-size);height:var(--cocso-input-height);outline:none;padding-inline:var(--cocso-input-padding-x);transition:box-shadow var(--cocso-duration-fast) var(--cocso-easing-soft);width:fit-content}.input-module_input__-ipHD::placeholder{color:var(--cocso-color-neutral-400)}.input-module_input__-ipHD:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-neutral-400),var(--cocso-shadow-xs);outline:2px solid transparent}.input-module_input__-ipHD.input-module_stretch__1zxJA{width:100%}.input-module_input__-ipHD:disabled{cursor:not-allowed;opacity:.4}.input-module_input__-ipHD:read-only{background-color:var(--cocso-color-neutral-50);cursor:default}.input-module_input__-ipHD.input-module_error__8P-i-{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs)}.input-module_input__-ipHD.input-module_error__8P-i-:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs);outline:2px solid transparent}}@layer components{.input-trigger-module_trigger__FepZ1{--cocso-input-height:inherit;--cocso-input-padding-x:inherit;--cocso-input-font-size:inherit;--cocso-input-border-radius:inherit;--cocso-input-bg-color:var(--cocso-color-white);align-items:center;background-color:var(--cocso-input-bg-color);border:none;border-radius:var(--cocso-input-border-radius);box-shadow:0 0 0 1px var(--cocso-color-neutral-100),var(--cocso-shadow-xs);color:var(--cocso-color-neutral-950);cursor:pointer;display:inline-flex;font-size:var(--cocso-input-font-size);gap:var(--cocso-spacing-4);height:var(--cocso-input-height);padding-inline:var(--cocso-input-padding-x);text-align:left;transition:box-shadow var(--cocso-duration-fast) var(--cocso-easing-soft);width:fit-content}.input-trigger-module_trigger__FepZ1:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-neutral-400),var(--cocso-shadow-xs);outline:2px solid transparent}.input-trigger-module_trigger__FepZ1.input-trigger-module_stretch__iRyO-{width:100%}.input-trigger-module_trigger__FepZ1:disabled{cursor:not-allowed;opacity:.4}.input-trigger-module_trigger__FepZ1.input-trigger-module_error__qttrx,.input-trigger-module_trigger__FepZ1.input-trigger-module_error__qttrx:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs)}.input-trigger-module_value__3RNV4{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-trigger-module_placeholder__-9y7a{color:var(--cocso-color-neutral-400)}.input-trigger-module_affix__IJsDY{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}}.cocso-link.cocso-link--variant-inline{--cocso-link-color:var(--cocso-color-interactive-info);--cocso-link-color-hover:var(--cocso-color-interactive-info-active)}.cocso-link.cocso-link--variant-current{--cocso-link-color:currentColor;--cocso-link-color-hover:currentColor}.cocso-link.cocso-link--variant-plain{--cocso-link-color:var(--cocso-color-interactive-info);--cocso-link-color-hover:var(--cocso-color-interactive-info-active)}@layer components{.link-module_link__RLpbr{align-items:center;color:var(--cocso-link-color);cursor:pointer;display:inline-flex;gap:var(--cocso-spacing-2);justify-content:center;text-decoration:none;transition:color var(--cocso-duration-fast) var(--cocso-easing-default);width:fit-content}@media (hover:hover) and (pointer:fine){.link-module_link__RLpbr:hover{color:var(--cocso-link-color-hover)}.link-module_current__RgEV9:hover{opacity:.7}}.link-module_link__RLpbr:focus-visible{border-radius:var(--cocso-radius-1);outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.link-module_indicator__73GYU{text-decoration:underline;text-decoration-thickness:.0625em;text-underline-offset:.15em}.link-module_externalIcon__3okjy{flex-shrink:0;height:1em;width:1em}.month-picker-module_root__iHMl-{--cocso-month-picker-font-size:var(--cocso-text-sm);display:inline-block;transform:translateZ(0)}.month-picker-module_content__vb64G{--cocso-month-picker-min-width:260px;border-radius:var(--cocso-radius-4);min-width:var(--cocso-month-picker-min-width);overflow:hidden;padding:var(--cocso-spacing-7)}.month-picker-module_menu__V8bwo{align-items:center;display:flex;gap:var(--cocso-spacing-3);justify-content:center}.month-picker-module_arrow__eD5-G{height:24px;width:24px}.react-datepicker{background-color:var(--cocso-color-surface-primary);color:var(--cocso-color-text-primary);display:inline-block;font-size:.8rem;padding-inline:0;position:relative}.react-datepicker__aria-live{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.react-datepicker__sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__header--custom{align-items:center;display:flex;justify-content:space-between;padding-bottom:var(--cocso-spacing-5);width:100%}.react-datepicker__week{text-align:center;white-space:nowrap}.react-datepicker__month{display:flex;flex-direction:column;gap:var(--cocso-spacing-5)}.react-datepicker__month-wrapper{align-items:center;display:flex;gap:var(--cocso-spacing-3);justify-content:space-between}.react-datepicker__month-text{align-items:center;border-radius:var(--cocso-radius-4);color:var(--cocso-color-text-primary);cursor:pointer;display:flex;flex:1;font-size:var(--cocso-month-picker-font-size);font-weight:var(--cocso-font-weight-medium);height:var(--cocso-spacing-14);justify-content:center}.react-datepicker__month-text--selected{background-color:var(--cocso-color-interactive-primary);color:var(--cocso-color-surface-primary);font-weight:var(--cocso-font-weight-semibold)}}@layer components{@media (hover:hover) and (pointer:fine){.react-datepicker__month-text:hover{background-color:var(--cocso-color-interactive-secondary)}.react-datepicker__month-text--selected:hover{background-color:var(--cocso-color-interactive-primary-hover)}}}@layer components{.one-time-password-field-module_otp__6eiAN{align-items:center;display:flex;gap:var(--cocso-spacing-5)}.one-time-password-field-module_slot__tFGbq{align-items:center;background-color:var(--cocso-color-surface-secondary);border-radius:var(--cocso-radius-1);box-shadow:0 0 0 var(--cocso-spacing-1,1px) var(--cocso-color-border-secondary);color:var(--cocso-color-text-primary);display:inline-flex;font-size:var(--cocso-text-base);font-weight:var(--cocso-font-weight-medium);height:3rem;justify-content:center;line-height:1;position:relative;text-align:center;text-transform:uppercase;transition:background-color var(--cocso-duration-fast) var(--cocso-easing-default),box-shadow var(--cocso-duration-fast) var(--cocso-easing-default);user-select:none;width:2.5rem}@media (hover:hover) and (pointer:fine){.one-time-password-field-module_slot__tFGbq:hover{box-shadow:0 0 0 var(--cocso-spacing-1,1px) var(--cocso-color-border-primary)}}.one-time-password-field-module_slotActive__iT0ud{box-shadow:0 0 0 var(--cocso-spacing-1,1px) var(--cocso-color-border-primary)}.one-time-password-field-module_caret__X9T-B{animation:one-time-password-field-module_caret-blink__dcoHY 1s step-end infinite;background-color:var(--cocso-color-text-primary);height:1em;position:absolute;width:1px}@keyframes one-time-password-field-module_caret-blink__dcoHY{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.one-time-password-field-module_caret__X9T-B{animation:none}}}@layer components{.pagination-module_pagination__XjBXK{align-items:center;display:flex;gap:var(--cocso-spacing-2);justify-content:center;margin-inline:auto}.pagination-module_arrow__q388S,.pagination-module_item__9Vttf{--cocso-pagination-font-size:var(--cocso-text-sm);--cocso-pagination-font-color:var(--cocso-color-text-primary);--cocso-pagination-font-weight:inherit;--cocso-pagination-bg-color:inherit;align-items:center;background-color:var(--cocso-pagination-bg-color);border-radius:var(--cocso-radius-4);color:var(--cocso-pagination-font-color);cursor:pointer;display:inline-flex;font-size:var(--cocso-pagination-font-size);font-weight:var(--cocso-pagination-font-weight);height:var(--cocso-spacing-12);justify-content:center;transition:transform var(--cocso-duration-fast) var(--cocso-easing-default);width:var(--cocso-spacing-12);will-change:transform}.pagination-module_arrow__q388S:focus-visible,.pagination-module_item__9Vttf:focus-visible{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.pagination-module_arrow__q388S:disabled{cursor:not-allowed;opacity:.4}@media (hover:hover) and (pointer:fine){.pagination-module_arrow__q388S:not(:disabled):hover,.pagination-module_item__9Vttf[data-active=false]:hover{--cocso-pagination-bg-color:var(--cocso-color-neutral-50)}}.pagination-module_arrow__q388S:not(:disabled):active{--cocso-pagination-bg-color:var(--cocso-color-neutral-100)}.pagination-module_arrow__q388S>svg{flex-shrink:0;height:var(--cocso-spacing-8);width:var(--cocso-spacing-8)}.pagination-module_arrow__q388S:active,.pagination-module_item__9Vttf:active{transform:scale(.98)}.pagination-module_item__9Vttf[data-active=true]{--cocso-pagination-font-color:var(--cocso-color-white);--cocso-pagination-bg-color:var(--cocso-color-primary-950);--cocso-pagination-font-weight:var(--cocso-font-weight-semibold)}.pagination-module_item__9Vttf[data-active=false]:active{--cocso-pagination-bg-color:var(--cocso-color-neutral-100)}.pagination-module_trunc__neqoN{align-items:center;color:var(--cocso-color-text-primary);display:inline-flex;font-size:var(--cocso-text-base);height:var(--cocso-spacing-13);justify-content:center;width:var(--cocso-spacing-13)}}@layer components{@keyframes popover-module_slide-up-and-fade__Xlvb6{0%{opacity:.9;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-module_slide-right-and-fade__R8x1-{0%{opacity:.9;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes popover-module_slide-down-and-fade__hwk68{0%{opacity:.9;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-module_slide-left-and-fade__dQXyx{0%{opacity:.9;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.popover-module_content__TwOg0{animation:none}}.popover-module_positioner__TnQeH{z-index:var(--cocso-z-index-overlay)}.popover-module_content__TwOg0{animation-duration:var(--cocso-duration-normal);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);border-radius:var(--cocso-radius-3);box-shadow:var(--cocso-shadow-popover);font-size:var(--cocso-text-sm);line-height:1.5;overflow:visible;padding-block:var(--cocso-spacing-4);padding-inline:var(--cocso-spacing-5);position:relative;will-change:transform,opacity}.popover-module_content__TwOg0[data-open][data-side=top]{animation-name:popover-module_slide-up-and-fade__Xlvb6;margin-bottom:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=right]{animation-name:popover-module_slide-right-and-fade__R8x1-;margin-left:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=bottom]{animation-name:popover-module_slide-down-and-fade__hwk68;margin-top:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=left]{animation-name:popover-module_slide-left-and-fade__dQXyx;margin-right:var(--cocso-spacing-3)}.popover-module_content__TwOg0[data-open][data-side=top]:has(.popover-module_arrow__zZuHF){margin-bottom:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=right]:has(.popover-module_arrow__zZuHF){margin-left:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=bottom]:has(.popover-module_arrow__zZuHF){margin-top:var(--cocso-spacing-6)}.popover-module_content__TwOg0[data-open][data-side=left]:has(.popover-module_arrow__zZuHF){margin-right:var(--cocso-spacing-6)}.popover-module_arrow__zZuHF{background-color:var(--cocso-color-surface-primary);border:1px solid var(--cocso-color-border-secondary);height:10px;width:10px}.popover-module_arrow__zZuHF[data-side=bottom]{border-bottom:none;border-right:none;top:0;transform:translateY(-50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=top]{border-left:none;border-top:none;bottom:0;transform:translateY(50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=right]{border-right:none;border-top:none;left:0;transform:translateX(-50%) rotate(45deg)}.popover-module_arrow__zZuHF[data-side=left]{border-bottom:none;border-left:none;right:0;transform:translateX(50%) rotate(45deg)}}.cocso-progress{--cocso-progress-bg-color:var(--cocso-color-surface-neutral)}.cocso-progress.cocso-progress--variant-primary{--cocso-progress-fill-color:var(--cocso-color-interactive-primary)}.cocso-progress.cocso-progress--variant-secondary{--cocso-progress-fill-color:var(--cocso-color-text-muted)}.cocso-progress.cocso-progress--variant-success{--cocso-progress-fill-color:var(--cocso-color-feedback-success)}.cocso-progress.cocso-progress--variant-danger{--cocso-progress-fill-color:var(--cocso-color-feedback-danger)}.cocso-progress.cocso-progress--variant-warning{--cocso-progress-fill-color:var(--cocso-color-feedback-warning)}.cocso-progress.cocso-progress--variant-info{--cocso-progress-fill-color:var(--cocso-color-feedback-info)}.cocso-progress.cocso-progress--size-sm{--cocso-progress-height:4px;--cocso-progress-border-radius:var(--cocso-radius-1)}.cocso-progress.cocso-progress--size-md{--cocso-progress-height:8px;--cocso-progress-border-radius:var(--cocso-radius-2)}.cocso-progress.cocso-progress--size-lg{--cocso-progress-height:12px;--cocso-progress-border-radius:var(--cocso-radius-3)}@layer components{.progress-module_track__gM0oV{background-color:var(--cocso-progress-bg-color);border-radius:var(--cocso-progress-border-radius);height:var(--cocso-progress-height);overflow:hidden;width:100%}.progress-module_fill__aLAbp{background-color:var(--cocso-progress-fill-color);border-radius:inherit;height:100%;transition:width var(--cocso-duration-normal) var(--cocso-easing-soft)}}.cocso-radio.cocso-radio--size-large{--cocso-radio-size:18px;--cocso-radio-dot-size:8px}.cocso-radio.cocso-radio--size-medium{--cocso-radio-size:16px;--cocso-radio-dot-size:7px}.cocso-radio.cocso-radio--size-small{--cocso-radio-size:14px;--cocso-radio-dot-size:6px}.cocso-radio.cocso-radio--selected-true{--cocso-radio-bg-color:var(--cocso-color-interactive-primary);--cocso-radio-border-color:var(--cocso-color-interactive-primary);--cocso-radio-bg-color-hover:var(--cocso-color-interactive-primary-hover);--cocso-radio-border-color-hover:var(--cocso-color-interactive-primary-hover)}.cocso-radio.cocso-radio--selected-false{--cocso-radio-bg-color:var(--cocso-color-surface-primary);--cocso-radio-border-color:var(--cocso-color-border-primary);--cocso-radio-border-color-hover:var(--cocso-color-interactive-primary-muted)}@layer components{.radio-group-module_root__b8W35{display:flex;flex-direction:column;gap:var(--cocso-spacing-4)}.radio-group-module_root__b8W35[data-disabled]{cursor:not-allowed;opacity:.4}.radio-group-module_item__QAyhl{background-color:var(--cocso-color-white);border:var(--cocso-spacing-2) solid var(--cocso-color-text-primary);border-radius:100%;cursor:pointer;height:var(--cocso-radio-size,16px);width:var(--cocso-radio-size,16px)}.radio-group-module_item__QAyhl:focus-visible{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.radio-group-module_item__QAyhl[data-checked]{border-color:var(--cocso-color-primary-950)}.radio-group-module_item__QAyhl[data-disabled]{cursor:not-allowed;opacity:.4}.radio-group-module_indicator__I0Col{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.radio-group-module_indicator__I0Col:after{background-color:var(--cocso-color-primary-950);border-radius:50%;content:"";display:block;height:var(--cocso-radio-dot-size,7px);width:var(--cocso-radio-dot-size,7px)}}.cocso-select{--cocso-select-border-color:var(--cocso-color-border-primary)}.cocso-select.cocso-select--size-x-small{--cocso-select-min-width:28px;--cocso-select-height:28px;--cocso-select-padding-left:8px;--cocso-select-padding-right:26px;--cocso-select-icon-right:8px;--cocso-select-font-size:12px;--cocso-select-border-radius:var(--cocso-radius-3);--cocso-select-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-select-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-select.cocso-select--size-small{--cocso-select-min-width:32px;--cocso-select-height:32px;--cocso-select-padding-left:10px;--cocso-select-padding-right:32px;--cocso-select-icon-right:10px;--cocso-select-font-size:12px;--cocso-select-border-radius:var(--cocso-radius-3);--cocso-select-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-select-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-select.cocso-select--size-medium{--cocso-select-min-width:36px;--cocso-select-height:36px;--cocso-select-padding-left:12px;--cocso-select-padding-right:38px;--cocso-select-icon-right:12px;--cocso-select-font-size:14px;--cocso-select-border-radius:var(--cocso-radius-4);--cocso-select-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-select-border-color-focus:var(--cocso-color-interactive-primary-active)}.cocso-select.cocso-select--size-large{--cocso-select-min-width:40px;--cocso-select-height:40px;--cocso-select-padding-left:14px;--cocso-select-padding-right:42px;--cocso-select-icon-right:14px;--cocso-select-font-size:14px;--cocso-select-border-radius:var(--cocso-radius-4);--cocso-select-border-color-hover:var(--cocso-color-interactive-primary-muted);--cocso-select-border-color-focus:var(--cocso-color-interactive-primary-active)}@layer components{.select-module_wrapper__7szq0{cursor:pointer;position:relative;width:fit-content}.select-module_wrapper__7szq0.select-module_stretch__mQv7N{width:100%}.select-module_select__RLsWH{--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(--cocso-color-white);-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:var(--cocso-select-bg-color);border:none;border-radius:var(--cocso-select-border-radius);box-shadow:0 0 0 1px var(--cocso-color-neutral-100),var(--cocso-shadow-xs);color:var(--cocso-color-neutral-950);font-size:var(--cocso-select-font-size);height:var(--cocso-select-height);min-width:var(--cocso-select-min-width);outline:none;padding-left:var(--cocso-select-padding-left);padding-right:var(--cocso-select-padding-right);transition:box-shadow var(--cocso-duration-fast) var(--cocso-easing-soft)}.select-module_select__RLsWH:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-neutral-400),var(--cocso-shadow-xs);outline:2px solid transparent}.select-module_wrapper__7szq0.select-module_stretch__mQv7N .select-module_select__RLsWH{width:100%}.select-module_wrapper__7szq0:has(select:disabled){cursor:not-allowed}.select-module_select__RLsWH:disabled{cursor:not-allowed;opacity:.4}.select-module_wrapper__7szq0.select-module_error__4KQv3 .select-module_select__RLsWH{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs)}.select-module_wrapper__7szq0.select-module_error__4KQv3 .select-module_select__RLsWH:focus-visible{box-shadow:0 0 0 1px var(--cocso-color-danger-500),var(--cocso-shadow-xs);outline:2px solid transparent}.select-module_icon__K93bs{color:var(--cocso-color-neutral-500);pointer-events:none;position:absolute;right:var(--cocso-select-icon-right,var(--cocso-spacing-5));top:50%;transform:translateY(-50%)}.select-module_wrapper__7szq0:has(select:disabled) .select-module_icon__K93bs{opacity:.4}}.cocso-skeleton{--cocso-skeleton-bg-color:var(--cocso-color-surface-neutral)}.cocso-skeleton.cocso-skeleton--variant-text{--cocso-skeleton-height:16px;--cocso-skeleton-border-radius:var(--cocso-radius-2)}.cocso-skeleton.cocso-skeleton--variant-circular{--cocso-skeleton-height:40px;--cocso-skeleton-width:40px;--cocso-skeleton-border-radius:100%}.cocso-skeleton.cocso-skeleton--variant-rectangular{--cocso-skeleton-height:120px;--cocso-skeleton-border-radius:var(--cocso-radius-4)}@layer components{.skeleton-module_skeleton__fula5{background-color:var(--cocso-skeleton-bg-color);border-radius:var(--cocso-skeleton-border-radius);height:var(--cocso-skeleton-height);width:var(--cocso-skeleton-width,100%)}.skeleton-module_pulse__YLysm{animation:skeleton-module_skeleton-pulse__Yp45W var(--cocso-duration-decorative-slow) var(--cocso-easing-default) infinite}.skeleton-module_wave__GxWJ1{overflow:hidden;position:relative}.skeleton-module_wave__GxWJ1:after{animation:skeleton-module_skeleton-wave__zaVNu var(--cocso-duration-decorative-slow) var(--cocso-easing-default) infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);content:"";inset:0;position:absolute}@keyframes skeleton-module_skeleton-pulse__Yp45W{0%,to{opacity:1}50%{opacity:.4}}@keyframes skeleton-module_skeleton-wave__zaVNu{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}}.cocso-stock-quantity-status.cocso-stock-quantity-status--quantity-sufficient{--cocso-stock-quantity-status-color:var(--cocso-color-feedback-info)}.cocso-stock-quantity-status.cocso-stock-quantity-status--quantity-normal{--cocso-stock-quantity-status-color:var(--cocso-color-feedback-success-muted)}.cocso-stock-quantity-status.cocso-stock-quantity-status--quantity-insufficient{--cocso-stock-quantity-status-color:var(--cocso-color-feedback-danger)}@layer components{.stock-quantity-status-module_stock__vGdTq{--cocso-stock-quantity-status-color:inherit;align-items:center;color:var(--cocso-stock-quantity-status-color);display:inline-flex;gap:var(--cocso-spacing-2)}.stock-quantity-status-module_indicator__AerLT{--cocso-stock-quantity-status-indicator-width:inherit;flex-shrink:0;height:auto;width:var(--cocso-stock-quantity-status-indicator-width)}.stock-quantity-status-module_indicator__AerLT>svg{height:100%;width:100%}}.cocso-switch{--cocso-switch-switch-bg-color:var(--cocso-color-surface-neutral)}.cocso-switch.cocso-switch--variant-primary{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-primary);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-primary-hover)}.cocso-switch.cocso-switch--variant-success{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-success);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-success-hover-subtle)}.cocso-switch.cocso-switch--variant-error{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-danger);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-danger-hover-subtle)}.cocso-switch.cocso-switch--variant-warning{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-warning-active);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-warning-hover-subtle)}.cocso-switch.cocso-switch--variant-info{--cocso-switch-checked-bg-color:var(--cocso-color-interactive-info);--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-info-hover-subtle)}.cocso-switch.cocso-switch--size-large{--cocso-switch-width:40px;--cocso-switch-height:22px;--cocso-switch-thumb-size:18px;--cocso-switch-thumb-offset:2px}.cocso-switch.cocso-switch--size-medium{--cocso-switch-width:36px;--cocso-switch-height:20px;--cocso-switch-thumb-size:16px;--cocso-switch-thumb-offset:2px}.cocso-switch.cocso-switch--size-small{--cocso-switch-width:32px;--cocso-switch-height:18px;--cocso-switch-thumb-size:14px;--cocso-switch-thumb-offset:2px}.cocso-switch.cocso-switch--variant-primary.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-primary)}.cocso-switch.cocso-switch--variant-success.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-success)}.cocso-switch.cocso-switch--variant-error.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-danger)}.cocso-switch.cocso-switch--variant-warning.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-warning-active)}.cocso-switch.cocso-switch--variant-info.cocso-switch--checked-true{--cocso-switch-switch-bg-color:var(--cocso-color-interactive-info)}.cocso-switch.cocso-switch--checked-false{--cocso-switch-switch-bg-color-hover:var(--cocso-color-interactive-secondary-hover)}@layer components{.switch-module_wrapper__mB3eH{align-items:center;display:flex;gap:var(--cocso-spacing-5)}.switch-module_wrapper__mB3eH[data-disabled]{cursor:not-allowed;opacity:.4}.switch-module_switch__KrHDz{--cocso-switch-width:inherit;--cocso-switch-height:inherit;--cocso-switch-bg-color:inherit;background-color:var(--cocso-switch-bg-color);border-radius:var(--cocso-radius-full);cursor:pointer;height:var(--cocso-switch-height);opacity:1;position:relative;width:var(--cocso-switch-width)}.switch-module_switch__KrHDz:focus-visible{outline:2px solid var(--cocso-color-primary-950);outline-offset:2px}.switch-module_switch__KrHDz[data-disabled]{cursor:not-allowed;opacity:.4}.switch-module_switch__KrHDz[data-checked]{--cocso-switch-bg-color:var(--cocso-switch-checked-bg-color)}.switch-module_thumb__sXgSl{--cocso-switch-thumb-size:inherit;background-color:var(--cocso-color-white);border-radius:var(--cocso-radius-full);box-shadow:var(--cocso-shadow-thumb);display:block;height:var(--cocso-switch-thumb-size);position:absolute;top:50%;transform:translate(var(--cocso-switch-thumb-offset),-50%);transition:transform var(--cocso-duration-fast) var(--cocso-easing-soft);width:var(--cocso-switch-thumb-size);will-change:transform}.switch-module_thumb__sXgSl[data-checked]{transform:translate(calc(var(--cocso-switch-width) - var(--cocso-switch-thumb-size) - var(--cocso-switch-thumb-offset)),-50%)}}@layer components{@keyframes tooltip-module_slide-up-and-fade__DiOEq{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-module_slide-right-and-fade__o6cCB{0%{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes tooltip-module_slide-down-and-fade__HJFYG{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-module_slide-left-and-fade__ghuNp{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.tooltip-module_content__gv0-E{animation:none}}.tooltip-module_positioner__iuJEP{z-index:var(--cocso-z-index-overlay)}.tooltip-module_content__gv0-E{animation-duration:var(--cocso-duration-fast);animation-timing-function:var(--cocso-easing-entrance);background-color:var(--cocso-color-surface-inverse);border-radius:var(--cocso-radius-2);color:var(--cocso-color-surface-primary);font-size:var(--cocso-text-xs);line-height:1.5;overflow:visible;padding-block:var(--cocso-spacing-3);padding-inline:var(--cocso-spacing-5);position:relative;will-change:transform,opacity}.tooltip-module_content__gv0-E[data-open][data-side=top]{animation-name:tooltip-module_slide-up-and-fade__DiOEq;margin-bottom:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=right]{animation-name:tooltip-module_slide-right-and-fade__o6cCB;margin-left:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=bottom]{animation-name:tooltip-module_slide-down-and-fade__HJFYG;margin-top:var(--cocso-spacing-5)}.tooltip-module_content__gv0-E[data-open][data-side=left]{animation-name:tooltip-module_slide-left-and-fade__ghuNp;margin-right:var(--cocso-spacing-5)}.tooltip-module_arrow__HFT-V{background-color:var(--cocso-color-surface-inverse);height:6px;width:6px}.tooltip-module_arrow__HFT-V[data-side=bottom]{top:0;transform:translateY(-50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=top]{bottom:0;transform:translateY(50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=right]{left:0;transform:translateX(-50%) rotate(45deg)}.tooltip-module_arrow__HFT-V[data-side=left]{right:0;transform:translateX(50%) rotate(45deg)}}
@@ -12,10 +12,11 @@ export { Dialog, DialogCloseProps, DialogSize } from './components/dialog/dialog
12
12
  export { Dropdown } from './components/dropdown/dropdown.mjs';
13
13
  export { Field, FieldProps, useField } from './components/field/field.mjs';
14
14
  export { Input, InputProps, InputSize } from './components/input/input.mjs';
15
+ export { InputTrigger, InputTriggerProps } from './components/input-trigger/input-trigger.mjs';
15
16
  export { Link, LinkProps, LinkSize, LinkVariant } from './components/link/link.mjs';
16
17
  export { MonthPicker, MonthPickerProps } from './components/month-picker/month-picker.mjs';
17
18
  export { OneTimePasswordField, OneTimePasswordFieldProps } from './components/one-time-password-field/one-time-password-field.mjs';
18
- export { Pagination, PaginationLabels, PaginationProps } from './components/pagination/pagination.mjs';
19
+ export { Pagination, PaginationLabels, PaginationLocale, PaginationProps } from './components/pagination/pagination.mjs';
19
20
  export { Popover } from './components/popover/popover.mjs';
20
21
  export { Progress, ProgressProps, ProgressSize, ProgressVariant } from './components/progress/progress.mjs';
21
22
  export { RadioGroup, RadioSize } from './components/radio-group/radio-group.mjs';
@@ -24,10 +25,11 @@ export { Skeleton, SkeletonAnimation, SkeletonProps, SkeletonVariant } from './c
24
25
  export { Spinner, SpinnerProps, SpinnerSize, SpinnerVariant } from './components/spinner/spinner.mjs';
25
26
  export { QuantityStatus, StockQuantityStatus, StockQuantityStatusProps } from './components/stock-quantity-status/stock-quantity-status.mjs';
26
27
  export { Switch, SwitchProps, SwitchSize, SwitchVariant } from './components/switch/switch.mjs';
27
- export { Tab } from './components/tab/tab.mjs';
28
+ export { Tab, TabContentProps, TabListProps, TabProps, TabTriggerProps } from './components/tab/tab.mjs';
28
29
  export { Toaster, toast } from 'sonner';
29
30
  export { Tooltip } from './components/tooltip/tooltip.mjs';
30
31
  export { BodySize, HeadingSize, Typography, TypographyProps } from './components/typography/typography.mjs';
32
+ export { RenderProp } from './primitives/use-render.mjs';
31
33
  export { colors } from './token/color.mjs';
32
34
  export { radius } from './token/radius.mjs';
33
35
  export { spacing } from './token/spacing.mjs';
@@ -12,6 +12,7 @@ export { Dialog } from './components/dialog/dialog.mjs';
12
12
  export { Dropdown } from './components/dropdown/dropdown.mjs';
13
13
  export { Field, useField } from './components/field/field.mjs';
14
14
  export { Input } from './components/input/input.mjs';
15
+ export { InputTrigger } from './components/input-trigger/input-trigger.mjs';
15
16
  export { Link } from './components/link/link.mjs';
16
17
  export { MonthPicker } from './components/month-picker/month-picker.mjs';
17
18
  export { OneTimePasswordField } from './components/one-time-password-field/one-time-password-field.mjs';
@@ -0,0 +1,11 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ export { useRender } from '@base-ui/react/use-render';
3
+
4
+ /**
5
+ * Public alias for the `render` prop type accepted by polymorphic components
6
+ * (`Button`, `Link`, `Typography`, …). Re-exported so consumers can type their
7
+ * own `render` values without importing from `@base-ui/react` directly.
8
+ */
9
+ type RenderProp = useRender.RenderProp;
10
+
11
+ export type { RenderProp };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocso-ui/react",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cocso/cocso-ui.git",
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "peerDependencies": {
63
63
  "react": "^19.1.1",
64
- "@cocso-ui/css": "^1.0.0"
64
+ "@cocso-ui/css": "^1.0.1"
65
65
  },
66
66
  "publishConfig": {
67
67
  "access": "public"