@fluentui-copilot/react-prompt-starter 0.0.0-nightly-20251010-0406-7df7c6d1.1 → 0.0.0-nightly-20251013-0406-7c7739c8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/CHANGELOG.json +3 -3
  2. package/CHANGELOG.md +4 -4
  3. package/dist/index.d.ts +164 -0
  4. package/lib/PromptStarter.js +1 -0
  5. package/lib/PromptStarter.js.map +1 -0
  6. package/lib/PromptStarterList.js +1 -0
  7. package/lib/PromptStarterList.js.map +1 -0
  8. package/lib/PromptStarterV2.js +1 -0
  9. package/lib/PromptStarterV2.js.map +1 -0
  10. package/lib/components/PromptStarter/PromptStarter.js +12 -0
  11. package/lib/components/PromptStarter/PromptStarter.js.map +1 -0
  12. package/lib/components/PromptStarter/PromptStarter.types.js +3 -0
  13. package/lib/components/PromptStarter/PromptStarter.types.js.map +1 -0
  14. package/lib/components/PromptStarter/index.js +4 -0
  15. package/lib/components/PromptStarter/index.js.map +1 -0
  16. package/lib/components/PromptStarter/renderPromptStarter.js +18 -0
  17. package/lib/components/PromptStarter/renderPromptStarter.js.map +1 -0
  18. package/lib/components/PromptStarter/usePromptStarter.js +53 -0
  19. package/lib/components/PromptStarter/usePromptStarter.js.map +1 -0
  20. package/lib/components/PromptStarter/usePromptStarterStyles.styles.js +138 -0
  21. package/lib/components/PromptStarter/usePromptStarterStyles.styles.js.map +1 -0
  22. package/lib/components/PromptStarter/usePromptStarterStyles.styles.raw.js +94 -0
  23. package/lib/components/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -0
  24. package/lib/components/PromptStarterV2/PromptStarter/PromptStarter.js +12 -0
  25. package/lib/components/PromptStarterV2/PromptStarter/PromptStarter.js.map +1 -0
  26. package/lib/components/PromptStarterV2/PromptStarter/PromptStarter.types.js +3 -0
  27. package/lib/components/PromptStarterV2/PromptStarter/PromptStarter.types.js.map +1 -0
  28. package/lib/components/PromptStarterV2/PromptStarter/index.js +4 -0
  29. package/lib/components/PromptStarterV2/PromptStarter/index.js.map +1 -0
  30. package/lib/components/PromptStarterV2/PromptStarter/promptStarterMotion.js +63 -0
  31. package/lib/components/PromptStarterV2/PromptStarter/promptStarterMotion.js.map +1 -0
  32. package/lib/components/PromptStarterV2/PromptStarter/renderPromptStarter.js +18 -0
  33. package/lib/components/PromptStarterV2/PromptStarter/renderPromptStarter.js.map +1 -0
  34. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarter.js +73 -0
  35. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarter.js.map +1 -0
  36. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js +338 -0
  37. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js.map +1 -0
  38. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js +160 -0
  39. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -0
  40. package/lib/components/PromptStarterV2/PromptStarterList/PromptStarterList.js +12 -0
  41. package/lib/components/PromptStarterV2/PromptStarterList/PromptStarterList.js.map +1 -0
  42. package/lib/components/PromptStarterV2/PromptStarterList/PromptStarterList.types.js +1 -0
  43. package/lib/components/PromptStarterV2/PromptStarterList/PromptStarterList.types.js.map +1 -0
  44. package/lib/components/PromptStarterV2/PromptStarterList/index.js +4 -0
  45. package/lib/components/PromptStarterV2/PromptStarterList/index.js.map +1 -0
  46. package/lib/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js +22 -0
  47. package/lib/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js.map +1 -0
  48. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js +117 -0
  49. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js.map +1 -0
  50. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListContextValues.js +6 -0
  51. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListContextValues.js.map +1 -0
  52. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.js +83 -0
  53. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.js.map +1 -0
  54. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js +73 -0
  55. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js.map +1 -0
  56. package/lib/contexts/PromptStarterListContext.js +7 -0
  57. package/lib/contexts/PromptStarterListContext.js.map +1 -0
  58. package/lib/index.js +3 -0
  59. package/lib/index.js.map +1 -0
  60. package/lib-commonjs/PromptStarter.js +28 -0
  61. package/lib-commonjs/PromptStarter.js.map +1 -0
  62. package/lib-commonjs/PromptStarterList.js +28 -0
  63. package/lib-commonjs/PromptStarterList.js.map +1 -0
  64. package/lib-commonjs/PromptStarterV2.js +28 -0
  65. package/lib-commonjs/PromptStarterV2.js.map +1 -0
  66. package/lib-commonjs/components/PromptStarter/PromptStarter.js +23 -0
  67. package/lib-commonjs/components/PromptStarter/PromptStarter.js.map +1 -0
  68. package/lib-commonjs/components/PromptStarter/PromptStarter.types.js +6 -0
  69. package/lib-commonjs/components/PromptStarter/PromptStarter.types.js.map +1 -0
  70. package/lib-commonjs/components/PromptStarter/index.js +31 -0
  71. package/lib-commonjs/components/PromptStarter/index.js.map +1 -0
  72. package/lib-commonjs/components/PromptStarter/renderPromptStarter.js +28 -0
  73. package/lib-commonjs/components/PromptStarter/renderPromptStarter.js.map +1 -0
  74. package/lib-commonjs/components/PromptStarter/usePromptStarter.js +55 -0
  75. package/lib-commonjs/components/PromptStarter/usePromptStarter.js.map +1 -0
  76. package/lib-commonjs/components/PromptStarter/usePromptStarterStyles.styles.js +292 -0
  77. package/lib-commonjs/components/PromptStarter/usePromptStarterStyles.styles.js.map +1 -0
  78. package/lib-commonjs/components/PromptStarter/usePromptStarterStyles.styles.raw.js +112 -0
  79. package/lib-commonjs/components/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -0
  80. package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.js +23 -0
  81. package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.js.map +1 -0
  82. package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.types.js +6 -0
  83. package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.types.js.map +1 -0
  84. package/lib-commonjs/components/PromptStarterV2/PromptStarter/index.js +31 -0
  85. package/lib-commonjs/components/PromptStarterV2/PromptStarter/index.js.map +1 -0
  86. package/lib-commonjs/components/PromptStarterV2/PromptStarter/promptStarterMotion.js +73 -0
  87. package/lib-commonjs/components/PromptStarterV2/PromptStarter/promptStarterMotion.js.map +1 -0
  88. package/lib-commonjs/components/PromptStarterV2/PromptStarter/renderPromptStarter.js +28 -0
  89. package/lib-commonjs/components/PromptStarterV2/PromptStarter/renderPromptStarter.js.map +1 -0
  90. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarter.js +75 -0
  91. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarter.js.map +1 -0
  92. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js +620 -0
  93. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js.map +1 -0
  94. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js +178 -0
  95. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -0
  96. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/PromptStarterList.js +23 -0
  97. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/PromptStarterList.js.map +1 -0
  98. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/PromptStarterList.types.js +4 -0
  99. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/PromptStarterList.types.js.map +1 -0
  100. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/index.js +31 -0
  101. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/index.js.map +1 -0
  102. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js +30 -0
  103. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js.map +1 -0
  104. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js +120 -0
  105. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js.map +1 -0
  106. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListContextValues.js +16 -0
  107. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListContextValues.js.map +1 -0
  108. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.js +126 -0
  109. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.js.map +1 -0
  110. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js +89 -0
  111. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js.map +1 -0
  112. package/lib-commonjs/contexts/PromptStarterListContext.js +28 -0
  113. package/lib-commonjs/contexts/PromptStarterListContext.js.map +1 -0
  114. package/lib-commonjs/index.js +60 -0
  115. package/lib-commonjs/index.js.map +1 -0
  116. package/package.json +3 -3
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { usePromptStarter_unstable } from './usePromptStarter';
3
+ import { renderPromptStarter_unstable } from './renderPromptStarter';
4
+ import { usePromptStarterStyles_unstable } from './usePromptStarterStyles.styles';
5
+ import { useCustomStyleHook } from '@fluentui-copilot/react-provider';
6
+ export const PromptStarter = /*#__PURE__*/ React.forwardRef((props, ref)=>{
7
+ const state = usePromptStarter_unstable(props, ref);
8
+ usePromptStarterStyles_unstable(state);
9
+ useCustomStyleHook('usePromptStarterStyles')(state);
10
+ return renderPromptStarter_unstable(state);
11
+ });
12
+ PromptStarter.displayName = 'PromptStarter';
@@ -0,0 +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":["React","usePromptStarter_unstable","renderPromptStarter_unstable","usePromptStarterStyles_unstable","useCustomStyleHook","PromptStarter","forwardRef","props","ref","state","displayName"],"rangeMappings":";;;;;;;;;;;","mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,+BAA+B,QAAQ,kCAAkC;AAClF,SAASC,kBAAkB,QAAQ,mCAAmC;AAItE,OAAO,MAAMC,8BAAyDL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IAC7F,MAAMC,QAAQR,0BAA0BM,OAAOC;IAE/CL,gCAAgCM;IAChCL,mBAAmB,0BAA0BK;IAE7C,OAAOP,6BAA6BO;AACtC,GAAG;AAEHJ,cAAcK,WAAW,GAAG"}
@@ -0,0 +1,3 @@
1
+ /**
2
+ * State used in rendering PromptStarter
3
+ */ export { };
@@ -0,0 +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?: Slot<'span'>;\n category?: 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":"AAiBA;;CAEC,GACD,WAEE"}
@@ -0,0 +1,4 @@
1
+ export { PromptStarter } from './PromptStarter';
2
+ export { renderPromptStarter_unstable } from './renderPromptStarter';
3
+ export { usePromptStarter_unstable } from './usePromptStarter';
4
+ export { promptStarterClassNames, usePromptStarterStyles_unstable } from './usePromptStarterStyles.styles';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export { PromptStarter } from './PromptStarter';\nexport type { PromptStarterProps, PromptStarterSlots, PromptStarterState } from './PromptStarter.types';\nexport { renderPromptStarter_unstable } from './renderPromptStarter';\nexport { usePromptStarter_unstable } from './usePromptStarter';\nexport { promptStarterClassNames, usePromptStarterStyles_unstable } from './usePromptStarterStyles.styles';\n"],"names":["PromptStarter","renderPromptStarter_unstable","usePromptStarter_unstable","promptStarterClassNames","usePromptStarterStyles_unstable"],"rangeMappings":";;;","mappings":"AAAA,SAASA,aAAa,QAAQ,kBAAkB;AAEhD,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,uBAAuB,EAAEC,+BAA+B,QAAQ,kCAAkC"}
@@ -0,0 +1,63 @@
1
+ import { createPresenceComponent } from '@fluentui/react-components';
2
+ export const PromptStarterMotion = createPresenceComponent(({ index, numberOfColumns })=>{
3
+ const isFirstRow = index < numberOfColumns;
4
+ const delay = isFirstRow ? index * 50 : (index - numberOfColumns) * 50;
5
+ const opacityDuration = 100;
6
+ const opacityOffset = delay / (delay + opacityDuration);
7
+ const opacityEasing = 'linear';
8
+ const scaleDuration = 500;
9
+ const scaleOffset = delay / (delay + scaleDuration);
10
+ const scaleEasing = `cubic-bezier(0.22, 1.59, 0.46, 1)`;
11
+ const opacityExitDuration = 200;
12
+ return {
13
+ enter: [
14
+ {
15
+ keyframes: [
16
+ {
17
+ opacity: 0
18
+ },
19
+ {
20
+ opacity: 0,
21
+ offset: opacityOffset
22
+ },
23
+ {
24
+ opacity: 1
25
+ }
26
+ ],
27
+ easing: opacityEasing,
28
+ duration: opacityDuration + delay
29
+ },
30
+ {
31
+ keyframes: [
32
+ {
33
+ transform: 'scale(0.9)'
34
+ },
35
+ {
36
+ transform: 'scale(0.9)',
37
+ offset: scaleOffset
38
+ },
39
+ {
40
+ transform: 'scale(1)'
41
+ }
42
+ ],
43
+ easing: scaleEasing,
44
+ duration: scaleDuration + delay
45
+ }
46
+ ],
47
+ exit: {
48
+ keyframes: [
49
+ {
50
+ opacity: 1
51
+ },
52
+ {
53
+ opacity: 1
54
+ },
55
+ {
56
+ opacity: 0
57
+ }
58
+ ],
59
+ easing: opacityEasing,
60
+ duration: opacityExitDuration
61
+ }
62
+ };
63
+ });
@@ -0,0 +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":["createPresenceComponent","PromptStarterMotion","index","numberOfColumns","isFirstRow","delay","opacityDuration","opacityOffset","opacityEasing","scaleDuration","scaleOffset","scaleEasing","opacityExitDuration","enter","keyframes","opacity","offset","easing","duration","transform","exit"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,uBAAuB,QAAQ,6BAA6B;AAIrE,OAAO,MAAMC,sBACXD,wBAAmD,CAAC,EAAEE,KAAK,EAAEC,eAAe,EAAE;IAC5E,MAAMC,aAAaF,QAAQC;IAC3B,MAAME,QAAQD,aAAaF,QAAQ,KAAK,AAACA,CAAAA,QAAQC,eAAc,IAAK;IAEpE,MAAMG,kBAAkB;IACxB,MAAMC,gBAAgBF,QAASA,CAAAA,QAAQC,eAAc;IACrD,MAAME,gBAAgB;IAEtB,MAAMC,gBAAgB;IACtB,MAAMC,cAAcL,QAASA,CAAAA,QAAQI,aAAY;IACjD,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,GAAG"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@fluentui/react-jsx-runtime/jsx-runtime";
2
+ import { assertSlots } from '@fluentui/react-components';
3
+ export const renderPromptStarter_unstable = (state)=>{
4
+ assertSlots(state);
5
+ return /*#__PURE__*/ _jsxs(state.root, {
6
+ children: [
7
+ /*#__PURE__*/ _jsxs(state.primaryAction, {
8
+ children: [
9
+ state.icon && /*#__PURE__*/ _jsx(state.icon, {}),
10
+ state.category && /*#__PURE__*/ _jsx(state.category, {}),
11
+ /*#__PURE__*/ _jsx(state.prompt, {}),
12
+ state.reasonMarker && /*#__PURE__*/ _jsx(state.reasonMarker, {})
13
+ ]
14
+ }),
15
+ state.actions && /*#__PURE__*/ _jsx(state.actions, {})
16
+ ]
17
+ });
18
+ };
@@ -0,0 +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 { JSXElement } from '@fluentui/react-components';\nimport type { PromptStarterState, PromptStarterSlots } from './PromptStarter.types';\n\nexport const renderPromptStarter_unstable = (state: PromptStarterState): JSXElement => {\n assertSlots<PromptStarterSlots>(state);\n\n return (\n <state.root>\n <state.primaryAction>\n {state.icon && <state.icon />}\n {state.category && <state.category />}\n <state.prompt />\n {state.reasonMarker && <state.reasonMarker />}\n </state.primaryAction>\n {state.actions && <state.actions />}\n </state.root>\n );\n};\n"],"names":["assertSlots","renderPromptStarter_unstable","state","root","primaryAction","icon","category","prompt","reasonMarker","actions"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,6BAA6B;AAIzD,OAAO,MAAMC,+BAA+B,CAACC;IAC3CF,YAAgCE;IAEhC,qBACE,MAACA,MAAMC,IAAI;;0BACT,MAACD,MAAME,aAAa;;oBACjBF,MAAMG,IAAI,kBAAI,KAACH,MAAMG,IAAI;oBACzBH,MAAMI,QAAQ,kBAAI,KAACJ,MAAMI,QAAQ;kCAClC,KAACJ,MAAMK,MAAM;oBACZL,MAAMM,YAAY,kBAAI,KAACN,MAAMM,YAAY;;;YAE3CN,MAAMO,OAAO,kBAAI,KAACP,MAAMO,OAAO;;;AAGtC,EAAE"}
@@ -0,0 +1,73 @@
1
+ import { getIntrinsicElementProps, slot, useFocusableGroup, useId } from '@fluentui/react-components';
2
+ import { usePromptStarterListContext } from '../../../contexts/PromptStarterListContext';
3
+ /**
4
+ * Create the state required to render PromptStarter.
5
+ *
6
+ * The returned state can be modified with hooks such as usePromptStarterStyles_unstable,
7
+ * before being passed to renderPromptStarter_unstable.
8
+ *
9
+ * @param props - props from this instance of PromptStarter
10
+ * @param ref - reference to root HTMLElement of PromptStarter
11
+ */ export const usePromptStarter_unstable = (props, ref)=>{
12
+ const id = useId('prompt-starter');
13
+ const focusAttrs = useFocusableGroup();
14
+ const numberOfColumns = usePromptStarterListContext((ctx)=>ctx.numberOfColumns);
15
+ // if this is defined, the context exists and the Prompt is within PromptStarterList
16
+ const isWithinList = typeof numberOfColumns === 'number';
17
+ const isSingleColumn = numberOfColumns === 1;
18
+ const state = {
19
+ isSingleColumn,
20
+ components: {
21
+ root: 'div',
22
+ primaryAction: 'button',
23
+ icon: 'span',
24
+ category: 'span',
25
+ prompt: 'span',
26
+ reasonMarker: 'span',
27
+ actions: 'span'
28
+ },
29
+ root: slot.always(getIntrinsicElementProps('div', {
30
+ ref,
31
+ role: isWithinList ? 'listitem' : undefined,
32
+ ...focusAttrs,
33
+ ...props
34
+ }), {
35
+ elementType: 'div'
36
+ }),
37
+ primaryAction: slot.always(props.primaryAction, {
38
+ defaultProps: {
39
+ 'aria-labelledby': `${id}-category ${id}-prompt`,
40
+ 'aria-describedby': `${id}-icon ${id}-reasonMarker`
41
+ },
42
+ elementType: 'button'
43
+ }),
44
+ icon: !isSingleColumn ? slot.optional(props.icon, {
45
+ defaultProps: {
46
+ id: `${id}-icon`
47
+ },
48
+ elementType: 'span'
49
+ }) : undefined,
50
+ category: !isSingleColumn ? slot.optional(props.category, {
51
+ defaultProps: {
52
+ id: `${id}-category`
53
+ },
54
+ elementType: 'span'
55
+ }) : undefined,
56
+ prompt: slot.always(props.prompt, {
57
+ defaultProps: {
58
+ id: `${id}-prompt`
59
+ },
60
+ elementType: 'span'
61
+ }),
62
+ reasonMarker: !isSingleColumn ? slot.optional(props.reasonMarker, {
63
+ defaultProps: {
64
+ id: `${id}-reasonMarker`
65
+ },
66
+ elementType: 'span'
67
+ }) : undefined,
68
+ actions: !isSingleColumn ? slot.optional(props.actions, {
69
+ elementType: 'span'
70
+ }) : undefined
71
+ };
72
+ return state;
73
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["usePromptStarter.ts"],"sourcesContent":["import { getIntrinsicElementProps, slot, useFocusableGroup, useId } from '@fluentui/react-components';\nimport { usePromptStarterListContext } from '../../../contexts/PromptStarterListContext';\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<HTMLDivElement>,\n): PromptStarterState => {\n const id = useId('prompt-starter');\n const focusAttrs = useFocusableGroup();\n\n const numberOfColumns = usePromptStarterListContext(ctx => ctx.numberOfColumns);\n // if this is defined, the context exists and the Prompt is within PromptStarterList\n const isWithinList = typeof numberOfColumns === 'number';\n\n const isSingleColumn = numberOfColumns === 1;\n\n const state: PromptStarterState = {\n isSingleColumn,\n components: {\n root: 'div',\n primaryAction: 'button',\n icon: 'span',\n category: 'span',\n prompt: 'span',\n reasonMarker: 'span',\n actions: 'span',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref,\n role: isWithinList ? 'listitem' : undefined,\n ...focusAttrs,\n ...props,\n }),\n { elementType: 'div' },\n ),\n primaryAction: slot.always(props.primaryAction, {\n defaultProps: {\n 'aria-labelledby': `${id}-category ${id}-prompt`,\n 'aria-describedby': `${id}-icon ${id}-reasonMarker`,\n },\n elementType: 'button',\n }),\n icon: !isSingleColumn\n ? slot.optional(props.icon, {\n defaultProps: { id: `${id}-icon` },\n elementType: 'span',\n })\n : undefined,\n category: !isSingleColumn\n ? slot.optional(props.category, {\n defaultProps: { id: `${id}-category` },\n elementType: 'span',\n })\n : undefined,\n prompt: slot.always(props.prompt, {\n defaultProps: { id: `${id}-prompt` },\n elementType: 'span',\n }),\n reasonMarker: !isSingleColumn\n ? slot.optional(props.reasonMarker, {\n defaultProps: { id: `${id}-reasonMarker` },\n elementType: 'span',\n })\n : undefined,\n actions: !isSingleColumn ? slot.optional(props.actions, { elementType: 'span' }) : undefined,\n };\n\n return state;\n};\n"],"names":["getIntrinsicElementProps","slot","useFocusableGroup","useId","usePromptStarterListContext","usePromptStarter_unstable","props","ref","id","focusAttrs","numberOfColumns","ctx","isWithinList","isSingleColumn","state","components","root","primaryAction","icon","category","prompt","reasonMarker","actions","always","role","undefined","elementType","defaultProps","optional"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,wBAAwB,EAAEC,IAAI,EAAEC,iBAAiB,EAAEC,KAAK,QAAQ,6BAA6B;AACtG,SAASC,2BAA2B,QAAQ,6CAA6C;AAGzF;;;;;;;;CAQC,GACD,OAAO,MAAMC,4BAA4B,CACvCC,OACAC;IAEA,MAAMC,KAAKL,MAAM;IACjB,MAAMM,aAAaP;IAEnB,MAAMQ,kBAAkBN,4BAA4BO,CAAAA,MAAOA,IAAID,eAAe;IAC9E,oFAAoF;IACpF,MAAME,eAAe,OAAOF,oBAAoB;IAEhD,MAAMG,iBAAiBH,oBAAoB;IAE3C,MAAMI,QAA4B;QAChCD;QACAE,YAAY;YACVC,MAAM;YACNC,eAAe;YACfC,MAAM;YACNC,UAAU;YACVC,QAAQ;YACRC,cAAc;YACdC,SAAS;QACX;QACAN,MAAMf,KAAKsB,MAAM,CACfvB,yBAAyB,OAAO;YAC9BO;YACAiB,MAAMZ,eAAe,aAAaa;YAClC,GAAGhB,UAAU;YACb,GAAGH,KAAK;QACV,IACA;YAAEoB,aAAa;QAAM;QAEvBT,eAAehB,KAAKsB,MAAM,CAACjB,MAAMW,aAAa,EAAE;YAC9CU,cAAc;gBACZ,mBAAmB,CAAC,EAAEnB,GAAG,UAAU,EAAEA,GAAG,OAAO,CAAC;gBAChD,oBAAoB,CAAC,EAAEA,GAAG,MAAM,EAAEA,GAAG,aAAa,CAAC;YACrD;YACAkB,aAAa;QACf;QACAR,MAAM,CAACL,iBACHZ,KAAK2B,QAAQ,CAACtB,MAAMY,IAAI,EAAE;YACxBS,cAAc;gBAAEnB,IAAI,CAAC,EAAEA,GAAG,KAAK,CAAC;YAAC;YACjCkB,aAAa;QACf,KACAD;QACJN,UAAU,CAACN,iBACPZ,KAAK2B,QAAQ,CAACtB,MAAMa,QAAQ,EAAE;YAC5BQ,cAAc;gBAAEnB,IAAI,CAAC,EAAEA,GAAG,SAAS,CAAC;YAAC;YACrCkB,aAAa;QACf,KACAD;QACJL,QAAQnB,KAAKsB,MAAM,CAACjB,MAAMc,MAAM,EAAE;YAChCO,cAAc;gBAAEnB,IAAI,CAAC,EAAEA,GAAG,OAAO,CAAC;YAAC;YACnCkB,aAAa;QACf;QACAL,cAAc,CAACR,iBACXZ,KAAK2B,QAAQ,CAACtB,MAAMe,YAAY,EAAE;YAChCM,cAAc;gBAAEnB,IAAI,CAAC,EAAEA,GAAG,aAAa,CAAC;YAAC;YACzCkB,aAAa;QACf,KACAD;QACJH,SAAS,CAACT,iBAAiBZ,KAAK2B,QAAQ,CAACtB,MAAMgB,OAAO,EAAE;YAAEI,aAAa;QAAO,KAAKD;IACrF;IAEA,OAAOX;AACT,EAAE"}
@@ -0,0 +1,338 @@
1
+ import { __styles, __resetStyles, mergeClasses, shorthands, typographyStyles, createFocusOutlineStyle } from '@fluentui/react-components';
2
+ import { tokens } from '@fluentui-copilot/tokens';
3
+ export const promptStarterClassNames = {
4
+ root: 'fai-PromptStarter',
5
+ primaryAction: 'fai-PromptStarter__primaryAction',
6
+ icon: 'fai-PromptStarter__icon',
7
+ category: 'fai-PromptStarter__category',
8
+ prompt: 'fai-PromptStarter__prompt',
9
+ reasonMarker: 'fai-PromptStarter__reasonMarker',
10
+ actions: 'fai-PromptStarter__actions'
11
+ };
12
+ const useRootResetStyles = __resetStyles("r1x2hm06", null, [".r1x2hm06{display:grid;grid-template-columns:1fr auto;grid-template-rows:max-content auto;min-width:214px;}", ".r1x2hm06:hover .fai-PromptStarter__primaryAction{box-shadow:var(--shadow16);transform:scale(1.03);transition:transform var(--durationNormal) var(--curveDecelerateMin);}", ".r1x2hm06:active .fai-PromptStarter__primaryAction{box-shadow:var(--shadow8);transform:scale(1.03);transition:transform var(--durationNormal) var(--curveDecelerateMin);}", ".r1x2hm06:not(:focus-within):not(:hover) .fai-PromptStarter__actions{clip:rect(0px, 0px, 0px, 0px);height:1px;margin:-1px;overflow:hidden;padding:0px;width:1px;position:absolute;opacity:0;}"]);
13
+ const useStyles = __styles({
14
+ primaryAction: {
15
+ nk6f5a: 0,
16
+ Ijaq50: 0,
17
+ h3tjnc: "fcdwmbt",
18
+ Bw0ie65: 0,
19
+ Br312pm: 0,
20
+ Beweih1: "f1eb8yyf",
21
+ qhf8xq: "f10pi13n",
22
+ mc9l5x: "f13qh94s",
23
+ Budl1dq: "fwggfk1",
24
+ v29qe6: "f1wv14k0",
25
+ Beyfa6y: 0,
26
+ Bbmb7ep: 0,
27
+ Btl43ni: 0,
28
+ B7oj6ja: 0,
29
+ Dimara: "f14w4nd",
30
+ De3pzq: "fxugw4r",
31
+ sj55zd: "fkfq4zb",
32
+ Bahqtrf: "fk6fouc",
33
+ Bceei9c: "f1k6fduh",
34
+ oeaueh: "f1s6fcnf",
35
+ fsow6f: ["f1o700av", "fes3tcz"],
36
+ i8kkvl: "f6ave1s",
37
+ Belr9w4: "f1wn3y0l",
38
+ Byoj8tv: 0,
39
+ uwmqm3: 0,
40
+ z189sj: 0,
41
+ z8tnut: 0,
42
+ B0ocmuz: "fq88wcj",
43
+ B4j52fo: "f192inf7",
44
+ Bekrc4i: ["f5tn483", "f1ojsxk5"],
45
+ Bn0qgzm: "f1vxd6vx",
46
+ ibv6hh: ["f1ojsxk5", "f5tn483"],
47
+ icvyot: "fzkkow9",
48
+ vrafjx: ["fcdblym", "fjik90z"],
49
+ oivjwe: "fg706s2",
50
+ wvpqe5: ["fjik90z", "fcdblym"],
51
+ g2u3we: "f68mrw8",
52
+ h3c5rm: ["f7pw515", "fw35ms5"],
53
+ B9xav0g: "frpde29",
54
+ zhjwy3: ["fw35ms5", "f7pw515"],
55
+ Brovlpu: "ftqa4ok",
56
+ B486eqv: "f2hkw1w",
57
+ B8q5s1w: "f8hki3x",
58
+ Bci5o5g: ["f1d2448m", "ffh67wi"],
59
+ n8qw10: "f1bjia2o",
60
+ Bdrgwmp: ["ffh67wi", "f1d2448m"],
61
+ Bqhya38: "f1j6vpng",
62
+ Bwxa6fj: ["f1pniga2", "f1ffjurs"],
63
+ Bdhvstf: "f987i1v",
64
+ B7zbvrb: ["f1ffjurs", "f1pniga2"],
65
+ Bm4h7ae: "f15bsgw9",
66
+ B7ys5i9: "f14e48fq",
67
+ Busjfv9: "f18yb2kv",
68
+ Bhk32uz: "fd6o370",
69
+ f6g5ot: 0,
70
+ Boxcth7: 0,
71
+ Bhdgwq3: 0,
72
+ hgwjuy: 0,
73
+ Bshpdp8: 0,
74
+ Bsom6fd: 0,
75
+ Blkhhs4: 0,
76
+ Bonggc9: 0,
77
+ Ddfuxk: 0,
78
+ i03rao: 0,
79
+ kclons: 0,
80
+ clg4pj: 0,
81
+ Bpqj9nj: 0,
82
+ B6dhp37: 0,
83
+ Bf4ptjt: 0,
84
+ Bqtpl0w: 0,
85
+ i4rwgc: "ffwy5si",
86
+ Dah5zi: 0,
87
+ B1tsrr9: 0,
88
+ qqdqy8: 0,
89
+ Bkh64rk: 0,
90
+ e3fwne: "faugzkp",
91
+ J0r882: "f57olzd",
92
+ Bule8hv: ["f4stah7", "fs1por5"],
93
+ Bjwuhne: "f480a47",
94
+ Ghsupd: ["fs1por5", "f4stah7"]
95
+ },
96
+ primaryActionHovered: {
97
+ E5pizo: "f1hg901r",
98
+ Bz10aip: "f15ncuxf",
99
+ Bn62ygk: 0,
100
+ Cwk7ip: 0,
101
+ B3o57yi: 0,
102
+ Bmy1vo4: 0,
103
+ Bkqvd7p: 0,
104
+ Bi2q7bf: "ffrhwuo"
105
+ },
106
+ icon: {
107
+ mc9l5x: "f22iagw",
108
+ Bt984gj: "f122n59",
109
+ sshi5w: "fntfeoj",
110
+ nk6f5a: 0,
111
+ Ijaq50: 0,
112
+ h3tjnc: "fm1owph",
113
+ Bw0ie65: 0,
114
+ Br312pm: 0,
115
+ Beweih1: "f12k0sjh"
116
+ },
117
+ category: {
118
+ mc9l5x: "f22iagw",
119
+ Bt984gj: "f122n59",
120
+ Bahqtrf: "fk6fouc",
121
+ Be2twd7: "fkhj508",
122
+ Bhrd7zp: "fl43uef",
123
+ Bg96gwp: "f1i3iumi",
124
+ nk6f5a: 0,
125
+ Ijaq50: 0,
126
+ h3tjnc: "fm1owph",
127
+ Bw0ie65: 0,
128
+ Br312pm: 0,
129
+ Beweih1: "f14q5zaz"
130
+ },
131
+ actions: {
132
+ jrapky: 0,
133
+ Frg6f3: 0,
134
+ t21cq0: 0,
135
+ B6of3ja: 0,
136
+ B74szlk: ["foizga4", "f5m8a6r"],
137
+ qhf8xq: "f10pi13n",
138
+ nk6f5a: 0,
139
+ Ijaq50: 0,
140
+ h3tjnc: "f3hl5xl",
141
+ Bw0ie65: 0,
142
+ Br312pm: 0,
143
+ Beweih1: "f14q5zaz",
144
+ abs64n: "f5p0z4x",
145
+ Bn62ygk: 0,
146
+ Cwk7ip: 0,
147
+ B3o57yi: 0,
148
+ Bmy1vo4: 0,
149
+ Bkqvd7p: 0,
150
+ Bi2q7bf: "f1964ud6"
151
+ },
152
+ actionsWithCategory: {
153
+ De3pzq: "fxugw4r",
154
+ E5pizo: ["f1u7pq1e", "f1pdyzui"]
155
+ },
156
+ prompt: {
157
+ Bahqtrf: "fk6fouc",
158
+ Be2twd7: "fkhj508",
159
+ Bhrd7zp: "fl43uef",
160
+ Bg96gwp: "f1i3iumi",
161
+ mc9l5x: "f1rvi9lw",
162
+ Fd1uvx: "fpfc2by",
163
+ Bh9c35c: "f1lvsx7g",
164
+ Bmxbyg5: "f1sil6mw",
165
+ nk6f5a: 0,
166
+ Ijaq50: 0,
167
+ h3tjnc: "f1daok31",
168
+ Bw0ie65: 0,
169
+ Br312pm: 0,
170
+ Beweih1: "f1eb8yyf"
171
+ },
172
+ promptNoReasonMarker: {
173
+ Bh9c35c: "f197wrh9"
174
+ },
175
+ reasonMarker: {
176
+ nk6f5a: 0,
177
+ Ijaq50: 0,
178
+ h3tjnc: "f17e42vn",
179
+ Bw0ie65: 0,
180
+ Br312pm: 0,
181
+ Beweih1: "f1eb8yyf",
182
+ Bahqtrf: "fk6fouc",
183
+ Be2twd7: "f13mqy1h",
184
+ Bhrd7zp: "figsok6",
185
+ Bg96gwp: "fcpl73t"
186
+ }
187
+ }, {
188
+ d: [[".fcdwmbt{grid-row:1/3;}", {
189
+ p: -1
190
+ }], [".f1eb8yyf{grid-column:1/3;}", {
191
+ p: -1
192
+ }], ".f10pi13n{position:relative;}", ".f13qh94s{display:grid;}", ".fwggfk1{grid-template-columns:max-content 1fr;}", ".f1wv14k0{grid-auto-rows:max-content 1fr max-content;}", [".f14w4nd{border-radius:28px;}", {
193
+ p: -1
194
+ }], ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".f1k6fduh{cursor:pointer;}", ".f1s6fcnf{outline-style:none;}", ".f1o700av{text-align:left;}", ".fes3tcz{text-align:right;}", ".f6ave1s{column-gap:var(--spacingHorizontalMNudge);}", ".f1wn3y0l{row-gap:var(--spacingVerticalS);}", [".fq88wcj{padding:var(--spacingVerticalL) var(--spacingHorizontalL);}", {
195
+ p: -1
196
+ }], ".f192inf7{border-top-width:var(--strokeWidthThin);}", ".f5tn483{border-right-width:var(--strokeWidthThin);}", ".f1ojsxk5{border-left-width:var(--strokeWidthThin);}", ".f1vxd6vx{border-bottom-width:var(--strokeWidthThin);}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".f68mrw8{border-top-color:var(--colorNeutralStroke2);}", ".f7pw515{border-right-color:var(--colorNeutralStroke2);}", ".fw35ms5{border-left-color:var(--colorNeutralStroke2);}", ".frpde29{border-bottom-color:var(--colorNeutralStroke2);}", ".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}", ".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}", ".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}", ".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}", ".f15bsgw9[data-fui-focus-visible]::after{content:\"\";}", ".f14e48fq[data-fui-focus-visible]::after{position:absolute;}", ".f18yb2kv[data-fui-focus-visible]::after{pointer-events:none;}", ".fd6o370[data-fui-focus-visible]::after{z-index:1;}", [".ffwy5si[data-fui-focus-visible]::after{border:2px solid var(--colorStrokeFocus2);}", {
197
+ p: -2
198
+ }], [".faugzkp[data-fui-focus-visible]::after{border-radius:28px;}", {
199
+ p: -1
200
+ }], ".f57olzd[data-fui-focus-visible]::after{top:calc(2px * -1);}", ".f4stah7[data-fui-focus-visible]::after{right:calc(2px * -1);}", ".fs1por5[data-fui-focus-visible]::after{left:calc(2px * -1);}", ".f480a47[data-fui-focus-visible]::after{bottom:calc(2px * -1);}", ".f1hg901r{box-shadow:var(--shadow16);}", ".f15ncuxf{transform:scale(1.03);}", [".ffrhwuo{transition:transform var(--durationNormal) var(--curveDecelerateMin);}", {
201
+ p: -1
202
+ }], ".f22iagw{display:flex;}", ".f122n59{align-items:center;}", ".fntfeoj{min-height:var(--spacingVerticalXXL);}", [".fm1owph{grid-row:1;}", {
203
+ p: -1
204
+ }], [".f12k0sjh{grid-column:1/2;}", {
205
+ p: -1
206
+ }], ".fkhj508{font-size:var(--fontSizeBase300);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", [".fm1owph{grid-row:1;}", {
207
+ p: -1
208
+ }], [".f14q5zaz{grid-column:2/3;}", {
209
+ p: -1
210
+ }], [".foizga4{margin:var(--spacingVerticalL) var(--spacingHorizontalL) var(--spacingVerticalNone) var(--spacingHorizontalNone);}", {
211
+ p: -1
212
+ }], [".f5m8a6r{margin:var(--spacingVerticalL) var(--spacingHorizontalNone) var(--spacingVerticalNone) var(--spacingHorizontalL);}", {
213
+ p: -1
214
+ }], [".f3hl5xl{grid-row:1/2;}", {
215
+ p: -1
216
+ }], [".f14q5zaz{grid-column:2/3;}", {
217
+ p: -1
218
+ }], ".f5p0z4x{opacity:1;}", [".f1964ud6{transition:opacity var(--durationFast) var(--curveLinear);}", {
219
+ p: -1
220
+ }], ".f1u7pq1e{box-shadow:-12px 0 12px 0 var(--colorNeutralBackground1);}", ".f1pdyzui{box-shadow:12px 0 12px 0 var(--colorNeutralBackground1);}", ".f1rvi9lw{display:-webkit-box;}", ".fpfc2by{-webkit-box-orient:vertical;}", ".f1lvsx7g{-webkit-line-clamp:2;}", ".f1sil6mw{overflow-y:hidden;}", [".f1daok31{grid-row:2;}", {
221
+ p: -1
222
+ }], [".f1eb8yyf{grid-column:1/3;}", {
223
+ p: -1
224
+ }], ".f197wrh9{-webkit-line-clamp:3;}", [".f17e42vn{grid-row:3;}", {
225
+ p: -1
226
+ }], [".f1eb8yyf{grid-column:1/3;}", {
227
+ p: -1
228
+ }], ".f13mqy1h{font-size:var(--fontSizeBase100);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fcpl73t{line-height:var(--lineHeightBase100);}"],
229
+ f: [".ftqa4ok:focus{outline-style:none;}"],
230
+ i: [".f2hkw1w:focus-visible{outline-style:none;}"],
231
+ m: [["@media (forced-colors: active){.f1j6vpng[data-fui-focus-visible]::after{border-top-color:Highlight;}}", {
232
+ m: "(forced-colors: active)"
233
+ }], ["@media (forced-colors: active){.f1ffjurs[data-fui-focus-visible]::after{border-left-color:Highlight;}.f1pniga2[data-fui-focus-visible]::after{border-right-color:Highlight;}}", {
234
+ m: "(forced-colors: active)"
235
+ }], ["@media (forced-colors: active){.f987i1v[data-fui-focus-visible]::after{border-bottom-color:Highlight;}}", {
236
+ m: "(forced-colors: active)"
237
+ }]]
238
+ });
239
+ const useSingleColumnStyles = __styles({
240
+ primaryAction: {
241
+ mc9l5x: "f22iagw",
242
+ Beyfa6y: 0,
243
+ Bbmb7ep: 0,
244
+ Btl43ni: 0,
245
+ B7oj6ja: 0,
246
+ Dimara: "f1jxijnj",
247
+ Brovlpu: "ftqa4ok",
248
+ B486eqv: "f2hkw1w",
249
+ B8q5s1w: "f8hki3x",
250
+ Bci5o5g: ["f1d2448m", "ffh67wi"],
251
+ n8qw10: "f1bjia2o",
252
+ Bdrgwmp: ["ffh67wi", "f1d2448m"],
253
+ Bqhya38: "f1j6vpng",
254
+ Bwxa6fj: ["f1pniga2", "f1ffjurs"],
255
+ Bdhvstf: "f987i1v",
256
+ B7zbvrb: ["f1ffjurs", "f1pniga2"],
257
+ Bm4h7ae: "f15bsgw9",
258
+ B7ys5i9: "f14e48fq",
259
+ Busjfv9: "f18yb2kv",
260
+ Bhk32uz: "fd6o370",
261
+ f6g5ot: 0,
262
+ Boxcth7: 0,
263
+ Bhdgwq3: 0,
264
+ hgwjuy: 0,
265
+ Bshpdp8: 0,
266
+ Bsom6fd: 0,
267
+ Blkhhs4: 0,
268
+ Bonggc9: 0,
269
+ Ddfuxk: 0,
270
+ i03rao: 0,
271
+ kclons: 0,
272
+ clg4pj: 0,
273
+ Bpqj9nj: 0,
274
+ B6dhp37: 0,
275
+ Bf4ptjt: 0,
276
+ Bqtpl0w: 0,
277
+ i4rwgc: "ffwy5si",
278
+ Dah5zi: 0,
279
+ B1tsrr9: 0,
280
+ qqdqy8: 0,
281
+ Bkh64rk: 0,
282
+ e3fwne: "f178id4l",
283
+ J0r882: "f57olzd",
284
+ Bule8hv: ["f4stah7", "fs1por5"],
285
+ Bjwuhne: "f480a47",
286
+ Ghsupd: ["fs1por5", "f4stah7"]
287
+ },
288
+ prompt: {
289
+ Bahqtrf: "fk6fouc",
290
+ Be2twd7: "fy9rknc",
291
+ Bhrd7zp: "fl43uef",
292
+ Bg96gwp: "fwrc4pm"
293
+ }
294
+ }, {
295
+ d: [".f22iagw{display:flex;}", [".f1jxijnj{border-radius:var(--borderRadius2XL);}", {
296
+ p: -1
297
+ }], ".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}", ".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}", ".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}", ".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}", ".f15bsgw9[data-fui-focus-visible]::after{content:\"\";}", ".f14e48fq[data-fui-focus-visible]::after{position:absolute;}", ".f18yb2kv[data-fui-focus-visible]::after{pointer-events:none;}", ".fd6o370[data-fui-focus-visible]::after{z-index:1;}", [".ffwy5si[data-fui-focus-visible]::after{border:2px solid var(--colorStrokeFocus2);}", {
298
+ p: -2
299
+ }], [".f178id4l[data-fui-focus-visible]::after{border-radius:var(--borderRadius2XL);}", {
300
+ p: -1
301
+ }], ".f57olzd[data-fui-focus-visible]::after{top:calc(2px * -1);}", ".f4stah7[data-fui-focus-visible]::after{right:calc(2px * -1);}", ".fs1por5[data-fui-focus-visible]::after{left:calc(2px * -1);}", ".f480a47[data-fui-focus-visible]::after{bottom:calc(2px * -1);}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}"],
302
+ f: [".ftqa4ok:focus{outline-style:none;}"],
303
+ i: [".f2hkw1w:focus-visible{outline-style:none;}"],
304
+ m: [["@media (forced-colors: active){.f1j6vpng[data-fui-focus-visible]::after{border-top-color:Highlight;}}", {
305
+ m: "(forced-colors: active)"
306
+ }], ["@media (forced-colors: active){.f1ffjurs[data-fui-focus-visible]::after{border-left-color:Highlight;}.f1pniga2[data-fui-focus-visible]::after{border-right-color:Highlight;}}", {
307
+ m: "(forced-colors: active)"
308
+ }], ["@media (forced-colors: active){.f987i1v[data-fui-focus-visible]::after{border-bottom-color:Highlight;}}", {
309
+ m: "(forced-colors: active)"
310
+ }]]
311
+ });
312
+ export const usePromptStarterStyles_unstable = state => {
313
+ 'use no memo';
314
+
315
+ const {
316
+ isSingleColumn
317
+ } = state;
318
+ const styles = useStyles();
319
+ const rootResetStyles = useRootResetStyles();
320
+ const singleColumnStyles = useSingleColumnStyles();
321
+ state.root.className = mergeClasses(promptStarterClassNames.root, rootResetStyles, state.root.className);
322
+ state.primaryAction.className = mergeClasses(promptStarterClassNames.primaryAction, styles.primaryAction, isSingleColumn && singleColumnStyles.primaryAction, state.primaryAction.className);
323
+ if (state.icon) {
324
+ state.icon.className = mergeClasses(promptStarterClassNames.icon, styles.icon, state.icon.className);
325
+ }
326
+ if (state.category) {
327
+ state.category.className = mergeClasses(promptStarterClassNames.category, styles.category, state.category.className);
328
+ }
329
+ state.prompt.className = mergeClasses(promptStarterClassNames.prompt, styles.prompt, !state.reasonMarker && styles.promptNoReasonMarker, isSingleColumn && singleColumnStyles.prompt, state.prompt.className);
330
+ if (state.reasonMarker) {
331
+ state.reasonMarker.className = mergeClasses(promptStarterClassNames.reasonMarker, styles.reasonMarker, state.reasonMarker.className);
332
+ }
333
+ if (state.actions) {
334
+ state.actions.className = mergeClasses(promptStarterClassNames.actions, styles.actions, state.category && styles.actionsWithCategory, state.actions.className);
335
+ }
336
+ return state;
337
+ };
338
+ //# sourceMappingURL=usePromptStarterStyles.styles.js.map
@@ -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 primaryAction: 'fai-PromptStarter__primaryAction',\n icon: 'fai-PromptStarter__icon',\n category: 'fai-PromptStarter__category',\n prompt: 'fai-PromptStarter__prompt',\n reasonMarker: 'fai-PromptStarter__reasonMarker',\n actions: 'fai-PromptStarter__actions',\n};\n\nconst useRootResetStyles = makeResetStyles({\n display: 'grid',\n gridTemplateColumns: '1fr auto',\n gridTemplateRows: 'max-content auto',\n minWidth: '214px',\n\n // Apply styles to the primary action on hover / active states\n '&:hover': {\n [`& .${promptStarterClassNames.primaryAction}`]: {\n boxShadow: tokens.shadow16,\n transform: 'scale(1.03)',\n transition: `transform ${tokens.durationNormal} ${tokens.curveDecelerateMin}`,\n },\n },\n '&:active': {\n [`& .${promptStarterClassNames.primaryAction}`]: {\n boxShadow: tokens.shadow8,\n transform: 'scale(1.03)',\n transition: `transform ${tokens.durationNormal} ${tokens.curveDecelerateMin}`,\n },\n },\n\n // Hide actions when not focused or hovered\n ':not(:focus-within):not(:hover)': {\n [`& .${promptStarterClassNames.actions}`]: {\n clip: 'rect(0px, 0px, 0px, 0px)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0px',\n width: '1px',\n position: 'absolute',\n opacity: 0,\n },\n },\n});\n\nconst useStyles = makeStyles({\n primaryAction: {\n gridRow: '1 / 3',\n gridColumn: '1 / 3',\n position: 'relative',\n display: 'grid',\n gridTemplateColumns: 'max-content 1fr',\n gridAutoRows: 'max-content 1fr max-content',\n borderRadius: '28px',\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground2,\n fontFamily: tokens.fontFamilyBase,\n cursor: 'pointer',\n outlineStyle: 'none',\n textAlign: 'left',\n columnGap: tokens.spacingHorizontalMNudge,\n rowGap: tokens.spacingVerticalS,\n padding: `${tokens.spacingVerticalL} ${tokens.spacingHorizontalL}`,\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke2),\n ...createFocusOutlineStyle({ style: { outlineRadius: '28px' } }),\n },\n\n primaryActionHovered: {\n boxShadow: tokens.shadow16,\n transform: 'scale(1.03)',\n transition: `transform ${tokens.durationNormal} ${tokens.curveDecelerateMin}`,\n },\n\n icon: {\n display: 'flex',\n alignItems: 'center',\n minHeight: tokens.spacingVerticalXXL,\n gridRow: 1,\n gridColumn: '1 / 2',\n },\n category: {\n display: 'flex',\n alignItems: 'center',\n ...typographyStyles.body1Strong,\n\n gridRow: 1,\n gridColumn: '2 / 3',\n },\n actions: {\n margin: `${tokens.spacingVerticalL} ${tokens.spacingHorizontalL}\n ${tokens.spacingVerticalNone} ${tokens.spacingHorizontalNone}`,\n position: 'relative',\n gridRow: '1 / 2',\n gridColumn: '2 / 3',\n\n opacity: 1,\n transition: `opacity ${tokens.durationFast} ${tokens.curveLinear}`,\n },\n actionsWithCategory: {\n // Add a background and gradient fade to truncate the title if applicable\n backgroundColor: tokens.colorNeutralBackground1,\n\n boxShadow: `-12px 0 12px 0 ${tokens.colorNeutralBackground1}`,\n },\n prompt: {\n ...typographyStyles.body1Strong,\n\n // Truncate text after two lines.\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': '2',\n overflowY: 'hidden',\n gridRow: '2',\n gridColumn: '1 / 3',\n },\n promptNoReasonMarker: {\n // Truncate text after three lines when no reason marker is present.\n '-webkit-line-clamp': '3',\n },\n reasonMarker: {\n gridRow: '3',\n gridColumn: '1 / 3',\n ...typographyStyles.caption2,\n },\n});\n\nconst useSingleColumnStyles = makeStyles({\n primaryAction: {\n display: 'flex',\n borderRadius: tokens.borderRadius2XL,\n ...createFocusOutlineStyle({ style: { outlineRadius: tokens.borderRadius2XL } }),\n },\n prompt: {\n ...typographyStyles.caption1Strong,\n },\n});\n\nexport const usePromptStarterStyles_unstable = (state: PromptStarterState): PromptStarterState => {\n 'use no memo';\n\n const { isSingleColumn } = state;\n\n const styles = useStyles();\n const rootResetStyles = useRootResetStyles();\n const singleColumnStyles = useSingleColumnStyles();\n state.root.className = mergeClasses(promptStarterClassNames.root, rootResetStyles, state.root.className);\n state.primaryAction.className = mergeClasses(\n promptStarterClassNames.primaryAction,\n styles.primaryAction,\n isSingleColumn && singleColumnStyles.primaryAction,\n state.primaryAction.className,\n );\n if (state.icon) {\n state.icon.className = mergeClasses(promptStarterClassNames.icon, styles.icon, state.icon.className);\n }\n if (state.category) {\n state.category.className = mergeClasses(\n promptStarterClassNames.category,\n styles.category,\n state.category.className,\n );\n }\n state.prompt.className = mergeClasses(\n promptStarterClassNames.prompt,\n styles.prompt,\n !state.reasonMarker && styles.promptNoReasonMarker,\n isSingleColumn && singleColumnStyles.prompt,\n state.prompt.className,\n );\n if (state.reasonMarker) {\n state.reasonMarker.className = mergeClasses(\n promptStarterClassNames.reasonMarker,\n styles.reasonMarker,\n state.reasonMarker.className,\n );\n }\n if (state.actions) {\n state.actions.className = mergeClasses(\n promptStarterClassNames.actions,\n styles.actions,\n state.category && styles.actionsWithCategory,\n state.actions.className,\n );\n }\n\n return state;\n};\n"],"names":["makeStyles","makeResetStyles","mergeClasses","shorthands","typographyStyles","createFocusOutlineStyle","tokens","promptStarterClassNames","root","primaryAction","icon","category","prompt","reasonMarker","actions","useRootResetStyles","display","gridTemplateColumns","gridTemplateRows","minWidth","boxShadow","shadow16","transform","transition","durationNormal","curveDecelerateMin","shadow8","clip","height","margin","overflow","padding","width","position","opacity","useStyles","gridRow","gridColumn","gridAutoRows","borderRadius","backgroundColor","colorNeutralBackground1","color","colorNeutralForeground2","fontFamily","fontFamilyBase","cursor","outlineStyle","textAlign","columnGap","spacingHorizontalMNudge","rowGap","spacingVerticalS","spacingVerticalL","spacingHorizontalL","border","strokeWidthThin","colorNeutralStroke2","style","outlineRadius","primaryActionHovered","alignItems","minHeight","spacingVerticalXXL","body1Strong","spacingVerticalNone","spacingHorizontalNone","durationFast","curveLinear","actionsWithCategory","overflowY","promptNoReasonMarker","caption2","useSingleColumnStyles","borderRadius2XL","caption1Strong","usePromptStarterStyles_unstable","state","isSingleColumn","styles","rootResetStyles","singleColumnStyles","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SACEA,UAAU,EACVC,eAAe,EACfC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,uBAAuB,QAClB,6BAA6B;AACpC,SAASC,MAAM,QAAQ,2BAA2B;AAIlD,OAAO,MAAMC,0BAA8D;IACzEC,MAAM;IACNC,eAAe;IACfC,MAAM;IACNC,UAAU;IACVC,QAAQ;IACRC,cAAc;IACdC,SAAS;AACX,EAAE;AAEF,MAAMC,qBAAqBd,gBAAgB;IACzCe,SAAS;IACTC,qBAAqB;IACrBC,kBAAkB;IAClBC,UAAU;IAEV,8DAA8D;IAC9D,WAAW;QACT,CAAC,CAAC,GAAG,EAAEZ,wBAAwBE,aAAa,CAAC,CAAC,CAAC,EAAE;YAC/CW,WAAWd,OAAOe,QAAQ;YAC1BC,WAAW;YACXC,YAAY,CAAC,UAAU,EAAEjB,OAAOkB,cAAc,CAAC,CAAC,EAAElB,OAAOmB,kBAAkB,CAAC,CAAC;QAC/E;IACF;IACA,YAAY;QACV,CAAC,CAAC,GAAG,EAAElB,wBAAwBE,aAAa,CAAC,CAAC,CAAC,EAAE;YAC/CW,WAAWd,OAAOoB,OAAO;YACzBJ,WAAW;YACXC,YAAY,CAAC,UAAU,EAAEjB,OAAOkB,cAAc,CAAC,CAAC,EAAElB,OAAOmB,kBAAkB,CAAC,CAAC;QAC/E;IACF;IAEA,2CAA2C;IAC3C,mCAAmC;QACjC,CAAC,CAAC,GAAG,EAAElB,wBAAwBO,OAAO,CAAC,CAAC,CAAC,EAAE;YACzCa,MAAM;YACNC,QAAQ;YACRC,QAAQ;YACRC,UAAU;YACVC,SAAS;YACTC,OAAO;YACPC,UAAU;YACVC,SAAS;QACX;IACF;AACF;AAEA,MAAMC,YAAYnC,WAAW;IAC3BS,eAAe;QACb2B,SAAS;QACTC,YAAY;QACZJ,UAAU;QACVjB,SAAS;QACTC,qBAAqB;QACrBqB,cAAc;QACdC,cAAc;QACdC,iBAAiBlC,OAAOmC,uBAAuB;QAC/CC,OAAOpC,OAAOqC,uBAAuB;QACrCC,YAAYtC,OAAOuC,cAAc;QACjCC,QAAQ;QACRC,cAAc;QACdC,WAAW;QACXC,WAAW3C,OAAO4C,uBAAuB;QACzCC,QAAQ7C,OAAO8C,gBAAgB;QAC/BrB,SAAS,CAAC,EAAEzB,OAAO+C,gBAAgB,CAAC,CAAC,EAAE/C,OAAOgD,kBAAkB,CAAC,CAAC;QAClE,GAAGnD,WAAWoD,MAAM,CAACjD,OAAOkD,eAAe,EAAE,SAASlD,OAAOmD,mBAAmB,CAAC;QACjF,GAAGpD,wBAAwB;YAAEqD,OAAO;gBAAEC,eAAe;YAAO;QAAE,EAAE;IAClE;IAEAC,sBAAsB;QACpBxC,WAAWd,OAAOe,QAAQ;QAC1BC,WAAW;QACXC,YAAY,CAAC,UAAU,EAAEjB,OAAOkB,cAAc,CAAC,CAAC,EAAElB,OAAOmB,kBAAkB,CAAC,CAAC;IAC/E;IAEAf,MAAM;QACJM,SAAS;QACT6C,YAAY;QACZC,WAAWxD,OAAOyD,kBAAkB;QACpC3B,SAAS;QACTC,YAAY;IACd;IACA1B,UAAU;QACRK,SAAS;QACT6C,YAAY;QACZ,GAAGzD,iBAAiB4D,WAAW;QAE/B5B,SAAS;QACTC,YAAY;IACd;IACAvB,SAAS;QACPe,QAAQ,CAAC,EAAEvB,OAAO+C,gBAAgB,CAAC,CAAC,EAAE/C,OAAOgD,kBAAkB,CAAC;aACvD,EAAEhD,OAAO2D,mBAAmB,CAAC,CAAC,EAAE3D,OAAO4D,qBAAqB,CAAC,CAAC;QACvEjC,UAAU;QACVG,SAAS;QACTC,YAAY;QAEZH,SAAS;QACTX,YAAY,CAAC,QAAQ,EAAEjB,OAAO6D,YAAY,CAAC,CAAC,EAAE7D,OAAO8D,WAAW,CAAC,CAAC;IACpE;IACAC,qBAAqB;QACnB,yEAAyE;QACzE7B,iBAAiBlC,OAAOmC,uBAAuB;QAE/CrB,WAAW,CAAC,eAAe,EAAEd,OAAOmC,uBAAuB,CAAC,CAAC;IAC/D;IACA7B,QAAQ;QACN,GAAGR,iBAAiB4D,WAAW;QAE/B,iCAAiC;QACjChD,SAAS;QACT,sBAAsB;QACtB,sBAAsB;QACtBsD,WAAW;QACXlC,SAAS;QACTC,YAAY;IACd;IACAkC,sBAAsB;QACpB,oEAAoE;QACpE,sBAAsB;IACxB;IACA1D,cAAc;QACZuB,SAAS;QACTC,YAAY;QACZ,GAAGjC,iBAAiBoE,QAAQ;IAC9B;AACF;AAEA,MAAMC,wBAAwBzE,WAAW;IACvCS,eAAe;QACbO,SAAS;QACTuB,cAAcjC,OAAOoE,eAAe;QACpC,GAAGrE,wBAAwB;YAAEqD,OAAO;gBAAEC,eAAerD,OAAOoE,eAAe;YAAC;QAAE,EAAE;IAClF;IACA9D,QAAQ;QACN,GAAGR,iBAAiBuE,cAAc;IACpC;AACF;AAEA,OAAO,MAAMC,kCAAkC,CAACC;IAC9C;IAEA,MAAM,EAAEC,cAAc,EAAE,GAAGD;IAE3B,MAAME,SAAS5C;IACf,MAAM6C,kBAAkBjE;IACxB,MAAMkE,qBAAqBR;IAC3BI,MAAMrE,IAAI,CAAC0E,SAAS,GAAGhF,aAAaK,wBAAwBC,IAAI,EAAEwE,iBAAiBH,MAAMrE,IAAI,CAAC0E,SAAS;IACvGL,MAAMpE,aAAa,CAACyE,SAAS,GAAGhF,aAC9BK,wBAAwBE,aAAa,EACrCsE,OAAOtE,aAAa,EACpBqE,kBAAkBG,mBAAmBxE,aAAa,EAClDoE,MAAMpE,aAAa,CAACyE,SAAS;IAE/B,IAAIL,MAAMnE,IAAI,EAAE;QACdmE,MAAMnE,IAAI,CAACwE,SAAS,GAAGhF,aAAaK,wBAAwBG,IAAI,EAAEqE,OAAOrE,IAAI,EAAEmE,MAAMnE,IAAI,CAACwE,SAAS;IACrG;IACA,IAAIL,MAAMlE,QAAQ,EAAE;QAClBkE,MAAMlE,QAAQ,CAACuE,SAAS,GAAGhF,aACzBK,wBAAwBI,QAAQ,EAChCoE,OAAOpE,QAAQ,EACfkE,MAAMlE,QAAQ,CAACuE,SAAS;IAE5B;IACAL,MAAMjE,MAAM,CAACsE,SAAS,GAAGhF,aACvBK,wBAAwBK,MAAM,EAC9BmE,OAAOnE,MAAM,EACb,CAACiE,MAAMhE,YAAY,IAAIkE,OAAOR,oBAAoB,EAClDO,kBAAkBG,mBAAmBrE,MAAM,EAC3CiE,MAAMjE,MAAM,CAACsE,SAAS;IAExB,IAAIL,MAAMhE,YAAY,EAAE;QACtBgE,MAAMhE,YAAY,CAACqE,SAAS,GAAGhF,aAC7BK,wBAAwBM,YAAY,EACpCkE,OAAOlE,YAAY,EACnBgE,MAAMhE,YAAY,CAACqE,SAAS;IAEhC;IACA,IAAIL,MAAM/D,OAAO,EAAE;QACjB+D,MAAM/D,OAAO,CAACoE,SAAS,GAAGhF,aACxBK,wBAAwBO,OAAO,EAC/BiE,OAAOjE,OAAO,EACd+D,MAAMlE,QAAQ,IAAIoE,OAAOV,mBAAmB,EAC5CQ,MAAM/D,OAAO,CAACoE,SAAS;IAE3B;IAEA,OAAOL;AACT,EAAE"}