@infonomic/uikit 5.4.0 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/astro.d.ts CHANGED
@@ -7,14 +7,17 @@ import type CardHeaderComponent from './components/card/card-header.astro'
7
7
  import type CardTitleComponent from './components/card/card-title.astro'
8
8
  import type CardComponent from './components/card/card.astro'
9
9
  import type ContainerComponent from './components/container/container.astro'
10
+ import type CheckboxComponent from './components/forms/checkbox.astro'
10
11
  import type ErrorTextComponent from './components/forms/error-text.astro'
11
12
  import type HelpTextComponent from './components/forms/help-text.astro'
12
13
  import type InputAdornmentComponent from './components/forms/input-adornment.astro'
13
14
  import type InputComponent from './components/forms/input.astro'
14
15
  import type LabelComponent from './components/forms/label.astro'
16
+ import type TextAreaComponent from './components/forms/text-area.astro'
15
17
  import type HamburgerComponent from './components/hamburger/hamburger.astro'
16
18
  import type ScrollToTopComponent from './components/scroll-to-top/scroll-to-top.astro'
17
19
  import type SectionComponent from './components/section/section.astro'
20
+ import type CheckIconComponent from './icons/check-icon.astro'
18
21
  import type CloseIconComponent from './icons/close-icon.astro'
19
22
  import type IconElementComponent from './icons/icon-element.astro'
20
23
  import type LightIconComponent from './icons/light-icon.astro'
@@ -30,14 +33,17 @@ export declare const CardHeader: typeof CardHeaderComponent
30
33
  export declare const CardTitle: typeof CardTitleComponent
31
34
  export declare const Card: typeof CardComponent
32
35
  export declare const Container: typeof ContainerComponent
36
+ export declare const Checkbox: typeof CheckboxComponent
33
37
  export declare const ErrorText: typeof ErrorTextComponent
34
38
  export declare const HelpText: typeof HelpTextComponent
35
39
  export declare const InputAdornment: typeof InputAdornmentComponent
36
40
  export declare const Input: typeof InputComponent
37
41
  export declare const Label: typeof LabelComponent
42
+ export declare const TextArea: typeof TextAreaComponent
38
43
  export declare const Hamburger: typeof HamburgerComponent
39
44
  export declare const ScrollToTop: typeof ScrollToTopComponent
40
45
  export declare const Section: typeof SectionComponent
46
+ export declare const CheckIcon: typeof CheckIconComponent
41
47
  export declare const CloseIcon: typeof CloseIconComponent
42
48
  export declare const IconElement: typeof IconElementComponent
43
49
  export declare const LightIcon: typeof LightIconComponent
package/dist/astro.js CHANGED
@@ -7,14 +7,17 @@ import CardHeaderComponent from './components/card/card-header.astro'
7
7
  import CardTitleComponent from './components/card/card-title.astro'
8
8
  import CardComponent from './components/card/card.astro'
9
9
  import ContainerComponent from './components/container/container.astro'
10
+ import CheckboxComponent from './components/forms/checkbox.astro'
10
11
  import ErrorTextComponent from './components/forms/error-text.astro'
11
12
  import HelpTextComponent from './components/forms/help-text.astro'
12
13
  import InputAdornmentComponent from './components/forms/input-adornment.astro'
13
14
  import InputComponent from './components/forms/input.astro'
14
15
  import LabelComponent from './components/forms/label.astro'
16
+ import TextAreaComponent from './components/forms/text-area.astro'
15
17
  import HamburgerComponent from './components/hamburger/hamburger.astro'
16
18
  import ScrollToTopComponent from './components/scroll-to-top/scroll-to-top.astro'
17
19
  import SectionComponent from './components/section/section.astro'
20
+ import CheckIconComponent from './icons/check-icon.astro'
18
21
  import CloseIconComponent from './icons/close-icon.astro'
19
22
  import IconElementComponent from './icons/icon-element.astro'
20
23
  import LightIconComponent from './icons/light-icon.astro'
@@ -30,14 +33,17 @@ export const CardHeader = CardHeaderComponent
30
33
  export const CardTitle = CardTitleComponent
31
34
  export const Card = CardComponent
32
35
  export const Container = ContainerComponent
36
+ export const Checkbox = CheckboxComponent
33
37
  export const ErrorText = ErrorTextComponent
34
38
  export const HelpText = HelpTextComponent
35
39
  export const InputAdornment = InputAdornmentComponent
36
40
  export const Input = InputComponent
37
41
  export const Label = LabelComponent
42
+ export const TextArea = TextAreaComponent
38
43
  export const Hamburger = HamburgerComponent
39
44
  export const ScrollToTop = ScrollToTopComponent
40
45
  export const Section = SectionComponent
46
+ export const CheckIcon = CheckIconComponent
41
47
  export const CloseIcon = CloseIconComponent
42
48
  export const IconElement = IconElementComponent
43
49
  export const LightIcon = LightIconComponent
@@ -0,0 +1,129 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+ import type { Intent, Size, Variant } from './@types/checkbox.js'
4
+ import CheckIcon from '../../icons/check-icon.astro'
5
+ import ErrorText from './error-text.astro'
6
+ import HelpText from './help-text.astro'
7
+ import styles from './checkbox.module.css'
8
+
9
+ interface Props extends HTMLAttributes<'input'> {
10
+ id: string
11
+ name: string
12
+ label: string
13
+ variant?: Variant
14
+ size?: Size
15
+ intent?: Intent
16
+ reverse?: boolean
17
+ checked?: boolean
18
+ class?: string
19
+ checkBoxClasses?: string
20
+ containerClasses?: string
21
+ componentClasses?: string
22
+ labelClasses?: string
23
+ error?: boolean
24
+ helpText?: string
25
+ errorText?: string
26
+ }
27
+
28
+ const {
29
+ id,
30
+ name,
31
+ label,
32
+ variant = 'outlined',
33
+ size = 'md',
34
+ intent = 'primary',
35
+ reverse = false,
36
+ checked = false,
37
+ class: className,
38
+ checkBoxClasses,
39
+ containerClasses,
40
+ componentClasses,
41
+ labelClasses,
42
+ error = false,
43
+ helpText = '',
44
+ errorText = '',
45
+ ...rest
46
+ } = Astro.props
47
+ ---
48
+
49
+ <div class:list={['checkbox-container', containerClasses]}>
50
+ <div
51
+ class:list={[
52
+ 'checkbox-component',
53
+ styles.container,
54
+ componentClasses,
55
+ { [styles.reverse]: reverse }
56
+ ]}
57
+ >
58
+ <input type="checkbox" id={id} name={name} checked={checked} class="sr-only peer" {...rest} />
59
+
60
+ <label
61
+ for={id}
62
+ class:list={[
63
+ 'checkbox',
64
+ variant,
65
+ size,
66
+ intent,
67
+ styles.checkbox,
68
+ styles[variant],
69
+ styles[size],
70
+ styles[intent],
71
+ checkBoxClasses,
72
+ className
73
+ ]}
74
+ data-state={checked ? 'checked' : 'unchecked'}
75
+ >
76
+ <span
77
+ class:list={['checkbox-indicator', styles.indicator]}
78
+ data-state={checked ? 'checked' : 'unchecked'}
79
+ >
80
+ <CheckIcon class={styles.icon} />
81
+ </span>
82
+ </label>
83
+
84
+ <label for={id} class:list={[styles.label, labelClasses]}>
85
+ {label}
86
+ </label>
87
+ </div>
88
+ {
89
+ error ? (
90
+ <ErrorText id={`error-for-${id}`} text={errorText ?? helpText} />
91
+ ) : (
92
+ helpText?.length > 0 && <HelpText text={helpText} />
93
+ )
94
+ }
95
+ </div>
96
+
97
+ <script>
98
+ function setupCheckboxes() {
99
+ const inputs = document.querySelectorAll('input[type="checkbox"].peer')
100
+
101
+ inputs.forEach((input) => {
102
+ const checkboxInput = input as HTMLInputElement
103
+ const id = checkboxInput.id
104
+ // Find the visual checkbox label associated with this input
105
+ const visualCheckbox = document.querySelector(`label.checkbox[for="${id}"]`)
106
+ const indicator = visualCheckbox?.querySelector('.checkbox-indicator')
107
+
108
+ if (visualCheckbox && indicator) {
109
+ // Update state on change
110
+ checkboxInput.addEventListener('change', () => {
111
+ const state = checkboxInput.checked ? 'checked' : 'unchecked'
112
+ visualCheckbox.setAttribute('data-state', state)
113
+ indicator.setAttribute('data-state', state)
114
+ })
115
+
116
+ // Ensure initial state is correct
117
+ const state = checkboxInput.checked ? 'checked' : 'unchecked'
118
+ visualCheckbox.setAttribute('data-state', state)
119
+ indicator.setAttribute('data-state', state)
120
+ }
121
+ })
122
+ }
123
+
124
+ // Run on initial load
125
+ setupCheckboxes()
126
+
127
+ // Support Astro View Transitions
128
+ document.addEventListener('astro:page-load', setupCheckboxes)
129
+ </script>
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { CheckIcon } from "@radix-ui/react-icons";
3
+ import { CheckIcon } from "../../icons/check-icon.js";
4
4
  import classnames from "classnames";
5
5
  import { Checkbox as external_radix_ui_Checkbox, Label } from "radix-ui";
6
6
  import checkbox_module from "./checkbox.module.js";
@@ -3,6 +3,7 @@
3
3
  @layer infonomic-components {
4
4
  .container {
5
5
  display: flex;
6
+ width: 100%;
6
7
  align-items: center;
7
8
  gap: var(--gap-2);
8
9
  }
@@ -4,6 +4,7 @@
4
4
  .container-Mu7CJl {
5
5
  align-items: center;
6
6
  gap: var(--gap-2);
7
+ width: 100%;
7
8
  display: flex;
8
9
  }
9
10
 
@@ -1,6 +1,7 @@
1
1
  @layer infonomic-base, infonomic-functional, infonomic-utilities, infonomic-theme, infonomic-typography, infonomic-components;
2
2
 
3
3
  @layer infonomic-components {
4
+
4
5
  .input-wrapper,
5
6
  :global(.input-wrapper) {
6
7
  display: flex;
@@ -11,6 +12,7 @@
11
12
  .input-container,
12
13
  :global(.input-container) {
13
14
  position: relative;
15
+ width: 100%;
14
16
  display: flex;
15
17
  align-items: center;
16
18
  gap: var(--gap-2);
@@ -10,6 +10,7 @@
10
10
  :is(.input-container-GveKcr, .input-container) {
11
11
  align-items: center;
12
12
  gap: var(--gap-2);
13
+ width: 100%;
13
14
  display: flex;
14
15
  position: relative;
15
16
  }
@@ -0,0 +1,78 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+ import type { Intent, Variant } from './@types/input.js'
4
+ import ErrorText from './error-text.astro'
5
+ import HelpText from './help-text.astro'
6
+ import inputStyles from './input.module.css'
7
+ import Label from './label.astro'
8
+ import styles from './text-area.module.css'
9
+
10
+ interface Props extends HTMLAttributes<'textarea'> {
11
+ id: string
12
+ name: string
13
+ label: string
14
+ required?: boolean
15
+ variant?: Variant
16
+ intent?: Intent
17
+ rows?: number
18
+ placeHolder?: string
19
+ autoComplete?: string
20
+ error?: boolean
21
+ helpText?: string
22
+ errorText?: string
23
+ class?: string
24
+ }
25
+
26
+ const {
27
+ id,
28
+ name,
29
+ label,
30
+ rows = 4,
31
+ required = false,
32
+ variant = 'outlined',
33
+ intent = 'primary',
34
+ placeHolder = '',
35
+ autoComplete = 'off',
36
+ error = false,
37
+ helpText = '',
38
+ errorText = '',
39
+ class: className,
40
+ ...rest
41
+ } = Astro.props as Props
42
+ ---
43
+
44
+ <fieldset class:list={['text-area-wrapper', inputStyles['input-wrapper']]}>
45
+ <Label id={id} for={id} required={required} label={label} />
46
+ <textarea
47
+ id={id}
48
+ name={name}
49
+ required={required}
50
+ rows={rows}
51
+ auto-complete={autoComplete}
52
+ placeholder={placeHolder}
53
+ aria-labelledby={`label-for-${id}`}
54
+ aria-invalid={error}
55
+ aria-required={required}
56
+ aria-errormessage={errorText}
57
+ aria-describedby={error ? `error-for-${id}` : undefined}
58
+ class:list={[
59
+ 'text-area',
60
+ variant,
61
+ intent,
62
+ inputStyles.input,
63
+ inputStyles[variant],
64
+ inputStyles[intent],
65
+ styles['text-area'],
66
+ styles[variant],
67
+ error && inputStyles.error,
68
+ className
69
+ ]}
70
+ {...rest}></textarea>
71
+ {
72
+ error ? (
73
+ <ErrorText id={`error-for-${id}`} text={errorText ?? helpText} />
74
+ ) : (
75
+ helpText?.length > 0 && <HelpText text={helpText} />
76
+ )
77
+ }
78
+ </fieldset>
@@ -1 +1 @@
1
- {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../src/components/forms/text-area.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAOxD,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;IACtF,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;CAClG;AAED,eAAO,MAAM,QAAQ,GAAqB,sIAgBvC,aAAa,KAAG,KAAK,CAAC,GAAG,CAAC,OAqC5B,CAAA"}
1
+ {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../src/components/forms/text-area.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAOxD,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;IACtF,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;CAClG;AAED,eAAO,MAAM,QAAQ,GAAqB,sIAgBvC,aAAa,KAAG,KAAK,CAAC,GAAG,CAAC,OAsC5B,CAAA"}
@@ -28,7 +28,7 @@ const text_area_TextArea = function({ ref, id, name, label, rows = 4, required =
28
28
  "aria-required": required,
29
29
  "aria-errormessage": errorText,
30
30
  "aria-describedby": error ? `error-for-${id}` : void 0,
31
- className: classnames('text-area', variant, intent, input_module.input, input_module[variant], input_module[intent], text_area_module["text-area"], {
31
+ className: classnames('text-area', variant, intent, input_module.input, input_module[variant], input_module[intent], text_area_module["text-area"], text_area_module[variant], {
32
32
  [input_module.error]: error
33
33
  }, className),
34
34
  ...rest
@@ -1,10 +1,20 @@
1
1
  @layer infonomic-base, infonomic-functional, infonomic-utilities, infonomic-theme, infonomic-typography, infonomic-components;
2
2
 
3
3
  @layer infonomic-components {
4
+
4
5
  .text-area,
5
6
  :global(.text-area) {
6
7
  font-size: 1.1rem;
7
8
  width: 100%;
8
9
  padding: 0.5rem;
9
10
  }
11
+
12
+ .underlined {
13
+ padding-left: 0;
14
+ padding-right: 0;
15
+ }
16
+
17
+ .outlined {}
18
+
19
+ .filled {}
10
20
  }
@@ -1,6 +1,7 @@
1
1
  import "./text-area_module.css";
2
2
  const text_area_module = {
3
3
  "text-area": "text-area-P_aQjC",
4
- textArea: "text-area-P_aQjC"
4
+ textArea: "text-area-P_aQjC",
5
+ underlined: "underlined-a9hkur"
5
6
  };
6
7
  export { text_area_module as default };
@@ -6,5 +6,10 @@
6
6
  padding: .5rem;
7
7
  font-size: 1.1rem;
8
8
  }
9
+
10
+ .underlined-a9hkur {
11
+ padding-left: 0;
12
+ padding-right: 0;
13
+ }
9
14
  }
10
15
 
@@ -0,0 +1,37 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+
4
+ interface Props extends HTMLAttributes<'div'> {
5
+ class?: string
6
+ width?: string
7
+ height?: string
8
+ menuItem?: boolean
9
+ svgClass?: string
10
+ }
11
+
12
+ import IconElement from './icon-element.astro'
13
+ import styles from './icons.module.css'
14
+
15
+ const { class: className, width, height, svgClass: svgClassName, menuItem, ...rest } = Astro.props
16
+ ---
17
+
18
+ <IconElement
19
+ class:list={['check-icon', className]}
20
+ width={width}
21
+ height={height}
22
+ menuItem={menuItem}
23
+ {...rest}
24
+ >
25
+ <svg
26
+ xmlns="http://www.w3.org/2000/svg"
27
+ viewBox="0 0 15 15"
28
+ class:list={[styles['fill-current'], svgClassName]}
29
+ focusable="false"
30
+ aria-hidden="true"
31
+ >
32
+ <path
33
+ d="M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z"
34
+ fill-rule="evenodd"
35
+ clip-rule="evenodd"></path>
36
+ </svg>
37
+ </IconElement>
@@ -1 +1 @@
1
- @layer infonomic-base,infonomic-functional,infonomic-utilities,infonomic-theme,infonomic-typography;@layer infonomic-components{:is(.card-mqJaiW,.card){width:100%;max-width:100%;color:var(--foreground);background:var(--canvas-25);border-width:var(--border-width-thin);border-color:var(--border-color);border-style:var(--border-style-solid);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);flex-direction:column;text-decoration:none;display:flex}:is(.card-mqJaiW:is(.dark *),.card:is(.dark *)){background:var(--canvas-800)}:is(.card-hover-hvT4d6,.card-hover){transition:background .2s ease-in-out}:is(.card-hover-hvT4d6:hover,.card-hover:hover){background:oklch(from var(--theme-50)1 .03 h)}:is(.card-hover-hvT4d6:hover:is(.dark *),.card-hover:hover:is(.dark *)){background:oklch(from var(--canvas-800).2 c h)}:is(.card-header-XnoBkP,.card-header){flex-direction:column;gap:.5rem;padding:1rem;display:flex}:is(.card-title-JI7Lu3,.card-title){color:var(--headings);letter-spacing:-.015em;font-size:1.8rem;font-weight:700;line-height:1}:is(.card-description-fwu7HE,.card-description){color:var(--muted);font-size:.875rem}:is(.card-content-uhoZYJ,.card-content){flex:1;padding:0 1rem 1rem}:is(.card-footer-BxTa4b,.card-footer){align-items:center;padding:0 1rem 1rem;display:flex}:is(.container-tSpizY,.container){width:100%;max-width:60rem;margin:0 auto;padding:0 1rem}@media (width>=66rem){:is(.container-tSpizY,.container){max-width:64rem}}@media (width>=77rem){:is(.container-tSpizY,.container){max-width:74.375rem}}@media (width>=94rem){:is(.container-tSpizY,.container){max-width:87.5rem}}:is(.badge-8xVidp,.badge){font-size:var(--font-size-sm);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--border-radius-sm);padding:.25em .4em;font-weight:400;line-height:1;display:inline-block}:is(.primary-oZyR_M,.badge-primary){color:var(--text-on-primary);background-color:var(--fill-primary-strong)}:is(.secondary-VsqJTm,.badge-secondary){color:var(--text-on-secondary);background-color:var(--fill-secondary-strong)}:is(.noeffect-R8eJtO,.badge-noeffect){color:var(--text-on-noeffect);background-color:var(--fill-noeffect-strong)}:is(.success-h2otET,.badge-success){color:var(--text-on-success);background-color:var(--fill-success-strong)}:is(.info-OG3F3u,.badge-info){color:var(--text-on-info);background-color:var(--fill-info-strong)}:is(.warning-zTXksZ,.badge-warning){color:var(--text-on-warning);background-color:var(--fill-warning-strong)}:is(.danger-hKF7l_,.badge-danger){color:var(--text-on-danger);background-color:var(--fill-danger-strong)}:is(.button-IjDhC0,.button){cursor:pointer;text-align:center;gap:var(--gap-2);white-space:nowrap;outline-offset:2px;transition:background-color var(--transition-normal),box-shadow var(--transition-normal);border-radius:var(--border-radius-sm);border:none;outline:2px solid #0000;justify-content:center;align-items:center;font-weight:400;line-height:0;display:inline-flex}:is(.button-IjDhC0:disabled,.button-IjDhC0[disabled],.button:disabled,.button[disabled]){pointer-events:none}:is(.button-IjDhC0:focus,.button-IjDhC0:active,.button:focus,.button:active){--ring-offset-color:var(--background);--ring-offset-shadow:var(--ring-inset)0 0 0 var(--ring-offset-width)var(--ring-offset-color);--ring-shadow:var(--ring-inset)0 0 0 calc(1px + var(--ring-offset-width))var(--ring-color);box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow,0 0 #0000)}.button-IjDhC0.square-P_6yde,.button-square{aspect-ratio:1;border-radius:var(--border-radius-sm);padding:0}.button-IjDhC0.round-uqus3n,.button-round{aspect-ratio:1;border-radius:var(--border-radius-full);padding:0}:is(.xs-jxTd5R,.button-xs){min-height:26px;padding:.2rem .4rem;font-size:.7rem}:is(.sm-uD_Ugt,.button-sm){min-height:32px;padding:.25rem .5rem;font-size:.775rem}:is(.md-Qp9ad6,.button-md){min-height:38px;padding:.625rem 1.25rem;font-size:.95rem}:is(.lg-FAYTen,.button-lg){min-height:46px;padding:.75rem 1.5rem;font-size:1.1rem}:is(.xl-Gwvhl4,.button-xl){min-height:54px;padding:.75rem 1.5rem;font-size:1.2rem}:is(.filled-CwGsrO,.button-filled){color:var(--button-variant-filled-foreground);background-color:var(--button-variant-filled)}:is(.filled-CwGsrO:hover,.button-filled:hover){background-color:var(--button-variant-filled-hover)}:is(.filled-CwGsrO:focus,.filled-CwGsrO:active,.button-filled:focus,.button-filled:active){--ring-color:var(--button-ring-color)}:is(.filled-CwGsrO:disabled,.filled-CwGsrO[disabled],.button-filled:disabled,.button-filled[disabled]){background-color:var(--button-variant-filled-disabled,oklch(from var(--button-variant-filled)calc(l*1.1)calc(c*.85)h));color:var(--button-variant-filled-foreground-disabled,oklch(from var(--button-variant-filled-foreground)calc(l*.9)calc(c*.85)h))}:is(.outlined-nZGbxu,.button-outlined){border:1px solid var(--button-variant-outlined-border);color:var(--button-variant-outlined-foreground);background-color:var(--button-variant-outlined)}:is(.outlined-nZGbxu:disabled,.outlined-nZGbxu[disabled],.button-outlined:disabled,.button-outlined[disabled]){border-color:var(--button-variant-outlined-border-disabled,oklch(from var(--button-variant-outlined-border)calc(l*1.5)calc(c*.8)h));color:var(--button-variant-outlined-foreground-disabled,oklch(from var(--button-variant-outlined-foreground)calc(l*1.1)calc(c*.7)h))}:is(.outlined-nZGbxu:hover,.button-outlined:hover){background-color:var(--button-variant-outlined-hover)}:is(.outlined-nZGbxu:focus,.outlined-nZGbxu:active,.button-outlined:focus,.button-outlined:active){--ring-color:var(--button-ring-color)}:is(.gradient-ySC3O3,.button-gradient){color:var(--button-variant-gradient-foreground);background:linear-gradient(45deg,var(--button-variant-gradient-start),var(--button-variant-gradient-end))}:is(.gradient-ySC3O3:disabled,.gradient-ySC3O3[disabled],.button-gradient:disabled,.button-gradient[disabled]){background:unset;background-color:var(--button-variant-gradient-disabled,oklch(from var(--button-variant-gradient-end)calc(l*1.2)calc(c*.85)h));color:var(--button-variant-gradient-foreground-disabled,oklch(from var(--button-variant-gradient-foreground)calc(l*.9)calc(c*.85)h))}:is(.gradient-ySC3O3:hover,.button-gradient:hover){color:var(--button-variant-gradient-foreground);background:linear-gradient(45deg,var(--button-variant-gradient-start),var(--button-variant-gradient-end))}:is(.gradient-ySC3O3:focus,.gradient-ySC3O3:active,.button-gradient:focus,.button-gradient:active){--ring-color:var(--button-ring-color)}:is(.text-GaxlcE,.button-text){background-color:var(--button-variant-text);color:var(--button-variant-text-foreground)}:is(.text-GaxlcE:disabled,.text-GaxlcE[disabled],.button-text:disabled,.button-text[disabled]){color:oklch(from var(--button-variant-text-foreground)calc(l*1.5)calc(c*.5)h)}:is(.text-GaxlcE:hover,.button-text:hover){background-color:var(--button-variant-text-hover)}:is(.text-GaxlcE:focus,.text-GaxlcE:active,.button-text:focus,.button-text:active){--ring-color:var(--button-ring-color)}:is(.primary-tUmczz,.button-primary){--button-ring-color:var(--ring-primary);--button-variant-filled:var(--fill-primary-strong);--button-variant-filled-foreground:var(--text-on-primary);--button-variant-filled-hover:var(--fill-primary-strong-hover);--button-variant-filled-disabled:var(--fill-primary-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-primary-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-primary-strong);--button-variant-outlined-hover:var(--fill-primary-weak);--button-variant-outlined-border:var(--stroke-primary);--button-variant-outlined-border-disabled:var(--stroke-primary-disabled);--button-variant-outlined-foreground-disabled:var(--text-primary-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-primary-weak);--button-variant-text-hover:var(--fill-primary-weak-hover);--button-variant-gradient-start:var(--gradient-primary-start);--button-variant-gradient-end:var(--gradient-primary-end);--button-variant-gradient-foreground:var(--gradient-primary-foreground);--button-variant-gradient-disabled:var(--gradient-primary-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-primary-disabled)}:is(.secondary-UqT2AY,.button-secondary){--button-ring-color:var(--ring-secondary);--button-variant-filled:var(--fill-secondary-strong);--button-variant-filled-foreground:var(--text-on-secondary);--button-variant-filled-hover:var(--fill-secondary-strong-hover);--button-variant-filled-disabled:var(--fill-secondary-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-secondary-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-secondary-strong);--button-variant-outlined-hover:var(--fill-secondary-weak);--button-variant-outlined-border:var(--stroke-secondary);--button-variant-outlined-border-disabled:var(--stroke-secondary-disabled);--button-variant-outlined-foreground-disabled:var(--text-secondary-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-secondary-weak);--button-variant-text-hover:var(--fill-secondary-weak-hover);--button-variant-gradient-start:var(--gradient-secondary-start);--button-variant-gradient-end:var(--gradient-secondary-end);--button-variant-gradient-foreground:var(--gradient-secondary-foreground);--button-variant-gradient-disabled:var(--gradient-secondary-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-secondary-disabled)}:is(.noeffect-fpxSgg,.button-noeffect){--button-ring-color:var(--ring-noeffect);--button-variant-filled:var(--fill-noeffect-strong);--button-variant-filled-foreground:var(--text-on-noeffect);--button-variant-filled-hover:var(--fill-noeffect-strong-hover);--button-variant-filled-disabled:var(--fill-noeffect-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-noeffect-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-noeffect-strong);--button-variant-outlined-hover:var(--fill-noeffect-weak);--button-variant-outlined-border:var(--stroke-noeffect);--button-variant-outlined-border-disabled:var(--stroke-noeffect-disabled);--button-variant-outlined-foreground-disabled:var(--text-noeffect-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-noeffect-weak);--button-variant-text-hover:var(--fill-noeffect-weak-hover);--button-variant-gradient-start:var(--gradient-noeffect-start);--button-variant-gradient-end:var(--gradient-noeffect-end);--button-variant-gradient-foreground:var(--gradient-noeffect-foreground);--button-variant-gradient-disabled:var(--gradient-noeffect-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-noeffect-disabled)}:is(.success-fTNDEn,.button-success){--button-ring-color:var(--ring-success);--button-variant-filled:var(--fill-success-strong);--button-variant-filled-foreground:var(--text-on-success);--button-variant-filled-hover:var(--fill-success-strong-hover);--button-variant-filled-disabled:var(--fill-success-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-success-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-success-strong);--button-variant-outlined-hover:var(--fill-success-weak);--button-variant-outlined-border:var(--stroke-success);--button-variant-outlined-border-disabled:var(--stroke-success-disabled);--button-variant-outlined-foreground-disabled:var(--text-success-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-success-weak);--button-variant-text-hover:var(--fill-success-weak-hover);--button-variant-gradient-start:var(--gradient-success-start);--button-variant-gradient-end:var(--gradient-success-end);--button-variant-gradient-foreground:var(--gradient-success-foreground);--button-variant-gradient-disabled:var(--gradient-success-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-success-disabled)}:is(.info-qrdXQD,.button-info){--button-ring-color:var(--ring-info);--button-variant-filled:var(--fill-info-strong);--button-variant-filled-foreground:var(--text-on-info);--button-variant-filled-hover:var(--fill-info-strong-hover);--button-variant-filled-disabled:var(--fill-info-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-info-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-info-strong);--button-variant-outlined-hover:var(--fill-info-weak);--button-variant-outlined-border:var(--stroke-info);--button-variant-outlined-border-disabled:var(--stroke-info-disabled);--button-variant-outlined-foreground-disabled:var(--text-info-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-info-weak);--button-variant-text-hover:var(--fill-info-weak-hover);--button-variant-gradient-start:var(--gradient-info-start);--button-variant-gradient-end:var(--gradient-info-end);--button-variant-gradient-foreground:var(--gradient-info-foreground);--button-variant-gradient-disabled:var(--gradient-info-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-info-disabled)}:is(.warning-a00T3A,.button-warning){--button-ring-color:var(--ring-warning);--button-variant-filled:var(--fill-warning-strong);--button-variant-filled-foreground:var(--text-on-warning);--button-variant-filled-hover:var(--fill-warning-strong-hover);--button-variant-filled-disabled:var(--fill-warning-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-warning-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-warning-strong);--button-variant-outlined-hover:var(--fill-warning-weak);--button-variant-outlined-border:var(--stroke-warning);--button-variant-outlined-border-disabled:var(--stroke-warning-disabled);--button-variant-outlined-foreground-disabled:var(--text-warning-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-warning-weak);--button-variant-text-hover:var(--fill-warning-weak-hover);--button-variant-gradient-start:var(--gradient-warning-start);--button-variant-gradient-end:var(--gradient-warning-end);--button-variant-gradient-foreground:var(--gradient-warning-foreground);--button-variant-gradient-disabled:var(--gradient-warning-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-warning-disabled)}:is(.danger-rwIV_i,.button-danger){--button-ring-color:var(--ring-danger);--button-variant-filled:var(--fill-danger-strong);--button-variant-filled-foreground:var(--text-on-danger);--button-variant-filled-hover:var(--fill-danger-strong-hover);--button-variant-filled-disabled:var(--fill-danger-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-danger-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-danger-strong);--button-variant-outlined-hover:var(--fill-danger-weak);--button-variant-outlined-border:var(--stroke-danger);--button-variant-outlined-border-disabled:var(--stroke-danger-disabled);--button-variant-outlined-foreground-disabled:var(--text-danger-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-danger-weak);--button-variant-text-hover:var(--fill-danger-weak-hover);--button-variant-gradient-start:var(--gradient-danger-start);--button-variant-gradient-end:var(--gradient-danger-end);--button-variant-gradient-foreground:var(--gradient-danger-foreground);--button-variant-gradient-disabled:var(--gradient-danger-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-danger-disabled)}:is(.fullWidth-wXvP0v,.button-full-width){width:100%;display:flex}:is(.button-group-uqvOi8,.button-group){place-items:center;gap:var(--gap-2);flex-direction:column;display:flex}@media screen and (width>=40rem){:is(.button-group-uqvOi8,.button-group){flex-direction:row}}:is(.copy-button-container-vCNz8o,.copy-button-container){display:inline-block}:is(.copy-button-oa4bdj svg,.copy-button svg){width:90%;height:90%;display:block}:is(.xs-lZmf78,.copy-button-xs){width:26px;height:26px;min-height:26px;padding:.25rem}:is(.sm-KNN1e5,.copy-button-sm){width:32px;height:32px;min-height:32px;padding:.35rem}:is(.md-OoH0l4,.copy-button-md){width:38px;height:38px;min-height:38px;padding:.45rem}:is(.lg-uu5ujz,.copy-button-lg){width:46px;height:46px;min-height:46px;padding:.55rem}:is(.xl-pFYyrS,.copy-button-xl){width:54px;height:54px;min-height:54px;padding:.65rem}:is(.input-wrapper-xxN94z,.input-wrapper){gap:var(--gap-1);flex-direction:column;display:flex}:is(.input-container-GveKcr,.input-container){align-items:center;gap:var(--gap-2);display:flex;position:relative}:is(.input-voSL1w,.input){gap:var(--gap-2);width:100%;transition:all var(--transition-normal);border-radius:var(--border-radius-sm);border:none;outline:none;align-items:center;font-weight:400;display:inline-flex}:is(.input-voSL1w:focus,.input-voSL1w:active,.input:focus,.input:active){--ring-offset-color:var(--background);--ring-offset-shadow:var(--ring-inset)0 0 0 var(--ring-offset-width)var(--ring-offset-color);--ring-shadow:var(--ring-inset)0 0 0 calc(1px + var(--ring-offset-width))var(--ring-color);box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow,0 0 #0000)}:is(.input-voSL1w:disabled,.input-voSL1w[disabled],.input:disabled,.input[disabled]){pointer-events:none}:is(.label-a8k0oS,.input-label){color:var(--label-color);font-size:.875rem;font-weight:500}:is(.sm-cI5ETu,.input-sm){min-height:32px;padding:.25rem .5rem;font-size:.875rem;line-height:0}:is(.md-moqLi4,.input-md){min-height:38px;padding:.4rem .5rem;font-size:1.1rem;line-height:0}:is(.lg-Tn3YZZ,.input-lg){min-height:46px;padding:.5rem;font-size:1.2rem;line-height:0}:is(.start-adornment-H0sdmX,.end-adornment-xl3mid,.input-start-adornment,.input-end-adornment){align-items:center;display:flex;position:absolute}:is(.start-adornment-H0sdmX,.input-start-adornment){left:5px}:is(.end-adornment-xl3mid,.input-end-adornment){right:5px}:is(.help-text-MZW4yX,.input-help-text){color:var(--help-text-color);font-size:.75rem}:is(.outlined-xbB8mE,.input-outlined){border:1px solid var(--input-variant-outlined-border);background-color:#0000}:is(.outlined-xbB8mE:hover,.input-outlined:hover){border:1px solid var(--input-variant-outlined-hover-border)}:is(.outlined-xbB8mE:focus,.outlined-xbB8mE:active,.input-outlined:focus,.input-outlined:active){--ring-color:var(--input-variant-outline-ring-color)}:is(.underlined-zAz2HP,.input-underlined){border-bottom:1px solid var(--input-variant-underlined-border);gap:var(--gap-1);background-color:var(--input-variant-underlined);border-radius:0}.underlined-zAz2HP.sm-cI5ETu,.input-underlined.input-sm{min-height:26px;padding:.25rem .1rem}.underlined-zAz2HP.md-moqLi4,.input-underlined.input-md{min-height:30px;padding:.25rem .1rem}.underlined-zAz2HP.lg-Tn3YZZ,.input-underlined.input-lg{min-height:34px;padding:0 .1rem}:is(.underlined-zAz2HP:hover,.input-underlined:hover){border-bottom:1px solid var(--input-variant-underlined-hover-border)}:is(.filled-M1_LzJ,.input-filled){background-color:var(--input-variant-filled)}:is(.error-n0kSb0,.input-error),:is(.error-n0kSb0:hover,.input-error:hover){border:1px solid var(--red-400)}:is(.error-n0kSb0:focus,.error-n0kSb0:active,.input-error:focus,.input-error:active){--ring-color:var(--red-300)}.underlined-zAz2HP.start-adornment-padding-YAcYOx,.start-adornment-padding-YAcYOx,.input-underlined.input-start-adornment-padding,.input-start-adornment-padding{padding-left:2rem}.underlined-zAz2HP.end-adornment-padding-nC63CK,.end-adornment-padding-nC63CK,.input-underlined.input-end-adornment-padding,.input-end-adornment-padding{padding-right:2rem}.underlined-zAz2HP.start-adornment-H0sdmX,.input-underlined.input-start-adornment{left:0}.underlined-zAz2HP.end-adornment-xl3mid,.input-underlined.input-end-adornment{right:0}:is(.primary-xZZpZI,.input-primary){--input-variant-outlined-border:var(--stroke-primary);--input-variant-outlined-hover-border:var(--stroke-primary-hover);--input-variant-outline-ring-color:var(--ring-primary);--input-variant-underlined-border:var(--stroke-primary);--input-variant-underlined-hover-border:var(--stroke-primary-hover);--input-variant-filled:var(--fill-primary-weak)}:is(.secondary-WWDy2x,.input-secondary){--input-variant-outlined-border:var(--stroke-secondary);--input-variant-outlined-hover-border:var(--stroke-secondary-hover);--input-variant-outline-ring-color:var(--ring-secondary);--input-variant-underlined-border:var(--stroke-secondary);--input-variant-underlined-hover-border:var(--stroke-secondary-hover);--input-variant-filled:var(--fill-secondary-weak)}:is(.noeffect-LHbgak,.input-noeffect){--input-variant-outlined-border:var(--stroke-noeffect);--input-variant-outlined-hover-border:var(--stroke-noeffect-hover);--input-variant-outline-ring-color:var(--ring-noeffect);--input-variant-underlined-border:var(--stroke-noeffect);--input-variant-underlined-hover-border:var(--stroke-noeffect-hover);--input-variant-filled:var(--fill-noeffect-weak)}:is(.success-pMbTwx,.input-success){--input-variant-outlined-border:var(--stroke-success);--input-variant-outlined-hover-border:var(--stroke-success-hover);--input-variant-outline-ring-color:var(--ring-success);--input-variant-underlined-border:var(--stroke-success);--input-variant-underlined-hover-border:var(--stroke-success-hover);--input-variant-filled:var(--fill-success-weak)}:is(.info-SRpUkb,.input-info){--input-variant-outlined-border:var(--stroke-info);--input-variant-outlined-hover-border:var(--stroke-info-hover);--input-variant-outline-ring-color:var(--ring-info);--input-variant-underlined-border:var(--stroke-info);--input-variant-underlined-hover-border:var(--stroke-info-hover);--input-variant-filled:var(--fill-info-weak)}:is(.warning-mHL8O2,.input-warning){--input-variant-outlined-border:var(--stroke-warning);--input-variant-outlined-hover-border:var(--stroke-warning-hover);--input-variant-outline-ring-color:var(--ring-warning);--input-variant-underlined-border:var(--stroke-warning);--input-variant-underlined-hover-border:var(--stroke-warning-hover);--input-variant-filled:var(--fill-warning-weak)}:is(.danger-Rzx3WQ,.input-danger){--input-variant-outlined-border:var(--stroke-danger);--input-variant-outlined-hover-border:var(--stroke-danger-hover);--input-variant-outline-ring-color:var(--ring-danger);--input-variant-underlined-border:var(--stroke-danger);--input-variant-underlined-hover-border:var(--stroke-danger-hover);--input-variant-filled:var(--fill-danger-weak)}:is(.adornment-IbSUaL,.input-adornment){white-space:nowrap;align-items:center;line-height:0;display:flex}:is(.start-hcDqEk,.input-adornment-start){justify-content:flex-start}:is(.end-j0ZhyO,.input-adornment-end){justify-content:flex-end}:is(.text-area-P_aQjC,.text-area){width:100%;padding:.5rem;font-size:1.1rem}:is(.label-Q88hWY,.label){color:var(--text);font-weight:500;display:block}:is(.required-uod5eu,.label-required){color:var(--error)}:is(.text-xJE0DB,.error-text){color:var(--error);font-size:.875rem}:is(.text-U6KD9f,.help-text){color:var(--muted);font-size:.875rem}:is(.section-CEcZOp,.section){width:100%;position:relative}:is(.scroll-to-top-WYqAAl,.scroll-to-top){opacity:0;visibility:hidden;z-index:20;width:0;height:0;color:var(--text-on-primary);background-color:var(--fill-primary-strong);cursor:pointer;border-style:none;outline:none;justify-content:center;align-items:center;margin:0;padding:0;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.5,1),color 1ms;display:flex;position:fixed;bottom:45px;right:30px}.scroll-to-top-WYqAAl span,.scroll-to-top span{width:18px;padding-bottom:3px}.scroll-to-top-WYqAAl span svg path,.scroll-to-top span svg path{stroke:none;fill:var(--text-on-primary)}.scroll-to-top-WYqAAl:hover,.scroll-to-top-WYqAAl:focus,.scroll-to-top:hover,.scroll-to-top:focus{color:var(--text-on-primary);background-color:var(--fill-primary-strong-hover);transform:translateY(-5px)}:is(.scroll-to-top-shown-Wemu5m,.scroll-to-top-shown){opacity:1;visibility:visible;border-radius:20px;width:40px;min-width:0;height:40px;padding:0;bottom:20px;right:10px}@media screen and (width>=587px){:is(.scroll-to-top-WYqAAl,.scroll-to-top){bottom:45px;right:45px}.scroll-to-top-WYqAAl span,.scroll-to-top span{width:18px}:is(.scroll-to-top-shown-Wemu5m,.scroll-to-top-shown){border-radius:21px;width:42px;height:42px;bottom:22px;right:22px}}}
1
+ @layer infonomic-base,infonomic-functional,infonomic-utilities,infonomic-theme,infonomic-typography;@layer infonomic-components{:is(.card-mqJaiW,.card){width:100%;max-width:100%;color:var(--foreground);background:var(--canvas-25);border-width:var(--border-width-thin);border-color:var(--border-color);border-style:var(--border-style-solid);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);flex-direction:column;text-decoration:none;display:flex}:is(.card-mqJaiW:is(.dark *),.card:is(.dark *)){background:var(--canvas-800)}:is(.card-hover-hvT4d6,.card-hover){transition:background .2s ease-in-out}:is(.card-hover-hvT4d6:hover,.card-hover:hover){background:oklch(from var(--theme-50)1 .03 h)}:is(.card-hover-hvT4d6:hover:is(.dark *),.card-hover:hover:is(.dark *)){background:oklch(from var(--canvas-800).2 c h)}:is(.card-header-XnoBkP,.card-header){flex-direction:column;gap:.5rem;padding:1rem;display:flex}:is(.card-title-JI7Lu3,.card-title){color:var(--headings);letter-spacing:-.015em;font-size:1.8rem;font-weight:700;line-height:1}:is(.card-description-fwu7HE,.card-description){color:var(--muted);font-size:.875rem}:is(.card-content-uhoZYJ,.card-content){flex:1;padding:0 1rem 1rem}:is(.card-footer-BxTa4b,.card-footer){align-items:center;padding:0 1rem 1rem;display:flex}:is(.container-tSpizY,.container){width:100%;max-width:60rem;margin:0 auto;padding:0 1rem}@media (width>=66rem){:is(.container-tSpizY,.container){max-width:64rem}}@media (width>=77rem){:is(.container-tSpizY,.container){max-width:74.375rem}}@media (width>=94rem){:is(.container-tSpizY,.container){max-width:87.5rem}}:is(.badge-8xVidp,.badge){font-size:var(--font-size-sm);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--border-radius-sm);padding:.25em .4em;font-weight:400;line-height:1;display:inline-block}:is(.primary-oZyR_M,.badge-primary){color:var(--text-on-primary);background-color:var(--fill-primary-strong)}:is(.secondary-VsqJTm,.badge-secondary){color:var(--text-on-secondary);background-color:var(--fill-secondary-strong)}:is(.noeffect-R8eJtO,.badge-noeffect){color:var(--text-on-noeffect);background-color:var(--fill-noeffect-strong)}:is(.success-h2otET,.badge-success){color:var(--text-on-success);background-color:var(--fill-success-strong)}:is(.info-OG3F3u,.badge-info){color:var(--text-on-info);background-color:var(--fill-info-strong)}:is(.warning-zTXksZ,.badge-warning){color:var(--text-on-warning);background-color:var(--fill-warning-strong)}:is(.danger-hKF7l_,.badge-danger){color:var(--text-on-danger);background-color:var(--fill-danger-strong)}:is(.button-IjDhC0,.button){cursor:pointer;text-align:center;gap:var(--gap-2);white-space:nowrap;outline-offset:2px;transition:background-color var(--transition-normal),box-shadow var(--transition-normal);border-radius:var(--border-radius-sm);border:none;outline:2px solid #0000;justify-content:center;align-items:center;font-weight:400;line-height:0;display:inline-flex}:is(.button-IjDhC0:disabled,.button-IjDhC0[disabled],.button:disabled,.button[disabled]){pointer-events:none}:is(.button-IjDhC0:focus,.button-IjDhC0:active,.button:focus,.button:active){--ring-offset-color:var(--background);--ring-offset-shadow:var(--ring-inset)0 0 0 var(--ring-offset-width)var(--ring-offset-color);--ring-shadow:var(--ring-inset)0 0 0 calc(1px + var(--ring-offset-width))var(--ring-color);box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow,0 0 #0000)}.button-IjDhC0.square-P_6yde,.button-square{aspect-ratio:1;border-radius:var(--border-radius-sm);padding:0}.button-IjDhC0.round-uqus3n,.button-round{aspect-ratio:1;border-radius:var(--border-radius-full);padding:0}:is(.xs-jxTd5R,.button-xs){min-height:26px;padding:.2rem .4rem;font-size:.7rem}:is(.sm-uD_Ugt,.button-sm){min-height:32px;padding:.25rem .5rem;font-size:.775rem}:is(.md-Qp9ad6,.button-md){min-height:38px;padding:.625rem 1.25rem;font-size:.95rem}:is(.lg-FAYTen,.button-lg){min-height:46px;padding:.75rem 1.5rem;font-size:1.1rem}:is(.xl-Gwvhl4,.button-xl){min-height:54px;padding:.75rem 1.5rem;font-size:1.2rem}:is(.filled-CwGsrO,.button-filled){color:var(--button-variant-filled-foreground);background-color:var(--button-variant-filled)}:is(.filled-CwGsrO:hover,.button-filled:hover){background-color:var(--button-variant-filled-hover)}:is(.filled-CwGsrO:focus,.filled-CwGsrO:active,.button-filled:focus,.button-filled:active){--ring-color:var(--button-ring-color)}:is(.filled-CwGsrO:disabled,.filled-CwGsrO[disabled],.button-filled:disabled,.button-filled[disabled]){background-color:var(--button-variant-filled-disabled,oklch(from var(--button-variant-filled)calc(l*1.1)calc(c*.85)h));color:var(--button-variant-filled-foreground-disabled,oklch(from var(--button-variant-filled-foreground)calc(l*.9)calc(c*.85)h))}:is(.outlined-nZGbxu,.button-outlined){border:1px solid var(--button-variant-outlined-border);color:var(--button-variant-outlined-foreground);background-color:var(--button-variant-outlined)}:is(.outlined-nZGbxu:disabled,.outlined-nZGbxu[disabled],.button-outlined:disabled,.button-outlined[disabled]){border-color:var(--button-variant-outlined-border-disabled,oklch(from var(--button-variant-outlined-border)calc(l*1.5)calc(c*.8)h));color:var(--button-variant-outlined-foreground-disabled,oklch(from var(--button-variant-outlined-foreground)calc(l*1.1)calc(c*.7)h))}:is(.outlined-nZGbxu:hover,.button-outlined:hover){background-color:var(--button-variant-outlined-hover)}:is(.outlined-nZGbxu:focus,.outlined-nZGbxu:active,.button-outlined:focus,.button-outlined:active){--ring-color:var(--button-ring-color)}:is(.gradient-ySC3O3,.button-gradient){color:var(--button-variant-gradient-foreground);background:linear-gradient(45deg,var(--button-variant-gradient-start),var(--button-variant-gradient-end))}:is(.gradient-ySC3O3:disabled,.gradient-ySC3O3[disabled],.button-gradient:disabled,.button-gradient[disabled]){background:unset;background-color:var(--button-variant-gradient-disabled,oklch(from var(--button-variant-gradient-end)calc(l*1.2)calc(c*.85)h));color:var(--button-variant-gradient-foreground-disabled,oklch(from var(--button-variant-gradient-foreground)calc(l*.9)calc(c*.85)h))}:is(.gradient-ySC3O3:hover,.button-gradient:hover){color:var(--button-variant-gradient-foreground);background:linear-gradient(45deg,var(--button-variant-gradient-start),var(--button-variant-gradient-end))}:is(.gradient-ySC3O3:focus,.gradient-ySC3O3:active,.button-gradient:focus,.button-gradient:active){--ring-color:var(--button-ring-color)}:is(.text-GaxlcE,.button-text){background-color:var(--button-variant-text);color:var(--button-variant-text-foreground)}:is(.text-GaxlcE:disabled,.text-GaxlcE[disabled],.button-text:disabled,.button-text[disabled]){color:oklch(from var(--button-variant-text-foreground)calc(l*1.5)calc(c*.5)h)}:is(.text-GaxlcE:hover,.button-text:hover){background-color:var(--button-variant-text-hover)}:is(.text-GaxlcE:focus,.text-GaxlcE:active,.button-text:focus,.button-text:active){--ring-color:var(--button-ring-color)}:is(.primary-tUmczz,.button-primary){--button-ring-color:var(--ring-primary);--button-variant-filled:var(--fill-primary-strong);--button-variant-filled-foreground:var(--text-on-primary);--button-variant-filled-hover:var(--fill-primary-strong-hover);--button-variant-filled-disabled:var(--fill-primary-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-primary-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-primary-strong);--button-variant-outlined-hover:var(--fill-primary-weak);--button-variant-outlined-border:var(--stroke-primary);--button-variant-outlined-border-disabled:var(--stroke-primary-disabled);--button-variant-outlined-foreground-disabled:var(--text-primary-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-primary-weak);--button-variant-text-hover:var(--fill-primary-weak-hover);--button-variant-gradient-start:var(--gradient-primary-start);--button-variant-gradient-end:var(--gradient-primary-end);--button-variant-gradient-foreground:var(--gradient-primary-foreground);--button-variant-gradient-disabled:var(--gradient-primary-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-primary-disabled)}:is(.secondary-UqT2AY,.button-secondary){--button-ring-color:var(--ring-secondary);--button-variant-filled:var(--fill-secondary-strong);--button-variant-filled-foreground:var(--text-on-secondary);--button-variant-filled-hover:var(--fill-secondary-strong-hover);--button-variant-filled-disabled:var(--fill-secondary-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-secondary-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-secondary-strong);--button-variant-outlined-hover:var(--fill-secondary-weak);--button-variant-outlined-border:var(--stroke-secondary);--button-variant-outlined-border-disabled:var(--stroke-secondary-disabled);--button-variant-outlined-foreground-disabled:var(--text-secondary-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-secondary-weak);--button-variant-text-hover:var(--fill-secondary-weak-hover);--button-variant-gradient-start:var(--gradient-secondary-start);--button-variant-gradient-end:var(--gradient-secondary-end);--button-variant-gradient-foreground:var(--gradient-secondary-foreground);--button-variant-gradient-disabled:var(--gradient-secondary-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-secondary-disabled)}:is(.noeffect-fpxSgg,.button-noeffect){--button-ring-color:var(--ring-noeffect);--button-variant-filled:var(--fill-noeffect-strong);--button-variant-filled-foreground:var(--text-on-noeffect);--button-variant-filled-hover:var(--fill-noeffect-strong-hover);--button-variant-filled-disabled:var(--fill-noeffect-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-noeffect-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-noeffect-strong);--button-variant-outlined-hover:var(--fill-noeffect-weak);--button-variant-outlined-border:var(--stroke-noeffect);--button-variant-outlined-border-disabled:var(--stroke-noeffect-disabled);--button-variant-outlined-foreground-disabled:var(--text-noeffect-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-noeffect-weak);--button-variant-text-hover:var(--fill-noeffect-weak-hover);--button-variant-gradient-start:var(--gradient-noeffect-start);--button-variant-gradient-end:var(--gradient-noeffect-end);--button-variant-gradient-foreground:var(--gradient-noeffect-foreground);--button-variant-gradient-disabled:var(--gradient-noeffect-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-noeffect-disabled)}:is(.success-fTNDEn,.button-success){--button-ring-color:var(--ring-success);--button-variant-filled:var(--fill-success-strong);--button-variant-filled-foreground:var(--text-on-success);--button-variant-filled-hover:var(--fill-success-strong-hover);--button-variant-filled-disabled:var(--fill-success-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-success-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-success-strong);--button-variant-outlined-hover:var(--fill-success-weak);--button-variant-outlined-border:var(--stroke-success);--button-variant-outlined-border-disabled:var(--stroke-success-disabled);--button-variant-outlined-foreground-disabled:var(--text-success-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-success-weak);--button-variant-text-hover:var(--fill-success-weak-hover);--button-variant-gradient-start:var(--gradient-success-start);--button-variant-gradient-end:var(--gradient-success-end);--button-variant-gradient-foreground:var(--gradient-success-foreground);--button-variant-gradient-disabled:var(--gradient-success-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-success-disabled)}:is(.info-qrdXQD,.button-info){--button-ring-color:var(--ring-info);--button-variant-filled:var(--fill-info-strong);--button-variant-filled-foreground:var(--text-on-info);--button-variant-filled-hover:var(--fill-info-strong-hover);--button-variant-filled-disabled:var(--fill-info-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-info-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-info-strong);--button-variant-outlined-hover:var(--fill-info-weak);--button-variant-outlined-border:var(--stroke-info);--button-variant-outlined-border-disabled:var(--stroke-info-disabled);--button-variant-outlined-foreground-disabled:var(--text-info-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-info-weak);--button-variant-text-hover:var(--fill-info-weak-hover);--button-variant-gradient-start:var(--gradient-info-start);--button-variant-gradient-end:var(--gradient-info-end);--button-variant-gradient-foreground:var(--gradient-info-foreground);--button-variant-gradient-disabled:var(--gradient-info-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-info-disabled)}:is(.warning-a00T3A,.button-warning){--button-ring-color:var(--ring-warning);--button-variant-filled:var(--fill-warning-strong);--button-variant-filled-foreground:var(--text-on-warning);--button-variant-filled-hover:var(--fill-warning-strong-hover);--button-variant-filled-disabled:var(--fill-warning-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-warning-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-warning-strong);--button-variant-outlined-hover:var(--fill-warning-weak);--button-variant-outlined-border:var(--stroke-warning);--button-variant-outlined-border-disabled:var(--stroke-warning-disabled);--button-variant-outlined-foreground-disabled:var(--text-warning-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-warning-weak);--button-variant-text-hover:var(--fill-warning-weak-hover);--button-variant-gradient-start:var(--gradient-warning-start);--button-variant-gradient-end:var(--gradient-warning-end);--button-variant-gradient-foreground:var(--gradient-warning-foreground);--button-variant-gradient-disabled:var(--gradient-warning-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-warning-disabled)}:is(.danger-rwIV_i,.button-danger){--button-ring-color:var(--ring-danger);--button-variant-filled:var(--fill-danger-strong);--button-variant-filled-foreground:var(--text-on-danger);--button-variant-filled-hover:var(--fill-danger-strong-hover);--button-variant-filled-disabled:var(--fill-danger-strong-disabled);--button-variant-filled-foreground-disabled:var(--text-on-danger-disabled);--button-variant-outlined:transparent;--button-variant-outlined-foreground:var(--text-danger-strong);--button-variant-outlined-hover:var(--fill-danger-weak);--button-variant-outlined-border:var(--stroke-danger);--button-variant-outlined-border-disabled:var(--stroke-danger-disabled);--button-variant-outlined-foreground-disabled:var(--text-danger-disabled);--button-variant-text:transparent;--button-variant-text-foreground:var(--text-danger-weak);--button-variant-text-hover:var(--fill-danger-weak-hover);--button-variant-gradient-start:var(--gradient-danger-start);--button-variant-gradient-end:var(--gradient-danger-end);--button-variant-gradient-foreground:var(--gradient-danger-foreground);--button-variant-gradient-disabled:var(--gradient-danger-disabled);--button-variant-gradient-foreground-disabled:var(--text-on-danger-disabled)}:is(.fullWidth-wXvP0v,.button-full-width){width:100%;display:flex}:is(.button-group-uqvOi8,.button-group){place-items:center;gap:var(--gap-2);flex-direction:column;display:flex}@media screen and (width>=40rem){:is(.button-group-uqvOi8,.button-group){flex-direction:row}}:is(.copy-button-container-vCNz8o,.copy-button-container){display:inline-block}:is(.copy-button-oa4bdj svg,.copy-button svg){width:90%;height:90%;display:block}:is(.xs-lZmf78,.copy-button-xs){width:26px;height:26px;min-height:26px;padding:.25rem}:is(.sm-KNN1e5,.copy-button-sm){width:32px;height:32px;min-height:32px;padding:.35rem}:is(.md-OoH0l4,.copy-button-md){width:38px;height:38px;min-height:38px;padding:.45rem}:is(.lg-uu5ujz,.copy-button-lg){width:46px;height:46px;min-height:46px;padding:.55rem}:is(.xl-pFYyrS,.copy-button-xl){width:54px;height:54px;min-height:54px;padding:.65rem}:is(.input-wrapper-xxN94z,.input-wrapper){gap:var(--gap-1);flex-direction:column;display:flex}:is(.input-container-GveKcr,.input-container){align-items:center;gap:var(--gap-2);width:100%;display:flex;position:relative}:is(.input-voSL1w,.input){gap:var(--gap-2);width:100%;transition:all var(--transition-normal);border-radius:var(--border-radius-sm);border:none;outline:none;align-items:center;font-weight:400;display:inline-flex}:is(.input-voSL1w:focus,.input-voSL1w:active,.input:focus,.input:active){--ring-offset-color:var(--background);--ring-offset-shadow:var(--ring-inset)0 0 0 var(--ring-offset-width)var(--ring-offset-color);--ring-shadow:var(--ring-inset)0 0 0 calc(1px + var(--ring-offset-width))var(--ring-color);box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow,0 0 #0000)}:is(.input-voSL1w:disabled,.input-voSL1w[disabled],.input:disabled,.input[disabled]){pointer-events:none}:is(.label-a8k0oS,.input-label){color:var(--label-color);font-size:.875rem;font-weight:500}:is(.sm-cI5ETu,.input-sm){min-height:32px;padding:.25rem .5rem;font-size:.875rem;line-height:0}:is(.md-moqLi4,.input-md){min-height:38px;padding:.4rem .5rem;font-size:1.1rem;line-height:0}:is(.lg-Tn3YZZ,.input-lg){min-height:46px;padding:.5rem;font-size:1.2rem;line-height:0}:is(.start-adornment-H0sdmX,.end-adornment-xl3mid,.input-start-adornment,.input-end-adornment){align-items:center;display:flex;position:absolute}:is(.start-adornment-H0sdmX,.input-start-adornment){left:5px}:is(.end-adornment-xl3mid,.input-end-adornment){right:5px}:is(.help-text-MZW4yX,.input-help-text){color:var(--help-text-color);font-size:.75rem}:is(.outlined-xbB8mE,.input-outlined){border:1px solid var(--input-variant-outlined-border);background-color:#0000}:is(.outlined-xbB8mE:hover,.input-outlined:hover){border:1px solid var(--input-variant-outlined-hover-border)}:is(.outlined-xbB8mE:focus,.outlined-xbB8mE:active,.input-outlined:focus,.input-outlined:active){--ring-color:var(--input-variant-outline-ring-color)}:is(.underlined-zAz2HP,.input-underlined){border-bottom:1px solid var(--input-variant-underlined-border);gap:var(--gap-1);background-color:var(--input-variant-underlined);border-radius:0}.underlined-zAz2HP.sm-cI5ETu,.input-underlined.input-sm{min-height:26px;padding:.25rem .1rem}.underlined-zAz2HP.md-moqLi4,.input-underlined.input-md{min-height:30px;padding:.25rem .1rem}.underlined-zAz2HP.lg-Tn3YZZ,.input-underlined.input-lg{min-height:34px;padding:0 .1rem}:is(.underlined-zAz2HP:hover,.input-underlined:hover){border-bottom:1px solid var(--input-variant-underlined-hover-border)}:is(.filled-M1_LzJ,.input-filled){background-color:var(--input-variant-filled)}:is(.error-n0kSb0,.input-error),:is(.error-n0kSb0:hover,.input-error:hover){border:1px solid var(--red-400)}:is(.error-n0kSb0:focus,.error-n0kSb0:active,.input-error:focus,.input-error:active){--ring-color:var(--red-300)}.underlined-zAz2HP.start-adornment-padding-YAcYOx,.start-adornment-padding-YAcYOx,.input-underlined.input-start-adornment-padding,.input-start-adornment-padding{padding-left:2rem}.underlined-zAz2HP.end-adornment-padding-nC63CK,.end-adornment-padding-nC63CK,.input-underlined.input-end-adornment-padding,.input-end-adornment-padding{padding-right:2rem}.underlined-zAz2HP.start-adornment-H0sdmX,.input-underlined.input-start-adornment{left:0}.underlined-zAz2HP.end-adornment-xl3mid,.input-underlined.input-end-adornment{right:0}:is(.primary-xZZpZI,.input-primary){--input-variant-outlined-border:var(--stroke-primary);--input-variant-outlined-hover-border:var(--stroke-primary-hover);--input-variant-outline-ring-color:var(--ring-primary);--input-variant-underlined-border:var(--stroke-primary);--input-variant-underlined-hover-border:var(--stroke-primary-hover);--input-variant-filled:var(--fill-primary-weak)}:is(.secondary-WWDy2x,.input-secondary){--input-variant-outlined-border:var(--stroke-secondary);--input-variant-outlined-hover-border:var(--stroke-secondary-hover);--input-variant-outline-ring-color:var(--ring-secondary);--input-variant-underlined-border:var(--stroke-secondary);--input-variant-underlined-hover-border:var(--stroke-secondary-hover);--input-variant-filled:var(--fill-secondary-weak)}:is(.noeffect-LHbgak,.input-noeffect){--input-variant-outlined-border:var(--stroke-noeffect);--input-variant-outlined-hover-border:var(--stroke-noeffect-hover);--input-variant-outline-ring-color:var(--ring-noeffect);--input-variant-underlined-border:var(--stroke-noeffect);--input-variant-underlined-hover-border:var(--stroke-noeffect-hover);--input-variant-filled:var(--fill-noeffect-weak)}:is(.success-pMbTwx,.input-success){--input-variant-outlined-border:var(--stroke-success);--input-variant-outlined-hover-border:var(--stroke-success-hover);--input-variant-outline-ring-color:var(--ring-success);--input-variant-underlined-border:var(--stroke-success);--input-variant-underlined-hover-border:var(--stroke-success-hover);--input-variant-filled:var(--fill-success-weak)}:is(.info-SRpUkb,.input-info){--input-variant-outlined-border:var(--stroke-info);--input-variant-outlined-hover-border:var(--stroke-info-hover);--input-variant-outline-ring-color:var(--ring-info);--input-variant-underlined-border:var(--stroke-info);--input-variant-underlined-hover-border:var(--stroke-info-hover);--input-variant-filled:var(--fill-info-weak)}:is(.warning-mHL8O2,.input-warning){--input-variant-outlined-border:var(--stroke-warning);--input-variant-outlined-hover-border:var(--stroke-warning-hover);--input-variant-outline-ring-color:var(--ring-warning);--input-variant-underlined-border:var(--stroke-warning);--input-variant-underlined-hover-border:var(--stroke-warning-hover);--input-variant-filled:var(--fill-warning-weak)}:is(.danger-Rzx3WQ,.input-danger){--input-variant-outlined-border:var(--stroke-danger);--input-variant-outlined-hover-border:var(--stroke-danger-hover);--input-variant-outline-ring-color:var(--ring-danger);--input-variant-underlined-border:var(--stroke-danger);--input-variant-underlined-hover-border:var(--stroke-danger-hover);--input-variant-filled:var(--fill-danger-weak)}:is(.adornment-IbSUaL,.input-adornment){white-space:nowrap;align-items:center;line-height:0;display:flex}:is(.start-hcDqEk,.input-adornment-start){justify-content:flex-start}:is(.end-j0ZhyO,.input-adornment-end){justify-content:flex-end}:is(.text-area-P_aQjC,.text-area){width:100%;padding:.5rem;font-size:1.1rem}.underlined-a9hkur{padding-left:0;padding-right:0}:is(.label-Q88hWY,.label){color:var(--text);font-weight:500;display:block}:is(.required-uod5eu,.label-required){color:var(--error)}:is(.text-xJE0DB,.error-text){color:var(--error);font-size:.875rem}:is(.text-U6KD9f,.help-text){color:var(--muted);font-size:.875rem}:is(.section-CEcZOp,.section){width:100%;position:relative}:is(.scroll-to-top-WYqAAl,.scroll-to-top){opacity:0;visibility:hidden;z-index:20;width:0;height:0;color:var(--text-on-primary);background-color:var(--fill-primary-strong);cursor:pointer;border-style:none;outline:none;justify-content:center;align-items:center;margin:0;padding:0;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.5,1),color 1ms;display:flex;position:fixed;bottom:45px;right:30px}.scroll-to-top-WYqAAl span,.scroll-to-top span{width:18px;padding-bottom:3px}.scroll-to-top-WYqAAl span svg path,.scroll-to-top span svg path{stroke:none;fill:var(--text-on-primary)}.scroll-to-top-WYqAAl:hover,.scroll-to-top-WYqAAl:focus,.scroll-to-top:hover,.scroll-to-top:focus{color:var(--text-on-primary);background-color:var(--fill-primary-strong-hover);transform:translateY(-5px)}:is(.scroll-to-top-shown-Wemu5m,.scroll-to-top-shown){opacity:1;visibility:visible;border-radius:20px;width:40px;min-width:0;height:40px;padding:0;bottom:20px;right:10px}@media screen and (width>=587px){:is(.scroll-to-top-WYqAAl,.scroll-to-top){bottom:45px;right:45px}.scroll-to-top-WYqAAl span,.scroll-to-top span{width:18px}:is(.scroll-to-top-shown-Wemu5m,.scroll-to-top-shown){border-radius:21px;width:42px;height:42px;bottom:22px;right:22px}}}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@infonomic/uikit",
3
3
  "private": false,
4
4
  "license": "MIT",
5
- "version": "5.4.0",
5
+ "version": "5.6.0",
6
6
  "type": "module",
7
7
  "description": "Infonomic UI kit is a collection of reusable UI components and utilities for React and Astro.",
8
8
  "keywords": [
package/src/astro.js CHANGED
@@ -8,13 +8,16 @@ import CardHeaderComponent from './components/card/card-header.astro'
8
8
  import CardTitleComponent from './components/card/card-title.astro'
9
9
  import ContainerComponent from './components/container/container.astro'
10
10
  import HamburgerComponent from './components/hamburger/hamburger.astro'
11
+ import CheckboxComponent from './components/forms/checkbox.astro'
11
12
  import ErrorTextComponent from './components/forms/error-text.astro'
12
13
  import HelpTextComponent from './components/forms/help-text.astro'
13
14
  import InputComponent from './components/forms/input.astro'
14
15
  import InputAdornmentComponent from './components/forms/input-adornment.astro'
15
16
  import LabelComponent from './components/forms/label.astro'
17
+ import TextAreaComponent from './components/forms/text-area.astro'
16
18
  import SectionComponent from './components/section/section.astro'
17
19
  import ScrollToTopComponent from './components/scroll-to-top/scroll-to-top.astro'
20
+ import CheckIconComponent from './icons/check-icon.astro'
18
21
  import CloseIconComponent from './icons/close-icon.astro'
19
22
  import IconElementComponent from './icons/icon-element.astro'
20
23
  import LightIconComponent from './icons/light-icon.astro'
@@ -32,15 +35,18 @@ export const CardHeader = CardHeaderComponent
32
35
  export const CardTitle = CardTitleComponent
33
36
  export const Card = CardComponent
34
37
  export const Container = ContainerComponent
38
+ export const Checkbox = CheckboxComponent
35
39
  export const ErrorText = ErrorTextComponent
36
40
  export const HelpText = HelpTextComponent
37
41
  export const InputAdornment = InputAdornmentComponent
38
42
  export const Input = InputComponent
39
43
  export const Label = LabelComponent
44
+ export const TextArea = TextAreaComponent
40
45
  export const Section = SectionComponent
41
46
  export const ScrollToTop = ScrollToTopComponent
42
47
  export const IconElement = IconElementComponent
43
48
  export const LightIcon = LightIconComponent
44
49
  export const MoonIcon = MoonIconComponent
45
50
  export const SearchIcon = SearchIconComponent
51
+ export const CheckIcon = CheckIconComponent
46
52
  export const CloseIcon = CloseIconComponent
@@ -0,0 +1,129 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+ import type { Intent, Size, Variant } from './@types/checkbox.js'
4
+ import CheckIcon from '../../icons/check-icon.astro'
5
+ import ErrorText from './error-text.astro'
6
+ import HelpText from './help-text.astro'
7
+ import styles from './checkbox.module.css'
8
+
9
+ interface Props extends HTMLAttributes<'input'> {
10
+ id: string
11
+ name: string
12
+ label: string
13
+ variant?: Variant
14
+ size?: Size
15
+ intent?: Intent
16
+ reverse?: boolean
17
+ checked?: boolean
18
+ class?: string
19
+ checkBoxClasses?: string
20
+ containerClasses?: string
21
+ componentClasses?: string
22
+ labelClasses?: string
23
+ error?: boolean
24
+ helpText?: string
25
+ errorText?: string
26
+ }
27
+
28
+ const {
29
+ id,
30
+ name,
31
+ label,
32
+ variant = 'outlined',
33
+ size = 'md',
34
+ intent = 'primary',
35
+ reverse = false,
36
+ checked = false,
37
+ class: className,
38
+ checkBoxClasses,
39
+ containerClasses,
40
+ componentClasses,
41
+ labelClasses,
42
+ error = false,
43
+ helpText = '',
44
+ errorText = '',
45
+ ...rest
46
+ } = Astro.props
47
+ ---
48
+
49
+ <div class:list={['checkbox-container', containerClasses]}>
50
+ <div
51
+ class:list={[
52
+ 'checkbox-component',
53
+ styles.container,
54
+ componentClasses,
55
+ { [styles.reverse]: reverse }
56
+ ]}
57
+ >
58
+ <input type="checkbox" id={id} name={name} checked={checked} class="sr-only peer" {...rest} />
59
+
60
+ <label
61
+ for={id}
62
+ class:list={[
63
+ 'checkbox',
64
+ variant,
65
+ size,
66
+ intent,
67
+ styles.checkbox,
68
+ styles[variant],
69
+ styles[size],
70
+ styles[intent],
71
+ checkBoxClasses,
72
+ className
73
+ ]}
74
+ data-state={checked ? 'checked' : 'unchecked'}
75
+ >
76
+ <span
77
+ class:list={['checkbox-indicator', styles.indicator]}
78
+ data-state={checked ? 'checked' : 'unchecked'}
79
+ >
80
+ <CheckIcon class={styles.icon} />
81
+ </span>
82
+ </label>
83
+
84
+ <label for={id} class:list={[styles.label, labelClasses]}>
85
+ {label}
86
+ </label>
87
+ </div>
88
+ {
89
+ error ? (
90
+ <ErrorText id={`error-for-${id}`} text={errorText ?? helpText} />
91
+ ) : (
92
+ helpText?.length > 0 && <HelpText text={helpText} />
93
+ )
94
+ }
95
+ </div>
96
+
97
+ <script>
98
+ function setupCheckboxes() {
99
+ const inputs = document.querySelectorAll('input[type="checkbox"].peer')
100
+
101
+ inputs.forEach((input) => {
102
+ const checkboxInput = input as HTMLInputElement
103
+ const id = checkboxInput.id
104
+ // Find the visual checkbox label associated with this input
105
+ const visualCheckbox = document.querySelector(`label.checkbox[for="${id}"]`)
106
+ const indicator = visualCheckbox?.querySelector('.checkbox-indicator')
107
+
108
+ if (visualCheckbox && indicator) {
109
+ // Update state on change
110
+ checkboxInput.addEventListener('change', () => {
111
+ const state = checkboxInput.checked ? 'checked' : 'unchecked'
112
+ visualCheckbox.setAttribute('data-state', state)
113
+ indicator.setAttribute('data-state', state)
114
+ })
115
+
116
+ // Ensure initial state is correct
117
+ const state = checkboxInput.checked ? 'checked' : 'unchecked'
118
+ visualCheckbox.setAttribute('data-state', state)
119
+ indicator.setAttribute('data-state', state)
120
+ }
121
+ })
122
+ }
123
+
124
+ // Run on initial load
125
+ setupCheckboxes()
126
+
127
+ // Support Astro View Transitions
128
+ document.addEventListener('astro:page-load', setupCheckboxes)
129
+ </script>
@@ -3,6 +3,7 @@
3
3
  @layer infonomic-components {
4
4
  .container {
5
5
  display: flex;
6
+ width: 100%;
6
7
  align-items: center;
7
8
  gap: var(--gap-2);
8
9
  }
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
 
3
- import { CheckIcon } from '@radix-ui/react-icons'
3
+ import { CheckIcon } from '../../icons/check-icon'
4
4
  import cx from 'classnames'
5
5
  import { Checkbox as CheckboxPrimitive, Label as LabelPrimitive } from 'radix-ui'
6
6
  import type * as React from 'react'
@@ -1,6 +1,7 @@
1
1
  @layer infonomic-base, infonomic-functional, infonomic-utilities, infonomic-theme, infonomic-typography, infonomic-components;
2
2
 
3
3
  @layer infonomic-components {
4
+
4
5
  .input-wrapper,
5
6
  :global(.input-wrapper) {
6
7
  display: flex;
@@ -11,6 +12,7 @@
11
12
  .input-container,
12
13
  :global(.input-container) {
13
14
  position: relative;
15
+ width: 100%;
14
16
  display: flex;
15
17
  align-items: center;
16
18
  gap: var(--gap-2);
@@ -0,0 +1,78 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+ import type { Intent, Variant } from './@types/input.js'
4
+ import ErrorText from './error-text.astro'
5
+ import HelpText from './help-text.astro'
6
+ import inputStyles from './input.module.css'
7
+ import Label from './label.astro'
8
+ import styles from './text-area.module.css'
9
+
10
+ interface Props extends HTMLAttributes<'textarea'> {
11
+ id: string
12
+ name: string
13
+ label: string
14
+ required?: boolean
15
+ variant?: Variant
16
+ intent?: Intent
17
+ rows?: number
18
+ placeHolder?: string
19
+ autoComplete?: string
20
+ error?: boolean
21
+ helpText?: string
22
+ errorText?: string
23
+ class?: string
24
+ }
25
+
26
+ const {
27
+ id,
28
+ name,
29
+ label,
30
+ rows = 4,
31
+ required = false,
32
+ variant = 'outlined',
33
+ intent = 'primary',
34
+ placeHolder = '',
35
+ autoComplete = 'off',
36
+ error = false,
37
+ helpText = '',
38
+ errorText = '',
39
+ class: className,
40
+ ...rest
41
+ } = Astro.props as Props
42
+ ---
43
+
44
+ <fieldset class:list={['text-area-wrapper', inputStyles['input-wrapper']]}>
45
+ <Label id={id} for={id} required={required} label={label} />
46
+ <textarea
47
+ id={id}
48
+ name={name}
49
+ required={required}
50
+ rows={rows}
51
+ auto-complete={autoComplete}
52
+ placeholder={placeHolder}
53
+ aria-labelledby={`label-for-${id}`}
54
+ aria-invalid={error}
55
+ aria-required={required}
56
+ aria-errormessage={errorText}
57
+ aria-describedby={error ? `error-for-${id}` : undefined}
58
+ class:list={[
59
+ 'text-area',
60
+ variant,
61
+ intent,
62
+ inputStyles.input,
63
+ inputStyles[variant],
64
+ inputStyles[intent],
65
+ styles['text-area'],
66
+ styles[variant],
67
+ error && inputStyles.error,
68
+ className
69
+ ]}
70
+ {...rest}></textarea>
71
+ {
72
+ error ? (
73
+ <ErrorText id={`error-for-${id}`} text={errorText ?? helpText} />
74
+ ) : (
75
+ helpText?.length > 0 && <HelpText text={helpText} />
76
+ )
77
+ }
78
+ </fieldset>
@@ -1,10 +1,20 @@
1
1
  @layer infonomic-base, infonomic-functional, infonomic-utilities, infonomic-theme, infonomic-typography, infonomic-components;
2
2
 
3
3
  @layer infonomic-components {
4
+
4
5
  .text-area,
5
6
  :global(.text-area) {
6
7
  font-size: 1.1rem;
7
8
  width: 100%;
8
9
  padding: 0.5rem;
9
10
  }
11
+
12
+ .underlined {
13
+ padding-left: 0;
14
+ padding-right: 0;
15
+ }
16
+
17
+ .outlined {}
18
+
19
+ .filled {}
10
20
  }
@@ -66,6 +66,7 @@ export const TextArea = function TextArea({
66
66
  inputStyles[variant],
67
67
  inputStyles[intent],
68
68
  styles['text-area'],
69
+ styles[variant],
69
70
  { [inputStyles.error]: error },
70
71
  className
71
72
  )}
@@ -0,0 +1,37 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+
4
+ interface Props extends HTMLAttributes<'div'> {
5
+ class?: string
6
+ width?: string
7
+ height?: string
8
+ menuItem?: boolean
9
+ svgClass?: string
10
+ }
11
+
12
+ import IconElement from './icon-element.astro'
13
+ import styles from './icons.module.css'
14
+
15
+ const { class: className, width, height, svgClass: svgClassName, menuItem, ...rest } = Astro.props
16
+ ---
17
+
18
+ <IconElement
19
+ class:list={['check-icon', className]}
20
+ width={width}
21
+ height={height}
22
+ menuItem={menuItem}
23
+ {...rest}
24
+ >
25
+ <svg
26
+ xmlns="http://www.w3.org/2000/svg"
27
+ viewBox="0 0 15 15"
28
+ class:list={[styles['fill-current'], svgClassName]}
29
+ focusable="false"
30
+ aria-hidden="true"
31
+ >
32
+ <path
33
+ d="M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z"
34
+ fill-rule="evenodd"
35
+ clip-rule="evenodd"></path>
36
+ </svg>
37
+ </IconElement>