@fluentui-copilot/react-prompt-starter 0.10.2 → 0.10.4
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.json +31 -1
- package/CHANGELOG.md +20 -2
- package/dist/index.d.ts +1 -1
- package/lib/PromptStarter.js +0 -1
- package/lib/PromptStarterList.js +0 -1
- package/lib/PromptStarterV2.js +0 -1
- package/lib/components/PromptStarter/PromptStarter.js +5 -6
- package/lib/components/PromptStarter/PromptStarter.types.js +1 -2
- package/lib/components/PromptStarter/index.js +0 -1
- package/lib/components/PromptStarter/renderPromptStarter.js +16 -9
- package/lib/components/PromptStarter/usePromptStarter.js +42 -44
- package/lib/components/PromptStarter/usePromptStarterStyles.styles.raw.js +94 -0
- package/lib/components/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -0
- package/lib/components/PromptStarterV2/PromptStarter/PromptStarter.js +5 -6
- package/lib/components/PromptStarterV2/PromptStarter/PromptStarter.types.js +1 -2
- package/lib/components/PromptStarterV2/PromptStarter/PromptStarter.types.js.map +1 -1
- package/lib/components/PromptStarterV2/PromptStarter/index.js +0 -1
- package/lib/components/PromptStarterV2/PromptStarter/promptStarterMotion.js +61 -50
- package/lib/components/PromptStarterV2/PromptStarter/renderPromptStarter.js +15 -9
- package/lib/components/PromptStarterV2/PromptStarter/renderPromptStarter.js.map +1 -1
- package/lib/components/PromptStarterV2/PromptStarter/usePromptStarter.js +50 -51
- package/lib/components/PromptStarterV2/PromptStarter/usePromptStarter.js.map +1 -1
- package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js +81 -9
- package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js.map +1 -1
- package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js +131 -0
- package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -0
- package/lib/components/PromptStarterV2/PromptStarterList/PromptStarterList.js +5 -6
- package/lib/components/PromptStarterV2/PromptStarterList/PromptStarterList.types.js +1 -2
- package/lib/components/PromptStarterV2/PromptStarterList/index.js +0 -1
- package/lib/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js +15 -14
- package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js +97 -97
- package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListContextValues.js +4 -7
- package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js +61 -0
- package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js.map +1 -0
- package/lib/contexts/PromptStarterListContext.js +2 -3
- package/lib/index.js +0 -1
- package/lib-commonjs/PromptStarter.js +0 -1
- package/lib-commonjs/PromptStarterList.js +0 -1
- package/lib-commonjs/PromptStarterV2.js +0 -1
- package/lib-commonjs/components/PromptStarter/PromptStarter.js +1 -1
- package/lib-commonjs/components/PromptStarter/PromptStarter.js.map +1 -1
- package/lib-commonjs/components/PromptStarter/PromptStarter.types.js +0 -1
- package/lib-commonjs/components/PromptStarter/index.js +0 -1
- package/lib-commonjs/components/PromptStarter/renderPromptStarter.js +1 -1
- package/lib-commonjs/components/PromptStarter/renderPromptStarter.js.map +1 -1
- package/lib-commonjs/components/PromptStarter/usePromptStarter.js +1 -1
- package/lib-commonjs/components/PromptStarter/usePromptStarter.js.map +1 -1
- package/lib-commonjs/components/PromptStarter/usePromptStarterStyles.styles.raw.js +112 -0
- package/lib-commonjs/components/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.js +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.types.js +0 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.types.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/index.js +0 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/promptStarterMotion.js +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/promptStarterMotion.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/renderPromptStarter.js +2 -2
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/renderPromptStarter.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarter.js +9 -8
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarter.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js +145 -10
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js +149 -0
- package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/PromptStarterList.js +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/PromptStarterList.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/PromptStarterList.types.js +0 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/index.js +0 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListContextValues.js +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListContextValues.js.map +1 -1
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js +77 -0
- package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/contexts/PromptStarterListContext.js +1 -1
- package/lib-commonjs/contexts/PromptStarterListContext.js.map +1 -1
- package/lib-commonjs/index.js +0 -1
- package/package.json +3 -3
|
@@ -11,103 +11,103 @@ import { PromptStarterMotion } from '../PromptStarter/promptStarterMotion';
|
|
|
11
11
|
*
|
|
12
12
|
* @param props - props from this instance of PromptStarterList
|
|
13
13
|
* @param ref - reference to root HTMLElement of PromptStarterList
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
14
|
+
*/ export const usePromptStarterList_unstable = (props, ref)=>{
|
|
15
|
+
const { arrowNavigationOptions, expandButtonLabel = 'Show more', collapseButtonLabel = 'Show less' } = props;
|
|
16
|
+
const designVersion = useDesignVersion(props.designVersion);
|
|
17
|
+
var _arrowNavigationOptions_axis, _arrowNavigationOptions_memorizeCurrent;
|
|
18
|
+
const focusAttrs = useArrowNavigationGroup({
|
|
19
|
+
...arrowNavigationOptions,
|
|
20
|
+
axis: (_arrowNavigationOptions_axis = arrowNavigationOptions === null || arrowNavigationOptions === void 0 ? void 0 : arrowNavigationOptions.axis) !== null && _arrowNavigationOptions_axis !== void 0 ? _arrowNavigationOptions_axis : 'grid-linear',
|
|
21
|
+
memorizeCurrent: (_arrowNavigationOptions_memorizeCurrent = arrowNavigationOptions === null || arrowNavigationOptions === void 0 ? void 0 : arrowNavigationOptions.memorizeCurrent) !== null && _arrowNavigationOptions_memorizeCurrent !== void 0 ? _arrowNavigationOptions_memorizeCurrent : true
|
|
22
|
+
});
|
|
23
|
+
const [isExpanded, setIsExpanded] = React.useState(false);
|
|
24
|
+
const [numberOfColumns, setNumberOfColumns] = React.useState(3);
|
|
25
|
+
const gridWrapperRef = React.useRef(null);
|
|
26
|
+
const { targetDocument } = useFluent();
|
|
27
|
+
const win = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;
|
|
28
|
+
React.useEffect(()=>{
|
|
29
|
+
if (!win || !gridWrapperRef.current) return;
|
|
30
|
+
const promptStarterGrid = gridWrapperRef.current;
|
|
31
|
+
const updateNumberOfColumns = ()=>{
|
|
32
|
+
const numColumns = win.getComputedStyle(promptStarterGrid).gridTemplateColumns.split(' ').length;
|
|
33
|
+
setNumberOfColumns(numColumns);
|
|
34
|
+
};
|
|
35
|
+
const ro = new win.ResizeObserver(updateNumberOfColumns);
|
|
36
|
+
ro.observe(promptStarterGrid);
|
|
37
|
+
return ()=>{
|
|
38
|
+
ro.unobserve(promptStarterGrid);
|
|
39
|
+
};
|
|
40
|
+
}, [
|
|
41
|
+
win
|
|
42
|
+
]);
|
|
43
|
+
const state = {
|
|
44
|
+
numberOfColumns: numberOfColumns,
|
|
45
|
+
isExpanded,
|
|
46
|
+
designVersion,
|
|
47
|
+
components: {
|
|
48
|
+
root: 'div',
|
|
49
|
+
gridWrapper: 'div',
|
|
50
|
+
expandButton: Button
|
|
51
|
+
},
|
|
52
|
+
root: slot.always(getIntrinsicElementProps('div', {
|
|
53
|
+
ref,
|
|
54
|
+
...props
|
|
55
|
+
}), {
|
|
56
|
+
elementType: 'div'
|
|
57
|
+
}),
|
|
58
|
+
gridWrapper: slot.always(props.gridWrapper, {
|
|
59
|
+
defaultProps: {
|
|
60
|
+
role: 'group',
|
|
61
|
+
...focusAttrs
|
|
62
|
+
},
|
|
63
|
+
elementType: 'div'
|
|
64
|
+
}),
|
|
65
|
+
expandButton: slot.optional(props.expandButton, {
|
|
66
|
+
defaultProps: {
|
|
67
|
+
appearance: 'subtle',
|
|
68
|
+
size: 'small',
|
|
69
|
+
shape: 'rounded',
|
|
70
|
+
icon: /*#__PURE__*/ React.createElement(ChevronDown12Regular, null),
|
|
71
|
+
iconPosition: 'after',
|
|
72
|
+
'aria-expanded': isExpanded,
|
|
73
|
+
children: isExpanded ? collapseButtonLabel : expandButtonLabel
|
|
74
|
+
},
|
|
75
|
+
renderByDefault: true,
|
|
76
|
+
elementType: Button
|
|
77
|
+
})
|
|
41
78
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
shape: 'rounded',
|
|
75
|
-
icon: /*#__PURE__*/React.createElement(ChevronDown12Regular, null),
|
|
76
|
-
iconPosition: 'after',
|
|
77
|
-
'aria-expanded': isExpanded,
|
|
78
|
-
children: isExpanded ? collapseButtonLabel : expandButtonLabel
|
|
79
|
-
},
|
|
80
|
-
renderByDefault: true,
|
|
81
|
-
elementType: Button
|
|
82
|
-
})
|
|
83
|
-
};
|
|
84
|
-
state.gridWrapper.ref = useMergedRefs(gridWrapperRef, state.gridWrapper.ref);
|
|
85
|
-
// Get the array of children.
|
|
86
|
-
const childrenArray = React.useMemo(() => {
|
|
87
|
-
return React.Children.toArray(state.root.children);
|
|
88
|
-
}, [state.root.children]);
|
|
89
|
-
// Add motion to the children.
|
|
90
|
-
const childrenWithMotion = React.useMemo(() => childrenArray.map((child, index) => {
|
|
91
|
-
// Throw error if the child is not a valid React element or is a Fragment.
|
|
92
|
-
if (! /*#__PURE__*/React.isValidElement(child) || child.type === React.Fragment) {
|
|
93
|
-
throw new Error('You should only use PromptStarter components as the children of PromptStarterList.');
|
|
79
|
+
state.gridWrapper.ref = useMergedRefs(gridWrapperRef, state.gridWrapper.ref);
|
|
80
|
+
// Get the array of children.
|
|
81
|
+
const childrenArray = React.useMemo(()=>{
|
|
82
|
+
return React.Children.toArray(state.root.children);
|
|
83
|
+
}, [
|
|
84
|
+
state.root.children
|
|
85
|
+
]);
|
|
86
|
+
// Add motion to the children.
|
|
87
|
+
const childrenWithMotion = React.useMemo(()=>childrenArray.map((child, index)=>{
|
|
88
|
+
// Throw error if the child is not a valid React element or is a Fragment.
|
|
89
|
+
if (!/*#__PURE__*/ React.isValidElement(child) || child.type === React.Fragment) {
|
|
90
|
+
throw new Error('You should only use PromptStarter components as the children of PromptStarterList.');
|
|
91
|
+
}
|
|
92
|
+
// In the collapsed state, if there is one column, we show three children.
|
|
93
|
+
// If there are two or three columns, we show two or three. All children
|
|
94
|
+
// are shown in the expanded state.
|
|
95
|
+
const visibility = numberOfColumns === 1 && index < 3 || index < numberOfColumns || isExpanded;
|
|
96
|
+
return /*#__PURE__*/ React.createElement(PromptStarterMotion, {
|
|
97
|
+
appear: true,
|
|
98
|
+
key: index,
|
|
99
|
+
index: index,
|
|
100
|
+
visible: visibility,
|
|
101
|
+
numberOfColumns: numberOfColumns
|
|
102
|
+
}, child);
|
|
103
|
+
}), [
|
|
104
|
+
childrenArray,
|
|
105
|
+
numberOfColumns,
|
|
106
|
+
isExpanded
|
|
107
|
+
]);
|
|
108
|
+
state.root.children = childrenWithMotion;
|
|
109
|
+
if (state.expandButton) {
|
|
110
|
+
state.expandButton.onClick = mergeCallbacks(state.expandButton.onClick, ()=>setIsExpanded(!isExpanded));
|
|
94
111
|
}
|
|
95
|
-
|
|
96
|
-
// If there are two or three columns, we show two or three. All children
|
|
97
|
-
// are shown in the expanded state.
|
|
98
|
-
const visibility = numberOfColumns === 1 && index < 3 || index < numberOfColumns || isExpanded;
|
|
99
|
-
return /*#__PURE__*/React.createElement(PromptStarterMotion, {
|
|
100
|
-
appear: true,
|
|
101
|
-
key: index,
|
|
102
|
-
index: index,
|
|
103
|
-
visible: visibility,
|
|
104
|
-
numberOfColumns: numberOfColumns
|
|
105
|
-
}, child);
|
|
106
|
-
}), [childrenArray, numberOfColumns, isExpanded]);
|
|
107
|
-
state.root.children = childrenWithMotion;
|
|
108
|
-
if (state.expandButton) {
|
|
109
|
-
state.expandButton.onClick = mergeCallbacks(state.expandButton.onClick, () => setIsExpanded(!isExpanded));
|
|
110
|
-
}
|
|
111
|
-
return state;
|
|
112
|
+
return state;
|
|
112
113
|
};
|
|
113
|
-
//# sourceMappingURL=usePromptStarterList.js.map
|
package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListContextValues.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
export function usePromptStarterListContextValues(state) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
numberOfColumns
|
|
7
|
-
};
|
|
2
|
+
const { numberOfColumns } = state;
|
|
3
|
+
return {
|
|
4
|
+
numberOfColumns
|
|
5
|
+
};
|
|
8
6
|
}
|
|
9
|
-
//# sourceMappingURL=usePromptStarterListContextValues.js.map
|
package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { buttonClassNames, makeResetStyles, makeStyles, mergeClasses } from '@fluentui/react-components';
|
|
2
|
+
import { tokens } from '@fluentui-copilot/tokens';
|
|
3
|
+
export const promptStarterListClassNames = {
|
|
4
|
+
root: 'fai-PromptStarterList',
|
|
5
|
+
gridWrapper: 'fai-PromptStarterList__gridWrapper',
|
|
6
|
+
expandButton: 'fai-PromptStarterList__expandButton'
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Styles for the root slot
|
|
10
|
+
*/ const useRootClassName = makeResetStyles({
|
|
11
|
+
display: 'flex',
|
|
12
|
+
flexDirection: 'column',
|
|
13
|
+
maxWidth: '772px',
|
|
14
|
+
gap: tokens.spacingHorizontalXL
|
|
15
|
+
});
|
|
16
|
+
const useStyles = makeStyles({
|
|
17
|
+
gridWrapper: {
|
|
18
|
+
display: 'grid',
|
|
19
|
+
gap: tokens.spacingHorizontalL,
|
|
20
|
+
gridAutoColumns: 'max-content',
|
|
21
|
+
gridTemplateColumns: `repeat(auto-fit, minmax(214px, 1fr))`,
|
|
22
|
+
gridAutoFlow: 'unset'
|
|
23
|
+
},
|
|
24
|
+
expandButton: {
|
|
25
|
+
alignSelf: 'end',
|
|
26
|
+
[`& .${buttonClassNames.icon}`]: {
|
|
27
|
+
fontSize: '12px',
|
|
28
|
+
height: '12px',
|
|
29
|
+
width: '12px'
|
|
30
|
+
},
|
|
31
|
+
':hover': {
|
|
32
|
+
[`& .${buttonClassNames.icon}`]: {
|
|
33
|
+
color: tokens.colorNeutralForeground2Hover
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
':hover:active': {
|
|
37
|
+
[`& .${buttonClassNames.icon}`]: {
|
|
38
|
+
color: tokens.colorNeutralForeground2Pressed
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
expandButtonExpanded: {
|
|
43
|
+
[`& > .${buttonClassNames.icon}`]: {
|
|
44
|
+
transform: 'rotate(180deg)'
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* Apply styling to the PromptStarterList slots based on the state
|
|
50
|
+
*/ export const usePromptStarterListStyles_unstable = (state)=>{
|
|
51
|
+
'use no memo';
|
|
52
|
+
const { isExpanded } = state;
|
|
53
|
+
const rootClassName = useRootClassName();
|
|
54
|
+
const styles = useStyles();
|
|
55
|
+
state.root.className = mergeClasses(promptStarterListClassNames.root, rootClassName, state.root.className);
|
|
56
|
+
state.gridWrapper.className = mergeClasses(promptStarterListClassNames.gridWrapper, styles.gridWrapper, state.gridWrapper.className);
|
|
57
|
+
if (state.expandButton) {
|
|
58
|
+
state.expandButton.className = mergeClasses(promptStarterListClassNames.expandButton, styles.expandButton, isExpanded && styles.expandButtonExpanded, state.expandButton.className);
|
|
59
|
+
}
|
|
60
|
+
return state;
|
|
61
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["usePromptStarterListStyles.styles.ts"],"sourcesContent":["import { buttonClassNames, makeResetStyles, makeStyles, mergeClasses } from '@fluentui/react-components';\nimport type { PromptStarterListSlots, PromptStarterListState } from './PromptStarterList.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\nimport { tokens } from '@fluentui-copilot/tokens';\n\nexport const promptStarterListClassNames: SlotClassNames<PromptStarterListSlots> = {\n root: 'fai-PromptStarterList',\n gridWrapper: 'fai-PromptStarterList__gridWrapper',\n expandButton: 'fai-PromptStarterList__expandButton',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootClassName = makeResetStyles({\n display: 'flex',\n flexDirection: 'column',\n maxWidth: '772px',\n gap: tokens.spacingHorizontalXL,\n});\n\nconst useStyles = makeStyles({\n gridWrapper: {\n display: 'grid',\n gap: tokens.spacingHorizontalL,\n gridAutoColumns: 'max-content',\n\n gridTemplateColumns: `repeat(auto-fit, minmax(214px, 1fr))`,\n gridAutoFlow: 'unset',\n },\n\n expandButton: {\n alignSelf: 'end',\n [`& .${buttonClassNames.icon}`]: {\n fontSize: '12px',\n height: '12px',\n width: '12px',\n },\n ':hover': {\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2Hover,\n },\n },\n ':hover:active': {\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2Pressed,\n },\n },\n },\n\n expandButtonExpanded: {\n [`& > .${buttonClassNames.icon}`]: {\n transform: 'rotate(180deg)',\n },\n },\n});\n\n/**\n * Apply styling to the PromptStarterList slots based on the state\n */\nexport const usePromptStarterListStyles_unstable = (state: PromptStarterListState): PromptStarterListState => {\n 'use no memo';\n\n const { isExpanded } = state;\n\n const rootClassName = useRootClassName();\n const styles = useStyles();\n state.root.className = mergeClasses(promptStarterListClassNames.root, rootClassName, state.root.className);\n state.gridWrapper.className = mergeClasses(\n promptStarterListClassNames.gridWrapper,\n styles.gridWrapper,\n state.gridWrapper.className,\n );\n if (state.expandButton) {\n state.expandButton.className = mergeClasses(\n promptStarterListClassNames.expandButton,\n styles.expandButton,\n isExpanded && styles.expandButtonExpanded,\n state.expandButton.className,\n );\n }\n\n return state;\n};\n"],"names":["buttonClassNames","makeResetStyles","makeStyles","mergeClasses","tokens","promptStarterListClassNames","root","gridWrapper","expandButton","useRootClassName","display","flexDirection","maxWidth","gap","spacingHorizontalXL","useStyles","spacingHorizontalL","gridAutoColumns","gridTemplateColumns","gridAutoFlow","alignSelf","icon","fontSize","height","width","color","colorNeutralForeground2Hover","colorNeutralForeground2Pressed","expandButtonExpanded","transform","usePromptStarterListStyles_unstable","state","isExpanded","rootClassName","styles","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,gBAAgB,EAAEC,eAAe,EAAEC,UAAU,EAAEC,YAAY,QAAQ,6BAA6B;AAGzG,SAASC,MAAM,QAAQ,2BAA2B;AAElD,OAAO,MAAMC,8BAAsE;IACjFC,MAAM;IACNC,aAAa;IACbC,cAAc;AAChB,EAAE;AAEF;;CAEC,GACD,MAAMC,mBAAmBR,gBAAgB;IACvCS,SAAS;IACTC,eAAe;IACfC,UAAU;IACVC,KAAKT,OAAOU,mBAAmB;AACjC;AAEA,MAAMC,YAAYb,WAAW;IAC3BK,aAAa;QACXG,SAAS;QACTG,KAAKT,OAAOY,kBAAkB;QAC9BC,iBAAiB;QAEjBC,qBAAqB,CAAC,oCAAoC,CAAC;QAC3DC,cAAc;IAChB;IAEAX,cAAc;QACZY,WAAW;QACX,CAAC,CAAC,GAAG,EAAEpB,iBAAiBqB,IAAI,CAAC,CAAC,CAAC,EAAE;YAC/BC,UAAU;YACVC,QAAQ;YACRC,OAAO;QACT;QACA,UAAU;YACR,CAAC,CAAC,GAAG,EAAExB,iBAAiBqB,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC/BI,OAAOrB,OAAOsB,4BAA4B;YAC5C;QACF;QACA,iBAAiB;YACf,CAAC,CAAC,GAAG,EAAE1B,iBAAiBqB,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC/BI,OAAOrB,OAAOuB,8BAA8B;YAC9C;QACF;IACF;IAEAC,sBAAsB;QACpB,CAAC,CAAC,KAAK,EAAE5B,iBAAiBqB,IAAI,CAAC,CAAC,CAAC,EAAE;YACjCQ,WAAW;QACb;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,sCAAsC,CAACC;IAClD;IAEA,MAAM,EAAEC,UAAU,EAAE,GAAGD;IAEvB,MAAME,gBAAgBxB;IACtB,MAAMyB,SAASnB;IACfgB,MAAMzB,IAAI,CAAC6B,SAAS,GAAGhC,aAAaE,4BAA4BC,IAAI,EAAE2B,eAAeF,MAAMzB,IAAI,CAAC6B,SAAS;IACzGJ,MAAMxB,WAAW,CAAC4B,SAAS,GAAGhC,aAC5BE,4BAA4BE,WAAW,EACvC2B,OAAO3B,WAAW,EAClBwB,MAAMxB,WAAW,CAAC4B,SAAS;IAE7B,IAAIJ,MAAMvB,YAAY,EAAE;QACtBuB,MAAMvB,YAAY,CAAC2B,SAAS,GAAGhC,aAC7BE,4BAA4BG,YAAY,EACxC0B,OAAO1B,YAAY,EACnBwB,cAAcE,OAAON,oBAAoB,EACzCG,MAAMvB,YAAY,CAAC2B,SAAS;IAEhC;IAEA,OAAOJ;AACT,EAAE"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { createContext, useContextSelector } from '@fluentui/react-context-selector';
|
|
2
2
|
export const PromptStarterListContext = createContext(undefined);
|
|
3
3
|
const promptStarterListContextDefaultValue = {
|
|
4
|
-
|
|
4
|
+
numberOfColumns: 3
|
|
5
5
|
};
|
|
6
|
-
export const usePromptStarterListContext = selector
|
|
6
|
+
export const usePromptStarterListContext = (selector)=>useContextSelector(PromptStarterListContext, (ctx = promptStarterListContextDefaultValue)=>selector(ctx));
|
|
7
7
|
export const PromptStarterListProvider = PromptStarterListContext.Provider;
|
|
8
|
-
//# sourceMappingURL=PromptStarterListContext.js.map
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export { PromptStarter, promptStarterClassNames, renderPromptStarter_unstable, usePromptStarterStyles_unstable, usePromptStarter_unstable } from './PromptStarter';
|
|
2
2
|
export { PromptStarter as PromptStarterV2, promptStarterClassNames as promptStarterV2ClassNames, renderPromptStarter_unstable as renderPromptStarterV2_unstable, usePromptStarterStyles_unstable as usePromptStarterV2Styles_unstable, usePromptStarter_unstable as usePromptStarterV2_unstable } from './PromptStarterV2';
|
|
3
3
|
export { PromptStarterList, renderPromptStarterList_unstable, usePromptStarterList_unstable, promptStarterListClassNames, usePromptStarterListStyles_unstable } from './PromptStarterList';
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -20,4 +20,4 @@ const PromptStarter = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
|
20
20
|
(0, _reactprovider.useCustomStyleHook)('usePromptStarterStyles')(state);
|
|
21
21
|
return (0, _renderPromptStarter.renderPromptStarter_unstable)(state);
|
|
22
22
|
});
|
|
23
|
-
PromptStarter.displayName = 'PromptStarter';
|
|
23
|
+
PromptStarter.displayName = 'PromptStarter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PromptStarter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { usePromptStarter_unstable } from './usePromptStarter';\nimport { renderPromptStarter_unstable } from './renderPromptStarter';\nimport { usePromptStarterStyles_unstable } from './usePromptStarterStyles.styles';\nimport { useCustomStyleHook } from '@fluentui-copilot/react-provider';\nimport type { PromptStarterProps } from './PromptStarter.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\nexport const PromptStarter: ForwardRefComponent<PromptStarterProps> = React.forwardRef((props, ref) => {\n const state = usePromptStarter_unstable(props, ref);\n\n usePromptStarterStyles_unstable(state);\n useCustomStyleHook('usePromptStarterStyles')(state);\n\n return renderPromptStarter_unstable(state);\n});\n\nPromptStarter.displayName = 'PromptStarter';\n"],"names":["PromptStarter","React","forwardRef","props","state","usePromptStarter_unstable","usePromptStarterStyles_unstable","useCustomStyleHook","renderPromptStarter_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iEARU;kCACmB;qCACG;8CACG;+BACb;AAI5B,MAAMA,gBAAAA,WAAAA,
|
|
1
|
+
{"version":3,"sources":["PromptStarter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { usePromptStarter_unstable } from './usePromptStarter';\nimport { renderPromptStarter_unstable } from './renderPromptStarter';\nimport { usePromptStarterStyles_unstable } from './usePromptStarterStyles.styles';\nimport { useCustomStyleHook } from '@fluentui-copilot/react-provider';\nimport type { PromptStarterProps } from './PromptStarter.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\nexport const PromptStarter: ForwardRefComponent<PromptStarterProps> = React.forwardRef((props, ref) => {\n const state = usePromptStarter_unstable(props, ref);\n\n usePromptStarterStyles_unstable(state);\n useCustomStyleHook('usePromptStarterStyles')(state);\n\n return renderPromptStarter_unstable(state);\n});\n\nPromptStarter.displayName = 'PromptStarter';\n"],"names":["PromptStarter","React","forwardRef","props","ref","state","usePromptStarter_unstable","usePromptStarterStyles_unstable","useCustomStyleHook","renderPromptStarter_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iEARU;kCACmB;qCACG;8CACG;+BACb;AAI5B,MAAMA,gBAAAA,WAAAA,GAAyDC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IAC7F,MAAMC,QAAQC,IAAAA,2CAAAA,EAA0BH,OAAOC;IAE/CG,IAAAA,6DAAAA,EAAgCF;IAChCG,IAAAA,iCAAAA,EAAmB,0BAA0BH;IAE7C,OAAOI,IAAAA,iDAAAA,EAA6BJ;AACtC;AAEAL,cAAcU,WAAW,GAAG"}
|
|
@@ -29,4 +29,3 @@ const _PromptStarter = require("./PromptStarter");
|
|
|
29
29
|
const _renderPromptStarter = require("./renderPromptStarter");
|
|
30
30
|
const _usePromptStarter = require("./usePromptStarter");
|
|
31
31
|
const _usePromptStarterStylesstyles = require("./usePromptStarterStyles.styles");
|
|
32
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["renderPromptStarter.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { PromptStarterState, PromptStarterSlots } from './PromptStarter.types';\n\nexport const renderPromptStarter_unstable = (state: PromptStarterState) => {\n assertSlots<PromptStarterSlots>(state);\n\n return (\n <state.root>\n <state.icon />\n <state.category>\n {state.category.children} {state.badge && <state.badge />}\n </state.category>\n {state.prompt && <state.prompt />}\n </state.root>\n );\n};\n"],"names":["renderPromptStarter_unstable","state","assertSlots","_jsxs","root","icon","
|
|
1
|
+
{"version":3,"sources":["renderPromptStarter.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { PromptStarterState, PromptStarterSlots } from './PromptStarter.types';\n\nexport const renderPromptStarter_unstable = (state: PromptStarterState) => {\n assertSlots<PromptStarterSlots>(state);\n\n return (\n <state.root>\n <state.icon />\n <state.category>\n {state.category.children} {state.badge && <state.badge />}\n </state.category>\n {state.prompt && <state.prompt />}\n </state.root>\n );\n};\n"],"names":["renderPromptStarter_unstable","state","assertSlots","_jsxs","root","_jsx","icon","category","children","badge","prompt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAMaA;;;eAAAA;;;4BALb;iCAE4B;AAGrB,MAAMA,+BAA+B,CAACC;IAC3CC,IAAAA,4BAAAA,EAAgCD;IAEhC,OAAA,WAAA,GACEE,IAAAA,gBAAA,EAACF,MAAMG,IAAI,EAAA;;0BACTC,IAAAA,eAAA,EAACJ,MAAMK,IAAI,EAAA,CAAA;0BACXH,IAAAA,gBAAA,EAACF,MAAMM,QAAQ,EAAA;;oBACZN,MAAMM,QAAQ,CAACC,QAAQ;oBAAC;oBAAEP,MAAMQ,KAAK,IAAA,WAAA,GAAIJ,IAAAA,eAAA,EAACJ,MAAMQ,KAAK,EAAA,CAAA;;;YAEvDR,MAAMS,MAAM,IAAA,WAAA,GAAIL,IAAAA,eAAA,EAACJ,MAAMS,MAAM,EAAA,CAAA;;;AAGpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["usePromptStarter.ts"],"sourcesContent":["import { useDesignVersion } from '@fluentui-copilot/react-provider';\nimport { Badge, getIntrinsicElementProps, slot, useId } from '@fluentui/react-components';\nimport type { PromptStarterProps, PromptStarterState } from './PromptStarter.types';\n\n/**\n * Create the state required to render PromptStarter.\n *\n * The returned state can be modified with hooks such as usePromptStarterStyles_unstable,\n * before being passed to renderPromptStarter_unstable.\n *\n * @param props - props from this instance of PromptStarter\n * @param ref - reference to root HTMLElement of PromptStarter\n */\nexport const usePromptStarter_unstable = (\n props: PromptStarterProps,\n ref: React.Ref<HTMLButtonElement>,\n): PromptStarterState => {\n const designVersion = useDesignVersion(props.designVersion);\n const idPrefix = useId('prompt-starter');\n\n return {\n components: {\n root: 'button',\n icon: 'span',\n category: 'span',\n prompt: 'span',\n badge: Badge,\n },\n root: slot.always(\n getIntrinsicElementProps('button', {\n ref,\n 'aria-labelledby': `${idPrefix}-category`,\n 'aria-describedby': `${idPrefix}-prompt`,\n ...props,\n }),\n { elementType: 'button' },\n ),\n icon: slot.always(props.icon, { elementType: 'span' }),\n category: slot.always(props.category, { defaultProps: { id: `${idPrefix}-category` }, elementType: 'span' }),\n prompt: slot.optional(props.prompt, { defaultProps: { id: `${idPrefix}-prompt` }, elementType: 'span' }),\n badge: slot.optional(props.badge, { defaultProps: { appearance: 'tint' }, elementType: Badge }),\n designVersion,\n };\n};\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["usePromptStarter.ts"],"sourcesContent":["import { useDesignVersion } from '@fluentui-copilot/react-provider';\nimport { Badge, getIntrinsicElementProps, slot, useId } from '@fluentui/react-components';\nimport type { PromptStarterProps, PromptStarterState } from './PromptStarter.types';\n\n/**\n * Create the state required to render PromptStarter.\n *\n * The returned state can be modified with hooks such as usePromptStarterStyles_unstable,\n * before being passed to renderPromptStarter_unstable.\n *\n * @param props - props from this instance of PromptStarter\n * @param ref - reference to root HTMLElement of PromptStarter\n */\nexport const usePromptStarter_unstable = (\n props: PromptStarterProps,\n ref: React.Ref<HTMLButtonElement>,\n): PromptStarterState => {\n const designVersion = useDesignVersion(props.designVersion);\n const idPrefix = useId('prompt-starter');\n\n return {\n components: {\n root: 'button',\n icon: 'span',\n category: 'span',\n prompt: 'span',\n badge: Badge,\n },\n root: slot.always(\n getIntrinsicElementProps('button', {\n ref,\n 'aria-labelledby': `${idPrefix}-category`,\n 'aria-describedby': `${idPrefix}-prompt`,\n ...props,\n }),\n { elementType: 'button' },\n ),\n icon: slot.always(props.icon, { elementType: 'span' }),\n category: slot.always(props.category, { defaultProps: { id: `${idPrefix}-category` }, elementType: 'span' }),\n prompt: slot.optional(props.prompt, { defaultProps: { id: `${idPrefix}-prompt` }, elementType: 'span' }),\n badge: slot.optional(props.badge, { defaultProps: { appearance: 'tint' }, elementType: Badge }),\n designVersion,\n };\n};\n"],"names":["usePromptStarter_unstable","props","ref","designVersion","useDesignVersion","idPrefix","useId","components","root","icon","category","prompt","badge","Badge","slot","always","getIntrinsicElementProps","elementType","defaultProps","id","optional","appearance"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAaaA;;;eAAAA;;;+BAboB;iCAC4B;AAYtD,MAAMA,4BAA4B,CACvCC,OACAC;IAEA,MAAMC,gBAAgBC,IAAAA,+BAAAA,EAAiBH,MAAME,aAAa;IAC1D,MAAME,WAAWC,IAAAA,sBAAAA,EAAM;IAEvB,OAAO;QACLC,YAAY;YACVC,MAAM;YACNC,MAAM;YACNC,UAAU;YACVC,QAAQ;YACRC,OAAOC,sBAAAA;QACT;QACAL,MAAMM,qBAAAA,CAAKC,MAAM,CACfC,IAAAA,yCAAAA,EAAyB,UAAU;YACjCd;YACA,mBAAmB,CAAC,EAAEG,SAAS,SAAS,CAAC;YACzC,oBAAoB,CAAC,EAAEA,SAAS,OAAO,CAAC;YACxC,GAAGJ,KAAK;QACV,IACA;YAAEgB,aAAa;QAAS;QAE1BR,MAAMK,qBAAAA,CAAKC,MAAM,CAACd,MAAMQ,IAAI,EAAE;YAAEQ,aAAa;QAAO;QACpDP,UAAUI,qBAAAA,CAAKC,MAAM,CAACd,MAAMS,QAAQ,EAAE;YAAEQ,cAAc;gBAAEC,IAAI,CAAC,EAAEd,SAAS,SAAS,CAAC;YAAC;YAAGY,aAAa;QAAO;QAC1GN,QAAQG,qBAAAA,CAAKM,QAAQ,CAACnB,MAAMU,MAAM,EAAE;YAAEO,cAAc;gBAAEC,IAAI,CAAC,EAAEd,SAAS,OAAO,CAAC;YAAC;YAAGY,aAAa;QAAO;QACtGL,OAAOE,qBAAAA,CAAKM,QAAQ,CAACnB,MAAMW,KAAK,EAAE;YAAEM,cAAc;gBAAEG,YAAY;YAAO;YAAGJ,aAAaJ,sBAAAA;QAAM;QAC7FV;IACF;AACF"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
promptStarterClassNames: function() {
|
|
13
|
+
return promptStarterClassNames;
|
|
14
|
+
},
|
|
15
|
+
usePromptStarterStyles_unstable: function() {
|
|
16
|
+
return usePromptStarterStyles_unstable;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _reactcomponents = require("@fluentui/react-components");
|
|
20
|
+
const _tokens = require("@fluentui-copilot/tokens");
|
|
21
|
+
const promptStarterClassNames = {
|
|
22
|
+
root: 'fai-PromptStarter',
|
|
23
|
+
category: 'fai-PromptStarter__category',
|
|
24
|
+
icon: 'fai-PromptStarter__icon',
|
|
25
|
+
prompt: 'fai-PromptStarter__prompt',
|
|
26
|
+
badge: 'fai-PromptStarter__badge'
|
|
27
|
+
};
|
|
28
|
+
const useRootResetStyles = (0, _reactcomponents.makeResetStyles)({
|
|
29
|
+
position: 'relative',
|
|
30
|
+
display: 'grid',
|
|
31
|
+
gridTemplateColumns: 'auto 1fr',
|
|
32
|
+
gridTemplateRows: 'auto auto',
|
|
33
|
+
gridTemplateAreas: `
|
|
34
|
+
"icon category"
|
|
35
|
+
". prompt"
|
|
36
|
+
`,
|
|
37
|
+
backgroundColor: _tokens.tokens.colorNeutralBackground1,
|
|
38
|
+
color: _tokens.tokens.colorNeutralForeground1,
|
|
39
|
+
fontFamily: _tokens.tokens.fontFamilyBase,
|
|
40
|
+
cursor: 'pointer',
|
|
41
|
+
outlineStyle: 'none',
|
|
42
|
+
textAlign: 'left',
|
|
43
|
+
gap: '0px 8px',
|
|
44
|
+
padding: '6px 8px 8px 8px',
|
|
45
|
+
..._reactcomponents.shorthands.border(_tokens.tokens.strokeWidthThin, 'solid', _tokens.tokens.colorNeutralStroke1),
|
|
46
|
+
borderRadius: _tokens.tokens.borderRadiusMedium,
|
|
47
|
+
'&:hover': {
|
|
48
|
+
backgroundColor: _tokens.tokens.colorNeutralBackground1Hover,
|
|
49
|
+
..._reactcomponents.shorthands.border(_tokens.tokens.strokeWidthThin, 'solid', _tokens.tokens.colorNeutralStroke1Hover)
|
|
50
|
+
},
|
|
51
|
+
'&:active': {
|
|
52
|
+
backgroundColor: _tokens.tokens.colorNeutralBackground1Pressed,
|
|
53
|
+
..._reactcomponents.shorthands.border(_tokens.tokens.strokeWidthThin, 'solid', _tokens.tokens.colorNeutralStroke1Pressed)
|
|
54
|
+
},
|
|
55
|
+
...(0, _reactcomponents.createFocusOutlineStyle)()
|
|
56
|
+
});
|
|
57
|
+
const useStyles = (0, _reactcomponents.makeStyles)({
|
|
58
|
+
disabled: {
|
|
59
|
+
cursor: 'not-allowed',
|
|
60
|
+
backgroundColor: _tokens.tokens.colorNeutralBackgroundDisabled,
|
|
61
|
+
..._reactcomponents.shorthands.border(_tokens.tokens.strokeWidthThin, 'solid', _tokens.tokens.colorNeutralStrokeDisabled),
|
|
62
|
+
'&:hover': {
|
|
63
|
+
backgroundColor: _tokens.tokens.colorNeutralBackgroundDisabled,
|
|
64
|
+
..._reactcomponents.shorthands.border(_tokens.tokens.strokeWidthThin, 'solid', _tokens.tokens.colorNeutralStrokeDisabled)
|
|
65
|
+
},
|
|
66
|
+
'&:active': {
|
|
67
|
+
backgroundColor: _tokens.tokens.colorNeutralBackgroundDisabled,
|
|
68
|
+
..._reactcomponents.shorthands.border(_tokens.tokens.strokeWidthThin, 'solid', _tokens.tokens.colorNeutralStrokeDisabled)
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
icon: {
|
|
72
|
+
gridArea: 'icon',
|
|
73
|
+
display: 'flex',
|
|
74
|
+
alignSelf: 'center'
|
|
75
|
+
},
|
|
76
|
+
category: {
|
|
77
|
+
..._reactcomponents.typographyStyles.body1Strong,
|
|
78
|
+
gridArea: 'category'
|
|
79
|
+
},
|
|
80
|
+
prompt: {
|
|
81
|
+
..._reactcomponents.typographyStyles.body1,
|
|
82
|
+
gridArea: 'prompt'
|
|
83
|
+
},
|
|
84
|
+
disabledText: {
|
|
85
|
+
color: _tokens.tokens.colorNeutralForegroundDisabled
|
|
86
|
+
},
|
|
87
|
+
disabledBadge: {
|
|
88
|
+
opacity: '40%'
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
const useNextStyles = (0, _reactcomponents.makeStyles)({
|
|
92
|
+
root: {
|
|
93
|
+
borderRadius: _tokens.tokens.borderRadiusXLarge
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
const usePromptStarterStyles_unstable = (state)=>{
|
|
97
|
+
'use no memo';
|
|
98
|
+
const { designVersion } = state;
|
|
99
|
+
const styles = useStyles();
|
|
100
|
+
const nextStyles = useNextStyles();
|
|
101
|
+
const rootResetStyles = useRootResetStyles();
|
|
102
|
+
state.root.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.root, rootResetStyles, designVersion === 'next' && nextStyles.root, state.root.disabled && styles.disabled, state.root.className);
|
|
103
|
+
state.icon.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.icon, styles.icon, state.root.disabled && styles.disabledText, state.icon.className);
|
|
104
|
+
state.category.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.category, styles.category, state.category.className, state.root.disabled && styles.disabledText);
|
|
105
|
+
if (state.prompt) {
|
|
106
|
+
state.prompt.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.prompt, styles.prompt, state.root.disabled && styles.disabledText, state.prompt.className);
|
|
107
|
+
}
|
|
108
|
+
if (state.badge) {
|
|
109
|
+
state.badge.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.badge, state.root.disabled && styles.disabledBadge, state.badge.className);
|
|
110
|
+
}
|
|
111
|
+
return state;
|
|
112
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["usePromptStarterStyles.styles.ts"],"sourcesContent":["import {\n makeStyles,\n makeResetStyles,\n mergeClasses,\n shorthands,\n typographyStyles,\n createFocusOutlineStyle,\n} from '@fluentui/react-components';\nimport { tokens } from '@fluentui-copilot/tokens';\nimport type { PromptStarterSlots, PromptStarterState } from './PromptStarter.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const promptStarterClassNames: SlotClassNames<PromptStarterSlots> = {\n root: 'fai-PromptStarter',\n category: 'fai-PromptStarter__category',\n icon: 'fai-PromptStarter__icon',\n prompt: 'fai-PromptStarter__prompt',\n badge: 'fai-PromptStarter__badge',\n};\n\nconst useRootResetStyles = makeResetStyles({\n position: 'relative',\n display: 'grid',\n gridTemplateColumns: 'auto 1fr',\n gridTemplateRows: 'auto auto',\n gridTemplateAreas: `\n \"icon category\"\n \". prompt\"\n `,\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n fontFamily: tokens.fontFamilyBase,\n cursor: 'pointer',\n outlineStyle: 'none',\n textAlign: 'left',\n gap: '0px 8px',\n padding: '6px 8px 8px 8px',\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke1),\n borderRadius: tokens.borderRadiusMedium,\n '&:hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke1Hover),\n },\n '&:active': {\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke1Pressed),\n },\n ...createFocusOutlineStyle(),\n});\n\nconst useStyles = makeStyles({\n disabled: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStrokeDisabled),\n '&:hover': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStrokeDisabled),\n },\n '&:active': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStrokeDisabled),\n },\n },\n icon: { gridArea: 'icon', display: 'flex', alignSelf: 'center' },\n\n category: {\n ...typographyStyles.body1Strong,\n gridArea: 'category',\n },\n prompt: { ...typographyStyles.body1, gridArea: 'prompt' },\n disabledText: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n disabledBadge: {\n opacity: '40%',\n },\n});\n\nconst useNextStyles = makeStyles({ root: { borderRadius: tokens.borderRadiusXLarge } });\n\nexport const usePromptStarterStyles_unstable = (state: PromptStarterState): PromptStarterState => {\n 'use no memo';\n\n const { designVersion } = state;\n\n const styles = useStyles();\n const nextStyles = useNextStyles();\n const rootResetStyles = useRootResetStyles();\n state.root.className = mergeClasses(\n promptStarterClassNames.root,\n rootResetStyles,\n designVersion === 'next' && nextStyles.root,\n state.root.disabled && styles.disabled,\n state.root.className,\n );\n state.icon.className = mergeClasses(\n promptStarterClassNames.icon,\n styles.icon,\n state.root.disabled && styles.disabledText,\n state.icon.className,\n );\n state.category.className = mergeClasses(\n promptStarterClassNames.category,\n styles.category,\n state.category.className,\n state.root.disabled && styles.disabledText,\n );\n if (state.prompt) {\n state.prompt.className = mergeClasses(\n promptStarterClassNames.prompt,\n styles.prompt,\n state.root.disabled && styles.disabledText,\n state.prompt.className,\n );\n }\n if (state.badge) {\n state.badge.className = mergeClasses(\n promptStarterClassNames.badge,\n state.root.disabled && styles.disabledBadge,\n state.badge.className,\n );\n }\n\n return state;\n};\n"],"names":["promptStarterClassNames","usePromptStarterStyles_unstable","root","category","icon","prompt","badge","useRootResetStyles","makeResetStyles","position","display","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","backgroundColor","tokens","colorNeutralBackground1","color","colorNeutralForeground1","fontFamily","fontFamilyBase","cursor","outlineStyle","textAlign","gap","padding","shorthands","border","strokeWidthThin","colorNeutralStroke1","borderRadius","borderRadiusMedium","colorNeutralBackground1Hover","colorNeutralStroke1Hover","colorNeutralBackground1Pressed","colorNeutralStroke1Pressed","createFocusOutlineStyle","useStyles","makeStyles","disabled","colorNeutralBackgroundDisabled","colorNeutralStrokeDisabled","gridArea","alignSelf","typographyStyles","body1Strong","body1","disabledText","colorNeutralForegroundDisabled","disabledBadge","opacity","useNextStyles","borderRadiusXLarge","state","designVersion","styles","nextStyles","rootResetStyles","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -20,4 +20,4 @@ const PromptStarter = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
|
20
20
|
(0, _reactprovider.useCustomStyleHook)('usePromptStarterStyles')(state);
|
|
21
21
|
return (0, _renderPromptStarter.renderPromptStarter_unstable)(state);
|
|
22
22
|
});
|
|
23
|
-
PromptStarter.displayName = 'PromptStarter';
|
|
23
|
+
PromptStarter.displayName = 'PromptStarter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PromptStarter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { usePromptStarter_unstable } from './usePromptStarter';\nimport { renderPromptStarter_unstable } from './renderPromptStarter';\nimport { usePromptStarterStyles_unstable } from './usePromptStarterStyles.styles';\nimport { useCustomStyleHook } from '@fluentui-copilot/react-provider';\nimport type { PromptStarterProps } from './PromptStarter.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\nexport const PromptStarter: ForwardRefComponent<PromptStarterProps> = React.forwardRef((props, ref) => {\n const state = usePromptStarter_unstable(props, ref);\n\n usePromptStarterStyles_unstable(state);\n useCustomStyleHook('usePromptStarterStyles')(state);\n\n return renderPromptStarter_unstable(state);\n});\n\nPromptStarter.displayName = 'PromptStarter';\n"],"names":["PromptStarter","React","forwardRef","props","state","usePromptStarter_unstable","usePromptStarterStyles_unstable","useCustomStyleHook","renderPromptStarter_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iEARU;kCACmB;qCACG;8CACG;+BACb;AAI5B,MAAMA,gBAAAA,WAAAA,
|
|
1
|
+
{"version":3,"sources":["PromptStarter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { usePromptStarter_unstable } from './usePromptStarter';\nimport { renderPromptStarter_unstable } from './renderPromptStarter';\nimport { usePromptStarterStyles_unstable } from './usePromptStarterStyles.styles';\nimport { useCustomStyleHook } from '@fluentui-copilot/react-provider';\nimport type { PromptStarterProps } from './PromptStarter.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\nexport const PromptStarter: ForwardRefComponent<PromptStarterProps> = React.forwardRef((props, ref) => {\n const state = usePromptStarter_unstable(props, ref);\n\n usePromptStarterStyles_unstable(state);\n useCustomStyleHook('usePromptStarterStyles')(state);\n\n return renderPromptStarter_unstable(state);\n});\n\nPromptStarter.displayName = 'PromptStarter';\n"],"names":["PromptStarter","React","forwardRef","props","ref","state","usePromptStarter_unstable","usePromptStarterStyles_unstable","useCustomStyleHook","renderPromptStarter_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iEARU;kCACmB;qCACG;8CACG;+BACb;AAI5B,MAAMA,gBAAAA,WAAAA,GAAyDC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IAC7F,MAAMC,QAAQC,IAAAA,2CAAAA,EAA0BH,OAAOC;IAE/CG,IAAAA,6DAAAA,EAAgCF;IAChCG,IAAAA,iCAAAA,EAAmB,0BAA0BH;IAE7C,OAAOI,IAAAA,iDAAAA,EAA6BJ;AACtC;AAEAL,cAAcU,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PromptStarter.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-components';\n\nexport type PromptStarterSlots = {\n root: NonNullable<Slot<'div'>>;\n primaryAction: NonNullable<Slot<'button'>>;\n icon
|
|
1
|
+
{"version":3,"sources":["PromptStarter.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-components';\n\nexport type PromptStarterSlots = {\n root: NonNullable<Slot<'div'>>;\n primaryAction: NonNullable<Slot<'button'>>;\n icon?: Slot<'span'>;\n prompt: NonNullable<Slot<'span'>>;\n reasonMarker?: Slot<'span'>;\n actions?: Slot<'span'>;\n};\n\n/**\n * PromptStarter Props\n */\nexport type PromptStarterProps = Omit<ComponentProps<PromptStarterSlots>, 'disabled'>;\n\n/**\n * State used in rendering PromptStarter\n */\nexport type PromptStarterState = ComponentState<PromptStarterSlots> & {\n isSingleColumn?: boolean;\n};\n"],"names":[],"rangeMappings":";;","mappings":"AAgBA;;CAEC"}
|
|
@@ -29,4 +29,3 @@ const _PromptStarter = require("./PromptStarter");
|
|
|
29
29
|
const _renderPromptStarter = require("./renderPromptStarter");
|
|
30
30
|
const _usePromptStarter = require("./usePromptStarter");
|
|
31
31
|
const _usePromptStarterStylesstyles = require("./usePromptStarterStyles.styles");
|
|
32
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["promptStarterMotion.ts"],"sourcesContent":["import { createPresenceComponent } from '@fluentui/react-components';\n\nexport type PromptStarterMotionParams = { index: number; numberOfColumns: number };\n\nexport const PromptStarterMotion: ReturnType<typeof createPresenceComponent<PromptStarterMotionParams>> =\n createPresenceComponent<PromptStarterMotionParams>(({ index, numberOfColumns }) => {\n const isFirstRow = index < numberOfColumns;\n const delay = isFirstRow ? index * 50 : (index - numberOfColumns) * 50;\n\n const opacityDuration = 100;\n const opacityOffset = delay / (delay + opacityDuration);\n const opacityEasing = 'linear';\n\n const scaleDuration = 500;\n const scaleOffset = delay / (delay + scaleDuration);\n const scaleEasing = `cubic-bezier(0.22, 1.59, 0.46, 1)`;\n\n const opacityExitDuration = 200;\n\n return {\n enter: [\n {\n keyframes: [{ opacity: 0 }, { opacity: 0, offset: opacityOffset }, { opacity: 1 }],\n easing: opacityEasing,\n duration: opacityDuration + delay,\n },\n {\n keyframes: [\n { transform: 'scale(0.9)' },\n { transform: 'scale(0.9)', offset: scaleOffset },\n { transform: 'scale(1)' },\n ],\n easing: scaleEasing,\n duration: scaleDuration + delay,\n },\n ],\n exit: {\n keyframes: [{ opacity: 1 }, { opacity: 1 }, { opacity: 0 }],\n easing: opacityEasing,\n duration: opacityExitDuration,\n },\n };\n });\n"],"names":["PromptStarterMotion","createPresenceComponent","
|
|
1
|
+
{"version":3,"sources":["promptStarterMotion.ts"],"sourcesContent":["import { createPresenceComponent } from '@fluentui/react-components';\n\nexport type PromptStarterMotionParams = { index: number; numberOfColumns: number };\n\nexport const PromptStarterMotion: ReturnType<typeof createPresenceComponent<PromptStarterMotionParams>> =\n createPresenceComponent<PromptStarterMotionParams>(({ index, numberOfColumns }) => {\n const isFirstRow = index < numberOfColumns;\n const delay = isFirstRow ? index * 50 : (index - numberOfColumns) * 50;\n\n const opacityDuration = 100;\n const opacityOffset = delay / (delay + opacityDuration);\n const opacityEasing = 'linear';\n\n const scaleDuration = 500;\n const scaleOffset = delay / (delay + scaleDuration);\n const scaleEasing = `cubic-bezier(0.22, 1.59, 0.46, 1)`;\n\n const opacityExitDuration = 200;\n\n return {\n enter: [\n {\n keyframes: [{ opacity: 0 }, { opacity: 0, offset: opacityOffset }, { opacity: 1 }],\n easing: opacityEasing,\n duration: opacityDuration + delay,\n },\n {\n keyframes: [\n { transform: 'scale(0.9)' },\n { transform: 'scale(0.9)', offset: scaleOffset },\n { transform: 'scale(1)' },\n ],\n easing: scaleEasing,\n duration: scaleDuration + delay,\n },\n ],\n exit: {\n keyframes: [{ opacity: 1 }, { opacity: 1 }, { opacity: 0 }],\n easing: opacityEasing,\n duration: opacityExitDuration,\n },\n };\n });\n"],"names":["PromptStarterMotion","createPresenceComponent","index","numberOfColumns","isFirstRow","delay","opacityDuration","opacityOffset","opacityEasing","scaleDuration","scaleOffset","scaleEasing","opacityExitDuration","enter","keyframes","opacity","offset","easing","duration","transform","exit"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAIaA;;;eAAAA;;;iCAJ2B;AAIjC,MAAMA,sBACXC,IAAAA,wCAAAA,EAAmD,CAAC,EAAEC,KAAK,EAAEC,eAAe,EAAE;IAC5E,MAAMC,aAAaF,QAAQC;IAC3B,MAAME,QAAQD,aAAaF,QAAQ,KAAK,AAACA,CAAAA,QAAQC,eAAAA,IAAmB;IAEpE,MAAMG,kBAAkB;IACxB,MAAMC,gBAAgBF,QAASA,CAAAA,QAAQC,eAAAA;IACvC,MAAME,gBAAgB;IAEtB,MAAMC,gBAAgB;IACtB,MAAMC,cAAcL,QAASA,CAAAA,QAAQI,aAAAA;IACrC,MAAME,cAAc,CAAC,iCAAiC,CAAC;IAEvD,MAAMC,sBAAsB;IAE5B,OAAO;QACLC,OAAO;YACL;gBACEC,WAAW;oBAAC;wBAAEC,SAAS;oBAAE;oBAAG;wBAAEA,SAAS;wBAAGC,QAAQT;oBAAc;oBAAG;wBAAEQ,SAAS;oBAAE;iBAAE;gBAClFE,QAAQT;gBACRU,UAAUZ,kBAAkBD;YAC9B;YACA;gBACES,WAAW;oBACT;wBAAEK,WAAW;oBAAa;oBAC1B;wBAAEA,WAAW;wBAAcH,QAAQN;oBAAY;oBAC/C;wBAAES,WAAW;oBAAW;iBACzB;gBACDF,QAAQN;gBACRO,UAAUT,gBAAgBJ;YAC5B;SACD;QACDe,MAAM;YACJN,WAAW;gBAAC;oBAAEC,SAAS;gBAAE;gBAAG;oBAAEA,SAAS;gBAAE;gBAAG;oBAAEA,SAAS;gBAAE;aAAE;YAC3DE,QAAQT;YACRU,UAAUN;QACZ;IACF;AACF"}
|