@agentiffai/design 0.1.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/CHANGELOG.md +35 -0
- package/LICENSE +21 -0
- package/README.md +187 -0
- package/assets/layout/main-pane-section.png +0 -0
- package/assets/layout/nav-complete.png +0 -0
- package/assets/layout/nav-horizontal-section.png +0 -0
- package/assets/layout/nav-vertical-section.png +0 -0
- package/assets/layout/pane-section-dropdowns.png +0 -0
- package/assets/layout/pane-section-header.png +0 -0
- package/dist/Window-B6e_UfLV.d.ts +429 -0
- package/dist/Window-CgGFIYHS.d.cts +429 -0
- package/dist/chunk-CNVJ5UF2.js +2069 -0
- package/dist/chunk-CNVJ5UF2.js.map +1 -0
- package/dist/chunk-CVHHTWDQ.cjs +72 -0
- package/dist/chunk-CVHHTWDQ.cjs.map +1 -0
- package/dist/chunk-H4VHCHCP.cjs +1268 -0
- package/dist/chunk-H4VHCHCP.cjs.map +1 -0
- package/dist/chunk-JQ6Q7MDQ.js +67 -0
- package/dist/chunk-JQ6Q7MDQ.js.map +1 -0
- package/dist/chunk-KNSPBTTJ.cjs +2158 -0
- package/dist/chunk-KNSPBTTJ.cjs.map +1 -0
- package/dist/chunk-MNXQDDWP.js +2143 -0
- package/dist/chunk-MNXQDDWP.js.map +1 -0
- package/dist/chunk-P4Q3MHIY.cjs +2093 -0
- package/dist/chunk-P4Q3MHIY.cjs.map +1 -0
- package/dist/chunk-PAOXD7DF.js +1253 -0
- package/dist/chunk-PAOXD7DF.js.map +1 -0
- package/dist/copilotkit/index.cjs +611 -0
- package/dist/copilotkit/index.cjs.map +1 -0
- package/dist/copilotkit/index.d.cts +162 -0
- package/dist/copilotkit/index.d.ts +162 -0
- package/dist/copilotkit/index.js +538 -0
- package/dist/copilotkit/index.js.map +1 -0
- package/dist/icons/index.cjs +48 -0
- package/dist/icons/index.cjs.map +1 -0
- package/dist/icons/index.d.cts +375 -0
- package/dist/icons/index.d.ts +375 -0
- package/dist/icons/index.js +3 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.cjs +536 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d-DYU1eVeb.d.cts +252 -0
- package/dist/index.d-DYU1eVeb.d.ts +252 -0
- package/dist/index.d.cts +185 -0
- package/dist/index.d.ts +185 -0
- package/dist/index.js +358 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/index.cjs +48 -0
- package/dist/layout/index.cjs.map +1 -0
- package/dist/layout/index.d.cts +206 -0
- package/dist/layout/index.d.ts +206 -0
- package/dist/layout/index.js +3 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/theme/index.cjs +24 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.d.cts +95 -0
- package/dist/theme/index.d.ts +95 -0
- package/dist/theme/index.js +3 -0
- package/dist/theme/index.js.map +1 -0
- package/package.json +148 -0
- package/public/assets/bg-set/brand-logos/Google.svg +1 -0
- package/public/assets/bg-set/brand-logos/Google2.svg +1 -0
- package/public/assets/bg-set/brand-logos/Microsoft.svg +1 -0
- package/public/assets/bg-set/brand-logos/Microsoft2.svg +1 -0
- package/public/assets/bg-set/brand-logos/Slack.svg +1 -0
- package/public/assets/bg-set/brand-logos/Slack2.svg +1 -0
- package/public/assets/bg-set/brand-logos/YouTube.svg +1 -0
- package/public/assets/bg-set/brand-logos/YouTube2.svg +1 -0
- package/public/assets/bg-set/pattern/Size=lg, Type=Waves Rays2.svg +1 -0
- package/public/assets/bg-set/pattern/Size=md, Type=Waves Rays2.svg +1 -0
- package/public/assets/bg-set/pattern/Size=sm, Type=Waves Rays2.svg +1 -0
- package/public/assets/bg-set/pattern/Size=xl, Type=Waves Rays2.svg +1 -0
- package/public/assets/bg-set/pattern/Size=xs, Type=Waves Rays2.svg +1 -0
- package/public/assets/icon-set/Icon-add-circle-fill.svg +1 -0
- package/public/assets/icon-set/Icon-calendar-fill.svg +1 -0
- package/public/assets/icon-set/Icon-chat-1-fill.svg +1 -0
- package/public/assets/icon-set/Icon-download-2-fill.svg +1 -0
- package/public/assets/icon-set/Icon-home-fill.svg +1 -0
- package/public/assets/icon-set/Icon-mic-fill.svg +1 -0
- package/public/assets/icon-set/Icon-settings-3-fill.svg +1 -0
- package/public/assets/icon-set/Icon-settings-fill.svg +1 -0
- package/public/assets/icon-set/Icon-settings-line.svg +1 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { MouseEvent, FocusEvent, SyntheticEvent, KeyboardEvent as KeyboardEvent$1, ElementType, ReactNode, JSXElementConstructor } from 'react';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
5
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
7
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
10
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
11
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
12
|
+
* governing permissions and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
interface AriaLabelingProps {
|
|
18
|
+
/**
|
|
19
|
+
* Defines a string value that labels the current element.
|
|
20
|
+
*/
|
|
21
|
+
'aria-label'?: string,
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Identifies the element (or elements) that labels the current element.
|
|
25
|
+
*/
|
|
26
|
+
'aria-labelledby'?: string,
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Identifies the element (or elements) that describes the object.
|
|
30
|
+
*/
|
|
31
|
+
'aria-describedby'?: string,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Identifies the element (or elements) that provide a detailed, extended description for the object.
|
|
35
|
+
*/
|
|
36
|
+
'aria-details'?: string
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// A set of common DOM props that are allowed on any component
|
|
40
|
+
// Ensure this is synced with DOMPropNames in filterDOMProps
|
|
41
|
+
interface DOMProps {
|
|
42
|
+
/**
|
|
43
|
+
* The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).
|
|
44
|
+
*/
|
|
45
|
+
id?: string
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
interface FocusableDOMProps extends DOMProps {
|
|
49
|
+
/**
|
|
50
|
+
* Whether to exclude the element from the sequential tab order. If true,
|
|
51
|
+
* the element will not be focusable via the keyboard by tabbing. This should
|
|
52
|
+
* be avoided except in rare scenarios where an alternative means of accessing
|
|
53
|
+
* the element or its functionality via the keyboard is available.
|
|
54
|
+
*/
|
|
55
|
+
excludeFromTabOrder?: boolean
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Any focusable element, including both HTML and SVG elements. */
|
|
59
|
+
interface FocusableElement extends Element, HTMLOrSVGElement {}
|
|
60
|
+
|
|
61
|
+
/*
|
|
62
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
63
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
64
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
65
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
66
|
+
*
|
|
67
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
68
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
69
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
70
|
+
* governing permissions and limitations under the License.
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
// Event bubbling can be problematic in real-world applications, so the default for React Spectrum components
|
|
76
|
+
// is not to propagate. This can be overridden by calling continuePropagation() on the event.
|
|
77
|
+
type BaseEvent<T extends SyntheticEvent> = T & {
|
|
78
|
+
/**
|
|
79
|
+
* Use continuePropagation.
|
|
80
|
+
* @deprecated */
|
|
81
|
+
stopPropagation(): void,
|
|
82
|
+
continuePropagation(): void
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
type KeyboardEvent = BaseEvent<KeyboardEvent$1<any>>;
|
|
86
|
+
|
|
87
|
+
type PointerType = 'mouse' | 'pen' | 'touch' | 'keyboard' | 'virtual';
|
|
88
|
+
|
|
89
|
+
interface PressEvent {
|
|
90
|
+
/** The type of press event being fired. */
|
|
91
|
+
type: 'pressstart' | 'pressend' | 'pressup' | 'press',
|
|
92
|
+
/** The pointer type that triggered the press event. */
|
|
93
|
+
pointerType: PointerType,
|
|
94
|
+
/** The target element of the press event. */
|
|
95
|
+
target: Element,
|
|
96
|
+
/** Whether the shift keyboard modifier was held during the press event. */
|
|
97
|
+
shiftKey: boolean,
|
|
98
|
+
/** Whether the ctrl keyboard modifier was held during the press event. */
|
|
99
|
+
ctrlKey: boolean,
|
|
100
|
+
/** Whether the meta keyboard modifier was held during the press event. */
|
|
101
|
+
metaKey: boolean,
|
|
102
|
+
/** Whether the alt keyboard modifier was held during the press event. */
|
|
103
|
+
altKey: boolean,
|
|
104
|
+
/** X position relative to the target. */
|
|
105
|
+
x: number,
|
|
106
|
+
/** Y position relative to the target. */
|
|
107
|
+
y: number,
|
|
108
|
+
/**
|
|
109
|
+
* By default, press events stop propagation to parent elements.
|
|
110
|
+
* In cases where a handler decides not to handle a specific event,
|
|
111
|
+
* it can call `continuePropagation()` to allow a parent to handle it.
|
|
112
|
+
*/
|
|
113
|
+
continuePropagation(): void
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
interface KeyboardEvents {
|
|
117
|
+
/** Handler that is called when a key is pressed. */
|
|
118
|
+
onKeyDown?: (e: KeyboardEvent) => void,
|
|
119
|
+
/** Handler that is called when a key is released. */
|
|
120
|
+
onKeyUp?: (e: KeyboardEvent) => void
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
interface FocusEvents<Target = Element> {
|
|
124
|
+
/** Handler that is called when the element receives focus. */
|
|
125
|
+
onFocus?: (e: FocusEvent<Target>) => void,
|
|
126
|
+
/** Handler that is called when the element loses focus. */
|
|
127
|
+
onBlur?: (e: FocusEvent<Target>) => void,
|
|
128
|
+
/** Handler that is called when the element's focus status changes. */
|
|
129
|
+
onFocusChange?: (isFocused: boolean) => void
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
interface PressEvents {
|
|
133
|
+
/** Handler that is called when the press is released over the target. */
|
|
134
|
+
onPress?: (e: PressEvent) => void,
|
|
135
|
+
/** Handler that is called when a press interaction starts. */
|
|
136
|
+
onPressStart?: (e: PressEvent) => void,
|
|
137
|
+
/**
|
|
138
|
+
* Handler that is called when a press interaction ends, either
|
|
139
|
+
* over the target or when the pointer leaves the target.
|
|
140
|
+
*/
|
|
141
|
+
onPressEnd?: (e: PressEvent) => void,
|
|
142
|
+
/** Handler that is called when the press state changes. */
|
|
143
|
+
onPressChange?: (isPressed: boolean) => void,
|
|
144
|
+
/**
|
|
145
|
+
* Handler that is called when a press is released over the target, regardless of
|
|
146
|
+
* whether it started on the target or not.
|
|
147
|
+
*/
|
|
148
|
+
onPressUp?: (e: PressEvent) => void,
|
|
149
|
+
/**
|
|
150
|
+
* **Not recommended – use `onPress` instead.** `onClick` is an alias for `onPress`
|
|
151
|
+
* provided for compatibility with other libraries. `onPress` provides
|
|
152
|
+
* additional event details for non-mouse interactions.
|
|
153
|
+
*/
|
|
154
|
+
onClick?: (e: MouseEvent<FocusableElement>) => void
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
interface FocusableProps<Target = Element> extends FocusEvents<Target>, KeyboardEvents {
|
|
158
|
+
/** Whether the element should receive focus on render. */
|
|
159
|
+
autoFocus?: boolean
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/*
|
|
163
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
164
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
165
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
166
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
167
|
+
*
|
|
168
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
169
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
170
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
171
|
+
* governing permissions and limitations under the License.
|
|
172
|
+
*/
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
interface ButtonProps extends PressEvents, FocusableProps {
|
|
177
|
+
/** Whether the button is disabled. */
|
|
178
|
+
isDisabled?: boolean,
|
|
179
|
+
/** The content to display in the button. */
|
|
180
|
+
children?: ReactNode
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
interface AriaButtonElementTypeProps<T extends ElementType = 'button'> {
|
|
184
|
+
/**
|
|
185
|
+
* The HTML element or React element used to render the button, e.g. 'div', 'a', or `RouterLink`.
|
|
186
|
+
* @default 'button'
|
|
187
|
+
*/
|
|
188
|
+
elementType?: T | JSXElementConstructor<any>
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
interface LinkButtonProps<T extends ElementType = 'button'> extends AriaButtonElementTypeProps<T> {
|
|
192
|
+
/** A URL to link to if elementType="a". */
|
|
193
|
+
href?: string,
|
|
194
|
+
/** The target window for the link. */
|
|
195
|
+
target?: string,
|
|
196
|
+
/** The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel). */
|
|
197
|
+
rel?: string
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
interface AriaBaseButtonProps extends FocusableDOMProps, AriaLabelingProps {
|
|
201
|
+
/** Indicates whether the element is disabled to users of assistive technology. */
|
|
202
|
+
'aria-disabled'?: boolean | 'true' | 'false',
|
|
203
|
+
/** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
|
|
204
|
+
'aria-expanded'?: boolean | 'true' | 'false',
|
|
205
|
+
/** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
|
|
206
|
+
'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false',
|
|
207
|
+
/** Identifies the element (or elements) whose contents or presence are controlled by the current element. */
|
|
208
|
+
'aria-controls'?: string,
|
|
209
|
+
/** Indicates the current "pressed" state of toggle buttons. */
|
|
210
|
+
'aria-pressed'?: boolean | 'true' | 'false' | 'mixed',
|
|
211
|
+
/** Indicates whether this element represents the current item within a container or set of related elements. */
|
|
212
|
+
'aria-current'?: boolean | 'true' | 'false' | 'page' | 'step' | 'location' | 'date' | 'time',
|
|
213
|
+
/**
|
|
214
|
+
* The behavior of the button when used in an HTML form.
|
|
215
|
+
* @default 'button'
|
|
216
|
+
*/
|
|
217
|
+
type?: 'button' | 'submit' | 'reset',
|
|
218
|
+
/**
|
|
219
|
+
* Whether to prevent focus from moving to the button when pressing it.
|
|
220
|
+
*
|
|
221
|
+
* Caution, this can make the button inaccessible and should only be used when alternative keyboard interaction is provided,
|
|
222
|
+
* such as ComboBox's MenuTrigger or a NumberField's increment/decrement control.
|
|
223
|
+
*/
|
|
224
|
+
preventFocusOnPress?: boolean,
|
|
225
|
+
/**
|
|
226
|
+
* The `<form>` element to associate the button with.
|
|
227
|
+
* The value of this attribute must be the id of a `<form>` in the same document.
|
|
228
|
+
* See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#form).
|
|
229
|
+
*/
|
|
230
|
+
form?: string,
|
|
231
|
+
/**
|
|
232
|
+
* The URL that processes the information submitted by the button.
|
|
233
|
+
* Overrides the action attribute of the button's form owner.
|
|
234
|
+
*/
|
|
235
|
+
formAction?: string,
|
|
236
|
+
/** Indicates how to encode the form data that is submitted. */
|
|
237
|
+
formEncType?: string,
|
|
238
|
+
/** Indicates the HTTP method used to submit the form. */
|
|
239
|
+
formMethod?: string,
|
|
240
|
+
/** Indicates that the form is not to be validated when it is submitted. */
|
|
241
|
+
formNoValidate?: boolean,
|
|
242
|
+
/** Overrides the target attribute of the button's form owner. */
|
|
243
|
+
formTarget?: string,
|
|
244
|
+
/** Submitted as a pair with the button's value as part of the form data. */
|
|
245
|
+
name?: string,
|
|
246
|
+
/** The value associated with the button's name when it's submitted with the form data. */
|
|
247
|
+
value?: string
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
interface AriaButtonProps<T extends ElementType = 'button'> extends ButtonProps, LinkButtonProps<T>, AriaBaseButtonProps {}
|
|
251
|
+
|
|
252
|
+
export type { AriaButtonProps as A };
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { MouseEvent, FocusEvent, SyntheticEvent, KeyboardEvent as KeyboardEvent$1, ElementType, ReactNode, JSXElementConstructor } from 'react';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
5
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
7
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
10
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
11
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
12
|
+
* governing permissions and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
interface AriaLabelingProps {
|
|
18
|
+
/**
|
|
19
|
+
* Defines a string value that labels the current element.
|
|
20
|
+
*/
|
|
21
|
+
'aria-label'?: string,
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Identifies the element (or elements) that labels the current element.
|
|
25
|
+
*/
|
|
26
|
+
'aria-labelledby'?: string,
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Identifies the element (or elements) that describes the object.
|
|
30
|
+
*/
|
|
31
|
+
'aria-describedby'?: string,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Identifies the element (or elements) that provide a detailed, extended description for the object.
|
|
35
|
+
*/
|
|
36
|
+
'aria-details'?: string
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// A set of common DOM props that are allowed on any component
|
|
40
|
+
// Ensure this is synced with DOMPropNames in filterDOMProps
|
|
41
|
+
interface DOMProps {
|
|
42
|
+
/**
|
|
43
|
+
* The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id).
|
|
44
|
+
*/
|
|
45
|
+
id?: string
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
interface FocusableDOMProps extends DOMProps {
|
|
49
|
+
/**
|
|
50
|
+
* Whether to exclude the element from the sequential tab order. If true,
|
|
51
|
+
* the element will not be focusable via the keyboard by tabbing. This should
|
|
52
|
+
* be avoided except in rare scenarios where an alternative means of accessing
|
|
53
|
+
* the element or its functionality via the keyboard is available.
|
|
54
|
+
*/
|
|
55
|
+
excludeFromTabOrder?: boolean
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Any focusable element, including both HTML and SVG elements. */
|
|
59
|
+
interface FocusableElement extends Element, HTMLOrSVGElement {}
|
|
60
|
+
|
|
61
|
+
/*
|
|
62
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
63
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
64
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
65
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
66
|
+
*
|
|
67
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
68
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
69
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
70
|
+
* governing permissions and limitations under the License.
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
// Event bubbling can be problematic in real-world applications, so the default for React Spectrum components
|
|
76
|
+
// is not to propagate. This can be overridden by calling continuePropagation() on the event.
|
|
77
|
+
type BaseEvent<T extends SyntheticEvent> = T & {
|
|
78
|
+
/**
|
|
79
|
+
* Use continuePropagation.
|
|
80
|
+
* @deprecated */
|
|
81
|
+
stopPropagation(): void,
|
|
82
|
+
continuePropagation(): void
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
type KeyboardEvent = BaseEvent<KeyboardEvent$1<any>>;
|
|
86
|
+
|
|
87
|
+
type PointerType = 'mouse' | 'pen' | 'touch' | 'keyboard' | 'virtual';
|
|
88
|
+
|
|
89
|
+
interface PressEvent {
|
|
90
|
+
/** The type of press event being fired. */
|
|
91
|
+
type: 'pressstart' | 'pressend' | 'pressup' | 'press',
|
|
92
|
+
/** The pointer type that triggered the press event. */
|
|
93
|
+
pointerType: PointerType,
|
|
94
|
+
/** The target element of the press event. */
|
|
95
|
+
target: Element,
|
|
96
|
+
/** Whether the shift keyboard modifier was held during the press event. */
|
|
97
|
+
shiftKey: boolean,
|
|
98
|
+
/** Whether the ctrl keyboard modifier was held during the press event. */
|
|
99
|
+
ctrlKey: boolean,
|
|
100
|
+
/** Whether the meta keyboard modifier was held during the press event. */
|
|
101
|
+
metaKey: boolean,
|
|
102
|
+
/** Whether the alt keyboard modifier was held during the press event. */
|
|
103
|
+
altKey: boolean,
|
|
104
|
+
/** X position relative to the target. */
|
|
105
|
+
x: number,
|
|
106
|
+
/** Y position relative to the target. */
|
|
107
|
+
y: number,
|
|
108
|
+
/**
|
|
109
|
+
* By default, press events stop propagation to parent elements.
|
|
110
|
+
* In cases where a handler decides not to handle a specific event,
|
|
111
|
+
* it can call `continuePropagation()` to allow a parent to handle it.
|
|
112
|
+
*/
|
|
113
|
+
continuePropagation(): void
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
interface KeyboardEvents {
|
|
117
|
+
/** Handler that is called when a key is pressed. */
|
|
118
|
+
onKeyDown?: (e: KeyboardEvent) => void,
|
|
119
|
+
/** Handler that is called when a key is released. */
|
|
120
|
+
onKeyUp?: (e: KeyboardEvent) => void
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
interface FocusEvents<Target = Element> {
|
|
124
|
+
/** Handler that is called when the element receives focus. */
|
|
125
|
+
onFocus?: (e: FocusEvent<Target>) => void,
|
|
126
|
+
/** Handler that is called when the element loses focus. */
|
|
127
|
+
onBlur?: (e: FocusEvent<Target>) => void,
|
|
128
|
+
/** Handler that is called when the element's focus status changes. */
|
|
129
|
+
onFocusChange?: (isFocused: boolean) => void
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
interface PressEvents {
|
|
133
|
+
/** Handler that is called when the press is released over the target. */
|
|
134
|
+
onPress?: (e: PressEvent) => void,
|
|
135
|
+
/** Handler that is called when a press interaction starts. */
|
|
136
|
+
onPressStart?: (e: PressEvent) => void,
|
|
137
|
+
/**
|
|
138
|
+
* Handler that is called when a press interaction ends, either
|
|
139
|
+
* over the target or when the pointer leaves the target.
|
|
140
|
+
*/
|
|
141
|
+
onPressEnd?: (e: PressEvent) => void,
|
|
142
|
+
/** Handler that is called when the press state changes. */
|
|
143
|
+
onPressChange?: (isPressed: boolean) => void,
|
|
144
|
+
/**
|
|
145
|
+
* Handler that is called when a press is released over the target, regardless of
|
|
146
|
+
* whether it started on the target or not.
|
|
147
|
+
*/
|
|
148
|
+
onPressUp?: (e: PressEvent) => void,
|
|
149
|
+
/**
|
|
150
|
+
* **Not recommended – use `onPress` instead.** `onClick` is an alias for `onPress`
|
|
151
|
+
* provided for compatibility with other libraries. `onPress` provides
|
|
152
|
+
* additional event details for non-mouse interactions.
|
|
153
|
+
*/
|
|
154
|
+
onClick?: (e: MouseEvent<FocusableElement>) => void
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
interface FocusableProps<Target = Element> extends FocusEvents<Target>, KeyboardEvents {
|
|
158
|
+
/** Whether the element should receive focus on render. */
|
|
159
|
+
autoFocus?: boolean
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/*
|
|
163
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
164
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
165
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
166
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
167
|
+
*
|
|
168
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
169
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
170
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
171
|
+
* governing permissions and limitations under the License.
|
|
172
|
+
*/
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
interface ButtonProps extends PressEvents, FocusableProps {
|
|
177
|
+
/** Whether the button is disabled. */
|
|
178
|
+
isDisabled?: boolean,
|
|
179
|
+
/** The content to display in the button. */
|
|
180
|
+
children?: ReactNode
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
interface AriaButtonElementTypeProps<T extends ElementType = 'button'> {
|
|
184
|
+
/**
|
|
185
|
+
* The HTML element or React element used to render the button, e.g. 'div', 'a', or `RouterLink`.
|
|
186
|
+
* @default 'button'
|
|
187
|
+
*/
|
|
188
|
+
elementType?: T | JSXElementConstructor<any>
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
interface LinkButtonProps<T extends ElementType = 'button'> extends AriaButtonElementTypeProps<T> {
|
|
192
|
+
/** A URL to link to if elementType="a". */
|
|
193
|
+
href?: string,
|
|
194
|
+
/** The target window for the link. */
|
|
195
|
+
target?: string,
|
|
196
|
+
/** The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel). */
|
|
197
|
+
rel?: string
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
interface AriaBaseButtonProps extends FocusableDOMProps, AriaLabelingProps {
|
|
201
|
+
/** Indicates whether the element is disabled to users of assistive technology. */
|
|
202
|
+
'aria-disabled'?: boolean | 'true' | 'false',
|
|
203
|
+
/** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
|
|
204
|
+
'aria-expanded'?: boolean | 'true' | 'false',
|
|
205
|
+
/** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
|
|
206
|
+
'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false',
|
|
207
|
+
/** Identifies the element (or elements) whose contents or presence are controlled by the current element. */
|
|
208
|
+
'aria-controls'?: string,
|
|
209
|
+
/** Indicates the current "pressed" state of toggle buttons. */
|
|
210
|
+
'aria-pressed'?: boolean | 'true' | 'false' | 'mixed',
|
|
211
|
+
/** Indicates whether this element represents the current item within a container or set of related elements. */
|
|
212
|
+
'aria-current'?: boolean | 'true' | 'false' | 'page' | 'step' | 'location' | 'date' | 'time',
|
|
213
|
+
/**
|
|
214
|
+
* The behavior of the button when used in an HTML form.
|
|
215
|
+
* @default 'button'
|
|
216
|
+
*/
|
|
217
|
+
type?: 'button' | 'submit' | 'reset',
|
|
218
|
+
/**
|
|
219
|
+
* Whether to prevent focus from moving to the button when pressing it.
|
|
220
|
+
*
|
|
221
|
+
* Caution, this can make the button inaccessible and should only be used when alternative keyboard interaction is provided,
|
|
222
|
+
* such as ComboBox's MenuTrigger or a NumberField's increment/decrement control.
|
|
223
|
+
*/
|
|
224
|
+
preventFocusOnPress?: boolean,
|
|
225
|
+
/**
|
|
226
|
+
* The `<form>` element to associate the button with.
|
|
227
|
+
* The value of this attribute must be the id of a `<form>` in the same document.
|
|
228
|
+
* See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#form).
|
|
229
|
+
*/
|
|
230
|
+
form?: string,
|
|
231
|
+
/**
|
|
232
|
+
* The URL that processes the information submitted by the button.
|
|
233
|
+
* Overrides the action attribute of the button's form owner.
|
|
234
|
+
*/
|
|
235
|
+
formAction?: string,
|
|
236
|
+
/** Indicates how to encode the form data that is submitted. */
|
|
237
|
+
formEncType?: string,
|
|
238
|
+
/** Indicates the HTTP method used to submit the form. */
|
|
239
|
+
formMethod?: string,
|
|
240
|
+
/** Indicates that the form is not to be validated when it is submitted. */
|
|
241
|
+
formNoValidate?: boolean,
|
|
242
|
+
/** Overrides the target attribute of the button's form owner. */
|
|
243
|
+
formTarget?: string,
|
|
244
|
+
/** Submitted as a pair with the button's value as part of the form data. */
|
|
245
|
+
name?: string,
|
|
246
|
+
/** The value associated with the button's name when it's submitted with the form data. */
|
|
247
|
+
value?: string
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
interface AriaButtonProps<T extends ElementType = 'button'> extends ButtonProps, LinkButtonProps<T>, AriaBaseButtonProps {}
|
|
251
|
+
|
|
252
|
+
export type { AriaButtonProps as A };
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { AriaTextFieldProps } from '@react-aria/textfield';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
export { ActionButtons, ActionButtonsProps, BrandType, Icon, IconName, IconNames, IconProps, Layout, LayoutProps, NavHorizontal, NavHorizontalProps, NavVertical, NavVerticalProps, PaneMenus, PaneMenusProps, PaneSectionHeader, PaneSectionHeaderProps, ServiceBrand, ServiceIcon, ServiceIconProps, WorkflowStatusCard, WorkflowStatusCardProps } from './layout/index.cjs';
|
|
5
|
+
import { AriaButtonProps } from '@react-aria/button';
|
|
6
|
+
export { GlobalStyle, darkTheme, lightTheme, tokens } from './theme/index.cjs';
|
|
7
|
+
export { A as Action, c as ActionVariant, d as Actions, a as ActionsLayout, b as ActionsProps, f as AgentState, e as AgentStateProps, q as AssistantMessage, m as AssistantMessageProps, i as Button, B as ButtonProps, g as ButtonSize, h as ButtonVariant, w as CopilotUserMessage, U as CopilotUserMessageProps, r as FileAttachment, n as FileAttachmentProps, j as Footer, F as FooterProps, k as Header, H as HeaderProps, l as Input, I as InputProps, M as Message, s as Messages, t as MessagesList, u as MessagesListContainer, v as MessagesListContent, o as MessagesListProps, p as MessagesProps, x as Response, R as ResponseProps, y as Suggestions, S as SuggestionsProps, z as Window, W as WindowProps } from './Window-CgGFIYHS.cjs';
|
|
8
|
+
export { FacebookIcon, FacebookIconProps, FacebookIconVariant, GmailIcon, GmailIconProps, GmailIconVariant, InstagramIcon, InstagramIconProps, InstagramVariant, LinkedInIcon, LinkedInIconProps, LinkedInIconVariant, RedditIcon, RedditIconProps, RedditIconVariant, SlackIcon, SlackIconProps, SlackIconVariant, TelegramIcon, TelegramIconProps, TelegramIconVariant, WhatsAppIcon, WhatsAppIconProps, WhatsAppIconVariant, XIcon, XIconProps, XIconVariant, YouTubeIcon, YouTubeIconProps, YouTubeIconVariant } from './icons/index.cjs';
|
|
9
|
+
import './index.d-DYU1eVeb.cjs';
|
|
10
|
+
import 'styled-components';
|
|
11
|
+
import 'styled-components/dist/types';
|
|
12
|
+
|
|
13
|
+
interface AssistantThinkingProps {
|
|
14
|
+
message?: string;
|
|
15
|
+
className?: string;
|
|
16
|
+
ariaLabel?: string;
|
|
17
|
+
}
|
|
18
|
+
declare function AssistantThinking({ message, className, ariaLabel, }: AssistantThinkingProps): react_jsx_runtime.JSX.Element;
|
|
19
|
+
declare namespace AssistantThinking {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface Suggestion {
|
|
24
|
+
/** The text content of the suggestion */
|
|
25
|
+
text: string;
|
|
26
|
+
}
|
|
27
|
+
interface ChatInputProps extends Omit<AriaTextFieldProps, 'onChange'> {
|
|
28
|
+
/** Array of suggestion items to display above the input */
|
|
29
|
+
suggestions?: Suggestion[];
|
|
30
|
+
/** Callback when a suggestion is selected */
|
|
31
|
+
onSuggestionSelect?: (suggestion: string) => void;
|
|
32
|
+
/** Current message value */
|
|
33
|
+
value?: string;
|
|
34
|
+
/** Callback when message value changes */
|
|
35
|
+
onChange?: (value: string) => void;
|
|
36
|
+
/** Callback when message is submitted */
|
|
37
|
+
onSubmit?: (message: string) => void;
|
|
38
|
+
/** Placeholder text */
|
|
39
|
+
placeholder?: string;
|
|
40
|
+
/** Whether the input is disabled */
|
|
41
|
+
isDisabled?: boolean;
|
|
42
|
+
/** Whether the input is read-only */
|
|
43
|
+
isReadOnly?: boolean;
|
|
44
|
+
/** Whether to auto-focus the input */
|
|
45
|
+
autoFocus?: boolean;
|
|
46
|
+
/** Additional CSS class name */
|
|
47
|
+
className?: string;
|
|
48
|
+
/** ARIA label for the input */
|
|
49
|
+
'aria-label'?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* ChatInput component with minimal pill-shaped suggestion buttons
|
|
53
|
+
*
|
|
54
|
+
* Features:
|
|
55
|
+
* - Horizontal pill-shaped suggestion buttons with minimal design
|
|
56
|
+
* - Single-line input with submit button
|
|
57
|
+
* - React ARIA for accessibility
|
|
58
|
+
* - Keyboard navigation support
|
|
59
|
+
* - Clean, modern design matching vendor image
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```tsx
|
|
63
|
+
* <ChatInput
|
|
64
|
+
* suggestions={[
|
|
65
|
+
* { text: "Create in-depth analysis" },
|
|
66
|
+
* { text: "Identify actionable tasks" }
|
|
67
|
+
* ]}
|
|
68
|
+
* placeholder="Ask, write or search for anything..."
|
|
69
|
+
* onSubmit={(message) => console.log(message)}
|
|
70
|
+
* onSuggestionSelect={(suggestion) => console.log(suggestion)}
|
|
71
|
+
* />
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
declare const ChatInput: React__default.FC<ChatInputProps>;
|
|
75
|
+
|
|
76
|
+
interface NotificationItem {
|
|
77
|
+
/** Unique identifier for the item */
|
|
78
|
+
id: string;
|
|
79
|
+
/** The text content of the notification */
|
|
80
|
+
text: string;
|
|
81
|
+
/** Optional icon (can be emoji, SVG, or icon component) */
|
|
82
|
+
icon?: React__default.ReactNode;
|
|
83
|
+
/** Icon background color (for colored icons like Slack, Google Sheets) */
|
|
84
|
+
iconColor?: string;
|
|
85
|
+
/** Whether this item is currently selected/active */
|
|
86
|
+
isSelected?: boolean;
|
|
87
|
+
}
|
|
88
|
+
interface NotificationSection {
|
|
89
|
+
/** Section title (e.g., "Today", "Yesterday") */
|
|
90
|
+
title: string;
|
|
91
|
+
/** Whether the section is initially collapsed */
|
|
92
|
+
isCollapsed?: boolean;
|
|
93
|
+
/** Array of notification items in this section */
|
|
94
|
+
items: NotificationItem[];
|
|
95
|
+
}
|
|
96
|
+
interface NotificationCardProps {
|
|
97
|
+
/** Array of notification sections */
|
|
98
|
+
sections: NotificationSection[];
|
|
99
|
+
/** Callback when an item is clicked */
|
|
100
|
+
onItemClick?: (item: NotificationItem) => void;
|
|
101
|
+
/** Currently selected item ID */
|
|
102
|
+
selectedItemId?: string;
|
|
103
|
+
/** Callback when menu button is clicked (three-dot menu) */
|
|
104
|
+
onMenuClick?: (item: NotificationItem) => void;
|
|
105
|
+
/** Additional CSS class name */
|
|
106
|
+
className?: string;
|
|
107
|
+
/** ARIA label for the notification card */
|
|
108
|
+
'aria-label'?: string;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* NotificationCard component with collapsible sections
|
|
112
|
+
*
|
|
113
|
+
* Features:
|
|
114
|
+
* - Date-based sections with collapsible headers
|
|
115
|
+
* - Different item states (default, selected)
|
|
116
|
+
* - Icon variants (circle icon, colored app icons)
|
|
117
|
+
* - Three-dot menu on selected items
|
|
118
|
+
* - React ARIA for accessibility
|
|
119
|
+
* - Full keyboard navigation support
|
|
120
|
+
* - Clean design matching vendor image
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```tsx
|
|
124
|
+
* <NotificationCard
|
|
125
|
+
* sections={[
|
|
126
|
+
* {
|
|
127
|
+
* title: "Today",
|
|
128
|
+
* items: [
|
|
129
|
+
* { id: "1", text: "Help me write a professional email." },
|
|
130
|
+
* { id: "2", text: "Write a letter to the work chat", icon: "💬", iconColor: "#4A90E2" }
|
|
131
|
+
* ]
|
|
132
|
+
* },
|
|
133
|
+
* {
|
|
134
|
+
* title: "Yesterday",
|
|
135
|
+
* items: [
|
|
136
|
+
* { id: "3", text: "Generate a 3D scene of robots", isSelected: true }
|
|
137
|
+
* ]
|
|
138
|
+
* }
|
|
139
|
+
* ]}
|
|
140
|
+
* selectedItemId="3"
|
|
141
|
+
* onItemClick={(item) => console.log(item)}
|
|
142
|
+
* onMenuClick={(item) => console.log("Menu clicked", item)}
|
|
143
|
+
* />
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
declare const NotificationCard: React__default.FC<NotificationCardProps>;
|
|
147
|
+
|
|
148
|
+
interface UserMessageProps extends AriaButtonProps {
|
|
149
|
+
/**
|
|
150
|
+
* The message text to display
|
|
151
|
+
*/
|
|
152
|
+
children: React.ReactNode;
|
|
153
|
+
/**
|
|
154
|
+
* Additional CSS class name
|
|
155
|
+
*/
|
|
156
|
+
className?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Whether the message is in a pressed state
|
|
159
|
+
*/
|
|
160
|
+
isPressed?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Optional click handler
|
|
163
|
+
*/
|
|
164
|
+
onPress?: () => void;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* UserMessage component - Displays a user message in a gradient pill
|
|
168
|
+
*
|
|
169
|
+
* This component renders a user message with a purple-to-blue gradient background,
|
|
170
|
+
* pill-shaped design with fully rounded ends, and white text. It uses React ARIA
|
|
171
|
+
* for accessibility and supports keyboard navigation.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```tsx
|
|
175
|
+
* <UserMessage onPress={() => console.log('clicked')}>
|
|
176
|
+
* Can you export this as a CSV?
|
|
177
|
+
* </UserMessage>
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
declare function UserMessage({ children, className, isPressed, onPress, ...ariaProps }: UserMessageProps): react_jsx_runtime.JSX.Element;
|
|
181
|
+
declare namespace UserMessage {
|
|
182
|
+
var displayName: string;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export { AssistantThinking, type AssistantThinkingProps, ChatInput, type ChatInputProps, NotificationCard, type NotificationCardProps, UserMessage, type UserMessageProps };
|