@box/box-ai-content-answers 0.156.3 → 0.158.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/esm/lib/components/answer/answer.js +113 -101
  2. package/dist/esm/lib/components/answer/messages.js +4 -0
  3. package/dist/esm/lib/components/chat/chat.js +70 -68
  4. package/dist/esm/lib/components/content/content.js +25 -25
  5. package/dist/esm/lib/components/thinkingBubble/boxAILoadingIndicator.js +28 -21
  6. package/dist/esm/lib/components/thinkingBubble/thinkingBubble.js +81 -78
  7. package/dist/esm/lib/components/welcome-message/messages.js +2 -2
  8. package/dist/i18n/bn-IN.js +3 -2
  9. package/dist/i18n/bn-IN.properties +13 -3
  10. package/dist/i18n/da-DK.js +3 -2
  11. package/dist/i18n/da-DK.properties +13 -3
  12. package/dist/i18n/de-DE.js +3 -2
  13. package/dist/i18n/de-DE.properties +13 -3
  14. package/dist/i18n/en-AU.js +2 -1
  15. package/dist/i18n/en-AU.properties +12 -2
  16. package/dist/i18n/en-CA.js +2 -1
  17. package/dist/i18n/en-CA.properties +12 -2
  18. package/dist/i18n/en-GB.js +2 -1
  19. package/dist/i18n/en-GB.properties +12 -2
  20. package/dist/i18n/en-US.js +3 -2
  21. package/dist/i18n/en-US.properties +4 -2
  22. package/dist/i18n/en-x-pseudo.js +86 -85
  23. package/dist/i18n/en-x-pseudo.properties +91 -81
  24. package/dist/i18n/es-419.js +3 -2
  25. package/dist/i18n/es-419.properties +13 -3
  26. package/dist/i18n/es-ES.js +3 -2
  27. package/dist/i18n/es-ES.properties +13 -3
  28. package/dist/i18n/fi-FI.js +3 -2
  29. package/dist/i18n/fi-FI.properties +13 -3
  30. package/dist/i18n/fr-CA.js +3 -2
  31. package/dist/i18n/fr-CA.properties +13 -3
  32. package/dist/i18n/fr-FR.js +3 -2
  33. package/dist/i18n/fr-FR.properties +13 -3
  34. package/dist/i18n/hi-IN.js +3 -2
  35. package/dist/i18n/hi-IN.properties +13 -3
  36. package/dist/i18n/it-IT.js +3 -2
  37. package/dist/i18n/it-IT.properties +13 -3
  38. package/dist/i18n/ja-JP.js +3 -2
  39. package/dist/i18n/ja-JP.properties +13 -3
  40. package/dist/i18n/json/src/lib/components/answer/messages.json +1 -1
  41. package/dist/i18n/json/src/lib/components/welcome-message/messages.json +1 -1
  42. package/dist/i18n/ko-KR.js +3 -2
  43. package/dist/i18n/ko-KR.properties +13 -3
  44. package/dist/i18n/nb-NO.js +3 -2
  45. package/dist/i18n/nb-NO.properties +13 -3
  46. package/dist/i18n/nl-NL.js +3 -2
  47. package/dist/i18n/nl-NL.properties +13 -3
  48. package/dist/i18n/pl-PL.js +3 -2
  49. package/dist/i18n/pl-PL.properties +13 -3
  50. package/dist/i18n/pt-BR.js +3 -2
  51. package/dist/i18n/pt-BR.properties +13 -3
  52. package/dist/i18n/ru-RU.js +3 -2
  53. package/dist/i18n/ru-RU.properties +13 -3
  54. package/dist/i18n/sv-SE.js +3 -2
  55. package/dist/i18n/sv-SE.properties +13 -3
  56. package/dist/i18n/tr-TR.js +3 -2
  57. package/dist/i18n/tr-TR.properties +13 -3
  58. package/dist/i18n/zh-CN.js +3 -2
  59. package/dist/i18n/zh-CN.properties +13 -3
  60. package/dist/i18n/zh-TW.js +3 -2
  61. package/dist/i18n/zh-TW.properties +13 -3
  62. package/dist/styles/answer.css +1 -1
  63. package/dist/styles/thinkingBubble.css +1 -1
  64. package/dist/types/lib/components/answer/messages.d.ts +5 -0
  65. package/dist/types/lib/components/chat/chat.d.ts +1 -1
  66. package/dist/types/lib/components/thinkingBubble/boxAILoadingIndicator.d.ts +5 -1
  67. package/dist/types/lib/components/thinkingBubble/thinkingBubble.d.ts +1 -0
  68. package/package.json +4 -4
@@ -40,8 +40,8 @@ boxAI.contentAnswers.disabledTooltipFileNotCompatible = Box AI Q&A 目前不支
40
40
  boxAI.contentAnswers.disabledTooltipPermissionsFailed = 目前無法查看權限。重新載入此頁面並再試一次
41
41
  # Disabled tooltip message for the Content Answers entry point button while the AI file permissions are being loaded
42
42
  boxAI.contentAnswers.disabledTooltipPermissionsLoading = 正在查看權限…
43
- # Disclaimer informing how to report inappropriate content in the feedback tooltip
44
- boxAI.contentAnswers.feedbackTooltipAbuseDisclaimer = 若要檢舉不當內容,請傳送電子郵件至 {abuseEmailLink}
43
+ # Disclaimer informing how to report inappropriate content in the feedback tooltip, the inside of <abuseFormLink> is the linked, clickable text
44
+ boxAI.contentAnswers.feedbackTooltipAbuseDisclaimer = 若要檢舉不當內容,請提交<abuseFormLink>此表單</abuseFormLink>。
45
45
  # Cancel button text for the feedback tooltip
46
46
  boxAI.contentAnswers.feedbackTooltipCancel = 取消
47
47
  # Confirmation message after submitting feedback in the feedback tooltip
@@ -59,7 +59,7 @@ boxAI.contentAnswers.feedbackTooltipIssueTypeAnswer3 = 其他
59
59
  # Label for the feedback type radio group in the feedback tooltip
60
60
  boxAI.contentAnswers.feedbackTooltipIssueTypeLabel = 您想要回報什麼類型的問題?
61
61
  # Label for checkbox to consent for prompt and answer sharing in the tooltip that asks the user to share feedback on the answer
62
- boxAI.contentAnswers.feedbackTooltipPromptShareConsent = Share my prompt and response to help improve product quality.
62
+ boxAI.contentAnswers.feedbackTooltipPromptShareConsent = 共用我的提示和回應,協助改善產品品質。
63
63
  # Submit button text for the feedback tooltip
64
64
  boxAI.contentAnswers.feedbackTooltipSubmit = 提交
65
65
  # Title of a tooltip that asks the user to share feedback on the answer
@@ -148,6 +148,16 @@ boxAI.popup.closeButtonText = 關閉
148
148
  boxAI.textInputWithCopyButton.copyButtonSuccessText = 已複製
149
149
  # Label that shows up while someone hover on close button of files dropdown
150
150
  boxAi.contentAnswers.closeItemList = 關閉檔案項目清單
151
+ # Tooltip label for button to collapse thinking content
152
+ boxui.contentAnswers.collapseThinkingContent = Collapse
153
+ # Tooltip label for button to expand thinking content
154
+ boxui.contentAnswers.expandThinkingContent = Expand
155
+ # Text shown when thinking is completed
156
+ boxui.contentAnswers.thinkingCompleted = Thinking Complete
157
+ # Aria label for the scrollable thinking content area
158
+ boxui.contentAnswers.thinkingContentScrollableArea = Thinking content scrollable area
159
+ # Text shown when thinking is in progress
160
+ boxui.contentAnswers.thinkingInProgress = Thinking...
151
161
  # Content Answers welcome message spreadsheet supported by Intelligent Query notification
152
162
  boxui.contentAnswers.welcomeMessageIntelligentQueryNotice = 您可以在試算表中詢問 BoxAI 簡單和複雜的問題:總計數、平均值、進階比較、趨勢分析等。 立即試用!
153
163
  # Content Answers welcome message spreadsheet notification
@@ -1 +1 @@
1
- ._answer_140hd_1{white-space:pre-wrap;border:none}._answer_140hd_1 ._alertIcon_140hd_5{margin-left:.5rem}._answer_140hd_1 ._error_140hd_8{display:flex;align-items:center}._answer_140hd_1 ._footer_140hd_12{display:flex;align-items:center;justify-content:space-between;height:1.5rem}._answer_140hd_1 ._footer_140hd_12 ._copyButtonContainer_140hd_18,._answer_140hd_1 ._footer_140hd_12 ._feedbackButtonsContainer_140hd_19{opacity:0;transition:opacity .3s}._answer_140hd_1 ._footer_140hd_12._shouldHaveMarginTop_140hd_23{margin-top:.75rem}._answer_140hd_1 ._footer_140hd_12._shouldUseAnimation_140hd_26{max-height:0;overflow-y:hidden}._answer_140hd_1 ._footer_140hd_12._shouldUseAnimation_140hd_26._shouldAnimateHeight_140hd_30{max-height:200px;transition:max-height 1s ease-in}._answer_140hd_1 ._footer_140hd_12 ._footerButtons_140hd_34,._answer_140hd_1 ._footer_140hd_12 ._feedbackButtonsContainer_140hd_19{display:flex;gap:.25rem;margin-inline-start:auto}._answer_140hd_1 ._iconAvatar_140hd_40{display:flex;align-items:center;justify-content:center;width:var(--size-16);height:var(--size-16);background-color:#faf5fe;border-radius:50%}@media (max-width: 374px){._answer_140hd_1 ._iconAvatar_140hd_40{width:var(--size-6);height:var(--size-6)}}._answer_140hd_1:hover ._copyButtonContainer_140hd_18,._answer_140hd_1:hover ._feedbackButtonsContainer_140hd_19,._answer_140hd_1 ._copyButtonContainer_140hd_18:focus-within,._answer_140hd_1 ._feedbackButtonsContainer_140hd_19:focus-within,._answer_140hd_1 ._footerButtons_140hd_34._buttonsVisible_140hd_56 ._copyButtonContainer_140hd_18,._answer_140hd_1 ._footerButtons_140hd_34._buttonsVisible_140hd_56 ._feedbackButtonsContainer_140hd_19{opacity:1}._answer_140hd_1:hover ._copyButtonContainer_140hd_18>button,._answer_140hd_1:hover ._feedbackButtonsContainer_140hd_19>button,._answer_140hd_1 ._copyButtonContainer_140hd_18:focus-within>button,._answer_140hd_1 ._feedbackButtonsContainer_140hd_19:focus-within>button,._answer_140hd_1 ._footerButtons_140hd_34._buttonsVisible_140hd_56 ._copyButtonContainer_140hd_18>button,._answer_140hd_1 ._footerButtons_140hd_34._buttonsVisible_140hd_56 ._feedbackButtonsContainer_140hd_19>button{outline-offset:-2px}
1
+ ._answer_rp7w7_1{white-space:pre-wrap;border:none}._answer_rp7w7_1 ._loadingContainer_rp7w7_5{display:flex;gap:var(--space-2);align-items:center;margin:0;padding:18px}._answer_rp7w7_1 ._loadingContainer_rp7w7_5 ._loadingText_rp7w7_12{opacity:0;animation:_fadeIn_rp7w7_1 .3s ease-in-out 1s forwards}@keyframes _fadeIn_rp7w7_1{to{opacity:1}}._answer_rp7w7_1 ._alertIcon_rp7w7_21{margin-left:.5rem}._answer_rp7w7_1 ._error_rp7w7_24{display:flex;align-items:center}._answer_rp7w7_1 ._footer_rp7w7_28{display:flex;align-items:center;justify-content:space-between;height:1.5rem}._answer_rp7w7_1 ._footer_rp7w7_28 ._copyButtonContainer_rp7w7_34,._answer_rp7w7_1 ._footer_rp7w7_28 ._feedbackButtonsContainer_rp7w7_35{opacity:0;transition:opacity .3s}._answer_rp7w7_1 ._footer_rp7w7_28._shouldHaveMarginTop_rp7w7_39{margin-top:.75rem}._answer_rp7w7_1 ._footer_rp7w7_28._shouldUseAnimation_rp7w7_42{max-height:0;overflow-y:hidden}._answer_rp7w7_1 ._footer_rp7w7_28._shouldUseAnimation_rp7w7_42._shouldAnimateHeight_rp7w7_46{max-height:200px;transition:max-height 1s ease-in}._answer_rp7w7_1 ._footer_rp7w7_28 ._footerButtons_rp7w7_50,._answer_rp7w7_1 ._footer_rp7w7_28 ._feedbackButtonsContainer_rp7w7_35{display:flex;gap:.25rem;margin-inline-start:auto}._answer_rp7w7_1 ._iconAvatar_rp7w7_56{display:flex;align-items:center;justify-content:center;width:var(--size-16);height:var(--size-16);background-color:#faf5fe;border-radius:50%}@media (max-width: 374px){._answer_rp7w7_1 ._iconAvatar_rp7w7_56{width:var(--size-6);height:var(--size-6)}}._answer_rp7w7_1:hover ._copyButtonContainer_rp7w7_34,._answer_rp7w7_1:hover ._feedbackButtonsContainer_rp7w7_35,._answer_rp7w7_1 ._copyButtonContainer_rp7w7_34:focus-within,._answer_rp7w7_1 ._feedbackButtonsContainer_rp7w7_35:focus-within,._answer_rp7w7_1 ._footerButtons_rp7w7_50._buttonsVisible_rp7w7_72 ._copyButtonContainer_rp7w7_34,._answer_rp7w7_1 ._footerButtons_rp7w7_50._buttonsVisible_rp7w7_72 ._feedbackButtonsContainer_rp7w7_35{opacity:1}._answer_rp7w7_1:hover ._copyButtonContainer_rp7w7_34>button,._answer_rp7w7_1:hover ._feedbackButtonsContainer_rp7w7_35>button,._answer_rp7w7_1 ._copyButtonContainer_rp7w7_34:focus-within>button,._answer_rp7w7_1 ._feedbackButtonsContainer_rp7w7_35:focus-within>button,._answer_rp7w7_1 ._footerButtons_rp7w7_50._buttonsVisible_rp7w7_72 ._copyButtonContainer_rp7w7_34>button,._answer_rp7w7_1 ._footerButtons_rp7w7_50._buttonsVisible_rp7w7_72 ._feedbackButtonsContainer_rp7w7_35>button{outline-offset:-2px}
@@ -1 +1 @@
1
- ._thinkingBubbleContainer_vtaw4_2{font-size:var(--body-default-font-size);border:1px solid var(--black-opacity-08);transition:width .3s ease,height .3s ease}._thinkingBubbleHeader_vtaw4_8{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-6);background:none;border:none}._thinkingBubbleHeader_vtaw4_8:not([disabled]){cursor:pointer}._thinkingBubbleHeader_vtaw4_8 ._headerLeft_vtaw4_20{display:flex;gap:var(--space-4);align-items:center}._thinkingBubbleHeader_vtaw4_8 ._thinkingBubbleLogo_vtaw4_25{width:var(--size-6);height:var(--size-6)}._thinkingBubbleHeader_vtaw4_8 ._chevronIcon_vtaw4_29{width:var(--size-4);height:var(--size-4);opacity:1}._thinkingBubbleHeader_vtaw4_8 ._chevronIcon_vtaw4_29._chevronRotated_vtaw4_34{transform:rotate(90deg)}._thinkingBubbleHeader_vtaw4_8 ._chevronIcon_vtaw4_29._chevronDisabled_vtaw4_37{opacity:0}._logoState_vtaw4_41{display:flex;align-items:center;justify-content:center;width:var(--size-15);height:var(--size-15);border-radius:var(--radius-half)}._headerExpanded_vtaw4_50{width:100%;height:auto;border-radius:var(--radius-8)}._thinkingBubbleContent_vtaw4_56{position:relative;max-height:140px;padding:0 var(--space-4) var(--space-2) var(--space-14);opacity:1;transition:opacity .15s ease,max-height .15s ease}._scrollableContainer_vtaw4_64{max-height:120px;padding-right:var(--space-3);overflow-y:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:transparent transparent}._scrollableContainer_vtaw4_64::-webkit-scrollbar-track,._scrollableContainer_vtaw4_64::-webkit-scrollbar-thumb{background:transparent}._scrollableContainer_vtaw4_64:hover{scrollbar-color:rgba(0,0,0,.3) transparent}._scrollableContainer_vtaw4_64:hover::-webkit-scrollbar-thumb{background:#0000004d}._contentExpanded_vtaw4_82 ._thinkingBubbleContent_vtaw4_56{max-height:420px}._contentExpanded_vtaw4_82 ._scrollableContainer_vtaw4_64{max-height:400px}._contentExpanded_vtaw4_82._sidebar_vtaw4_88 ._thinkingBubbleContent_vtaw4_56{max-height:320px}._contentExpanded_vtaw4_82._sidebar_vtaw4_88 ._scrollableContainer_vtaw4_64{max-height:300px}._thinkingBubbleContent_vtaw4_56:before{position:absolute;top:0;right:var(--space-8);bottom:0;left:var(--space-9);background:linear-gradient(to bottom,white 0%,transparent 8px,transparent calc(100% - 16px),white 100%);content:"";pointer-events:none}._pillState_vtaw4_106{max-width:fit-content;opacity:1;transition:width .3s ease,height .3s ease}._pillState_vtaw4_106 ._thinkingBubbleHeader_vtaw4_8{gap:var(--space-2)}
1
+ ._thinkingBubbleContainer_168nh_2{font-size:var(--body-default-font-size);border:1px solid var(--black-opacity-08);transition:width .3s ease,height .3s ease}._thinkingBubbleHeader_168nh_8{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4) var(--space-4);background:none;border:none}._thinkingBubbleHeader_168nh_8:not([disabled]){cursor:pointer}._thinkingBubbleHeader_168nh_8 ._headerLeft_168nh_20{display:flex;gap:var(--space-4);align-items:center}._thinkingBubbleHeader_168nh_8 ._thinkingBubbleLogo_168nh_25{width:var(--size-6);height:var(--size-6)}._thinkingBubbleHeader_168nh_8 ._chevronIcon_168nh_29{width:var(--size-4);height:var(--size-4);opacity:1}._thinkingBubbleHeader_168nh_8 ._chevronIcon_168nh_29._chevronRotated_168nh_34{transform:rotate(90deg)}._thinkingBubbleHeader_168nh_8 ._chevronIcon_168nh_29._chevronDisabled_168nh_37{opacity:0}._logoState_168nh_41{display:flex;align-items:center;justify-content:center;width:var(--size-15);height:var(--size-15);border-radius:var(--radius-half)}._logoState_168nh_41 ._thinkingBubbleHeader_168nh_8{justify-content:center;padding:0}._headerExpanded_168nh_54{width:100%;border-radius:var(--radius-8)}._thinkingBubbleContent_168nh_59{position:relative;max-height:140px;padding:0 var(--space-4) var(--space-2) var(--space-14);opacity:1;transition:opacity .15s ease,max-height .15s ease}._scrollableContainer_168nh_67{max-height:120px;padding-right:var(--space-3);overflow-y:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:transparent transparent}._scrollableContainer_168nh_67::-webkit-scrollbar-track,._scrollableContainer_168nh_67::-webkit-scrollbar-thumb{background:transparent}._scrollableContainer_168nh_67:hover{scrollbar-color:rgba(0,0,0,.3) transparent}._scrollableContainer_168nh_67:hover::-webkit-scrollbar-thumb{background:#0000004d}._contentExpanded_168nh_85 ._thinkingBubbleContent_168nh_59{max-height:420px}._contentExpanded_168nh_85 ._scrollableContainer_168nh_67{max-height:400px}._contentExpanded_168nh_85._sidebar_168nh_91 ._thinkingBubbleContent_168nh_59{max-height:320px}._contentExpanded_168nh_85._sidebar_168nh_91 ._scrollableContainer_168nh_67{max-height:300px}._thinkingBubbleContent_168nh_59:before{position:absolute;top:0;right:var(--space-8);bottom:0;left:var(--space-9);background:linear-gradient(to bottom,white 0%,transparent 8px,transparent calc(100% - 16px),white 100%);content:"";pointer-events:none}._pillState_168nh_109{max-width:fit-content;opacity:1;transition:width .3s ease,height .3s ease}._pillState_168nh_109 ._thinkingBubbleHeader_168nh_8{gap:var(--space-2)}
@@ -124,6 +124,11 @@ declare const messages: {
124
124
  description: string;
125
125
  id: string;
126
126
  };
127
+ analyzingRequest: {
128
+ defaultMessage: string;
129
+ description: string;
130
+ id: string;
131
+ };
127
132
  noReferences: {
128
133
  defaultMessage: string;
129
134
  description: string;
@@ -1,3 +1,3 @@
1
1
  import { ChatProps } from '../../types';
2
- export declare const Chat: ({ askSuggestedQuestion, contentType, hasCustomSuggestedQuestions, hasRequestInProgress, isCitationsEnabled, isFeedbackEnabled, isFeedbackFormEnabled, isInlineCitationsEnabled, isMarkdownEnabled, isSessionLoading, onCitationClick, onAnswerCopy, onFeedbackFormSubmit, onSuggestedQuestionInteraction, questions, recordAction, setAnswerFeedback, setAskSuggestedQuestion, suggestedQuestions, suggestedQuestionsRequestState, shouldFeedbackFormIncludeFeedbackText, shouldFeedbackIncludePromptData, shouldShowLandingPage, useAnimation, variant, hostAppName, isReactMarkdownEnabled, welcomeMessageClearText, ...welcomeMessageProps }: ChatProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const Chat: ({ askSuggestedQuestion, contentType, hasCustomSuggestedQuestions, hasRequestInProgress, isCitationsEnabled, isFeedbackEnabled, isFeedbackFormEnabled, isInlineCitationsEnabled, isMarkdownEnabled, isSessionLoading, onCitationClick, onAnswerCopy, onFeedbackFormSubmit, onDropdownOpenChange, onSuggestedQuestionInteraction, questions, recordAction, setAnswerFeedback, setAskSuggestedQuestion, suggestedQuestions, suggestedQuestionsRequestState, shouldFeedbackFormIncludeFeedbackText, shouldFeedbackIncludePromptData, shouldShowLandingPage, useAnimation, variant, hostAppName, isReactMarkdownEnabled, welcomeMessageClearText, ...welcomeMessageProps }: ChatProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default Chat;
@@ -1,3 +1,7 @@
1
- declare const BoxAILoadingIndicator: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const BoxAILoadingIndicator: ({ className, height, width, }: {
2
+ className?: string;
3
+ height?: number;
4
+ width?: number;
5
+ }) => import("react/jsx-runtime").JSX.Element;
2
6
  export { BoxAILoadingIndicator };
3
7
  export default BoxAILoadingIndicator;
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  export interface ThinkingBubbleProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  content: string;
5
5
  isThinkingComplete?: boolean;
6
+ onDropdownOpenChange: (open: boolean) => void;
6
7
  variant?: StyleVariant;
7
8
  }
8
9
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/box-ai-content-answers",
3
- "version": "0.156.3",
3
+ "version": "0.158.0",
4
4
  "peerDependencies": {
5
5
  "@box/blueprint-web": "^7.8.0",
6
6
  "@box/blueprint-web-assets": "^4.56.1",
@@ -17,10 +17,10 @@
17
17
  },
18
18
  "devDependencies": {
19
19
  "@box/babel-plugin-target-attributes": "1.3.0",
20
- "@box/blueprint-web": "^12.78.0",
20
+ "@box/blueprint-web": "^12.78.1",
21
21
  "@box/blueprint-web-assets": "^4.69.0",
22
- "@box/box-ai-agent-selector": "^0.63.7",
23
- "@box/item-icon": "^0.27.7",
22
+ "@box/box-ai-agent-selector": "^0.64.0",
23
+ "@box/item-icon": "^0.28.0",
24
24
  "@box/storybook-utils": "^0.14.5",
25
25
  "@testing-library/react": "^15.0.6",
26
26
  "react": "^18.3.0",