@epam/ai-dial-chat-shared 1.3.0-dev.35 → 1.3.0-dev.355
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ActionMenu/ActionMenu.d.ts +26 -0
- package/components/ActionMenu/ActionMenu.d.ts.map +1 -0
- package/components/ActionMenu/ActionMenu.js +50 -0
- package/components/ConfirmationDialog/ConfirmationDialog.d.ts +46 -0
- package/components/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -0
- package/components/ConfirmationDialog/ConfirmationDialog.js +11 -9
- package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.d.ts +33 -0
- package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.d.ts.map +1 -0
- package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.module.scss.js +5 -4
- package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.d.ts +33 -0
- package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.d.ts.map +1 -0
- package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.js +2 -2
- package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.module.scss.js +3 -2
- package/components/ConfirmationView/ConfirmationFooter.d.ts +41 -0
- package/components/ConfirmationView/ConfirmationFooter.d.ts.map +1 -0
- package/components/ConfirmationView/ConfirmationFooter.js +25 -26
- package/components/ConfirmationView/ConfirmationView.d.ts +59 -0
- package/components/ConfirmationView/ConfirmationView.d.ts.map +1 -0
- package/components/ConfirmationView/ConfirmationView.js +12 -12
- package/components/ConfirmationView/ConfirmationView.module.scss.js +6 -5
- package/components/CopyButton/CopyButton.d.ts +19 -0
- package/components/CopyButton/CopyButton.d.ts.map +1 -0
- package/components/DeleteConfirmationDialog/DeleteConfirmationDialog.d.ts +41 -0
- package/components/DeleteConfirmationDialog/DeleteConfirmationDialog.d.ts.map +1 -0
- package/components/DeleteConfirmationDrawer/DeleteConfirmationDrawer.d.ts +31 -0
- package/components/DeleteConfirmationDrawer/DeleteConfirmationDrawer.d.ts.map +1 -0
- package/components/DeleteConfirmationDrawer/DeleteConfirmationDrawer.js +36 -0
- package/components/DeleteConfirmationView/DeleteConfirmationView.d.ts +52 -0
- package/components/DeleteConfirmationView/DeleteConfirmationView.d.ts.map +1 -0
- package/components/DeleteConfirmationView/DeleteConfirmationView.js +36 -27
- package/components/DeleteConfirmationView/DeleteConfirmationView.module.scss.js +5 -4
- package/components/DeploymentIcon/DeploymentIcon.d.ts +36 -0
- package/components/DeploymentIcon/DeploymentIcon.d.ts.map +1 -0
- package/components/DeploymentIcon/DeploymentIcon.module.scss.js +3 -2
- package/components/EntityHeader/EntityHeader.d.ts +38 -0
- package/components/EntityHeader/EntityHeader.d.ts.map +1 -0
- package/components/EntityHeader/EntityHeader.js +1 -1
- package/components/EntityTypeLabel/EntityTypeLabel.d.ts +18 -0
- package/components/EntityTypeLabel/EntityTypeLabel.d.ts.map +1 -0
- package/components/FeaturedChip/FeaturedChip.d.ts +16 -0
- package/components/FeaturedChip/FeaturedChip.d.ts.map +1 -0
- package/components/InitialsAvatar/InitialsAvatar.d.ts +18 -0
- package/components/InitialsAvatar/InitialsAvatar.d.ts.map +1 -0
- package/components/InitialsAvatar/InitialsAvatar.js +4 -3
- package/components/ItemHeader/ItemHeader.d.ts +40 -0
- package/components/ItemHeader/ItemHeader.d.ts.map +1 -0
- package/components/ItemHeader/ItemHeader.js +4 -1
- package/components/ItemHeader/ItemHeader.module.scss.js +5 -4
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts +57 -0
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts.map +1 -0
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.js +58 -58
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.module.scss.js +9 -8
- package/components/MarkdownRenderer/CodeBlock/syntax-theme.d.ts +7 -0
- package/components/MarkdownRenderer/CodeBlock/syntax-theme.d.ts.map +1 -0
- package/components/MarkdownRenderer/MDMessageViewer.d.ts +66 -0
- package/components/MarkdownRenderer/MDMessageViewer.d.ts.map +1 -0
- package/components/MarkdownRenderer/MDMessageViewer.js +14 -12
- package/components/MarkdownRenderer/MarkdownRenderer.d.ts +145 -0
- package/components/MarkdownRenderer/MarkdownRenderer.d.ts.map +1 -0
- package/components/MarkdownRenderer/MarkdownRenderer.js +146 -136
- package/components/MarkdownRenderer/MarkdownRenderer.module.scss.js +9 -8
- package/components/MarkdownRenderer/Math/MarkdownMathBlock.d.ts +18 -0
- package/components/MarkdownRenderer/Math/MarkdownMathBlock.d.ts.map +1 -0
- package/components/MarkdownRenderer/Math/MarkdownMathBlock.js +1 -1
- package/components/MarkdownRenderer/Math/MarkdownMathBlock.module.scss.js +5 -4
- package/components/MarkdownRenderer/PlainTextRenderer.d.ts +39 -0
- package/components/MarkdownRenderer/PlainTextRenderer.d.ts.map +1 -0
- package/components/MarkdownRenderer/PlainTextRenderer.js +1 -1
- package/components/MarkdownRenderer/Table/MarkdownTable.d.ts +51 -0
- package/components/MarkdownRenderer/Table/MarkdownTable.d.ts.map +1 -0
- package/components/MarkdownRenderer/Table/MarkdownTable.js +68 -63
- package/components/MarkdownRenderer/Table/MarkdownTable.module.scss.js +15 -13
- package/components/MarkdownRenderer/Table/TableHeader.d.ts +22 -0
- package/components/MarkdownRenderer/Table/TableHeader.d.ts.map +1 -0
- package/components/MarkdownRenderer/Table/TableHeader.module.scss.js +3 -2
- package/components/MarkdownRenderer/Table/table-serialization.d.ts +16 -0
- package/components/MarkdownRenderer/Table/table-serialization.d.ts.map +1 -0
- package/components/MarkdownRenderer/Table/useMarkdownTableActions/useMarkdownTableActions.d.ts +27 -0
- package/components/MarkdownRenderer/Table/useMarkdownTableActions/useMarkdownTableActions.d.ts.map +1 -0
- package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts +9 -0
- package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts.map +1 -0
- package/components/MarkdownRenderer/ThinkingShimmer.d.ts +17 -0
- package/components/MarkdownRenderer/ThinkingShimmer.d.ts.map +1 -0
- package/components/MarkdownRenderer/markdown-class-names.d.ts +10 -0
- package/components/MarkdownRenderer/markdown-class-names.d.ts.map +1 -0
- package/components/MarkdownRenderer/markdown-whitespace.d.ts +15 -0
- package/components/MarkdownRenderer/markdown-whitespace.d.ts.map +1 -0
- package/components/MarkdownRenderer/markdown-whitespace.js +2 -6
- package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.d.ts +25 -0
- package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.d.ts.map +1 -0
- package/components/NewVersionAlert/NewVersionAlert.d.ts +27 -0
- package/components/NewVersionAlert/NewVersionAlert.d.ts.map +1 -0
- package/components/NewVersionAlert/NewVersionAlert.js +28 -0
- package/components/NewVersionAlert/NewVersionAlert.module.scss.js +4 -0
- package/components/NotificationStack/NotificationStack.d.ts +48 -0
- package/components/NotificationStack/NotificationStack.d.ts.map +1 -0
- package/components/NotificationStack/NotificationStack.js +111 -0
- package/components/PanelEmptyState/PanelEmptyState.d.ts +32 -0
- package/components/PanelEmptyState/PanelEmptyState.d.ts.map +1 -0
- package/components/PanelEmptyState/PanelEmptyState.js +19 -9
- package/components/PanelEmptyState/PanelEmptyState.module.scss.js +6 -2
- package/components/ResourceSummary/ResourceSummary.d.ts +49 -0
- package/components/ResourceSummary/ResourceSummary.d.ts.map +1 -0
- package/components/ResourceSummary/ResourceSummary.module.scss.js +5 -4
- package/components/TextRefinementField/TextRefinementField.d.ts +33 -0
- package/components/TextRefinementField/TextRefinementField.d.ts.map +1 -0
- package/components/TextRefinementField/TextRefinementField.js +84 -55
- package/components/UnsavedChangesProvider/UnsavedChangesProvider.d.ts +22 -0
- package/components/UnsavedChangesProvider/UnsavedChangesProvider.d.ts.map +1 -0
- package/components/UnsavedChangesProvider/UnsavedChangesProvider.js +57 -0
- package/components/UnsavedChangesProvider/unsaved-changes-context.d.ts +44 -0
- package/components/UnsavedChangesProvider/unsaved-changes-context.d.ts.map +1 -0
- package/components/UnsavedChangesProvider/unsaved-changes-context.js +13 -0
- package/constants/breakpoint.d.ts +15 -0
- package/constants/breakpoint.d.ts.map +1 -0
- package/constants/breakpoint.js +2 -2
- package/constants/dial.d.ts +5 -0
- package/constants/dial.d.ts.map +1 -0
- package/constants/entity-colors.d.ts +6 -0
- package/constants/entity-colors.d.ts.map +1 -0
- package/constants/icon.d.ts +14 -0
- package/constants/icon.d.ts.map +1 -0
- package/constants/markdown-editor.d.ts +2 -0
- package/constants/markdown-editor.d.ts.map +1 -0
- package/constants/mime-types.d.ts +27 -0
- package/constants/mime-types.d.ts.map +1 -0
- package/constants/public-class-names.d.ts +13 -0
- package/constants/public-class-names.d.ts.map +1 -0
- package/constants/resizable-fields.d.ts +5 -0
- package/constants/resizable-fields.d.ts.map +1 -0
- package/constants/select-list.d.ts +4 -0
- package/constants/select-list.d.ts.map +1 -0
- package/constants/tag-input.d.ts +2 -0
- package/constants/tag-input.d.ts.map +1 -0
- package/conversation-transfer/conversation-transfer-queue.d.ts +16 -0
- package/conversation-transfer/conversation-transfer-queue.d.ts.map +1 -0
- package/conversation-transfer/conversation-transfer-queue.js +24 -0
- package/entry-points/file-manager.d.ts +5 -0
- package/entry-points/file-manager.d.ts.map +1 -0
- package/entry-points/markdown.d.ts +19 -0
- package/entry-points/markdown.d.ts.map +1 -0
- package/file-manager/DialFileManagerShell/DialFileManagerShell.d.ts +67 -0
- package/file-manager/DialFileManagerShell/DialFileManagerShell.d.ts.map +1 -0
- package/file-manager/DialFileManagerShell/DialFileManagerShell.js +330 -266
- package/file-manager/DialFileManagerShell/DialFileManagerShell.module.scss.js +8 -0
- package/file-manager/FileManagerAttachModal/FileManagerAttachModal.d.ts +96 -0
- package/file-manager/FileManagerAttachModal/FileManagerAttachModal.d.ts.map +1 -0
- package/file-manager/FileManagerAttachModal/FileManagerAttachModal.js +85 -80
- package/file-manager/FileManagerAttachModal/FileManagerAttachModal.module.scss.js +7 -0
- package/file-manager/OperationLoaderModal/OperationLoaderModal.d.ts +22 -0
- package/file-manager/OperationLoaderModal/OperationLoaderModal.d.ts.map +1 -0
- package/file-manager/OperationLoaderModal/OperationLoaderModal.js +25 -20
- package/file-manager/OperationLoaderModal/OperationLoaderModal.module.scss.js +4 -0
- package/file-manager/attach-result.d.ts +9 -0
- package/file-manager/attach-result.d.ts.map +1 -0
- package/file-manager/file-manager-controller.d.ts +129 -0
- package/file-manager/file-manager-controller.d.ts.map +1 -0
- package/file-manager/file-manager-variant.d.ts +21 -0
- package/file-manager/file-manager-variant.d.ts.map +1 -0
- package/file-manager/file-upload-validation.d.ts +8 -0
- package/file-manager/file-upload-validation.d.ts.map +1 -0
- package/file-manager/index.d.ts +11 -0
- package/file-manager/index.d.ts.map +1 -0
- package/file-manager/labels.d.ts +177 -0
- package/file-manager/labels.d.ts.map +1 -0
- package/file-manager/path.d.ts +12 -0
- package/file-manager/path.d.ts.map +1 -0
- package/file-manager/shell-styles.d.ts +37 -0
- package/file-manager/shell-styles.d.ts.map +1 -0
- package/file-manager/upload-batch.d.ts +75 -0
- package/file-manager/upload-batch.d.ts.map +1 -0
- package/file-manager/upload-batch.js +6 -2
- package/file-manager/upload-queue.d.ts +45 -0
- package/file-manager/upload-queue.d.ts.map +1 -0
- package/file-manager/upload-queue.js +45 -13
- package/file-manager/useGridEditingScroll/useGridEditingScroll.d.ts +27 -0
- package/file-manager/useGridEditingScroll/useGridEditingScroll.d.ts.map +1 -0
- package/file-manager.d.ts +2 -506
- package/file-manager.js +4 -4
- package/hooks/useAvailableHeightCap.d.ts +30 -0
- package/hooks/useAvailableHeightCap.d.ts.map +1 -0
- package/hooks/useAvailableHeightCap.js +1 -1
- package/hooks/useCodeCopy.d.ts +6 -0
- package/hooks/useCodeCopy.d.ts.map +1 -0
- package/hooks/useCollapsedText.d.ts +27 -0
- package/hooks/useCollapsedText.d.ts.map +1 -0
- package/hooks/useControlErrorAssociation.d.ts +3 -0
- package/hooks/useControlErrorAssociation.d.ts.map +1 -0
- package/hooks/useControlErrorAssociation.js +12 -0
- package/hooks/useHorizontalOverflow.d.ts +21 -0
- package/hooks/useHorizontalOverflow.d.ts.map +1 -0
- package/hooks/useIsMobile.d.ts +3 -0
- package/hooks/useIsMobile.d.ts.map +1 -0
- package/hooks/useIsMobile.js +1 -1
- package/hooks/useIsPhone.d.ts +3 -0
- package/hooks/useIsPhone.d.ts.map +1 -0
- package/hooks/useIsPhone.js +13 -0
- package/hooks/useIsTablet.d.ts +3 -0
- package/hooks/useIsTablet.d.ts.map +1 -0
- package/hooks/useIsTablet.js +13 -0
- package/hooks/useIsTextClipped.d.ts +26 -0
- package/hooks/useIsTextClipped.d.ts.map +1 -0
- package/hooks/useIsTextClipped.js +25 -0
- package/hooks/useStreamedMarkdownContent.d.ts +3 -0
- package/hooks/useStreamedMarkdownContent.d.ts.map +1 -0
- package/hooks/useTextRefinement.d.ts +44 -0
- package/hooks/useTextRefinement.d.ts.map +1 -0
- package/hooks/useTextRefinement.js +4 -4
- package/hooks/useUnsavedChangesGuard.d.ts +14 -0
- package/hooks/useUnsavedChangesGuard.d.ts.map +1 -0
- package/hooks/useUnsavedChangesGuard.js +1 -5
- package/hooks/useUnsavedChangesLeaveConfirmation.d.ts +12 -0
- package/hooks/useUnsavedChangesLeaveConfirmation.d.ts.map +1 -0
- package/hooks/useUnsavedChangesLeaveConfirmation.js +22 -0
- package/hooks/useUnsavedChangesLeaveGuard.d.ts +24 -0
- package/hooks/useUnsavedChangesLeaveGuard.d.ts.map +1 -0
- package/hooks/useUnsavedChangesLeaveGuard.js +24 -0
- package/index.css +3 -2
- package/index.d.ts +93 -3167
- package/index.d.ts.map +1 -0
- package/index.js +92 -76
- package/markdown.d.ts +2 -465
- package/markdown.js +3 -2
- package/models/annotation.d.ts +143 -0
- package/models/annotation.d.ts.map +1 -0
- package/models/application-visualizer.d.ts +67 -0
- package/models/application-visualizer.d.ts.map +1 -0
- package/models/auth.d.ts +28 -0
- package/models/auth.d.ts.map +1 -0
- package/models/chat.d.ts +409 -0
- package/models/chat.d.ts.map +1 -0
- package/models/conversation-classification.d.ts +14 -0
- package/models/conversation-classification.d.ts.map +1 -0
- package/models/conversation-classification.js +3 -1
- package/models/conversation-transfer.d.ts +96 -0
- package/models/conversation-transfer.d.ts.map +1 -0
- package/models/custom-visualizer.d.ts +61 -0
- package/models/custom-visualizer.d.ts.map +1 -0
- package/models/deployment-configuration.d.ts +55 -0
- package/models/deployment-configuration.d.ts.map +1 -0
- package/models/deployment-features.d.ts +17 -0
- package/models/deployment-features.d.ts.map +1 -0
- package/models/deployment.d.ts +31 -0
- package/models/deployment.d.ts.map +1 -0
- package/models/dial-model.d.ts +19 -0
- package/models/dial-model.d.ts.map +1 -0
- package/models/entity.d.ts +15 -0
- package/models/entity.d.ts.map +1 -0
- package/models/import-export.d.ts +23 -0
- package/models/import-export.d.ts.map +1 -0
- package/models/inline-segment.d.ts +11 -0
- package/models/inline-segment.d.ts.map +1 -0
- package/models/locale.d.ts +19 -0
- package/models/locale.d.ts.map +1 -0
- package/models/text-refinement.d.ts +22 -0
- package/models/text-refinement.d.ts.map +1 -0
- package/models/theme.d.ts +36 -0
- package/models/theme.d.ts.map +1 -0
- package/models/tool-menu-item.d.ts +13 -0
- package/models/tool-menu-item.d.ts.map +1 -0
- package/package.json +10 -17
- package/types/attachment.d.ts +25 -0
- package/types/attachment.d.ts.map +1 -0
- package/types/code-editor.d.ts +8 -0
- package/types/code-editor.d.ts.map +1 -0
- package/types/entity-type.d.ts +10 -0
- package/types/entity-type.d.ts.map +1 -0
- package/types/file-manager-node.d.ts +17 -0
- package/types/file-manager-node.d.ts.map +1 -0
- package/types/mime-type.d.ts +59 -0
- package/types/mime-type.d.ts.map +1 -0
- package/utils/annotation.d.ts +29 -0
- package/utils/annotation.d.ts.map +1 -0
- package/utils/avatar-color.d.ts +10 -0
- package/utils/avatar-color.d.ts.map +1 -0
- package/utils/base64-json.d.ts +14 -0
- package/utils/base64-json.d.ts.map +1 -0
- package/utils/base64-json.js +4 -0
- package/utils/build-css-vars.d.ts +4 -0
- package/utils/build-css-vars.d.ts.map +1 -0
- package/utils/copy-to-clipboard.d.ts +18 -0
- package/utils/copy-to-clipboard.d.ts.map +1 -0
- package/utils/dom.d.ts +8 -0
- package/utils/dom.d.ts.map +1 -0
- package/utils/dom.js +10 -0
- package/utils/entity-field-limits.d.ts +11 -0
- package/utils/entity-field-limits.d.ts.map +1 -0
- package/utils/entity-type.d.ts +5 -0
- package/utils/entity-type.d.ts.map +1 -0
- package/utils/file-download.d.ts +21 -0
- package/utils/file-download.d.ts.map +1 -0
- package/utils/format-file-size.d.ts +3 -0
- package/utils/format-file-size.d.ts.map +1 -0
- package/utils/format-last-used.d.ts +3 -0
- package/utils/format-last-used.d.ts.map +1 -0
- package/utils/format-price.d.ts +7 -0
- package/utils/format-price.d.ts.map +1 -0
- package/utils/format-price.js +10 -10
- package/utils/generate-uuid.d.ts +3 -0
- package/utils/generate-uuid.d.ts.map +1 -0
- package/utils/initials.d.ts +3 -0
- package/utils/initials.d.ts.map +1 -0
- package/utils/inline-segments.d.ts +38 -0
- package/utils/inline-segments.d.ts.map +1 -0
- package/utils/inline-segments.js +53 -0
- package/utils/is-audio-transcription-supported.d.ts +3 -0
- package/utils/is-audio-transcription-supported.d.ts.map +1 -0
- package/utils/is-skill-selection-unsupported.d.ts +3 -0
- package/utils/is-skill-selection-unsupported.d.ts.map +1 -0
- package/utils/latex.d.ts +22 -0
- package/utils/latex.d.ts.map +1 -0
- package/utils/latex.js +47 -41
- package/utils/markdown-html.d.ts +14 -0
- package/utils/markdown-html.d.ts.map +1 -0
- package/utils/markdown-html.js +11 -0
- package/utils/merge-class.d.ts +4 -0
- package/utils/merge-class.d.ts.map +1 -0
- package/utils/message-attachment-to-display.d.ts +22 -0
- package/utils/message-attachment-to-display.d.ts.map +1 -0
- package/utils/message-attachment-to-display.js +1 -1
- package/utils/message.d.ts +4 -0
- package/utils/message.d.ts.map +1 -0
- package/utils/mime-type.d.ts +22 -0
- package/utils/mime-type.d.ts.map +1 -0
- package/utils/mime-type.js +1 -1
- package/utils/prompt-variables.d.ts +62 -0
- package/utils/prompt-variables.d.ts.map +1 -0
- package/utils/prompt-variables.js +5 -9
- package/utils/string-utils.d.ts +11 -0
- package/utils/string-utils.d.ts.map +1 -0
- package/utils/syntax-highlighting.d.ts +8 -0
- package/utils/syntax-highlighting.d.ts.map +1 -0
- package/utils/syntax-highlighting.js +8 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMobile.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsMobile.ts"],"names":[],"mappings":"AAQA,iGAAiG;AACjG,eAAO,MAAM,WAAW,QAAO,OAgB9B,CAAC"}
|
package/hooks/useIsMobile.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MOBILE_MEDIA_QUERY as e } from "../constants/breakpoint.js";
|
|
2
2
|
import { useEffect as t, useState as n } from "react";
|
|
3
3
|
//#region src/hooks/useIsMobile.ts
|
|
4
|
-
var r = () => typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia(
|
|
4
|
+
var r = () => typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(max-width: 1279px)").matches, i = () => {
|
|
5
5
|
let [i, a] = n(r);
|
|
6
6
|
return t(() => {
|
|
7
7
|
if (typeof window > "u" || typeof window.matchMedia != "function") return;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsPhone.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsPhone.ts"],"names":[],"mappings":"AAQA,oFAAoF;AACpF,eAAO,MAAM,UAAU,QAAO,OAiB7B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PHONE_MEDIA_QUERY as e } from "../constants/breakpoint.js";
|
|
2
|
+
import { useEffect as t, useState as n } from "react";
|
|
3
|
+
//#region src/hooks/useIsPhone.ts
|
|
4
|
+
var r = () => typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(width < 768px)").matches, i = () => {
|
|
5
|
+
let [i, a] = n(r);
|
|
6
|
+
return t(() => {
|
|
7
|
+
if (typeof window > "u" || typeof window.matchMedia != "function") return;
|
|
8
|
+
let t = window.matchMedia(e), n = () => a(t.matches);
|
|
9
|
+
return n(), t.addEventListener("change", n), () => t.removeEventListener("change", n);
|
|
10
|
+
}, []), i;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { i as useIsPhone };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsTablet.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsTablet.ts"],"names":[],"mappings":"AAQA,qFAAqF;AACrF,eAAO,MAAM,WAAW,QAAO,OAiB9B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TABLET_MEDIA_QUERY as e } from "../constants/breakpoint.js";
|
|
2
|
+
import { useEffect as t, useState as n } from "react";
|
|
3
|
+
//#region src/hooks/useIsTablet.ts
|
|
4
|
+
var r = () => typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(768px <= width < 1280px)").matches, i = () => {
|
|
5
|
+
let [i, a] = n(r);
|
|
6
|
+
return t(() => {
|
|
7
|
+
if (typeof window > "u" || typeof window.matchMedia != "function") return;
|
|
8
|
+
let t = window.matchMedia(e), n = () => a(t.matches);
|
|
9
|
+
return n(), t.addEventListener("change", n), () => t.removeEventListener("change", n);
|
|
10
|
+
}, []), i;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { i as useIsTablet };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/** Return value of `useIsTextClipped`. */
|
|
3
|
+
export interface UseIsTextClippedResult<TElement extends HTMLElement> {
|
|
4
|
+
/** Ref attached to the element whose text may be clipped. */
|
|
5
|
+
ref: RefObject<TElement | null>;
|
|
6
|
+
/** Whether the element's text overflows its box horizontally. */
|
|
7
|
+
isClipped: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Reports whether an element's text overflows horizontally, so a caller can
|
|
11
|
+
* offer a way to reveal the hidden part only when something is actually
|
|
12
|
+
* hidden.
|
|
13
|
+
*
|
|
14
|
+
* `isMeasuring` exists because the answer is only meaningful while the element
|
|
15
|
+
* is in its clipped state: once the caller lets the text wrap, nothing
|
|
16
|
+
* overflows any more, and re-measuring there would retract the very control
|
|
17
|
+
* the reader just used. The last measurement taken while clipped is kept
|
|
18
|
+
* instead.
|
|
19
|
+
*
|
|
20
|
+
* @param isMeasuring - Whether the element is currently in its clipped state.
|
|
21
|
+
* @param contentKey - Text whose change should force a re-measure. A
|
|
22
|
+
* ResizeObserver does not fire for it: clipped text keeps the same box when
|
|
23
|
+
* its content grows.
|
|
24
|
+
*/
|
|
25
|
+
export declare const useIsTextClipped: <TElement extends HTMLElement>(isMeasuring: boolean, contentKey: string) => UseIsTextClippedResult<TElement>;
|
|
26
|
+
//# sourceMappingURL=useIsTextClipped.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsTextClipped.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsTextClipped.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,0CAA0C;AAC1C,MAAM,WAAW,sBAAsB,CAAC,QAAQ,SAAS,WAAW;IAClE,6DAA6D;IAC7D,GAAG,EAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAChC,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,SAAS,WAAW,EAC3D,aAAa,OAAO,EACpB,YAAY,MAAM,KACjB,sBAAsB,CAAC,QAAQ,CA8BjC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useCallback as e, useLayoutEffect as t, useRef as n, useState as r } from "react";
|
|
2
|
+
//#region src/hooks/useIsTextClipped.ts
|
|
3
|
+
var i = 1, a = (a, o) => {
|
|
4
|
+
let s = n(null), [c, l] = r(!1), u = e(() => {
|
|
5
|
+
let e = s.current;
|
|
6
|
+
e && l(e.scrollWidth - e.clientWidth > i);
|
|
7
|
+
}, []);
|
|
8
|
+
return t(() => {
|
|
9
|
+
if (!a) return;
|
|
10
|
+
u();
|
|
11
|
+
let e = s.current;
|
|
12
|
+
if (!e || typeof ResizeObserver > "u") return;
|
|
13
|
+
let t = new ResizeObserver(u);
|
|
14
|
+
return t.observe(e), () => t.disconnect();
|
|
15
|
+
}, [
|
|
16
|
+
a,
|
|
17
|
+
o,
|
|
18
|
+
u
|
|
19
|
+
]), {
|
|
20
|
+
ref: s,
|
|
21
|
+
isClipped: c
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { a as useIsTextClipped };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Gradually reveals appended markdown content while streaming, syncing instantly on completion or when a code block/table is mid-stream. */
|
|
2
|
+
export declare const useStreamedMarkdownContent: (content: string, isStreaming?: boolean, charactersPerSecond?: number) => string;
|
|
3
|
+
//# sourceMappingURL=useStreamedMarkdownContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStreamedMarkdownContent.d.ts","sourceRoot":"","sources":["../../src/hooks/useStreamedMarkdownContent.ts"],"names":[],"mappings":"AA6CA,6IAA6I;AAC7I,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,qBAAmB,EACnB,4BAA0D,WAsF3D,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** Asynchronous rewriting callback supplied by the consuming host. */
|
|
2
|
+
export type TextRefinementCallback = (value: string, signal: AbortSignal) => Promise<string>;
|
|
3
|
+
/** Field-local refinement feedback state. */
|
|
4
|
+
export declare enum TextRefinementState {
|
|
5
|
+
Idle = "idle",
|
|
6
|
+
Pending = "pending",
|
|
7
|
+
Success = "success",
|
|
8
|
+
Error = "error",
|
|
9
|
+
Restored = "restored",
|
|
10
|
+
Unchanged = "unchanged"
|
|
11
|
+
}
|
|
12
|
+
/** Controlled value and lifecycle inputs for one refinable field. */
|
|
13
|
+
export interface UseTextRefinementOptions {
|
|
14
|
+
/** Current controlled field value. */
|
|
15
|
+
value: string;
|
|
16
|
+
/** Host rewriting callback. Omission disables refinement and clears its state. */
|
|
17
|
+
onRefine?: TextRefinementCallback;
|
|
18
|
+
/** Publishes a successful result or the original Undo baseline. */
|
|
19
|
+
onChange: (value: string) => void;
|
|
20
|
+
/** Disables refinement and cancels active work when true. Defaults to false. */
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
/** Draft identity; changing it resets state even when text is equal. */
|
|
23
|
+
resetKey?: unknown;
|
|
24
|
+
}
|
|
25
|
+
/** Controls and feedback for a single field. */
|
|
26
|
+
export interface TextRefinementResult {
|
|
27
|
+
/** Current field-local feedback state. */
|
|
28
|
+
state: TextRefinementState;
|
|
29
|
+
/** Whether this field has a request in progress. */
|
|
30
|
+
isPending: boolean;
|
|
31
|
+
/** Whether the current value can be refined. */
|
|
32
|
+
canRefine: boolean;
|
|
33
|
+
/** Whether an original baseline can be restored. */
|
|
34
|
+
canUndo: boolean;
|
|
35
|
+
/** Refines the latest committed value, or the Undo baseline when one exists; duplicate activation is ignored. */
|
|
36
|
+
refine: () => Promise<void>;
|
|
37
|
+
/** Restores the baseline from before the first successful refinement. */
|
|
38
|
+
undo: () => void;
|
|
39
|
+
/** Cancels work and clears feedback and Undo without modifying the value. */
|
|
40
|
+
reset: () => void;
|
|
41
|
+
}
|
|
42
|
+
/** Preserves an author's draft and Undo baseline across asynchronous controlled updates. */
|
|
43
|
+
export declare const useTextRefinement: (options: UseTextRefinementOptions) => TextRefinementResult;
|
|
44
|
+
//# sourceMappingURL=useTextRefinement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTextRefinement.d.ts","sourceRoot":"","sources":["../../src/hooks/useTextRefinement.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,6CAA6C;AAC7C,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,mEAAmE;IACnE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,gDAAgD;AAChD,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,KAAK,EAAE,mBAAmB,CAAC;IAC3B,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,iHAAiH;IACjH,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,yEAAyE;IACzE,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,GAC5B,SAAS,wBAAwB,KAChC,oBAiJF,CAAC"}
|
|
@@ -29,11 +29,11 @@ var i = /* @__PURE__ */ function(e) {
|
|
|
29
29
|
if (!u.current || !e.onRefine || e.disabled || !e.value.trim() || t.controller || t.expected !== void 0) return;
|
|
30
30
|
let n = new AbortController();
|
|
31
31
|
t.controller = n;
|
|
32
|
-
let r = ++t.generation, i = e.value, a = () => u.current && r === t.generation && !n.signal.aborted && l.current.value === i;
|
|
32
|
+
let r = ++t.generation, i = e.value, a = t.baseline ?? i, s = () => u.current && r === t.generation && !n.signal.aborted && l.current.value === i;
|
|
33
33
|
o("pending");
|
|
34
34
|
try {
|
|
35
|
-
let r = await e.onRefine(
|
|
36
|
-
if (!
|
|
35
|
+
let r = await e.onRefine(a, n.signal);
|
|
36
|
+
if (!s()) return;
|
|
37
37
|
if (typeof r != "string" || !r.trim()) throw Error("Empty refinement");
|
|
38
38
|
if (r === i) {
|
|
39
39
|
o("unchanged");
|
|
@@ -41,7 +41,7 @@ var i = /* @__PURE__ */ function(e) {
|
|
|
41
41
|
}
|
|
42
42
|
t.baseline ??= i, t.expected = r, c(!0), o("success"), l.current.onChange(r);
|
|
43
43
|
} catch (e) {
|
|
44
|
-
if (!
|
|
44
|
+
if (!s()) return;
|
|
45
45
|
typeof e == "object" && e && "name" in e && e.name === "AbortError" ? o("idle") : o("error");
|
|
46
46
|
} finally {
|
|
47
47
|
r === t.generation && (t.controller = void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Result of {@link useUnsavedChangesGuard}. */
|
|
2
|
+
export interface UnsavedChangesGuardResult {
|
|
3
|
+
/** Runs `action` immediately when nothing is dirty; otherwise defers it and opens the confirmation. */
|
|
4
|
+
guard: (action: () => void) => void;
|
|
5
|
+
/** Whether the discard confirmation should be shown. */
|
|
6
|
+
isConfirmOpen: boolean;
|
|
7
|
+
/** Closes the confirmation and runs the deferred action. */
|
|
8
|
+
confirm: () => void;
|
|
9
|
+
/** Closes the confirmation and drops the deferred action. */
|
|
10
|
+
dismiss: () => void;
|
|
11
|
+
}
|
|
12
|
+
/** Defers leaving a form with unsaved changes until the user confirms, and asks the browser to warn before the page unloads. */
|
|
13
|
+
export declare const useUnsavedChangesGuard: (isDirty: boolean) => UnsavedChangesGuardResult;
|
|
14
|
+
//# sourceMappingURL=useUnsavedChangesGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnsavedChangesGuard.d.ts","sourceRoot":"","sources":["../../src/hooks/useUnsavedChangesGuard.ts"],"names":[],"mappings":"AAEA,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC,uGAAuG;IACvG,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACpC,wDAAwD;IACxD,aAAa,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,gIAAgI;AAChI,eAAO,MAAM,sBAAsB,GACjC,SAAS,OAAO,KACf,yBAsCF,CAAC"}
|
|
@@ -10,11 +10,7 @@ var i = (i) => {
|
|
|
10
10
|
return window.addEventListener("beforeunload", e), () => window.removeEventListener("beforeunload", e);
|
|
11
11
|
}, [i]), {
|
|
12
12
|
guard: e((e) => {
|
|
13
|
-
|
|
14
|
-
e();
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
s.current = e, o(!0);
|
|
13
|
+
i ? (s.current = e, o(!0)) : e();
|
|
18
14
|
}, [i]),
|
|
19
15
|
isConfirmOpen: a,
|
|
20
16
|
confirm: e(() => {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Options of {@link useUnsavedChangesLeaveConfirmation}. */
|
|
2
|
+
export interface UnsavedChangesLeaveConfirmationOptions {
|
|
3
|
+
/** Whether a transition is currently held by the host's blocker. */
|
|
4
|
+
isBlocked: boolean;
|
|
5
|
+
/** Lets the held transition continue; runs on Discard changes. */
|
|
6
|
+
onDiscard: () => void;
|
|
7
|
+
/** Drops the held transition; runs on Keep editing or any dismissal. */
|
|
8
|
+
onKeep: () => void;
|
|
9
|
+
}
|
|
10
|
+
/** Opens the `UnsavedChangesProvider` dialog while a transition is blocked, and closes it unanswered once the transition is gone or the caller unmounts. */
|
|
11
|
+
export declare const useUnsavedChangesLeaveConfirmation: ({ isBlocked, onDiscard, onKeep, }: UnsavedChangesLeaveConfirmationOptions) => void;
|
|
12
|
+
//# sourceMappingURL=useUnsavedChangesLeaveConfirmation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnsavedChangesLeaveConfirmation.d.ts","sourceRoot":"","sources":["../../src/hooks/useUnsavedChangesLeaveConfirmation.ts"],"names":[],"mappings":"AAGA,6DAA6D;AAC7D,MAAM,WAAW,sCAAsC;IACrD,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,wEAAwE;IACxE,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,4JAA4J;AAC5J,eAAO,MAAM,kCAAkC,GAAI,mCAIhD,sCAAsC,KAAG,IAyB3C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useUnsavedChangesInternal as e } from "../components/UnsavedChangesProvider/unsaved-changes-context.js";
|
|
2
|
+
import { useEffect as t, useLayoutEffect as n, useRef as r } from "react";
|
|
3
|
+
//#region src/hooks/useUnsavedChangesLeaveConfirmation.ts
|
|
4
|
+
var i = ({ isBlocked: i, onDiscard: a, onKeep: o }) => {
|
|
5
|
+
let { open: s } = e(), c = r({
|
|
6
|
+
onDiscard: a,
|
|
7
|
+
onKeep: o
|
|
8
|
+
});
|
|
9
|
+
n(() => {
|
|
10
|
+
c.current = {
|
|
11
|
+
onDiscard: a,
|
|
12
|
+
onKeep: o
|
|
13
|
+
};
|
|
14
|
+
}, [a, o]), t(() => {
|
|
15
|
+
if (i) return s({
|
|
16
|
+
onDiscard: () => c.current.onDiscard(),
|
|
17
|
+
onKeep: () => c.current.onKeep()
|
|
18
|
+
});
|
|
19
|
+
}, [i, s]);
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { i as useUnsavedChangesLeaveConfirmation };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Options of {@link useUnsavedChangesLeaveGuard}. */
|
|
2
|
+
export interface UnsavedChangesLeaveGuardOptions {
|
|
3
|
+
/** Whether the form currently holds edits that leaving would discard. */
|
|
4
|
+
isDirty: boolean;
|
|
5
|
+
}
|
|
6
|
+
/** Result of {@link useUnsavedChangesLeaveGuard}. */
|
|
7
|
+
export interface UnsavedChangesLeaveGuardResult {
|
|
8
|
+
/**
|
|
9
|
+
* Returns whether a transition must be blocked: `isLeaving` (the host's own
|
|
10
|
+
* "this transition leaves the form" decision) while the form is dirty,
|
|
11
|
+
* unless `allowNextNavigation` armed a bypass, which this call consumes.
|
|
12
|
+
* Stable across renders and reads the latest `isDirty`.
|
|
13
|
+
*/
|
|
14
|
+
shouldBlockLeave: (isLeaving: boolean) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Lets exactly one following transition through unblocked. Call it right
|
|
17
|
+
* before the form's own post-save exit, while `isDirty` may still be `true`
|
|
18
|
+
* because the clean state has not re-rendered yet.
|
|
19
|
+
*/
|
|
20
|
+
allowNextNavigation: () => void;
|
|
21
|
+
}
|
|
22
|
+
/** Registers the form's dirty state with `UnsavedChangesProvider`, warns before the page unloads while dirty, and returns a router-agnostic block predicate with a one-shot bypass. */
|
|
23
|
+
export declare const useUnsavedChangesLeaveGuard: ({ isDirty, }: UnsavedChangesLeaveGuardOptions) => UnsavedChangesLeaveGuardResult;
|
|
24
|
+
//# sourceMappingURL=useUnsavedChangesLeaveGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnsavedChangesLeaveGuard.d.ts","sourceRoot":"","sources":["../../src/hooks/useUnsavedChangesLeaveGuard.ts"],"names":[],"mappings":"AAGA,sDAAsD;AACtD,MAAM,WAAW,+BAA+B;IAC9C,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qDAAqD;AACrD,MAAM,WAAW,8BAA8B;IAC7C;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;IAClD;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,uLAAuL;AACvL,eAAO,MAAM,2BAA2B,GAAI,cAEzC,+BAA+B,KAAG,8BAuCpC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useUnsavedChangesInternal as e } from "../components/UnsavedChangesProvider/unsaved-changes-context.js";
|
|
2
|
+
import { useCallback as t, useEffect as n, useLayoutEffect as r, useRef as i } from "react";
|
|
3
|
+
//#region src/hooks/useUnsavedChangesLeaveGuard.ts
|
|
4
|
+
var a = ({ isDirty: a }) => {
|
|
5
|
+
let { register: o, unloadAllowedRef: s } = e(), c = i(a), l = i(!1);
|
|
6
|
+
r(() => {
|
|
7
|
+
c.current = a;
|
|
8
|
+
}, [a]), n(() => o(a), [o, a]);
|
|
9
|
+
let u = t((e) => l.current ? (l.current = !1, !1) : c.current && e, []);
|
|
10
|
+
return n(() => {
|
|
11
|
+
if (!a) return;
|
|
12
|
+
let e = (e) => {
|
|
13
|
+
s.current || e.preventDefault();
|
|
14
|
+
};
|
|
15
|
+
return window.addEventListener("beforeunload", e), () => window.removeEventListener("beforeunload", e);
|
|
16
|
+
}, [a, s]), {
|
|
17
|
+
shouldBlockLeave: u,
|
|
18
|
+
allowNextNavigation: t(() => {
|
|
19
|
+
l.current = !0;
|
|
20
|
+
}, [])
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { a as useUnsavedChangesLeaveGuard };
|
package/index.css
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
.
|
|
2
|
-
/*$vite$:1
|
|
1
|
+
._text_89yo1_1{color:var(--olm-text,var(--text-secondary,#57647a))}._surface_t5bi8_1{background:var(--dfms-surface,var(--bg-layer-base,#f5f7fa))}._tree_t5bi8_5{border-color:var(--dfms-tree-border,var(--stroke-tertiary,#e0e6f0));background:var(--dfms-tree-bg,var(--bg-layer-raised,#fcfcfc));box-shadow:4px 0 8px 0 var(--dfms-tree-shadow,#2764d91a);clip-path:inset(0 -12px 0 0)}[dir=rtl] ._tree_t5bi8_5{box-shadow:-4px 0 8px 0 var(--dfms-tree-shadow,#2764d91a);clip-path:inset(0 0 0 -12px)}._overlay_t5bi8_20{background:var(--dfms-overlay-backdrop,var(--bg-backdrop,#161b2d4d))}._popup_1d7g5_2{box-shadow:0 8px 32px 0 var(--fmam-shadow,#00000029);background:var(--fmam-bg,var(--bg-layer-raised,#fcfcfc))!important}._title_1d7g5_8{color:var(--fmam-title,var(--text-primary,#161b2d))}._agentIconBadge_147d2_1{background:var(--di-icon-bg,var(--bg-entity-icon,var(--bg-layer-sunken,#eef1f7)))}._label_1qwvo_1{color:var(--pes-label-color,var(--text-primary,#161b2d))}._description_1qwvo_5{color:var(--pes-description-color,var(--text-secondary,#57647a))}._icon_18yqy_1{color:var(--nva-icon,var(--text-accent,#1d4ed8))}._title_11w3i_1{color:var(--ih-title-color,var(--text-primary,#161b2d))}._count_11w3i_5{color:var(--ih-count-color,var(--text-secondary,#57647a))}._row_1csuq_1{border-color:var(--rs-border,var(--stroke-tertiary,#e0e6f0));background:var(--rs-bg,var(--bg-layer-sunken,#eef1f7))}._versionTag_1csuq_7{border-color:var(--rs-version-tag-border,var(--stroke-tertiary,#e0e6f0))!important;background:var(--rs-version-tag-bg,var(--bg-control-accent-alpha,#2764d90f))!important;color:var(--rs-version-tag-text,var(--text-accent,#1d4ed8))!important}._info_pkxew_1{--rs-bg:var(--bg-info,#e1eaf9)}._danger_pkxew_5{--rs-bg:var(--bg-control-error-alpha-active,#f7646433);--rs-border:var(--stroke-error-alpha,#ae2f2f73)}._typeLabel_17nhs_1{color:var(--cir-type-label-text,var(--text-secondary,#57647a))}._message_1iqfi_1{color:var(--cfm-message-text,var(--text-primary,#161b2d))}._consequences_1iqfi_5{color:var(--cfm-consequence-text,var(--text-secondary,#57647a))}._footer_1iqfi_9{border-block-start:1px solid var(--cfm-footer-border,var(--stroke-tertiary,#e0e6f0))}._names_g31v4_1{color:var(--cfm-message-text,var(--text-primary,#161b2d))}._more_g31v4_5{color:var(--cfm-consequence-text,var(--text-secondary,#57647a))}._tableHeader_1qvg8_1{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-markdown-border,var(--cm-code-block-border,var(--stroke-secondary,#d1dbea)))}._container_sqe5k_1{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-code-block-border,var(--stroke-secondary,#d1dbea))}._containerLight_sqe5k_6{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc))}._header_sqe5k_10{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-code-block-border,var(--stroke-secondary,#d1dbea))}._languageLabel_sqe5k_15{color:var(--cm-code-block-language,var(--text-secondary,#57647a))}._copiedIcon_sqe5k_19{color:var(--cm-code-block-copied,var(--text-success,#007274))}._scrollContainer_sqe5k_23 .token.table,._scrollContainer_sqe5k_23 .token.table-header-row,._scrollContainer_sqe5k_23 .token.table-line,._scrollContainer_sqe5k_23 .token.table-data-rows{display:inline}._scrollContainer_sqe5k_23{scrollbar-width:thin;scrollbar-color:var(--cm-code-block-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_sqe5k_23::-webkit-scrollbar{width:4px;height:4px}._scrollContainer_sqe5k_23::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_sqe5k_23::-webkit-scrollbar-thumb{background-color:var(--cm-code-block-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._tableContainer_82t2b_1{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-markdown-border,var(--cm-code-block-border,var(--stroke-secondary,#d1dbea)))}._tableContainerLight_82t2b_6{background:var(--cm-code-block-bg,var(--bg-layer-base,#f5f7fa))}._actions_82t2b_10{border-color:var(--cm-table-actions-border,var(--stroke-tertiary,#e0e6f0));background:var(--cm-table-actions-bg,var(--bg-layer-raised,#fcfcfc))}._copiedIcon_82t2b_15{color:var(--cm-code-block-copied,var(--text-success,#007274))}._scrollContainer_82t2b_19{scrollbar-width:thin;scrollbar-color:var(--cm-table-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_82t2b_19::-webkit-scrollbar{width:4px;height:4px}._scrollContainer_82t2b_19::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_82t2b_19::-webkit-scrollbar-thumb{background-color:var(--cm-table-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._tableHeaderCell_82t2b_35{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));height:3rem;color:var(--cm-table-header-text,var(--text-secondary,#57647a))}._sectionRow_82t2b_42 td{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc))}._rowDivider_82t2b_46{border-block-end:.5px solid var(--cm-table-row-divider,var(--stroke-tertiary,#e0e6f0))}tbody ._row_82t2b_46:hover td{background:var(--cm-table-row-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924))}._tableScrollFadeEnd_82t2b_56{-webkit-mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%)}[dir=rtl] ._tableScrollFadeEnd_82t2b_56{-webkit-mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%)}._tableScrollFadeStart_82t2b_64{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%)}[dir=rtl] ._tableScrollFadeStart_82t2b_64{-webkit-mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%)}._tableScrollFadeBoth_82t2b_72{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%)}@keyframes _cm-shimmer_1ql91_1{0%{background-position:200%}to{background-position:-200%}}._thinking_1ql91_9{background:linear-gradient(270deg, var(--cm-thinking-inverted,var(--text-primary,#161b2d)) 0%, var(--cm-thinking-secondary,var(--text-secondary,#57647a)) 40%, var(--cm-thinking-inverted,var(--text-primary,#161b2d)) 80%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite _cm-shimmer_1ql91_1}._h6_1ql91_18{color:var(--cm-h6-text,var(--text-secondary,#57647a))}._codeInline_1ql91_22{background:var(--cm-code-inline-bg,var(--bg-layer-raised,#fcfcfc));color:var(--cm-code-inline-text,var(--text-primary,#161b2d))}._secondaryBorder_1ql91_27{border-color:var(--cm-markdown-border,var(--stroke-secondary,#d1dbea))}._blockquote_1ql91_31{border-color:var(--cm-blockquote-border,var(--stroke-primary,#57647a));color:var(--cm-blockquote-text,var(--text-secondary,#57647a))}._link_1ql91_36{color:var(--cm-link-text,var(--text-accent,#1d4ed8))}._link_1ql91_36:focus-visible{outline-color:var(--cm-link-focus,var(--stroke-focus,#161b2d))}._scrollContainer_n2oom_1{scrollbar-width:thin;scrollbar-color:var(--cm-math-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_n2oom_1::-webkit-scrollbar{height:4px}._scrollContainer_n2oom_1::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_n2oom_1::-webkit-scrollbar-thumb{background-color:var(--cm-math-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._scrollContainer_n2oom_1:focus-visible{outline:1px solid var(--cm-math-focus,var(--stroke-focus,#161b2d));outline-offset:2px}._mathContent_n2oom_24{width:max-content;min-width:100%;display:block}
|
|
2
|
+
/*$vite$:1*//*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
3
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-e-0{inset-inline-end:0}.inset-e-2{inset-inline-end:.5rem}.inset-e-4{inset-inline-end:1rem}.top-0{top:0}.top-2{top:.5rem}.top-\[-6px\]{top:-6px}.bottom-4{bottom:1rem}.bottom-\[calc\(1\.5rem\+env\(safe-area-inset-bottom\)\)\]{bottom:calc(1.5rem + env(safe-area-inset-bottom))}.z-1{z-index:1}.z-2{z-index:2}.z-10{z-index:10}.z-51{z-index:51}.z-52{z-index:52}.z-70{z-index:70}.mx-0\.5{margin-inline:.125rem}.my-4{margin-block:1rem}.my-5{margin-block:1.25rem}.ms-auto{margin-inline-start:auto}.me-1\.5{margin-inline-end:.375rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-full{width:100%;height:100%}.h-0{height:0}.h-\[24px\]{height:24px}.h-\[min\(900px\,100dvh\)\]\!{height:min(900px,100dvh)!important}.h-fit\!{height:fit-content!important}.h-full{height:100%}.max-h-\[30vh\]{max-height:30vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[344px\]{max-height:344px}.max-h-\[calc\(100dvh-3rem\)\]{max-height:calc(100dvh - 3rem)}.max-h-full\!{max-height:100%!important}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.w-\[360px\]{width:360px}.w-\[400px\]\!{width:400px!important}.w-full{width:100%}.w-max{width:max-content}.max-w-96{max-width:24rem}.max-w-\[30\%\]{max-width:30%}.max-w-\[45\%\]{max-width:45%}.max-w-\[1600px\]\!{max-width:1600px!important}.max-w-\[min\(600px\,100\%\)\]{max-width:min(600px,100%)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem * var(--tw-space-y-reverse));margin-block-end:calc(.25rem * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:.75rem}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:4px}.rounded-\[14px\]{border-radius:14px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-layer-raised{background-color:var(--bg-layer-raised,#fcfcfc)}.bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)}.object-contain{object-fit:contain}.p-0{padding:0}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-1\.5{padding-inline:.375rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.py-0{padding-block:0}.py-0\.5{padding-block:.125rem}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-2\.5{padding-block:.625rem}.py-4{padding-block:1rem}.py-\[7px\]{padding-block:7px}.ps-4{padding-inline-start:1rem}.ps-5{padding-inline-start:1.25rem}.ps-\[2em\]{padding-inline-start:2em}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pb-0{padding-bottom:0}.pb-4{padding-bottom:1rem}.text-center{text-align:center}.text-end{text-align:end}.text-start{text-align:start}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.\[text-wrap\:balance\]{text-wrap:balance}.\[text-wrap\:pretty\]{text-wrap:pretty}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-current\/60{text-decoration-color:currentColor}@supports (color:color-mix(in lab, red, red)){.decoration-current\/60{-webkit-text-decoration-color:color-mix(in oklab, currentcolor 60%, transparent);-webkit-text-decoration-color:color-mix(in oklab, currentcolor 60%, transparent);text-decoration-color:color-mix(in oklab, currentcolor 60%, transparent)}}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-chat-button{--tw-shadow:0 2px 12px 0 var(--tw-shadow-color,var(--shadow-xs-1,#2764d933)), 0 2px 6px 0 var(--tw-shadow-color,var(--shadow-xs-2,#161b2d08));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 0 8px 1px var(--tw-shadow-color,var(--shadow-xs-1,#2764d933));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}@media (hover:hover){.group-hover\/table\:opacity-100:is(:where(.group\/table):hover *){opacity:1}}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:decoration-current:hover{text-decoration-color:currentColor}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:justify-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){justify-content:flex-start}@media (max-width:1279px){.mobile\:h-full\!{height:100%!important}.mobile\:max-w-full\!{max-width:100%!important}.mobile\:flex-1{flex:1}.mobile\:rounded-none{border-radius:0}.mobile\:p-0{padding:0}}@media (min-width:1280px){.desktop\:inset-s-auto{inset-inline-start:auto}.desktop\:me-6{margin-inline-end:1.5rem}.desktop\:w-\[min\(600px\,calc\(100vw-3rem\)\)\]{width:min(600px,100vw - 3rem)}.desktop\:w-auto{width:auto}.desktop\:items-end{align-items:flex-end}.desktop\:p-4{padding:1rem}.desktop\:px-0{padding-inline:0}.desktop\:px-6{padding-inline:1.5rem}}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:\!h-\[var\(--resizable-field-max-height\,70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){height:var(--resizable-field-max-height,70vh)!important}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:max-h-\[var\(--resizable-field-max-height\,70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){max-height:var(--resizable-field-max-height,70vh)}.\[\&_\.wmde-markdown_ul\]\:list-disc .wmde-markdown ul{list-style-type:disc}.\[\&_\.wmde-markdown_ul_ul\]\:list-\[circle\] .wmde-markdown ul ul{list-style-type:circle}.\[\&_\.wmde-markdown_ul_ul_ul\]\:list-\[square\] .wmde-markdown ul ul ul{list-style-type:square}.\[\&_\.wmde-markdown\>ol\]\:list-decimal .wmde-markdown>ol{list-style-type:decimal}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
|