@fluentui-copilot/react-prompt-starter 0.10.6 → 0.10.8

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 (61) hide show
  1. package/CHANGELOG.json +81 -1
  2. package/CHANGELOG.md +27 -2
  3. package/dist/index.d.ts +58 -3
  4. package/lib/components/PromptStarter/PromptStarter.js +4 -1
  5. package/lib/components/PromptStarter/PromptStarter.js.map +1 -1
  6. package/lib/components/PromptStarter/PromptStarter.types.js +2 -0
  7. package/lib/components/PromptStarter/PromptStarter.types.js.map +1 -1
  8. package/lib/components/PromptStarter/renderPromptStarter.js +4 -1
  9. package/lib/components/PromptStarter/renderPromptStarter.js.map +1 -1
  10. package/lib/components/PromptStarter/usePromptStarter.js +3 -0
  11. package/lib/components/PromptStarter/usePromptStarter.js.map +1 -1
  12. package/lib/components/PromptStarter/usePromptStarterStyles.styles.js +4 -0
  13. package/lib/components/PromptStarter/usePromptStarterStyles.styles.js.map +1 -1
  14. package/lib/components/PromptStarter/usePromptStarterStyles.styles.raw.js +4 -1
  15. package/lib/components/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -1
  16. package/lib/components/PromptStarterV2/PromptStarter/PromptStarter.types.js.map +1 -1
  17. package/lib/components/PromptStarterV2/PromptStarter/renderPromptStarter.js +1 -0
  18. package/lib/components/PromptStarterV2/PromptStarter/renderPromptStarter.js.map +1 -1
  19. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarter.js +8 -1
  20. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarter.js.map +1 -1
  21. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js +112 -23
  22. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js.map +1 -1
  23. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js +62 -12
  24. package/lib/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -1
  25. package/lib/components/PromptStarterV2/PromptStarterList/PromptStarterList.types.js.map +1 -1
  26. package/lib/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js +1 -0
  27. package/lib/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js.map +1 -1
  28. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js +33 -10
  29. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js.map +1 -1
  30. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.js +30 -4
  31. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.js.map +1 -1
  32. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js +16 -4
  33. package/lib/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js.map +1 -1
  34. package/lib/contexts/PromptStarterListContext.js.map +1 -1
  35. package/lib-commonjs/components/PromptStarter/PromptStarter.js.map +1 -1
  36. package/lib-commonjs/components/PromptStarter/PromptStarter.types.js +2 -0
  37. package/lib-commonjs/components/PromptStarter/PromptStarter.types.js.map +1 -1
  38. package/lib-commonjs/components/PromptStarter/renderPromptStarter.js.map +1 -1
  39. package/lib-commonjs/components/PromptStarter/usePromptStarter.js.map +1 -1
  40. package/lib-commonjs/components/PromptStarter/usePromptStarterStyles.styles.js.map +1 -1
  41. package/lib-commonjs/components/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -1
  42. package/lib-commonjs/components/PromptStarterV2/PromptStarter/PromptStarter.types.js.map +1 -1
  43. package/lib-commonjs/components/PromptStarterV2/PromptStarter/renderPromptStarter.js +1 -0
  44. package/lib-commonjs/components/PromptStarterV2/PromptStarter/renderPromptStarter.js.map +1 -1
  45. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarter.js +8 -1
  46. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarter.js.map +1 -1
  47. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js +170 -28
  48. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.js.map +1 -1
  49. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js +62 -12
  50. package/lib-commonjs/components/PromptStarterV2/PromptStarter/usePromptStarterStyles.styles.raw.js.map +1 -1
  51. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/PromptStarterList.types.js.map +1 -1
  52. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js +1 -0
  53. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/renderPromptStarterList.js.map +1 -1
  54. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js +33 -10
  55. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterList.js.map +1 -1
  56. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.js +41 -4
  57. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.js.map +1 -1
  58. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js +16 -4
  59. package/lib-commonjs/components/PromptStarterV2/PromptStarterList/usePromptStarterListStyles.styles.raw.js.map +1 -1
  60. package/lib-commonjs/contexts/PromptStarterListContext.js.map +1 -1
  61. package/package.json +12 -12
@@ -21,6 +21,7 @@ const promptStarterClassNames = {
21
21
  root: 'fai-PromptStarter',
22
22
  primaryAction: 'fai-PromptStarter__primaryAction',
23
23
  icon: 'fai-PromptStarter__icon',
24
+ category: 'fai-PromptStarter__category',
24
25
  prompt: 'fai-PromptStarter__prompt',
25
26
  reasonMarker: 'fai-PromptStarter__reasonMarker',
26
27
  actions: 'fai-PromptStarter__actions'
@@ -39,9 +40,10 @@ const useStyles = (0, _reactcomponents.__styles)({
39
40
  Bw0ie65: 0,
40
41
  Br312pm: 0,
41
42
  Beweih1: "f1eb8yyf",
42
- mc9l5x: "f22iagw",
43
- Beiy3e4: "f1vx9l62",
44
43
  qhf8xq: "f10pi13n",
44
+ mc9l5x: "f13qh94s",
45
+ Budl1dq: "fwggfk1",
46
+ v29qe6: "f1wv14k0",
45
47
  Beyfa6y: 0,
46
48
  Bbmb7ep: 0,
47
49
  Btl43ni: 0,
@@ -56,7 +58,8 @@ const useStyles = (0, _reactcomponents.__styles)({
56
58
  "f1o700av",
57
59
  "fes3tcz"
58
60
  ],
59
- Belr9w4: "fylz90v",
61
+ i8kkvl: "f6ave1s",
62
+ Belr9w4: "f1wn3y0l",
60
63
  Byoj8tv: 0,
61
64
  uwmqm3: 0,
62
65
  z189sj: 0,
@@ -164,9 +167,41 @@ const useStyles = (0, _reactcomponents.__styles)({
164
167
  icon: {
165
168
  mc9l5x: "f22iagw",
166
169
  Bt984gj: "f122n59",
167
- sshi5w: "fntfeoj"
170
+ sshi5w: "fntfeoj",
171
+ nk6f5a: 0,
172
+ Ijaq50: 0,
173
+ h3tjnc: "fm1owph",
174
+ Bw0ie65: 0,
175
+ Br312pm: 0,
176
+ Beweih1: "f12k0sjh"
177
+ },
178
+ category: {
179
+ nk6f5a: 0,
180
+ Ijaq50: 0,
181
+ h3tjnc: "fm1owph",
182
+ Bw0ie65: 0,
183
+ Br312pm: 0,
184
+ Beweih1: "f14q5zaz",
185
+ qb2dma: "f7nlbp4",
186
+ sj55zd: "f19n0e5",
187
+ Bahqtrf: "fk6fouc",
188
+ Be2twd7: "fkhj508",
189
+ Bhrd7zp: "fl43uef",
190
+ Bg96gwp: "f1i3iumi",
191
+ mc9l5x: "f1rvi9lw",
192
+ Fd1uvx: "fpfc2by",
193
+ Bh9c35c: "fvvof4m",
194
+ Bmxbyg5: "f1sil6mw",
195
+ Biipf1f: "f9ijwd5"
168
196
  },
169
197
  actions: {
198
+ nk6f5a: 0,
199
+ Ijaq50: 0,
200
+ h3tjnc: "f3hl5xl",
201
+ Bw0ie65: 0,
202
+ Br312pm: 0,
203
+ Beweih1: "f14q5zaz",
204
+ qhf8xq: "f10pi13n",
170
205
  jrapky: 0,
171
206
  Frg6f3: 0,
172
207
  t21cq0: 0,
@@ -175,13 +210,6 @@ const useStyles = (0, _reactcomponents.__styles)({
175
210
  "foizga4",
176
211
  "f5m8a6r"
177
212
  ],
178
- qhf8xq: "f10pi13n",
179
- nk6f5a: 0,
180
- Ijaq50: 0,
181
- h3tjnc: "f3hl5xl",
182
- Bw0ie65: 0,
183
- Br312pm: 0,
184
- Beweih1: "f14q5zaz",
185
213
  abs64n: "f5p0z4x",
186
214
  Bn62ygk: 0,
187
215
  Cwk7ip: 0,
@@ -190,7 +218,20 @@ const useStyles = (0, _reactcomponents.__styles)({
190
218
  Bkqvd7p: 0,
191
219
  Bi2q7bf: "f1964ud6"
192
220
  },
221
+ actionsWithCategory: {
222
+ De3pzq: "fxugw4r",
223
+ E5pizo: [
224
+ "f1u7pq1e",
225
+ "f1pdyzui"
226
+ ]
227
+ },
193
228
  prompt: {
229
+ nk6f5a: 0,
230
+ Ijaq50: 0,
231
+ h3tjnc: "f1daok31",
232
+ Bw0ie65: 0,
233
+ Br312pm: 0,
234
+ Beweih1: "f1eb8yyf",
194
235
  Bahqtrf: "fk6fouc",
195
236
  Be2twd7: "fkhj508",
196
237
  Bhrd7zp: "fl43uef",
@@ -198,13 +239,28 @@ const useStyles = (0, _reactcomponents.__styles)({
198
239
  mc9l5x: "f1rvi9lw",
199
240
  Fd1uvx: "fpfc2by",
200
241
  Bh9c35c: "f1lvsx7g",
201
- Bmxbyg5: "f1sil6mw"
242
+ Bmxbyg5: "f1sil6mw",
243
+ Biipf1f: "f9ijwd5"
244
+ },
245
+ promptNoReasonMarker: {
246
+ Bh9c35c: "f197wrh9"
202
247
  },
203
248
  reasonMarker: {
249
+ nk6f5a: 0,
250
+ Ijaq50: 0,
251
+ h3tjnc: "f17e42vn",
252
+ Bw0ie65: 0,
253
+ Br312pm: 0,
254
+ Beweih1: "f1eb8yyf",
204
255
  Bahqtrf: "fk6fouc",
205
256
  Be2twd7: "f13mqy1h",
206
257
  Bhrd7zp: "figsok6",
207
- Bg96gwp: "fcpl73t"
258
+ Bg96gwp: "fcpl73t",
259
+ mc9l5x: "f1rvi9lw",
260
+ Fd1uvx: "fpfc2by",
261
+ Bh9c35c: "fvvof4m",
262
+ Bmxbyg5: "f1sil6mw",
263
+ Biipf1f: "f9ijwd5"
208
264
  }
209
265
  }, {
210
266
  d: [
@@ -220,9 +276,10 @@ const useStyles = (0, _reactcomponents.__styles)({
220
276
  p: -1
221
277
  }
222
278
  ],
223
- ".f22iagw{display:flex;}",
224
- ".f1vx9l62{flex-direction:column;}",
225
279
  ".f10pi13n{position:relative;}",
280
+ ".f13qh94s{display:grid;}",
281
+ ".fwggfk1{grid-template-columns:max-content 1fr;}",
282
+ ".f1wv14k0{grid-auto-rows:max-content 1fr max-content;}",
226
283
  [
227
284
  ".f14w4nd{border-radius:28px;}",
228
285
  {
@@ -236,7 +293,8 @@ const useStyles = (0, _reactcomponents.__styles)({
236
293
  ".f1s6fcnf{outline-style:none;}",
237
294
  ".f1o700av{text-align:left;}",
238
295
  ".fes3tcz{text-align:right;}",
239
- ".fylz90v{row-gap:var(--spacingHorizontalS);}",
296
+ ".f6ave1s{column-gap:var(--spacingHorizontalMNudge);}",
297
+ ".f1wn3y0l{row-gap:var(--spacingVerticalS);}",
240
298
  [
241
299
  ".fq88wcj{padding:var(--spacingVerticalL) var(--spacingHorizontalL);}",
242
300
  {
@@ -287,20 +345,43 @@ const useStyles = (0, _reactcomponents.__styles)({
287
345
  p: -1
288
346
  }
289
347
  ],
348
+ ".f22iagw{display:flex;}",
290
349
  ".f122n59{align-items:center;}",
291
350
  ".fntfeoj{min-height:var(--spacingVerticalXXL);}",
292
351
  [
293
- ".foizga4{margin:var(--spacingVerticalL) var(--spacingHorizontalL) var(--spacingVerticalNone) var(--spacingHorizontalNone);}",
352
+ ".fm1owph{grid-row:1;}",
294
353
  {
295
354
  p: -1
296
355
  }
297
356
  ],
298
357
  [
299
- ".f5m8a6r{margin:var(--spacingVerticalL) var(--spacingHorizontalNone) var(--spacingVerticalNone) var(--spacingHorizontalL);}",
358
+ ".f12k0sjh{grid-column:1/2;}",
359
+ {
360
+ p: -1
361
+ }
362
+ ],
363
+ [
364
+ ".fm1owph{grid-row:1;}",
365
+ {
366
+ p: -1
367
+ }
368
+ ],
369
+ [
370
+ ".f14q5zaz{grid-column:2/3;}",
300
371
  {
301
372
  p: -1
302
373
  }
303
374
  ],
375
+ ".f7nlbp4{align-self:center;}",
376
+ ".f19n0e5{color:var(--colorNeutralForeground1);}",
377
+ ".fkhj508{font-size:var(--fontSizeBase300);}",
378
+ ".fl43uef{font-weight:var(--fontWeightSemibold);}",
379
+ ".f1i3iumi{line-height:var(--lineHeightBase300);}",
380
+ ".f1rvi9lw{display:-webkit-box;}",
381
+ ".fpfc2by{-webkit-box-orient:vertical;}",
382
+ ".fvvof4m{-webkit-line-clamp:1;}",
383
+ ".f1sil6mw{overflow-y:hidden;}",
384
+ ".f9ijwd5{word-break:break-word;}",
304
385
  [
305
386
  ".f3hl5xl{grid-row:1/2;}",
306
387
  {
@@ -313,6 +394,18 @@ const useStyles = (0, _reactcomponents.__styles)({
313
394
  p: -1
314
395
  }
315
396
  ],
397
+ [
398
+ ".foizga4{margin:var(--spacingVerticalL) var(--spacingHorizontalL) var(--spacingVerticalNone) var(--spacingHorizontalNone);}",
399
+ {
400
+ p: -1
401
+ }
402
+ ],
403
+ [
404
+ ".f5m8a6r{margin:var(--spacingVerticalL) var(--spacingHorizontalNone) var(--spacingVerticalNone) var(--spacingHorizontalL);}",
405
+ {
406
+ p: -1
407
+ }
408
+ ],
316
409
  ".f5p0z4x{opacity:1;}",
317
410
  [
318
411
  ".f1964ud6{transition:opacity var(--durationFast) var(--curveLinear);}",
@@ -320,13 +413,34 @@ const useStyles = (0, _reactcomponents.__styles)({
320
413
  p: -1
321
414
  }
322
415
  ],
323
- ".fkhj508{font-size:var(--fontSizeBase300);}",
324
- ".fl43uef{font-weight:var(--fontWeightSemibold);}",
325
- ".f1i3iumi{line-height:var(--lineHeightBase300);}",
326
- ".f1rvi9lw{display:-webkit-box;}",
327
- ".fpfc2by{-webkit-box-orient:vertical;}",
416
+ ".f1u7pq1e{box-shadow:-12px 0 12px 0 var(--colorNeutralBackground1);}",
417
+ ".f1pdyzui{box-shadow:12px 0 12px 0 var(--colorNeutralBackground1);}",
418
+ [
419
+ ".f1daok31{grid-row:2;}",
420
+ {
421
+ p: -1
422
+ }
423
+ ],
424
+ [
425
+ ".f1eb8yyf{grid-column:1/3;}",
426
+ {
427
+ p: -1
428
+ }
429
+ ],
328
430
  ".f1lvsx7g{-webkit-line-clamp:2;}",
329
- ".f1sil6mw{overflow-y:hidden;}",
431
+ ".f197wrh9{-webkit-line-clamp:3;}",
432
+ [
433
+ ".f17e42vn{grid-row:3;}",
434
+ {
435
+ p: -1
436
+ }
437
+ ],
438
+ [
439
+ ".f1eb8yyf{grid-column:1/3;}",
440
+ {
441
+ p: -1
442
+ }
443
+ ],
330
444
  ".f13mqy1h{font-size:var(--fontSizeBase100);}",
331
445
  ".figsok6{font-weight:var(--fontWeightRegular);}",
332
446
  ".fcpl73t{line-height:var(--lineHeightBase100);}"
@@ -360,6 +474,13 @@ const useStyles = (0, _reactcomponents.__styles)({
360
474
  });
361
475
  const useSingleColumnStyles = (0, _reactcomponents.__styles)({
362
476
  primaryAction: {
477
+ mc9l5x: "f22iagw",
478
+ Beiy3e4: "f1vx9l62",
479
+ Byoj8tv: 0,
480
+ uwmqm3: 0,
481
+ z189sj: 0,
482
+ z8tnut: 0,
483
+ B0ocmuz: "fcvcxyf",
363
484
  Beyfa6y: 0,
364
485
  Bbmb7ep: 0,
365
486
  Btl43ni: 0,
@@ -424,14 +545,30 @@ const useSingleColumnStyles = (0, _reactcomponents.__styles)({
424
545
  "f4stah7"
425
546
  ]
426
547
  },
548
+ category: {
549
+ Bahqtrf: "fk6fouc",
550
+ Be2twd7: "fy9rknc",
551
+ Bhrd7zp: "fl43uef",
552
+ Bg96gwp: "fwrc4pm",
553
+ qb2dma: "fio29c6"
554
+ },
427
555
  prompt: {
428
556
  Bahqtrf: "fk6fouc",
429
557
  Be2twd7: "fy9rknc",
430
558
  Bhrd7zp: "fl43uef",
431
- Bg96gwp: "fwrc4pm"
559
+ Bg96gwp: "fwrc4pm",
560
+ Bh9c35c: "f1lvsx7g"
432
561
  }
433
562
  }, {
434
563
  d: [
564
+ ".f22iagw{display:flex;}",
565
+ ".f1vx9l62{flex-direction:column;}",
566
+ [
567
+ ".fcvcxyf{padding:var(--spacingVerticalM) var(--spacingHorizontalM);}",
568
+ {
569
+ p: -1
570
+ }
571
+ ],
435
572
  [
436
573
  ".f1jxijnj{border-radius:var(--borderRadius2XL);}",
437
574
  {
@@ -465,7 +602,9 @@ const useSingleColumnStyles = (0, _reactcomponents.__styles)({
465
602
  ".fk6fouc{font-family:var(--fontFamilyBase);}",
466
603
  ".fy9rknc{font-size:var(--fontSizeBase200);}",
467
604
  ".fl43uef{font-weight:var(--fontWeightSemibold);}",
468
- ".fwrc4pm{line-height:var(--lineHeightBase200);}"
605
+ ".fwrc4pm{line-height:var(--lineHeightBase200);}",
606
+ ".fio29c6{align-self:auto;}",
607
+ ".f1lvsx7g{-webkit-line-clamp:2;}"
469
608
  ],
470
609
  f: [
471
610
  ".ftqa4ok:focus{outline-style:none;}"
@@ -505,12 +644,15 @@ const usePromptStarterStyles_unstable = (state)=>{
505
644
  if (state.icon) {
506
645
  state.icon.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.icon, styles.icon, state.icon.className);
507
646
  }
508
- state.prompt.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.prompt, styles.prompt, isSingleColumn && singleColumnStyles.prompt, state.prompt.className);
647
+ if (state.category) {
648
+ state.category.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.category, styles.category, isSingleColumn && singleColumnStyles.category, state.category.className);
649
+ }
650
+ state.prompt.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.prompt, styles.prompt, !state.reasonMarker && styles.promptNoReasonMarker, isSingleColumn && singleColumnStyles.prompt, state.prompt.className);
509
651
  if (state.reasonMarker) {
510
652
  state.reasonMarker.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.reasonMarker, styles.reasonMarker, state.reasonMarker.className);
511
653
  }
512
654
  if (state.actions) {
513
- state.actions.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.actions, styles.actions, state.actions.className);
655
+ state.actions.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.actions, styles.actions, state.category && styles.actionsWithCategory, state.actions.className);
514
656
  }
515
657
  return state;
516
658
  }; //# sourceMappingURL=usePromptStarterStyles.styles.js.map
@@ -1 +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 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 display: 'flex',\n flexDirection: 'column',\n position: 'relative',\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 rowGap: tokens.spacingHorizontalS,\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 },\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 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 },\n reasonMarker: {\n ...typographyStyles.caption2,\n },\n});\n\nconst useSingleColumnStyles = makeStyles({\n primaryAction: {\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 state.prompt.className = mergeClasses(\n promptStarterClassNames.prompt,\n styles.prompt,\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(promptStarterClassNames.actions, styles.actions, state.actions.className);\n }\n\n return state;\n};\n"],"names":["promptStarterClassNames","root","primaryAction","icon","prompt","reasonMarker","actions","useRootResetStyles","makeResetStyles","display","__styles","gridTemplateColumns","gridTemplateRows","minWidth","h3tjnc","Bw0ie65","boxShadow","transform","transition","Beyfa6y","Bbmb7ep","Bahqtrf","Bceei9c","oeaueh","clip","height","margin","overflow","padding","width","position","opacity","ibv6hh","icvyot","vrafjx","useStyles","makeStyles","gridRow","gridColumn","flexDirection","borderRadius","backgroundColor","color","fontFamily","tokens","fontFamilyBase","cursor","outlineStyle","textAlign","rowGap","spacingHorizontalS","shorthands","border","strokeWidthThin","createFocusOutlineStyle","style","Boxcth7","primaryActionHovered","Blkhhs4","alignItems","minHeight","clg4pj","Bkh64rk","typographyStyles","E5pizo","Cwk7ip","B3o57yi","Bmy1vo4","useSingleColumnStyles","Frg6f3","t21cq0","B6of3ja","usePromptStarterStyles_unstable","B74szlk","qhf8xq","isSingleColumn","nk6f5a","styles","Ijaq50","rootResetStyles","singleColumnStyles","state","Beweih1","Bn62ygk","Bkqvd7p","Bi2q7bf","Be2twd7"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAYaA,uBAAAA;eAAAA;;;;;;iCANY;AAMlB,MAAMA,0BAA8D;UACzEC;mBACAC;UACAC;YACAC;kBACAC;aACAC;AACF;AAEA,MAAMC,qBAAqBC,IAAAA,8BAAAA,EAAAA,YAAgB,MAAA;IAAA;IAAA;IAAA;IAAA;CAAA;MACzCC,YAASC,IAAAA,yBAAA,EAAA;mBACTC;QACAC,QAAAA;QACAC,QAAAA;QAEAC,QAAA;QACAC,SAAA;iBACO;iBACHC;gBACAC;iBACAC;gBACF;QACFC,SAAA;QACAC,SAAA;iBACO;iBACHJ;gBACAC;gBACAC;gBACF;QACFG,SAAA;QAEAC,SAAA;QACAC,QAAA;gBACI;YAAG;YAAEvB;SAAAA;iBACLwB;iBACAC;gBACAC;gBACAC;gBACAC;iBACAC;iBACAC;iBACAC;YAAAA;YAAS;SAAA;iBACX;QACFC,QAAA;YAAA;YAAA;SAAA;QACFC,QAAA;QAEAC,QAAMC;YAAAA;YAAYC;SAAW;QAC3BlC,QAAAA;gBACEmC;YAAAA;YAAS;SAAA;gBACTC;gBACA7B;YAAAA;YAAS;SAAA;iBACT8B;gBACAT;YAAAA;YAAU;SAAA;iBACVU;iBACAC;iBACAC;iBACAC;YAAAA;YAAYC;SAAOC;gBACnBC;iBACAC;YAAAA;YAAc;SAAA;iBACdC;iBACAC;YAAAA;YAAeC;SAAAA;iBACftB;iBACGuB;YAAAA;YAAWC;SAAcC;iBACzBC;iBAA0BC;;iBAA+B;gBAAI;QAClEC,SAAA;QAEAC,SAAAA;gBACEzC;iBACAC;iBACAC;QACFwC,SAAA;QAEAvD,SAAM;gBACJM;gBACAkD;gBACAC;QACFC,QAAA;QACAvD,SAAS;iBACPoB;iBACS;iBACTI;gBACAO;gBACAC;iBAEAP;gBACAb;QACF4C,SAAA;QACA1D,QAAQ;gBACH2D;iBAEH;YAAA;YAAA;SAAA;iBACAtD;gBACA;YAAA;YAAA;SAAsB;;0BAEX;QACbuD,QAAA;QACA3D,SAAAA;iBACK0D;QACLE,QAAA;QACFC,SAAA;QAEAC,SAAMC;QACJlE,SAAAA;iBACEsC;;;;iBAC4E;gBAAI;;aAElFpC;gBACK2D;QACLM,QAAA;QACFC,QAAA;QAEAC,SAAaC;QACXC,SAAA;YAAA;YAAA;SAAA;QAEAC,QAAQC;QAERC,QAAMC;QACNC,QAAMC;QACNjE,QAAMkE;QACNC,SAAMhF;QACNgF,SAAM/E;QAMNgF,SAAID;gBACFA;QACFE,SAAA;QACAF,QAAM7E;QAMN8D,SAAIe;iBACFA;QAKFG,SAAA;QACAC,SAAIJ;;YAEJ;QAEA5D,SAAO4D;QACPK,SAAA"}
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 gridRow: 1,\n gridColumn: '2 / 3',\n alignSelf: 'center',\n\n color: tokens.colorNeutralForeground1,\n ...typographyStyles.body1Strong,\n\n // Truncate text after one line.\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': '1',\n overflowY: 'hidden',\n wordBreak: 'break-word',\n },\n actions: {\n gridRow: '1 / 2',\n gridColumn: '2 / 3',\n position: 'relative',\n margin: `${tokens.spacingVerticalL} ${tokens.spacingHorizontalL}\n ${tokens.spacingVerticalNone} ${tokens.spacingHorizontalNone}`,\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 gridRow: '2',\n gridColumn: '1 / 3',\n\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 wordBreak: 'break-word',\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\n ...typographyStyles.caption2,\n\n // Truncate text after one line.\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': '1',\n overflowY: 'hidden',\n wordBreak: 'break-word',\n },\n});\n\nconst useSingleColumnStyles = makeStyles({\n primaryAction: {\n display: 'flex',\n flexDirection: 'column',\n padding: `${tokens.spacingVerticalM} ${tokens.spacingHorizontalM}`,\n borderRadius: tokens.borderRadius2XL,\n ...createFocusOutlineStyle({ style: { outlineRadius: tokens.borderRadius2XL } }),\n },\n category: {\n ...typographyStyles.caption1Strong,\n alignSelf: 'auto',\n },\n prompt: {\n ...typographyStyles.caption1Strong,\n\n // Always truncate after two lines in single column layout.\n '-webkit-line-clamp': '2',\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 isSingleColumn && singleColumnStyles.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":["promptStarterClassNames","root","primaryAction","icon","category","prompt","reasonMarker","actions","useRootResetStyles","makeResetStyles","display","__styles","gridTemplateColumns","gridTemplateRows","minWidth","h3tjnc","Bw0ie65","boxShadow","transform","transition","v29qe6","Beyfa6y","sj55zd","Bahqtrf","Bceei9c","clip","height","margin","overflow","padding","width","position","opacity","Bekrc4i","Bn0qgzm","ibv6hh","useStyles","makeStyles","gridRow","gridColumn","gridAutoRows","borderRadius","backgroundColor","color","fontFamily","cursor","outlineStyle","textAlign","columnGap","rowGap","spacingVerticalS","shorthands","border","strokeWidthThin","createFocusOutlineStyle","style","Boxcth7","primaryActionHovered","Blkhhs4","alignItems","minHeight","B6dhp37","alignSelf","typographyStyles","overflowY","wordBreak","Bi2q7bf","sshi5w","promptNoReasonMarker","qb2dma","nk6f5a","useSingleColumnStyles","flexDirection","B74szlk","B3o57yi","De3pzq","E5pizo","usePromptStarterStyles_unstable","styles","Ijaq50","rootResetStyles","singleColumnStyles","state","Beweih1","Be2twd7","Bhrd7zp","mc9l5x","Bh9c35c","Biipf1f","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAYaA,uBAAAA;eAAAA;;;;;;iCANY;AAMlB,MAAMA,0BAA8D;UACzEC;mBACAC;UACAC;cACAC;YACAC;kBACAC;aACAC;AACF;AAEA,MAAMC,qBAAqBC,IAAAA,8BAAAA,EAAAA,YAAgB,MAAA;IAAA;IAAA;IAAA;IAAA;CAAA;MACzCC,YAASC,IAAAA,yBAAA,EAAA;mBACTC;QACAC,QAAAA;QACAC,QAAAA;QAEAC,QAAA;QACAC,SAAA;iBACO;iBACHC;gBACAC;gBACAC;iBACF;QACFC,QAAA;QACAC,SAAA;iBACO;iBACHJ;iBACAC;gBACAC;gBACF;QACFG,QAAA;QAEAC,SAAA;QACAC,SAAA;gBACI;gBACAC;YAAAA;YAAM;SAAA;gBACNC;iBACAC;iBACAC;gBACAC;gBACAC;gBACAC;iBACAC;iBACF;QACFC,SAAA;YAAA;YAAA;SAAA;QACFC,SAAA;QAEAC,QAAMC;YAAAA;YAAYC;SAAW;QAC3BnC,QAAAA;gBACEoC;YAAAA;YAAS;SAAA;gBACTC;gBACAR;YAAAA;YAAU;SAAA;gBACVrB;gBACAE;YAAAA;YAAAA;SAAqB;iBACrB4B;gBACAC;YAAAA;YAAc;SAAA;iBACdC;iBACAC;iBACAC;iBACAC;YAAAA;YAAQ;SAAA;gBACRC;iBACAC;YAAAA;YAAW;SAAA;iBACXC;iBACAC;YAAAA;YAAeC;SAAAA;iBACfrB;iBACGsB;YAAAA;YAAWC;SAAcC;iBACzBC;iBAA0BC;;iBAA+B;gBAAI;QAClEC,SAAA;QAEAC,SAAAA;gBACExC;iBACAC;iBACAC;QACFuC,SAAA;QAEAvD,SAAM;gBACJO;gBACAiD;gBACAC;gBACAtB;iBACAC;QACFsB,SAAA;QACAzD,SAAAA;iBACEkC;gBACAC;gBACAuB;iBAEAnB;gBACGoB;iBAEH;gBACArD;gBACA;iBACA;YAAA;YAAA;SAAsB;iBACtBsD;gBACAC;YAAAA;YAAW;SAAA;;0BAEJ;gBACP3B;iBACAC;iBACAR;gBACAJ;iBACS;iBACTK;iBACAb;QACF+C,SAAA;;UAEE;gBACAxB;iBAEAzB;QACFkD,QAAA;QACA9D,QAAQ;gBACNiC;gBACAC;iBAEGwB;iBAEH;iBACArD;;cAEA;gBACAsD;gBACAC;QACFlD,QAAA;QACAqD,SAAAA;iBACE;iBACA;QACFC,QAAA;QACA/D,QAAAA;iBACEgC;iBACAC;iBAEGwB;iBAEH;gBACArD;gBACA;iBACA;iBACAsD;iBACAC;;IAEJ1D,SAAA;QAEA+D,QAAMC;QACJrE,QAAAA;gBACEQ;iBACA8D;iBACA3C;iBACAY;gBACGa;gBAA0BC;;gBAA+C;iBAAI;QAClFkB,SAAA;YAAA;YAAA;SAAA;QACArE,QAAAA;iBACK2D;gBACHD;QACFY,SAAA;QACArE,SAAQ;iBACH0D;iBAEH;;yBAEF;QACFY,QAAA;QAEAC,QAAO;YAAMC;YAAAA;SAAAA;;YAGL;QAENP,QAAMQ;QACNC,QAAMC;QACNjE,QAAMkE;QACNC,SAAMjF;QACNiF,SAAMhF;QAMNiF,SAAID;iBACFA;QACFE,SAAA;QACAC,SAAIH;iBACFA;QAMFI,QAAA;QACAJ,QAAM7E;QAONkF,SAAIL;iBACFA;QAKFM,SAAA;;0BAEgBC;QAMhBF,SAAA;;IAGAjF,cAAA"}
@@ -22,6 +22,7 @@ const promptStarterClassNames = {
22
22
  root: 'fai-PromptStarter',
23
23
  primaryAction: 'fai-PromptStarter__primaryAction',
24
24
  icon: 'fai-PromptStarter__icon',
25
+ category: 'fai-PromptStarter__category',
25
26
  prompt: 'fai-PromptStarter__prompt',
26
27
  reasonMarker: 'fai-PromptStarter__reasonMarker',
27
28
  actions: 'fai-PromptStarter__actions'
@@ -64,9 +65,10 @@ const useStyles = (0, _reactcomponents.makeStyles)({
64
65
  primaryAction: {
65
66
  gridRow: '1 / 3',
66
67
  gridColumn: '1 / 3',
67
- display: 'flex',
68
- flexDirection: 'column',
69
68
  position: 'relative',
69
+ display: 'grid',
70
+ gridTemplateColumns: 'max-content 1fr',
71
+ gridAutoRows: 'max-content 1fr max-content',
70
72
  borderRadius: '28px',
71
73
  backgroundColor: _tokens.tokens.colorNeutralBackground1,
72
74
  color: _tokens.tokens.colorNeutralForeground2,
@@ -74,7 +76,8 @@ const useStyles = (0, _reactcomponents.makeStyles)({
74
76
  cursor: 'pointer',
75
77
  outlineStyle: 'none',
76
78
  textAlign: 'left',
77
- rowGap: _tokens.tokens.spacingHorizontalS,
79
+ columnGap: _tokens.tokens.spacingHorizontalMNudge,
80
+ rowGap: _tokens.tokens.spacingVerticalS,
78
81
  padding: `${_tokens.tokens.spacingVerticalL} ${_tokens.tokens.spacingHorizontalL}`,
79
82
  ..._reactcomponents.shorthands.border(_tokens.tokens.strokeWidthThin, 'solid', _tokens.tokens.colorNeutralStroke2),
80
83
  ...(0, _reactcomponents.createFocusOutlineStyle)({
@@ -91,31 +94,69 @@ const useStyles = (0, _reactcomponents.makeStyles)({
91
94
  icon: {
92
95
  display: 'flex',
93
96
  alignItems: 'center',
94
- minHeight: _tokens.tokens.spacingVerticalXXL
97
+ minHeight: _tokens.tokens.spacingVerticalXXL,
98
+ gridRow: 1,
99
+ gridColumn: '1 / 2'
100
+ },
101
+ category: {
102
+ gridRow: 1,
103
+ gridColumn: '2 / 3',
104
+ alignSelf: 'center',
105
+ color: _tokens.tokens.colorNeutralForeground1,
106
+ ..._reactcomponents.typographyStyles.body1Strong,
107
+ // Truncate text after one line.
108
+ display: '-webkit-box',
109
+ '-webkit-box-orient': 'vertical',
110
+ '-webkit-line-clamp': '1',
111
+ overflowY: 'hidden',
112
+ wordBreak: 'break-word'
95
113
  },
96
114
  actions: {
97
- margin: `${_tokens.tokens.spacingVerticalL} ${_tokens.tokens.spacingHorizontalL}
98
- ${_tokens.tokens.spacingVerticalNone} ${_tokens.tokens.spacingHorizontalNone}`,
99
- position: 'relative',
100
115
  gridRow: '1 / 2',
101
116
  gridColumn: '2 / 3',
117
+ position: 'relative',
118
+ margin: `${_tokens.tokens.spacingVerticalL} ${_tokens.tokens.spacingHorizontalL}
119
+ ${_tokens.tokens.spacingVerticalNone} ${_tokens.tokens.spacingHorizontalNone}`,
102
120
  opacity: 1,
103
121
  transition: `opacity ${_tokens.tokens.durationFast} ${_tokens.tokens.curveLinear}`
104
122
  },
123
+ actionsWithCategory: {
124
+ // Add a background and gradient fade to truncate the title if applicable
125
+ backgroundColor: _tokens.tokens.colorNeutralBackground1,
126
+ boxShadow: `-12px 0 12px 0 ${_tokens.tokens.colorNeutralBackground1}`
127
+ },
105
128
  prompt: {
129
+ gridRow: '2',
130
+ gridColumn: '1 / 3',
106
131
  ..._reactcomponents.typographyStyles.body1Strong,
107
132
  // Truncate text after two lines.
108
133
  display: '-webkit-box',
109
134
  '-webkit-box-orient': 'vertical',
110
135
  '-webkit-line-clamp': '2',
111
- overflowY: 'hidden'
136
+ overflowY: 'hidden',
137
+ wordBreak: 'break-word'
138
+ },
139
+ promptNoReasonMarker: {
140
+ // Truncate text after three lines when no reason marker is present.
141
+ '-webkit-line-clamp': '3'
112
142
  },
113
143
  reasonMarker: {
114
- ..._reactcomponents.typographyStyles.caption2
144
+ gridRow: '3',
145
+ gridColumn: '1 / 3',
146
+ ..._reactcomponents.typographyStyles.caption2,
147
+ // Truncate text after one line.
148
+ display: '-webkit-box',
149
+ '-webkit-box-orient': 'vertical',
150
+ '-webkit-line-clamp': '1',
151
+ overflowY: 'hidden',
152
+ wordBreak: 'break-word'
115
153
  }
116
154
  });
117
155
  const useSingleColumnStyles = (0, _reactcomponents.makeStyles)({
118
156
  primaryAction: {
157
+ display: 'flex',
158
+ flexDirection: 'column',
159
+ padding: `${_tokens.tokens.spacingVerticalM} ${_tokens.tokens.spacingHorizontalM}`,
119
160
  borderRadius: _tokens.tokens.borderRadius2XL,
120
161
  ...(0, _reactcomponents.createFocusOutlineStyle)({
121
162
  style: {
@@ -123,8 +164,14 @@ const useSingleColumnStyles = (0, _reactcomponents.makeStyles)({
123
164
  }
124
165
  })
125
166
  },
167
+ category: {
168
+ ..._reactcomponents.typographyStyles.caption1Strong,
169
+ alignSelf: 'auto'
170
+ },
126
171
  prompt: {
127
- ..._reactcomponents.typographyStyles.caption1Strong
172
+ ..._reactcomponents.typographyStyles.caption1Strong,
173
+ // Always truncate after two lines in single column layout.
174
+ '-webkit-line-clamp': '2'
128
175
  }
129
176
  });
130
177
  const usePromptStarterStyles_unstable = (state)=>{
@@ -138,12 +185,15 @@ const usePromptStarterStyles_unstable = (state)=>{
138
185
  if (state.icon) {
139
186
  state.icon.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.icon, styles.icon, state.icon.className);
140
187
  }
141
- state.prompt.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.prompt, styles.prompt, isSingleColumn && singleColumnStyles.prompt, state.prompt.className);
188
+ if (state.category) {
189
+ state.category.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.category, styles.category, isSingleColumn && singleColumnStyles.category, state.category.className);
190
+ }
191
+ state.prompt.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.prompt, styles.prompt, !state.reasonMarker && styles.promptNoReasonMarker, isSingleColumn && singleColumnStyles.prompt, state.prompt.className);
142
192
  if (state.reasonMarker) {
143
193
  state.reasonMarker.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.reasonMarker, styles.reasonMarker, state.reasonMarker.className);
144
194
  }
145
195
  if (state.actions) {
146
- state.actions.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.actions, styles.actions, state.actions.className);
196
+ state.actions.className = (0, _reactcomponents.mergeClasses)(promptStarterClassNames.actions, styles.actions, state.category && styles.actionsWithCategory, state.actions.className);
147
197
  }
148
198
  return state;
149
199
  };
@@ -1 +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 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 display: 'flex',\n flexDirection: 'column',\n position: 'relative',\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 rowGap: tokens.spacingHorizontalS,\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 },\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 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 },\n reasonMarker: {\n ...typographyStyles.caption2,\n },\n});\n\nconst useSingleColumnStyles = makeStyles({\n primaryAction: {\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 state.prompt.className = mergeClasses(\n promptStarterClassNames.prompt,\n styles.prompt,\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(promptStarterClassNames.actions, styles.actions, state.actions.className);\n }\n\n return state;\n};\n"],"names":["promptStarterClassNames","usePromptStarterStyles_unstable","root","primaryAction","icon","prompt","reasonMarker","actions","useRootResetStyles","makeResetStyles","display","gridTemplateColumns","gridTemplateRows","minWidth","boxShadow","tokens","shadow16","transform","transition","durationNormal","curveDecelerateMin","shadow8","clip","height","margin","overflow","padding","width","position","opacity","useStyles","makeStyles","gridRow","gridColumn","flexDirection","borderRadius","backgroundColor","colorNeutralBackground1","color","colorNeutralForeground2","fontFamily","fontFamilyBase","cursor","outlineStyle","textAlign","rowGap","spacingHorizontalS","spacingVerticalL","spacingHorizontalL","shorthands","border","strokeWidthThin","colorNeutralStroke2","createFocusOutlineStyle","style","outlineRadius","primaryActionHovered","alignItems","minHeight","spacingVerticalXXL","spacingVerticalNone","spacingHorizontalNone","durationFast","curveLinear","typographyStyles","body1Strong","overflowY","caption2","useSingleColumnStyles","borderRadius2XL","caption1Strong","state","isSingleColumn","styles","rootResetStyles","singleColumnStyles","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
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 gridRow: 1,\n gridColumn: '2 / 3',\n alignSelf: 'center',\n\n color: tokens.colorNeutralForeground1,\n ...typographyStyles.body1Strong,\n\n // Truncate text after one line.\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': '1',\n overflowY: 'hidden',\n wordBreak: 'break-word',\n },\n actions: {\n gridRow: '1 / 2',\n gridColumn: '2 / 3',\n position: 'relative',\n margin: `${tokens.spacingVerticalL} ${tokens.spacingHorizontalL}\n ${tokens.spacingVerticalNone} ${tokens.spacingHorizontalNone}`,\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 gridRow: '2',\n gridColumn: '1 / 3',\n\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 wordBreak: 'break-word',\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\n ...typographyStyles.caption2,\n\n // Truncate text after one line.\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': '1',\n overflowY: 'hidden',\n wordBreak: 'break-word',\n },\n});\n\nconst useSingleColumnStyles = makeStyles({\n primaryAction: {\n display: 'flex',\n flexDirection: 'column',\n padding: `${tokens.spacingVerticalM} ${tokens.spacingHorizontalM}`,\n borderRadius: tokens.borderRadius2XL,\n ...createFocusOutlineStyle({ style: { outlineRadius: tokens.borderRadius2XL } }),\n },\n category: {\n ...typographyStyles.caption1Strong,\n alignSelf: 'auto',\n },\n prompt: {\n ...typographyStyles.caption1Strong,\n\n // Always truncate after two lines in single column layout.\n '-webkit-line-clamp': '2',\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 isSingleColumn && singleColumnStyles.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":["promptStarterClassNames","usePromptStarterStyles_unstable","root","primaryAction","icon","category","prompt","reasonMarker","actions","useRootResetStyles","makeResetStyles","display","gridTemplateColumns","gridTemplateRows","minWidth","boxShadow","tokens","shadow16","transform","transition","durationNormal","curveDecelerateMin","shadow8","clip","height","margin","overflow","padding","width","position","opacity","useStyles","makeStyles","gridRow","gridColumn","gridAutoRows","borderRadius","backgroundColor","colorNeutralBackground1","color","colorNeutralForeground2","fontFamily","fontFamilyBase","cursor","outlineStyle","textAlign","columnGap","spacingHorizontalMNudge","rowGap","spacingVerticalS","spacingVerticalL","spacingHorizontalL","shorthands","border","strokeWidthThin","colorNeutralStroke2","createFocusOutlineStyle","style","outlineRadius","primaryActionHovered","alignItems","minHeight","spacingVerticalXXL","alignSelf","colorNeutralForeground1","typographyStyles","body1Strong","overflowY","wordBreak","spacingVerticalNone","spacingHorizontalNone","durationFast","curveLinear","actionsWithCategory","promptNoReasonMarker","caption2","useSingleColumnStyles","flexDirection","spacingVerticalM","spacingHorizontalM","borderRadius2XL","caption1Strong","state","isSingleColumn","styles","rootResetStyles","singleColumnStyles","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["PromptStarterList.types.ts"],"sourcesContent":["import type { DesignVersion } from '@fluentui-copilot/react-provider';\nimport type {\n ComponentProps,\n ComponentState,\n Slot,\n Button,\n UseArrowNavigationGroupOptions,\n} from '@fluentui/react-components';\n\nexport type PromptStarterListSlots = {\n root: NonNullable<Slot<'div'>>;\n gridWrapper: NonNullable<Slot<'div'>>;\n expandButton?: Slot<typeof Button>;\n};\n\n/**\n * PromptStarterList Props\n */\nexport type PromptStarterListProps = ComponentProps<Partial<PromptStarterListSlots>, 'gridWrapper'> &\n DesignVersion & {\n /**\n * Text for the expand button when the list is collapsed.\n *\n * default: \"Show more\"\n */\n expandButtonLabel?: string;\n /**\n * Text for the expand button when the list is expanded.\n *\n * default: \"Show less\"\n */\n collapseButtonLabel?: string;\n /**\n * Arrow navigation options. This can be used to customize Tabster's direction,\n * tab behavior, and memoization options.\n *\n * default: { axis: 'horizontal', memorizeCurrent: true }\n */\n arrowNavigationOptions?: UseArrowNavigationGroupOptions;\n };\n\n/**\n * State used in rendering PromptStarterList\n */\nexport type PromptStarterListState = ComponentState<PromptStarterListSlots> &\n Required<Pick<PromptStarterListProps, 'designVersion'>> & {\n numberOfColumns: number;\n isExpanded?: boolean;\n };\n\nexport type PromptStarterListContextValue = Pick<PromptStarterListState, 'numberOfColumns' | 'isExpanded'>;\n"],"names":[],"rangeMappings":"","mappings":""}
1
+ {"version":3,"sources":["PromptStarterList.types.ts"],"sourcesContent":["import type { DesignVersion } from '@fluentui-copilot/react-provider';\nimport type {\n ComponentProps,\n ComponentState,\n Slot,\n Button,\n UseArrowNavigationGroupOptions,\n} from '@fluentui/react-components';\n\nexport type PromptStarterListSlots = {\n root: NonNullable<Slot<'div'>>;\n gridWrapper: NonNullable<Slot<'div'>>;\n actions?: Slot<'span'>;\n expandButton?: Slot<typeof Button>;\n};\n\n/**\n * PromptStarterList Props\n */\nexport type PromptStarterListProps = ComponentProps<Partial<PromptStarterListSlots>, 'gridWrapper'> &\n DesignVersion & {\n /**\n * Uncontrolled initial value for the expanded prop.\n *\n * @default false\n */\n defaultExpanded?: boolean;\n\n /**\n * Controls whether the PromptStarterList is expanded.\n */\n isExpanded?: boolean;\n\n /**\n * Callback to execute when the expanded state changes.\n */\n onExpandedChange?: (event: React.MouseEvent<HTMLElement>, data: { isExpanded: boolean }) => void;\n\n /**\n * Text for the expand button when the list is collapsed.\n *\n * default: \"Show more\"\n */\n expandButtonLabel?: string;\n\n /**\n * Text for the expand button when the list is expanded.\n *\n * default: \"Show less\"\n */\n collapseButtonLabel?: string;\n\n /**\n * Arrow navigation options. This can be used to customize Tabster's direction,\n * tab behavior, and memoization options.\n *\n * default: { axis: 'horizontal', memorizeCurrent: true }\n */\n arrowNavigationOptions?: UseArrowNavigationGroupOptions;\n\n /**\n * Whether to animate the entrance of its items when it first mounts.\n *\n * @default true\n */\n animateOnMount?: boolean;\n\n /**\n * The number of rows that are visible in the two and three column layouts.\n * In the one column layout, there will always be three visible PromptStarters.\n *\n * @default 1\n */\n visibleRows?: number;\n };\n\n/**\n * State used in rendering PromptStarterList\n */\nexport type PromptStarterListState = ComponentState<PromptStarterListSlots> &\n Required<Pick<PromptStarterListProps, 'designVersion'>> & {\n numberOfColumns: number;\n isExpanded?: boolean;\n };\n\nexport type PromptStarterListContextValue = Pick<PromptStarterListState, 'numberOfColumns' | 'isExpanded'>;\n"],"names":[],"rangeMappings":"","mappings":""}
@@ -22,6 +22,7 @@ const renderPromptStarterList_unstable = (state, contextValue)=>{
22
22
  children: state.root.children
23
23
  })
24
24
  }),
25
+ state.actions && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.actions, {}),
25
26
  state.expandButton && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.expandButton, {})
26
27
  ]
27
28
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["renderPromptStarterList.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots, PresenceGroup } from '@fluentui/react-components';\nimport { PromptStarterListProvider } from '../../../contexts/PromptStarterListContext';\nimport type {\n PromptStarterListState,\n PromptStarterListSlots,\n PromptStarterListContextValue,\n} from './PromptStarterList.types';\n\n/**\n * Render the final JSX of PromptStarterList\n */\nexport const renderPromptStarterList_unstable = (\n state: PromptStarterListState,\n contextValue: PromptStarterListContextValue,\n) => {\n assertSlots<PromptStarterListSlots>(state);\n\n return (\n <PromptStarterListProvider value={contextValue}>\n <state.root>\n <PresenceGroup>\n <state.gridWrapper>{state.root.children}</state.gridWrapper>\n </PresenceGroup>\n {state.expandButton && <state.expandButton />}\n </state.root>\n </PromptStarterListProvider>\n );\n};\n"],"names":["renderPromptStarterList_unstable","state","contextValue","assertSlots","_jsx","PromptStarterListProvider","value","_jsxs","root","PresenceGroup","gridWrapper","children","expandButton"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAcaA;;;eAAAA;;;4BAbb;iCAE2C;0CACD;AAUnC,MAAMA,mCAAmC,CAC9CC,OACAC;IAEAC,IAAAA,4BAAAA,EAAoCF;IAEpC,OAAA,WAAA,GACEG,IAAAA,eAAA,EAACC,mDAAAA,EAAAA;QAA0BC,OAAOJ;kBAChC,WAAA,GAAAK,IAAAA,gBAAA,EAACN,MAAMO,IAAI,EAAA;;8BACTJ,IAAAA,eAAA,EAACK,8BAAAA,EAAAA;8BACC,WAAA,GAAAL,IAAAA,eAAA,EAACH,MAAMS,WAAW,EAAA;kCAAET,MAAMO,IAAI,CAACG,QAAQ;;;gBAExCV,MAAMW,YAAY,IAAA,WAAA,GAAIR,IAAAA,eAAA,EAACH,MAAMW,YAAY,EAAA,CAAA;;;;AAIlD"}
1
+ {"version":3,"sources":["renderPromptStarterList.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots, PresenceGroup } from '@fluentui/react-components';\nimport type { JSXElement } from '@fluentui/react-components';\nimport { PromptStarterListProvider } from '../../../contexts/PromptStarterListContext';\nimport type {\n PromptStarterListState,\n PromptStarterListSlots,\n PromptStarterListContextValue,\n} from './PromptStarterList.types';\n\n/**\n * Render the final JSX of PromptStarterList\n */\nexport const renderPromptStarterList_unstable = (\n state: PromptStarterListState,\n contextValue: PromptStarterListContextValue,\n): JSXElement => {\n assertSlots<PromptStarterListSlots>(state);\n\n return (\n <PromptStarterListProvider value={contextValue}>\n <state.root>\n <PresenceGroup>\n <state.gridWrapper>{state.root.children}</state.gridWrapper>\n </PresenceGroup>\n {state.actions && <state.actions />}\n {state.expandButton && <state.expandButton />}\n </state.root>\n </PromptStarterListProvider>\n );\n};\n"],"names":["renderPromptStarterList_unstable","state","contextValue","assertSlots","_jsx","PromptStarterListProvider","value","_jsxs","root","PresenceGroup","gridWrapper","children","actions","expandButton"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAeaA;;;eAAAA;;;4BAdb;iCAE2C;0CAED;AAUnC,MAAMA,mCAAmC,CAC9CC,OACAC;IAEAC,IAAAA,4BAAAA,EAAoCF;IAEpC,OAAA,WAAA,GACEG,IAAAA,eAAA,EAACC,mDAAAA,EAAAA;QAA0BC,OAAOJ;kBAChC,WAAA,GAAAK,IAAAA,gBAAA,EAACN,MAAMO,IAAI,EAAA;;8BACTJ,IAAAA,eAAA,EAACK,8BAAAA,EAAAA;8BACC,WAAA,GAAAL,IAAAA,eAAA,EAACH,MAAMS,WAAW,EAAA;kCAAET,MAAMO,IAAI,CAACG,QAAQ;;;gBAExCV,MAAMW,OAAO,IAAA,WAAA,GAAIR,IAAAA,eAAA,EAACH,MAAMW,OAAO,EAAA,CAAA;gBAC/BX,MAAMY,YAAY,IAAA,WAAA,GAAIT,IAAAA,eAAA,EAACH,MAAMY,YAAY,EAAA,CAAA;;;;AAIlD"}