@proyecto-viviana/ui 0.1.5 → 0.2.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.
Files changed (130) hide show
  1. package/README.md +192 -0
  2. package/dist/autocomplete/index.d.ts +89 -0
  3. package/dist/autocomplete/index.d.ts.map +1 -0
  4. package/dist/breadcrumbs/index.d.ts +38 -0
  5. package/dist/breadcrumbs/index.d.ts.map +1 -0
  6. package/dist/button/Button.d.ts.map +1 -1
  7. package/dist/calendar/DateField.d.ts +47 -0
  8. package/dist/calendar/DateField.d.ts.map +1 -0
  9. package/dist/calendar/DatePicker.d.ts +48 -0
  10. package/dist/calendar/DatePicker.d.ts.map +1 -0
  11. package/dist/calendar/RangeCalendar.d.ts +42 -0
  12. package/dist/calendar/RangeCalendar.d.ts.map +1 -0
  13. package/dist/calendar/TimeField.d.ts +44 -0
  14. package/dist/calendar/TimeField.d.ts.map +1 -0
  15. package/dist/calendar/index.d.ts +50 -0
  16. package/dist/calendar/index.d.ts.map +1 -0
  17. package/dist/checkbox/index.d.ts.map +1 -1
  18. package/dist/color/index.d.ts +228 -0
  19. package/dist/color/index.d.ts.map +1 -0
  20. package/dist/combobox/index.d.ts +81 -0
  21. package/dist/combobox/index.d.ts.map +1 -0
  22. package/dist/components.css +116 -14
  23. package/dist/custom/chip/index.d.ts +7 -2
  24. package/dist/custom/chip/index.d.ts.map +1 -1
  25. package/dist/custom/event-card/index.d.ts +5 -1
  26. package/dist/custom/event-card/index.d.ts.map +1 -1
  27. package/dist/custom/header/index.d.ts +16 -0
  28. package/dist/custom/header/index.d.ts.map +1 -0
  29. package/dist/custom/logo/index.d.ts +2 -0
  30. package/dist/custom/logo/index.d.ts.map +1 -1
  31. package/dist/custom/page-layout/index.d.ts +2 -0
  32. package/dist/custom/page-layout/index.d.ts.map +1 -1
  33. package/dist/custom/profile-card/index.d.ts +5 -1
  34. package/dist/custom/profile-card/index.d.ts.map +1 -1
  35. package/dist/custom/timeline-item/index.d.ts +12 -2
  36. package/dist/custom/timeline-item/index.d.ts.map +1 -1
  37. package/dist/dialog/Dialog.d.ts +67 -0
  38. package/dist/dialog/Dialog.d.ts.map +1 -0
  39. package/dist/dialog/index.d.ts +2 -17
  40. package/dist/dialog/index.d.ts.map +1 -1
  41. package/dist/disclosure/index.d.ts +84 -0
  42. package/dist/disclosure/index.d.ts.map +1 -0
  43. package/dist/gridlist/index.d.ts +92 -0
  44. package/dist/gridlist/index.d.ts.map +1 -0
  45. package/dist/index.d.ts +58 -4
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +6984 -783
  48. package/dist/index.js.map +1 -1
  49. package/dist/index.ssr.js +5905 -571
  50. package/dist/index.ssr.js.map +1 -1
  51. package/dist/landmark/index.d.ts +83 -0
  52. package/dist/landmark/index.d.ts.map +1 -0
  53. package/dist/link/index.d.ts.map +1 -1
  54. package/dist/listbox/index.d.ts +47 -0
  55. package/dist/listbox/index.d.ts.map +1 -0
  56. package/dist/menu/index.d.ts +74 -0
  57. package/dist/menu/index.d.ts.map +1 -0
  58. package/dist/meter/index.d.ts +49 -0
  59. package/dist/meter/index.d.ts.map +1 -0
  60. package/dist/numberfield/index.d.ts +50 -0
  61. package/dist/numberfield/index.d.ts.map +1 -0
  62. package/dist/popover/index.d.ts +85 -0
  63. package/dist/popover/index.d.ts.map +1 -0
  64. package/dist/radio/index.d.ts +7 -4
  65. package/dist/radio/index.d.ts.map +1 -1
  66. package/dist/searchfield/index.d.ts +44 -0
  67. package/dist/searchfield/index.d.ts.map +1 -0
  68. package/dist/select/index.d.ts +72 -0
  69. package/dist/select/index.d.ts.map +1 -0
  70. package/dist/slider/index.d.ts +53 -0
  71. package/dist/slider/index.d.ts.map +1 -0
  72. package/dist/switch/ToggleSwitch.d.ts.map +1 -1
  73. package/dist/table/index.d.ts +140 -0
  74. package/dist/table/index.d.ts.map +1 -0
  75. package/dist/tabs/index.d.ts +56 -0
  76. package/dist/tabs/index.d.ts.map +1 -0
  77. package/dist/tag-group/index.d.ts +80 -0
  78. package/dist/tag-group/index.d.ts.map +1 -0
  79. package/dist/toast/index.d.ts +101 -0
  80. package/dist/toast/index.d.ts.map +1 -0
  81. package/dist/toolbar/index.d.ts +42 -0
  82. package/dist/toolbar/index.d.ts.map +1 -0
  83. package/dist/tooltip/index.d.ts +66 -5
  84. package/dist/tooltip/index.d.ts.map +1 -1
  85. package/dist/tree/index.d.ts +99 -0
  86. package/dist/tree/index.d.ts.map +1 -0
  87. package/package.json +66 -57
  88. package/src/autocomplete/index.tsx +313 -0
  89. package/src/breadcrumbs/index.tsx +207 -0
  90. package/src/button/Button.tsx +74 -75
  91. package/src/calendar/DateField.tsx +200 -0
  92. package/src/calendar/DatePicker.tsx +298 -0
  93. package/src/calendar/RangeCalendar.tsx +236 -0
  94. package/src/calendar/TimeField.tsx +196 -0
  95. package/src/calendar/index.tsx +223 -0
  96. package/src/checkbox/index.tsx +3 -4
  97. package/src/color/index.tsx +687 -0
  98. package/src/combobox/index.tsx +383 -0
  99. package/src/components.css +116 -14
  100. package/src/custom/chip/index.tsx +17 -3
  101. package/src/custom/event-card/index.tsx +8 -2
  102. package/src/custom/header/index.tsx +33 -0
  103. package/src/custom/logo/index.tsx +7 -3
  104. package/src/custom/page-layout/index.tsx +12 -3
  105. package/src/custom/profile-card/index.tsx +8 -2
  106. package/src/custom/timeline-item/index.tsx +28 -4
  107. package/src/dialog/Dialog.tsx +260 -0
  108. package/src/dialog/index.tsx +3 -69
  109. package/src/disclosure/index.tsx +307 -0
  110. package/src/gridlist/index.tsx +403 -0
  111. package/src/index.ts +219 -4
  112. package/src/landmark/index.tsx +231 -0
  113. package/src/link/index.tsx +1 -2
  114. package/src/listbox/index.tsx +231 -0
  115. package/src/menu/index.tsx +297 -0
  116. package/src/meter/index.tsx +163 -0
  117. package/src/numberfield/index.tsx +482 -0
  118. package/src/popover/index.tsx +260 -0
  119. package/src/radio/index.tsx +36 -82
  120. package/src/searchfield/index.tsx +453 -0
  121. package/src/select/index.tsx +349 -0
  122. package/src/slider/index.tsx +382 -0
  123. package/src/switch/ToggleSwitch.tsx +1 -2
  124. package/src/table/index.tsx +531 -0
  125. package/src/tabs/index.tsx +273 -0
  126. package/src/tag-group/index.tsx +240 -0
  127. package/src/toast/index.tsx +324 -0
  128. package/src/toolbar/index.tsx +108 -0
  129. package/src/tooltip/index.tsx +171 -5
  130. package/src/tree/index.tsx +494 -0
package/README.md ADDED
@@ -0,0 +1,192 @@
1
+ # @proyecto-viviana/ui
2
+
3
+ Styled UI components for SolidJS - beautiful, accessible, and ready to use.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ bun add @proyecto-viviana/ui solid-js
9
+ ```
10
+
11
+ ## Setup
12
+
13
+ Import the CSS in your app entry point:
14
+
15
+ ```tsx
16
+ import "@proyecto-viviana/ui/styles.css";
17
+ ```
18
+
19
+ ## Quick Start
20
+
21
+ ```tsx
22
+ import { Button, TextField, Select } from "@proyecto-viviana/ui";
23
+ import "@proyecto-viviana/ui/styles.css";
24
+
25
+ function App() {
26
+ return (
27
+ <div>
28
+ <TextField label="Email" placeholder="Enter your email" />
29
+ <Button variant="accent" onPress={() => alert("Hello!")}>
30
+ Submit
31
+ </Button>
32
+ </div>
33
+ );
34
+ }
35
+ ```
36
+
37
+ ## Available Components
38
+
39
+ ### Form Controls
40
+
41
+ | Component | Description |
42
+ |-----------|-------------|
43
+ | Button | Action buttons with variants |
44
+ | TextField | Text input with label |
45
+ | NumberField | Numeric input with inc/dec |
46
+ | SearchField | Search input with clear |
47
+ | Slider | Range slider |
48
+ | Checkbox, CheckboxGroup | Checkboxes |
49
+ | RadioGroup, Radio | Radio buttons |
50
+ | ToggleSwitch | Toggle switch |
51
+
52
+ ### Selection
53
+
54
+ | Component | Description |
55
+ |-----------|-------------|
56
+ | Select | Dropdown select |
57
+ | Menu, MenuItem | Action menus |
58
+ | ListBox, ListBoxOption | Selectable lists |
59
+
60
+ ### Navigation
61
+
62
+ | Component | Description |
63
+ |-----------|-------------|
64
+ | Tabs, TabList, Tab, TabPanel | Tabbed navigation |
65
+ | Breadcrumbs, BreadcrumbItem | Breadcrumb trail |
66
+ | Link | Accessible links |
67
+ | Landmark, SkipLink, LandmarkNavigator | ARIA landmarks with F6 navigation |
68
+
69
+ ### Data Display
70
+
71
+ | Component | Description |
72
+ |-----------|-------------|
73
+ | Table | Data tables with sorting/selection |
74
+ | GridList, GridListItem | Grid lists with keyboard nav |
75
+ | Tree, TreeItem | Hierarchical tree views |
76
+
77
+ ### Color
78
+
79
+ | Component | Description |
80
+ |-----------|-------------|
81
+ | ColorSlider | Single channel color slider |
82
+ | ColorArea | 2D color gradient picker |
83
+ | ColorWheel | Circular hue picker |
84
+ | ColorField | Hex/RGB color input |
85
+ | ColorSwatch | Color preview |
86
+ | ColorPicker | Complete color picker |
87
+
88
+ ### Feedback
89
+
90
+ | Component | Description |
91
+ |-----------|-------------|
92
+ | Alert | Informational alerts |
93
+ | Badge | Status badges |
94
+ | ProgressBar | Progress indicators |
95
+ | Tooltip | Contextual tooltips |
96
+ | Dialog | Modal dialogs |
97
+
98
+ ### Layout
99
+
100
+ | Component | Description |
101
+ |-----------|-------------|
102
+ | Separator | Visual dividers |
103
+ | Avatar, AvatarGroup | User avatars |
104
+
105
+ ### Custom Components
106
+
107
+ | Component | Description |
108
+ |-----------|-------------|
109
+ | Chip | Tag-like chips |
110
+ | ProfileCard | User profile cards |
111
+ | EventCard | Event display |
112
+ | CalendarCard | Calendar widget |
113
+ | Conversation | Chat bubbles |
114
+ | LateralNav | Side navigation |
115
+ | PageLayout | Page structure |
116
+
117
+ ## Examples
118
+
119
+ ### Button
120
+
121
+ ```tsx
122
+ <Button>Default</Button>
123
+ <Button variant="accent">Accent</Button>
124
+ <Button variant="negative">Delete</Button>
125
+ <Button style="outline">Outline</Button>
126
+ ```
127
+
128
+ ### TextField
129
+
130
+ ```tsx
131
+ <TextField label="Name" placeholder="Enter your name" />
132
+ <TextField label="Email" type="email" isRequired />
133
+ ```
134
+
135
+ ### Select
136
+
137
+ ```tsx
138
+ <Select
139
+ label="Country"
140
+ items={[
141
+ { key: "us", label: "United States" },
142
+ { key: "uk", label: "United Kingdom" },
143
+ ]}
144
+ onSelectionChange={(key) => console.log(key)}
145
+ />
146
+ ```
147
+
148
+ ### Tabs
149
+
150
+ ```tsx
151
+ <Tabs defaultSelectedKey="overview">
152
+ <TabList>
153
+ <Tab id="overview">Overview</Tab>
154
+ <Tab id="features">Features</Tab>
155
+ </TabList>
156
+ <TabPanel id="overview">Overview content</TabPanel>
157
+ <TabPanel id="features">Features content</TabPanel>
158
+ </Tabs>
159
+ ```
160
+
161
+ ## Sizes
162
+
163
+ Most components support size variants:
164
+
165
+ ```tsx
166
+ <Button size="sm">Small</Button>
167
+ <Button size="md">Medium</Button>
168
+ <Button size="lg">Large</Button>
169
+ ```
170
+
171
+ ## Theming
172
+
173
+ Customize via CSS variables:
174
+
175
+ ```css
176
+ :root {
177
+ --color-primary-100: #your-color;
178
+ --color-accent: #your-accent;
179
+ }
180
+ ```
181
+
182
+ ## TypeScript
183
+
184
+ Full TypeScript support:
185
+
186
+ ```tsx
187
+ import { Button, type ButtonProps } from "@proyecto-viviana/ui";
188
+ ```
189
+
190
+ ## License
191
+
192
+ MIT
@@ -0,0 +1,89 @@
1
+ /**
2
+ * SearchAutocomplete component for proyecto-viviana-ui
3
+ *
4
+ * A styled autocomplete component combining a search input with a
5
+ * filterable dropdown list of options.
6
+ */
7
+ import { type JSX } from 'solid-js';
8
+ export type SearchAutocompleteSize = 'sm' | 'md' | 'lg';
9
+ export interface SearchAutocompleteItem {
10
+ id: string;
11
+ name: string;
12
+ [key: string]: unknown;
13
+ }
14
+ export interface SearchAutocompleteProps<T extends SearchAutocompleteItem = SearchAutocompleteItem> {
15
+ /** The items to display in the dropdown. */
16
+ items: T[];
17
+ /** The size of the autocomplete. @default 'md' */
18
+ size?: SearchAutocompleteSize;
19
+ /** Placeholder text for the input. */
20
+ placeholder?: string;
21
+ /** Accessible label for the input. */
22
+ 'aria-label'?: string;
23
+ /** Label text shown above the input. */
24
+ label?: string;
25
+ /** Description text shown below the input. */
26
+ description?: string;
27
+ /** The current input value (controlled). */
28
+ inputValue?: string;
29
+ /** The default input value (uncontrolled). */
30
+ defaultInputValue?: string;
31
+ /** Handler called when the input value changes. */
32
+ onInputChange?: (value: string) => void;
33
+ /** Handler called when an item is selected. */
34
+ onSelect?: (item: T) => void;
35
+ /** Additional CSS class name. */
36
+ class?: string;
37
+ /** Whether the input is disabled. */
38
+ isDisabled?: boolean;
39
+ /**
40
+ * Custom filter function. By default, filters by case-insensitive name match.
41
+ */
42
+ filter?: (textValue: string, inputValue: string) => boolean;
43
+ /**
44
+ * Custom render function for items.
45
+ */
46
+ renderItem?: (item: T) => JSX.Element;
47
+ /**
48
+ * Key to use for the display text. @default 'name'
49
+ */
50
+ textKey?: keyof T;
51
+ }
52
+ /**
53
+ * A styled autocomplete component for searching and selecting from a list.
54
+ *
55
+ * @example
56
+ * ```tsx
57
+ * const items = [
58
+ * { id: '1', name: 'Apple' },
59
+ * { id: '2', name: 'Banana' },
60
+ * { id: '3', name: 'Cherry' },
61
+ * ];
62
+ *
63
+ * <SearchAutocomplete
64
+ * items={items}
65
+ * placeholder="Search fruits..."
66
+ * aria-label="Fruit search"
67
+ * onSelect={(item) => console.log('Selected:', item)}
68
+ * />
69
+ *
70
+ * // With custom filter
71
+ * <SearchAutocomplete
72
+ * items={items}
73
+ * filter={(textValue, inputValue) =>
74
+ * textValue.toLowerCase().startsWith(inputValue.toLowerCase())
75
+ * }
76
+ * onSelect={(item) => console.log('Selected:', item)}
77
+ * />
78
+ *
79
+ * // With label and description
80
+ * <SearchAutocomplete
81
+ * items={items}
82
+ * label="Search"
83
+ * description="Type to filter the list"
84
+ * placeholder="Start typing..."
85
+ * />
86
+ * ```
87
+ */
88
+ export declare function SearchAutocomplete<T extends SearchAutocompleteItem = SearchAutocompleteItem>(props: SearchAutocompleteProps<T>): JSX.Element;
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/autocomplete/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAmD,MAAM,UAAU,CAAA;AAYpF,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB;IAChG,4CAA4C;IAC5C,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,kDAAkD;IAClD,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC5B,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAA;IAC3D;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAA;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,CAAA;CAClB;AAyJD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,EAC1F,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAChC,GAAG,CAAC,OAAO,CAyDb"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Breadcrumbs component for proyecto-viviana-ui
3
+ *
4
+ * Styled breadcrumbs component built on top of solidaria-components.
5
+ * Inspired by Spectrum 2's Breadcrumbs component patterns.
6
+ */
7
+ import { type JSX } from 'solid-js';
8
+ import { type BreadcrumbsProps as HeadlessBreadcrumbsProps, type BreadcrumbItemProps as HeadlessBreadcrumbItemProps } from '@proyecto-viviana/solidaria-components';
9
+ export type BreadcrumbsSize = 'sm' | 'md' | 'lg';
10
+ export type BreadcrumbsVariant = 'default' | 'subtle';
11
+ export interface BreadcrumbsProps<T> extends Omit<HeadlessBreadcrumbsProps<T>, 'class' | 'style'> {
12
+ /** The size of the breadcrumbs. */
13
+ size?: BreadcrumbsSize;
14
+ /** The visual variant. */
15
+ variant?: BreadcrumbsVariant;
16
+ /** Whether to show separators between items. */
17
+ showSeparator?: boolean;
18
+ /** Additional CSS class name. */
19
+ class?: string;
20
+ }
21
+ export interface BreadcrumbItemProps extends Omit<HeadlessBreadcrumbItemProps, 'class' | 'style'> {
22
+ /** Additional CSS class name. */
23
+ class?: string;
24
+ }
25
+ /**
26
+ * Breadcrumbs show hierarchy and navigational context for a user's location within an application.
27
+ *
28
+ * Built on solidaria-components Breadcrumbs for full accessibility support.
29
+ */
30
+ export declare function Breadcrumbs<T>(props: BreadcrumbsProps<T>): JSX.Element;
31
+ export declare namespace Breadcrumbs {
32
+ var Item: typeof BreadcrumbItem;
33
+ }
34
+ /**
35
+ * A BreadcrumbItem represents an individual breadcrumb in the navigation trail.
36
+ */
37
+ export declare function BreadcrumbItem(props: BreadcrumbItemProps): JSX.Element;
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/breadcrumbs/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAyC,MAAM,UAAU,CAAA;AAC1E,OAAO,EAGL,KAAK,gBAAgB,IAAI,wBAAwB,EACjD,KAAK,mBAAmB,IAAI,2BAA2B,EAGxD,MAAM,wCAAwC,CAAA;AAM/C,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAChD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,CAAA;AAkBrD,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/F,mCAAmC;IACnC,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/F,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAyCD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CA6BtE;yBA7Be,WAAW;;;AAmC3B;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA+CtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/button/Button.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA6C,MAAM,UAAU,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAsDtD"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/button/Button.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA6C,MAAM,UAAU,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAqDtD"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * DateField component for proyecto-viviana-ui
3
+ *
4
+ * Styled date field component with segment-based editing.
5
+ */
6
+ import { type JSX } from 'solid-js';
7
+ import { type DateFieldProps as HeadlessDateFieldProps, type CalendarDate, type DateValue } from '@proyecto-viviana/solidaria-components';
8
+ export type DateFieldSize = 'sm' | 'md' | 'lg';
9
+ export interface DateFieldProps<T extends DateValue = DateValue> extends Omit<HeadlessDateFieldProps<T>, 'class' | 'style' | 'children'> {
10
+ /** The size of the field. @default 'md' */
11
+ size?: DateFieldSize;
12
+ /** Additional CSS class name. */
13
+ class?: string;
14
+ /** Label for the field. */
15
+ label?: string;
16
+ /** Description text. */
17
+ description?: string;
18
+ /** Error message. */
19
+ errorMessage?: string;
20
+ }
21
+ /**
22
+ * A date field allows users to enter and edit date values using a keyboard.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * // Basic usage
27
+ * <DateField label="Birth date" />
28
+ *
29
+ * // Controlled
30
+ * const [date, setDate] = createSignal<CalendarDate | null>(null);
31
+ * <DateField
32
+ * label="Event date"
33
+ * value={date()}
34
+ * onChange={setDate}
35
+ * />
36
+ *
37
+ * // With validation
38
+ * <DateField
39
+ * label="Future date"
40
+ * minValue={today(getLocalTimeZone())}
41
+ * errorMessage="Date must be in the future"
42
+ * />
43
+ * ```
44
+ */
45
+ export declare function DateField<T extends DateValue = CalendarDate>(props: DateFieldProps<T>): JSX.Element;
46
+ export type { CalendarDate, DateValue };
47
+ //# sourceMappingURL=DateField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateField.d.ts","sourceRoot":"","sources":["../../src/calendar/DateField.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAIL,KAAK,cAAc,IAAI,sBAAsB,EAC7C,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,wCAAwC,CAAC;AAMhD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC7D,SAAQ,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IACvE,2CAA2C;IAC3C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,YAAY,EAC1D,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GACvB,GAAG,CAAC,OAAO,CAyGb;AAGD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * DatePicker component for proyecto-viviana-ui
3
+ *
4
+ * Styled date picker component that combines a date field with a calendar popup.
5
+ */
6
+ import { type JSX } from 'solid-js';
7
+ import { type DatePickerProps as HeadlessDatePickerProps, type CalendarDate, type DateValue } from '@proyecto-viviana/solidaria-components';
8
+ export type DatePickerSize = 'sm' | 'md' | 'lg';
9
+ export interface DatePickerProps<T extends DateValue = DateValue> extends Omit<HeadlessDatePickerProps<T>, 'class' | 'style' | 'children'> {
10
+ /** The size of the picker. @default 'md' */
11
+ size?: DatePickerSize;
12
+ /** Additional CSS class name. */
13
+ class?: string;
14
+ /** Label for the field. */
15
+ label?: string;
16
+ /** Description text. */
17
+ description?: string;
18
+ /** Error message. */
19
+ errorMessage?: string;
20
+ /** Placeholder text. */
21
+ placeholder?: string;
22
+ }
23
+ /**
24
+ * A date picker combines a date field and a calendar popup.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Basic usage
29
+ * <DatePicker label="Event date" />
30
+ *
31
+ * // Controlled
32
+ * const [date, setDate] = createSignal<CalendarDate | null>(null);
33
+ * <DatePicker
34
+ * label="Appointment"
35
+ * value={date()}
36
+ * onChange={setDate}
37
+ * />
38
+ *
39
+ * // With constraints
40
+ * <DatePicker
41
+ * label="Future booking"
42
+ * minValue={today(getLocalTimeZone())}
43
+ * />
44
+ * ```
45
+ */
46
+ export declare function DatePicker<T extends DateValue = CalendarDate>(props: DatePickerProps<T>): JSX.Element;
47
+ export type { CalendarDate, DateValue };
48
+ //# sourceMappingURL=DatePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/calendar/DatePicker.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,UAAU,CAAC;AACtD,OAAO,EAML,KAAK,eAAe,IAAI,uBAAuB,EAC/C,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,wCAAwC,CAAC;AA4BhD,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC9D,SAAQ,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IACxE,4CAA4C;IAC5C,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,YAAY,EAC3D,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GACxB,GAAG,CAAC,OAAO,CA6Ib;AAqCD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * RangeCalendar component for proyecto-viviana-ui
3
+ *
4
+ * Styled range calendar component built on top of solidaria-components.
5
+ * A range calendar displays a grid of days and allows users to select a date range.
6
+ */
7
+ import { type JSX } from 'solid-js';
8
+ import { type CalendarDate, type DateValue, type RangeValue } from '@proyecto-viviana/solidaria-components';
9
+ import type { RangeCalendarStateProps } from '@proyecto-viviana/solid-stately';
10
+ export type RangeCalendarSize = 'sm' | 'md' | 'lg';
11
+ export interface RangeCalendarProps<T extends DateValue = DateValue> extends Omit<RangeCalendarStateProps<T>, 'locale'> {
12
+ /** The size of the calendar. @default 'md' */
13
+ size?: RangeCalendarSize;
14
+ /** Additional CSS class name. */
15
+ class?: string;
16
+ /** The locale to use for formatting. */
17
+ locale?: string;
18
+ /** Custom aria label. */
19
+ 'aria-label'?: string;
20
+ }
21
+ /**
22
+ * A range calendar displays a grid of days and allows users to select a date range.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * // Basic usage
27
+ * <RangeCalendar
28
+ * aria-label="Trip dates"
29
+ * onChange={(range) => console.log(range)}
30
+ * />
31
+ *
32
+ * // Controlled
33
+ * const [range, setRange] = createSignal<RangeValue<CalendarDate> | null>(null);
34
+ * <RangeCalendar
35
+ * value={range()}
36
+ * onChange={setRange}
37
+ * />
38
+ * ```
39
+ */
40
+ export declare function RangeCalendar<T extends DateValue = CalendarDate>(props: RangeCalendarProps<T>): JSX.Element;
41
+ export type { RangeValue };
42
+ //# sourceMappingURL=RangeCalendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeCalendar.d.ts","sourceRoot":"","sources":["../../src/calendar/RangeCalendar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAM/E,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CACjE,SAAQ,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAClD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA+BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,YAAY,EAC9D,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC3B,GAAG,CAAC,OAAO,CAgJb;AAGD,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * TimeField component for proyecto-viviana-ui
3
+ *
4
+ * Styled time field component with segment-based editing.
5
+ */
6
+ import { type JSX } from 'solid-js';
7
+ import { type TimeFieldProps as HeadlessTimeFieldProps, type TimeValue } from '@proyecto-viviana/solidaria-components';
8
+ export type TimeFieldSize = 'sm' | 'md' | 'lg';
9
+ export interface TimeFieldProps<T extends TimeValue = TimeValue> extends Omit<HeadlessTimeFieldProps<T>, 'class' | 'style' | 'children'> {
10
+ /** The size of the field. @default 'md' */
11
+ size?: TimeFieldSize;
12
+ /** Additional CSS class name. */
13
+ class?: string;
14
+ /** Label for the field. */
15
+ label?: string;
16
+ /** Description text. */
17
+ description?: string;
18
+ /** Error message. */
19
+ errorMessage?: string;
20
+ }
21
+ /**
22
+ * A time field allows users to enter and edit time values using a keyboard.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * // Basic usage
27
+ * <TimeField label="Start time" />
28
+ *
29
+ * // With 24-hour format
30
+ * <TimeField
31
+ * label="Meeting time"
32
+ * hourCycle={24}
33
+ * />
34
+ *
35
+ * // With seconds
36
+ * <TimeField
37
+ * label="Precise time"
38
+ * granularity="second"
39
+ * />
40
+ * ```
41
+ */
42
+ export declare function TimeField<T extends TimeValue = TimeValue>(props: TimeFieldProps<T>): JSX.Element;
43
+ export type { TimeValue };
44
+ //# sourceMappingURL=TimeField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeField.d.ts","sourceRoot":"","sources":["../../src/calendar/TimeField.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAIL,KAAK,cAAc,IAAI,sBAAsB,EAC7C,KAAK,SAAS,EACf,MAAM,wCAAwC,CAAC;AAMhD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC7D,SAAQ,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IACvE,2CAA2C;IAC3C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA+BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACvD,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GACvB,GAAG,CAAC,OAAO,CAyGb;AAGD,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Calendar component for proyecto-viviana-ui
3
+ *
4
+ * Styled calendar component built on top of solidaria-components.
5
+ * A calendar displays a grid of days and allows users to select dates.
6
+ */
7
+ import { type JSX } from 'solid-js';
8
+ import { type CalendarDate, type DateValue } from '@proyecto-viviana/solidaria-components';
9
+ import type { CalendarStateProps } from '@proyecto-viviana/solid-stately';
10
+ export type CalendarSize = 'sm' | 'md' | 'lg';
11
+ export interface CalendarProps<T extends DateValue = DateValue> extends Omit<CalendarStateProps<T>, 'locale'> {
12
+ /** The size of the calendar. @default 'md' */
13
+ size?: CalendarSize;
14
+ /** Additional CSS class name. */
15
+ class?: string;
16
+ /** Whether to show week numbers. */
17
+ showWeekNumbers?: boolean;
18
+ /** The locale to use for formatting. */
19
+ locale?: string;
20
+ /** Custom aria label. */
21
+ 'aria-label'?: string;
22
+ }
23
+ /**
24
+ * A calendar displays a grid of days and allows users to select a date.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Basic usage
29
+ * <Calendar
30
+ * aria-label="Event date"
31
+ * onChange={(date) => console.log(date)}
32
+ * />
33
+ *
34
+ * // Controlled
35
+ * const [date, setDate] = createSignal<CalendarDate | null>(null);
36
+ * <Calendar
37
+ * value={date()}
38
+ * onChange={setDate}
39
+ * />
40
+ *
41
+ * // With min/max dates
42
+ * <Calendar
43
+ * minValue={today(getLocalTimeZone())}
44
+ * maxValue={today(getLocalTimeZone()).add({ months: 3 })}
45
+ * />
46
+ * ```
47
+ */
48
+ export declare function Calendar<T extends DateValue = CalendarDate>(props: CalendarProps<T>): JSX.Element;
49
+ export type { CalendarDate, DateValue };
50
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAM1E,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC5D,SAAQ,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAC7C,8CAA8C;IAC9C,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,YAAY,EACzD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GACtB,GAAG,CAAC,OAAO,CA4Hb;AAGD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkbox/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAmD,MAAM,UAAU,CAAA;AACpF,OAAO,EAGL,KAAK,aAAa,IAAI,qBAAqB,EAC3C,KAAK,kBAAkB,IAAI,0BAA0B,EAGtD,MAAM,wCAAwC,CAAA;AAM/C,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE7C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAChG,gCAAgC;IAChC,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,0BAA0B,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1G,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACtB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAqED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAsF1D;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA0CpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkbox/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAmD,MAAM,UAAU,CAAA;AACpF,OAAO,EAGL,KAAK,aAAa,IAAI,qBAAqB,EAC3C,KAAK,kBAAkB,IAAI,0BAA0B,EAGtD,MAAM,wCAAwC,CAAA;AAM/C,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE7C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAChG,gCAAgC;IAChC,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,0BAA0B,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1G,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACtB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAqED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAsF1D;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAyCpE"}