@algolia/satellite 2.2.2 → 2.3.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/cjs/Actions/Accordion/Accordion.d.ts +8 -0
  2. package/dist/cjs/Actions/Accordion/Accordion.js +5 -3
  3. package/dist/cjs/Fields/AutoComplete/AutoComplete.js +6 -1
  4. package/dist/cjs/Fields/TextArea/TextArea.d.ts +5 -1
  5. package/dist/cjs/Fields/TextArea/TextArea.js +3 -2
  6. package/dist/cjs/Fields/TextArea/TextArea.tailwind.js +1 -1
  7. package/dist/cjs/Fields/TextAreaAutoSize/TextAreaAutoSize.d.ts +18 -0
  8. package/dist/cjs/Fields/TextAreaAutoSize/TextAreaAutoSize.js +82 -0
  9. package/dist/cjs/Fields/TextAreaAutoSize/TextAreaAutoSize.styles.d.ts +25 -0
  10. package/dist/cjs/Fields/TextAreaAutoSize/TextAreaAutoSize.styles.js +16 -0
  11. package/dist/cjs/Fields/TextAreaAutoSize/index.d.ts +2 -0
  12. package/dist/cjs/Fields/TextAreaAutoSize/index.js +12 -0
  13. package/dist/cjs/Fields/index.d.ts +2 -1
  14. package/dist/cjs/Fields/index.js +15 -4
  15. package/dist/cjs/Helpers/ShimmerText/ShimmerText.d.ts +3 -0
  16. package/dist/cjs/Helpers/ShimmerText/ShimmerText.js +28 -0
  17. package/dist/cjs/Helpers/ShimmerText/ShimmerText.tailwind.d.ts +5 -0
  18. package/dist/cjs/Helpers/ShimmerText/ShimmerText.tailwind.js +37 -0
  19. package/dist/cjs/Helpers/ShimmerText/index.d.ts +2 -0
  20. package/dist/cjs/Helpers/ShimmerText/index.js +12 -0
  21. package/dist/cjs/Helpers/index.d.ts +1 -0
  22. package/dist/cjs/Helpers/index.js +11 -0
  23. package/dist/cjs/Helpers/utilities/utilities.tailwind.js +6 -1
  24. package/dist/cjs/Indicators/Skeleton/Skeleton.d.ts +2 -2
  25. package/dist/cjs/Layout/Chat/ChatContextAccordion/ChatContextAccordion.d.ts +8 -0
  26. package/dist/cjs/Layout/Chat/ChatContextAccordion/ChatContextAccordion.js +44 -0
  27. package/dist/cjs/Layout/Chat/ChatContextAccordion/ChatContextAccordion.styles.d.ts +67 -0
  28. package/dist/cjs/Layout/Chat/ChatContextAccordion/ChatContextAccordion.styles.js +23 -0
  29. package/dist/cjs/Layout/Chat/ChatContextAccordion/index.d.ts +1 -0
  30. package/dist/cjs/Layout/Chat/ChatContextAccordion/index.js +16 -0
  31. package/dist/cjs/Layout/Chat/ChatMessage/ChatMessage.d.ts +40 -0
  32. package/dist/cjs/Layout/Chat/ChatMessage/ChatMessage.js +83 -0
  33. package/dist/cjs/Layout/Chat/ChatMessage/ChatMessage.styles.d.ts +100 -0
  34. package/dist/cjs/Layout/Chat/ChatMessage/ChatMessage.styles.js +71 -0
  35. package/dist/cjs/Layout/Chat/ChatMessage/index.d.ts +1 -0
  36. package/dist/cjs/Layout/Chat/ChatMessage/index.js +16 -0
  37. package/dist/cjs/Layout/Chat/ChatMessageError/ChatMessageError.d.ts +57 -0
  38. package/dist/cjs/Layout/Chat/ChatMessageError/ChatMessageError.js +68 -0
  39. package/dist/cjs/Layout/Chat/ChatMessageError/ChatMessageError.styles.d.ts +173 -0
  40. package/dist/cjs/Layout/Chat/ChatMessageError/ChatMessageError.styles.js +18 -0
  41. package/dist/cjs/Layout/Chat/ChatMessageError/index.d.ts +1 -0
  42. package/dist/cjs/Layout/Chat/ChatMessageError/index.js +16 -0
  43. package/dist/cjs/Layout/Chat/ChatMessageLoader/ChatMessageLoader.d.ts +18 -0
  44. package/dist/cjs/Layout/Chat/ChatMessageLoader/ChatMessageLoader.js +63 -0
  45. package/dist/cjs/Layout/Chat/ChatMessageLoader/ChatMessageLoader.styles.d.ts +200 -0
  46. package/dist/cjs/Layout/Chat/ChatMessageLoader/ChatMessageLoader.styles.js +21 -0
  47. package/dist/cjs/Layout/Chat/ChatMessageLoader/index.d.ts +1 -0
  48. package/dist/cjs/Layout/Chat/ChatMessageLoader/index.js +16 -0
  49. package/dist/cjs/Layout/Chat/ChatMessages/ChatMessages.d.ts +42 -0
  50. package/dist/cjs/Layout/Chat/ChatMessages/ChatMessages.js +124 -0
  51. package/dist/cjs/Layout/Chat/ChatMessages/ChatMessages.styles.d.ts +43 -0
  52. package/dist/cjs/Layout/Chat/ChatMessages/ChatMessages.styles.js +29 -0
  53. package/dist/cjs/Layout/Chat/ChatMessages/index.d.ts +1 -0
  54. package/dist/cjs/Layout/Chat/ChatMessages/index.js +16 -0
  55. package/dist/cjs/Layout/Chat/ChatMessages/useLastMessageHeight.d.ts +10 -0
  56. package/dist/cjs/Layout/Chat/ChatMessages/useLastMessageHeight.js +47 -0
  57. package/dist/cjs/Layout/Chat/ChatPrompt/ChatPrompt.d.ts +83 -0
  58. package/dist/cjs/Layout/Chat/ChatPrompt/ChatPrompt.js +136 -0
  59. package/dist/cjs/Layout/Chat/ChatPrompt/ChatPrompt.styles.d.ts +61 -0
  60. package/dist/cjs/Layout/Chat/ChatPrompt/ChatPrompt.styles.js +22 -0
  61. package/dist/cjs/Layout/Chat/ChatPrompt/index.d.ts +1 -0
  62. package/dist/cjs/Layout/Chat/ChatPrompt/index.js +16 -0
  63. package/dist/cjs/Layout/Chat/ChatPrompt/useTypewriter.d.ts +18 -0
  64. package/dist/cjs/Layout/Chat/ChatPrompt/useTypewriter.js +78 -0
  65. package/dist/cjs/Layout/Chat/index.d.ts +15 -0
  66. package/dist/cjs/Layout/Chat/index.js +47 -0
  67. package/dist/cjs/Layout/Chat/types.d.ts +7 -0
  68. package/dist/cjs/Layout/Chat/types.js +5 -0
  69. package/dist/cjs/Layout/index.d.ts +1 -0
  70. package/dist/cjs/Layout/index.js +11 -0
  71. package/dist/cjs/Overlay/Modal/Modal.js +1 -1
  72. package/dist/cjs/Satellite/locale.d.ts +7 -1
  73. package/dist/cjs/styles/helpers/tv.d.ts +1 -0
  74. package/dist/cjs/styles/helpers/tv.js +13 -0
  75. package/dist/cjs/styles/tailwind.config.js +1 -1
  76. package/dist/cjs/utils/getTextFromReactNode.d.ts +2 -1
  77. package/dist/cjs/utils/getTextFromReactNode.js +12 -7
  78. package/dist/cjs/utils/isCssPropertySupported.d.ts +1 -1
  79. package/dist/esm/Actions/Accordion/Accordion.d.ts +8 -0
  80. package/dist/esm/Actions/Accordion/Accordion.js +5 -3
  81. package/dist/esm/Fields/AutoComplete/AutoComplete.js +6 -1
  82. package/dist/esm/Fields/TextArea/TextArea.d.ts +5 -1
  83. package/dist/esm/Fields/TextArea/TextArea.js +3 -2
  84. package/dist/esm/Fields/TextArea/TextArea.tailwind.js +1 -1
  85. package/dist/esm/Fields/TextAreaAutoSize/TextAreaAutoSize.d.ts +18 -0
  86. package/dist/esm/Fields/TextAreaAutoSize/TextAreaAutoSize.js +75 -0
  87. package/dist/esm/Fields/TextAreaAutoSize/TextAreaAutoSize.styles.d.ts +25 -0
  88. package/dist/esm/Fields/TextAreaAutoSize/TextAreaAutoSize.styles.js +9 -0
  89. package/dist/esm/Fields/TextAreaAutoSize/index.d.ts +2 -0
  90. package/dist/esm/Fields/TextAreaAutoSize/index.js +1 -0
  91. package/dist/esm/Fields/index.d.ts +2 -1
  92. package/dist/esm/Fields/index.js +2 -1
  93. package/dist/esm/Helpers/ShimmerText/ShimmerText.d.ts +3 -0
  94. package/dist/esm/Helpers/ShimmerText/ShimmerText.js +21 -0
  95. package/dist/esm/Helpers/ShimmerText/ShimmerText.tailwind.d.ts +5 -0
  96. package/dist/esm/Helpers/ShimmerText/ShimmerText.tailwind.js +36 -0
  97. package/dist/esm/Helpers/ShimmerText/index.d.ts +2 -0
  98. package/dist/esm/Helpers/ShimmerText/index.js +1 -0
  99. package/dist/esm/Helpers/index.d.ts +1 -0
  100. package/dist/esm/Helpers/index.js +2 -1
  101. package/dist/esm/Helpers/utilities/utilities.tailwind.js +6 -1
  102. package/dist/esm/Indicators/Skeleton/Skeleton.d.ts +2 -2
  103. package/dist/esm/Layout/Chat/ChatContextAccordion/ChatContextAccordion.d.ts +8 -0
  104. package/dist/esm/Layout/Chat/ChatContextAccordion/ChatContextAccordion.js +37 -0
  105. package/dist/esm/Layout/Chat/ChatContextAccordion/ChatContextAccordion.styles.d.ts +67 -0
  106. package/dist/esm/Layout/Chat/ChatContextAccordion/ChatContextAccordion.styles.js +16 -0
  107. package/dist/esm/Layout/Chat/ChatContextAccordion/index.d.ts +1 -0
  108. package/dist/esm/Layout/Chat/ChatContextAccordion/index.js +1 -0
  109. package/dist/esm/Layout/Chat/ChatMessage/ChatMessage.d.ts +40 -0
  110. package/dist/esm/Layout/Chat/ChatMessage/ChatMessage.js +77 -0
  111. package/dist/esm/Layout/Chat/ChatMessage/ChatMessage.styles.d.ts +100 -0
  112. package/dist/esm/Layout/Chat/ChatMessage/ChatMessage.styles.js +64 -0
  113. package/dist/esm/Layout/Chat/ChatMessage/index.d.ts +1 -0
  114. package/dist/esm/Layout/Chat/ChatMessage/index.js +1 -0
  115. package/dist/esm/Layout/Chat/ChatMessageError/ChatMessageError.d.ts +57 -0
  116. package/dist/esm/Layout/Chat/ChatMessageError/ChatMessageError.js +61 -0
  117. package/dist/esm/Layout/Chat/ChatMessageError/ChatMessageError.styles.d.ts +173 -0
  118. package/dist/esm/Layout/Chat/ChatMessageError/ChatMessageError.styles.js +11 -0
  119. package/dist/esm/Layout/Chat/ChatMessageError/index.d.ts +1 -0
  120. package/dist/esm/Layout/Chat/ChatMessageError/index.js +1 -0
  121. package/dist/esm/Layout/Chat/ChatMessageLoader/ChatMessageLoader.d.ts +18 -0
  122. package/dist/esm/Layout/Chat/ChatMessageLoader/ChatMessageLoader.js +56 -0
  123. package/dist/esm/Layout/Chat/ChatMessageLoader/ChatMessageLoader.styles.d.ts +200 -0
  124. package/dist/esm/Layout/Chat/ChatMessageLoader/ChatMessageLoader.styles.js +14 -0
  125. package/dist/esm/Layout/Chat/ChatMessageLoader/index.d.ts +1 -0
  126. package/dist/esm/Layout/Chat/ChatMessageLoader/index.js +1 -0
  127. package/dist/esm/Layout/Chat/ChatMessages/ChatMessages.d.ts +42 -0
  128. package/dist/esm/Layout/Chat/ChatMessages/ChatMessages.js +119 -0
  129. package/dist/esm/Layout/Chat/ChatMessages/ChatMessages.styles.d.ts +43 -0
  130. package/dist/esm/Layout/Chat/ChatMessages/ChatMessages.styles.js +22 -0
  131. package/dist/esm/Layout/Chat/ChatMessages/index.d.ts +1 -0
  132. package/dist/esm/Layout/Chat/ChatMessages/index.js +1 -0
  133. package/dist/esm/Layout/Chat/ChatMessages/useLastMessageHeight.d.ts +10 -0
  134. package/dist/esm/Layout/Chat/ChatMessages/useLastMessageHeight.js +41 -0
  135. package/dist/esm/Layout/Chat/ChatPrompt/ChatPrompt.d.ts +83 -0
  136. package/dist/esm/Layout/Chat/ChatPrompt/ChatPrompt.js +131 -0
  137. package/dist/esm/Layout/Chat/ChatPrompt/ChatPrompt.styles.d.ts +61 -0
  138. package/dist/esm/Layout/Chat/ChatPrompt/ChatPrompt.styles.js +15 -0
  139. package/dist/esm/Layout/Chat/ChatPrompt/index.d.ts +1 -0
  140. package/dist/esm/Layout/Chat/ChatPrompt/index.js +1 -0
  141. package/dist/esm/Layout/Chat/ChatPrompt/useTypewriter.d.ts +18 -0
  142. package/dist/esm/Layout/Chat/ChatPrompt/useTypewriter.js +71 -0
  143. package/dist/esm/Layout/Chat/index.d.ts +15 -0
  144. package/dist/esm/Layout/Chat/index.js +6 -0
  145. package/dist/esm/Layout/Chat/types.d.ts +7 -0
  146. package/dist/esm/Layout/Chat/types.js +1 -0
  147. package/dist/esm/Layout/index.d.ts +1 -0
  148. package/dist/esm/Layout/index.js +1 -0
  149. package/dist/esm/Overlay/Modal/Modal.js +1 -1
  150. package/dist/esm/Satellite/locale.d.ts +7 -1
  151. package/dist/esm/styles/helpers/tv.d.ts +1 -0
  152. package/dist/esm/styles/helpers/tv.js +7 -0
  153. package/dist/esm/styles/tailwind.config.js +1 -1
  154. package/dist/esm/utils/getTextFromReactNode.d.ts +2 -1
  155. package/dist/esm/utils/getTextFromReactNode.js +13 -8
  156. package/dist/esm/utils/isCssPropertySupported.d.ts +1 -1
  157. package/dist/satellite.min.css +1 -1
  158. package/package.json +12 -3
@@ -0,0 +1,131 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["className", "renderHeader", "children", "renderFooter", "onSubmit", "onStop", "placeholder", "placeholders", "status", "defaultValue", "value", "locale"];
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ import { ArrowUpIcon, CircleStopIcon } from "lucide-react";
8
+ import { useState } from "react";
9
+ import { useRef } from "react";
10
+ import { forwardRef } from "react";
11
+ import { chatPromptStyles } from "./ChatPrompt.styles";
12
+ import { useTypewriter } from "./useTypewriter";
13
+ import { IconButton } from "./../../../Actions";
14
+ import { TextAreaAutoSize } from "./../../../Fields/TextAreaAutoSize/TextAreaAutoSize";
15
+ import { useLocale } from "./../../../Satellite";
16
+ import { mergeRefs } from "./../../../utils/mergeRefs";
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ var DEFAULT_CHAT_PROMPT_LOCALE = {
19
+ textareaLabel: "Type your message...",
20
+ emptyMessageTooltip: "Message is empty",
21
+ stopResponseTooltip: "Stop response",
22
+ sendMessageTooltip: "Send message"
23
+ };
24
+ export var ChatPrompt = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
25
+ var _ref2;
26
+ var className = _ref.className,
27
+ renderHeader = _ref.renderHeader,
28
+ children = _ref.children,
29
+ renderFooter = _ref.renderFooter,
30
+ onSubmit = _ref.onSubmit,
31
+ onStop = _ref.onStop,
32
+ staticPlaceholder = _ref.placeholder,
33
+ _ref$placeholders = _ref.placeholders,
34
+ placeholders = _ref$placeholders === void 0 ? [] : _ref$placeholders,
35
+ _ref$status = _ref.status,
36
+ status = _ref$status === void 0 ? "ready" : _ref$status,
37
+ defaultValue = _ref.defaultValue,
38
+ valueProp = _ref.value,
39
+ propsLocale = _ref.locale,
40
+ props = _objectWithoutProperties(_ref, _excluded);
41
+ var contextLocale = useLocale("chatPrompt");
42
+ var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_CHAT_PROMPT_LOCALE), contextLocale), propsLocale);
43
+ var internalRef = useRef(null);
44
+ var styles = chatPromptStyles();
45
+ var _useState = useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : ""),
46
+ _useState2 = _slicedToArray(_useState, 2),
47
+ internalValue = _useState2[0],
48
+ setInternalValue = _useState2[1];
49
+ var isControlled = typeof valueProp !== "undefined";
50
+ var value = isControlled ? valueProp : internalValue;
51
+ var hasValue = typeof value === "string" ? value.trim() !== "" : !!value;
52
+ var canStop = status === "submitted" || status === "streaming";
53
+ var buttonDisabled = !hasValue && !canStop;
54
+ var dynamicPlaceholder = useTypewriter(placeholders, !hasValue);
55
+ var computedPlaceholder = placeholders.length > 0 ? dynamicPlaceholder : staticPlaceholder;
56
+ var submit = function submit(e) {
57
+ e.preventDefault();
58
+ if (!hasValue || canStop) {
59
+ return;
60
+ }
61
+ onSubmit === null || onSubmit === void 0 || onSubmit(e);
62
+ };
63
+ return /*#__PURE__*/_jsxs("form", {
64
+ className: styles.base(),
65
+ onSubmit: submit,
66
+ children: [!!renderHeader && /*#__PURE__*/_jsx("div", {
67
+ className: styles.header(),
68
+ children: renderHeader
69
+ }), /*#__PURE__*/_jsx("div", {
70
+ className: styles.body(),
71
+ onClick: function onClick(e) {
72
+ var _internalRef$current;
73
+ if (e.target === internalRef.current) return;
74
+ (_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 || _internalRef$current.focus();
75
+ },
76
+ children: /*#__PURE__*/_jsx(TextAreaAutoSize, _objectSpread(_objectSpread({
77
+ ref: mergeRefs([forwardedRef, internalRef]),
78
+ rows: 2,
79
+ maxRows: 8,
80
+ placeholder: computedPlaceholder,
81
+ value: value,
82
+ "aria-label": (_ref2 = placeholders[0] ? placeholders[0] : staticPlaceholder) !== null && _ref2 !== void 0 ? _ref2 : locale.textareaLabel,
83
+ translate: "no",
84
+ onInput: function onInput(e) {
85
+ var _props$onInput;
86
+ if (!isControlled) {
87
+ setInternalValue(e.currentTarget.value);
88
+ }
89
+ (_props$onInput = props.onInput) === null || _props$onInput === void 0 || _props$onInput.call(props, e);
90
+ }
91
+ }, props), {}, {
92
+ className: styles.textarea({
93
+ className: className
94
+ }),
95
+ onKeyDown: function onKeyDown(e) {
96
+ var _props$onKeyDown;
97
+ (_props$onKeyDown = props.onKeyDown) === null || _props$onKeyDown === void 0 || _props$onKeyDown.call(props, e);
98
+ if (e.key === "Enter" && !e.shiftKey) {
99
+ submit(e);
100
+ }
101
+ if (e.key === "Escape") {
102
+ e.currentTarget.blur();
103
+ }
104
+ },
105
+ children: /*#__PURE__*/_jsx("div", {
106
+ className: styles.actions(),
107
+ children: /*#__PURE__*/_jsx(IconButton, {
108
+ type: status === "ready" ? "submit" : undefined,
109
+ onClick: function onClick(e) {
110
+ if (canStop) {
111
+ e.preventDefault();
112
+ onStop === null || onStop === void 0 || onStop();
113
+ }
114
+ },
115
+ icon: canStop ? CircleStopIcon : ArrowUpIcon,
116
+ variant: canStop ? "neutral" : "primary",
117
+ size: "small",
118
+ title: buttonDisabled ? locale.emptyMessageTooltip : canStop ? locale.stopResponseTooltip : locale.sendMessageTooltip,
119
+ tooltipSide: "top",
120
+ disabled: buttonDisabled,
121
+ className: styles.submit()
122
+ })
123
+ })
124
+ }))
125
+ }), !!renderFooter && /*#__PURE__*/_jsx("div", {
126
+ className: styles.footer(),
127
+ children: renderFooter
128
+ })]
129
+ });
130
+ });
131
+ ChatPrompt.displayName = "ChatPrompt";
@@ -0,0 +1,61 @@
1
+ export declare const chatPromptStyles: import("tailwind-variants").TVReturnType<{
2
+ [key: string]: {
3
+ [key: string]: import("tailwind-merge").ClassNameValue | {
4
+ base?: import("tailwind-merge").ClassNameValue;
5
+ body?: import("tailwind-merge").ClassNameValue;
6
+ footer?: import("tailwind-merge").ClassNameValue;
7
+ header?: import("tailwind-merge").ClassNameValue;
8
+ textarea?: import("tailwind-merge").ClassNameValue;
9
+ submit?: import("tailwind-merge").ClassNameValue;
10
+ actions?: import("tailwind-merge").ClassNameValue;
11
+ };
12
+ };
13
+ } | {
14
+ [x: string]: {
15
+ [x: string]: import("tailwind-merge").ClassNameValue | {
16
+ base?: import("tailwind-merge").ClassNameValue;
17
+ body?: import("tailwind-merge").ClassNameValue;
18
+ footer?: import("tailwind-merge").ClassNameValue;
19
+ header?: import("tailwind-merge").ClassNameValue;
20
+ textarea?: import("tailwind-merge").ClassNameValue;
21
+ submit?: import("tailwind-merge").ClassNameValue;
22
+ actions?: import("tailwind-merge").ClassNameValue;
23
+ };
24
+ };
25
+ } | {}, {
26
+ base: string;
27
+ header: string;
28
+ body: string;
29
+ textarea: string;
30
+ actions: string;
31
+ submit: string;
32
+ footer: string;
33
+ }, undefined, {
34
+ [key: string]: {
35
+ [key: string]: import("tailwind-merge").ClassNameValue | {
36
+ base?: import("tailwind-merge").ClassNameValue;
37
+ body?: import("tailwind-merge").ClassNameValue;
38
+ footer?: import("tailwind-merge").ClassNameValue;
39
+ header?: import("tailwind-merge").ClassNameValue;
40
+ textarea?: import("tailwind-merge").ClassNameValue;
41
+ submit?: import("tailwind-merge").ClassNameValue;
42
+ actions?: import("tailwind-merge").ClassNameValue;
43
+ };
44
+ };
45
+ } | {}, {
46
+ base: string;
47
+ header: string;
48
+ body: string;
49
+ textarea: string;
50
+ actions: string;
51
+ submit: string;
52
+ footer: string;
53
+ }, import("tailwind-variants").TVReturnType<unknown, {
54
+ base: string;
55
+ header: string;
56
+ body: string;
57
+ textarea: string;
58
+ actions: string;
59
+ submit: string;
60
+ footer: string;
61
+ }, undefined, unknown, unknown, undefined>>;
@@ -0,0 +1,15 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
3
+ import stl from "./../../../styles/helpers/satellitePrefixer";
4
+ import { tv } from "./../../../styles/helpers/tv";
5
+ export var chatPromptStyles = tv({
6
+ slots: {
7
+ base: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["relative flex flex-col items-stretch gap-2 w-full"]))),
8
+ header: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["flex items-center gap-1.5"]))),
9
+ body: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([""]))),
10
+ textarea: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["[&>textarea]:p-3 [&>textarea]:pb-0 [&>textarea]:thin-scrollbar"]))),
11
+ actions: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["flex flex-row p-3 pt-2 justify-end"]))),
12
+ submit: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([""]))),
13
+ footer: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["flex items-center justify-between gap-1.5"])))
14
+ }
15
+ });
@@ -0,0 +1 @@
1
+ export * from "./ChatPrompt";
@@ -0,0 +1 @@
1
+ export * from "./ChatPrompt";
@@ -0,0 +1,18 @@
1
+ export interface UseTypewriterOptions {
2
+ /**
3
+ * Milliseconds per character when typing.
4
+ * @default 150
5
+ */
6
+ typingSpeed?: number;
7
+ /**
8
+ * Milliseconds per character when deleting.
9
+ * @default 20
10
+ */
11
+ deletingSpeed?: number;
12
+ /**
13
+ * Milliseconds to pause after typing a full word before deleting.
14
+ * @default 1000
15
+ */
16
+ pauseDuration?: number;
17
+ }
18
+ export declare function useTypewriter(texts: string[], enabled?: boolean, options?: UseTypewriterOptions): string;
@@ -0,0 +1,71 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useEffect, useState } from "react";
3
+ export function useTypewriter(texts) {
4
+ var enabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
5
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6
+ var _options$typingSpeed = options.typingSpeed,
7
+ typingSpeed = _options$typingSpeed === void 0 ? 150 : _options$typingSpeed,
8
+ _options$deletingSpee = options.deletingSpeed,
9
+ deletingSpeed = _options$deletingSpee === void 0 ? 20 : _options$deletingSpee,
10
+ _options$pauseDuratio = options.pauseDuration,
11
+ pauseDuration = _options$pauseDuratio === void 0 ? 1000 : _options$pauseDuratio;
12
+ var _useState = useState(""),
13
+ _useState2 = _slicedToArray(_useState, 2),
14
+ currentText = _useState2[0],
15
+ setCurrentText = _useState2[1];
16
+ var _useState3 = useState(false),
17
+ _useState4 = _slicedToArray(_useState3, 2),
18
+ isDeleting = _useState4[0],
19
+ setIsDeleting = _useState4[1];
20
+ var _useState5 = useState(0),
21
+ _useState6 = _slicedToArray(_useState5, 2),
22
+ loopIndex = _useState6[0],
23
+ setLoopIndex = _useState6[1];
24
+ useEffect(function () {
25
+ if (texts.length === 0 || !enabled) {
26
+ return;
27
+ }
28
+ var currentIndex = loopIndex % texts.length;
29
+ var fullText = texts[currentIndex];
30
+ var isFullWord = !isDeleting && currentText === fullText;
31
+ var isEmptyWord = isDeleting && currentText === "";
32
+ var nextText;
33
+ var delay;
34
+ if (isFullWord) {
35
+ // Just finished typing the full word: pause, then start deleting
36
+ nextText = fullText.substring(0, fullText.length - 1);
37
+ delay = pauseDuration;
38
+ } else if (isEmptyWord) {
39
+ // Just finished deleting the word: move to next word
40
+ nextText = "";
41
+ delay = typingSpeed;
42
+ } else {
43
+ // Normal typing or deleting behavior
44
+ if (isDeleting) {
45
+ nextText = fullText.substring(0, currentText.length - 1);
46
+ delay = deletingSpeed;
47
+ } else {
48
+ nextText = fullText.substring(0, currentText.length + 1);
49
+ delay = typingSpeed;
50
+ }
51
+ }
52
+ var timer = setTimeout(function () {
53
+ setCurrentText(nextText);
54
+ if (isFullWord) {
55
+ // Switch to deleting
56
+ setIsDeleting(true);
57
+ } else if (isEmptyWord) {
58
+ // Reset to typing next word
59
+ setIsDeleting(false);
60
+ setLoopIndex(function (prev) {
61
+ return prev + 1;
62
+ });
63
+ }
64
+ // Otherwise, keep the current isDeleting value
65
+ }, delay);
66
+ return function () {
67
+ return clearTimeout(timer);
68
+ };
69
+ }, [enabled, currentText, isDeleting, loopIndex, texts, typingSpeed, deletingSpeed, pauseDuration]);
70
+ return currentText;
71
+ }
@@ -0,0 +1,15 @@
1
+ export type { ChatMessageProps as ExperimentalChatMessageProps } from "./ChatMessage";
2
+ export { ChatMessage as ExperimentalChatMessage } from "./ChatMessage";
3
+ export type { ChatMessagesProps as ExperimentalChatMessagesProps, ChatMessageLocale as ExperimentalChatMessageLocale, } from "./ChatMessages";
4
+ export { ChatMessages as ExperimentalChatMessages } from "./ChatMessages";
5
+ export type { ChatPromptProps as ExperimentalChatPromptProps } from "./ChatPrompt";
6
+ export type { ChatPromptLocale as ExperimentalChatPromptLocale } from "./ChatPrompt";
7
+ export { ChatPrompt as ExperimentalChatPrompt } from "./ChatPrompt";
8
+ export type { ChatContextAccordionProps as ExperimentalChatContextAccordionProps } from "./ChatContextAccordion";
9
+ export { ChatContextAccordion as ExperimentalChatContextAccordion } from "./ChatContextAccordion";
10
+ export type { ChatMessageErrorLocale as ExperimentalChatMessageErrorLocale } from "./ChatMessageError";
11
+ export type { ChatMessageErrorProps as ExperimentalChatMessageErrorProps } from "./ChatMessageError";
12
+ export { ChatMessageError as ExperimentalChatMessageError } from "./ChatMessageError";
13
+ export type { ChatMessageLoaderProps as ExperimentalChatMessageLoaderProps } from "./ChatMessageLoader";
14
+ export { ChatMessageLoader as ExperimentalChatMessageLoader } from "./ChatMessageLoader";
15
+ export type { ChatMessageBase as ExperimentalChatMessageBase, ChatMessageRole as ExperimentalChatMessageRole, ChatStatus as ExperimentalChatStatus, } from "./types";
@@ -0,0 +1,6 @@
1
+ export { ChatMessage as ExperimentalChatMessage } from "./ChatMessage";
2
+ export { ChatMessages as ExperimentalChatMessages } from "./ChatMessages";
3
+ export { ChatPrompt as ExperimentalChatPrompt } from "./ChatPrompt";
4
+ export { ChatContextAccordion as ExperimentalChatContextAccordion } from "./ChatContextAccordion";
5
+ export { ChatMessageError as ExperimentalChatMessageError } from "./ChatMessageError";
6
+ export { ChatMessageLoader as ExperimentalChatMessageLoader } from "./ChatMessageLoader";
@@ -0,0 +1,7 @@
1
+ export declare type ChatMessageRole = "system" | "user" | "assistant" | "data";
2
+ export declare type ChatStatus = "submitted" | "streaming" | "ready" | "error";
3
+ export declare type ChatMessageBase = {
4
+ id: string;
5
+ role: ChatMessageRole;
6
+ content: string;
7
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,5 @@
1
1
  export * from "./Card";
2
+ export * from "./Chat";
2
3
  export * from "./CollapsibleCard";
3
4
  export * from "./FlexGrid";
4
5
  export * from "./Insert";
@@ -1,4 +1,5 @@
1
1
  export * from "./Card";
2
+ export * from "./Chat";
2
3
  export * from "./CollapsibleCard";
3
4
  export * from "./FlexGrid";
4
5
  export * from "./Insert";
@@ -79,7 +79,7 @@ export var Modal = function Modal(_ref) {
79
79
  className: cx(animate && !prefersReducedMotion && stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["modal-animated"]))), stl(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["modal-overlay bg-grey-900/30 z-modalOverlay inset-0 fixed w-full h-full flex items-start justify-center overflow-x-hidden overflow-y-auto px-4 py-10"])))),
80
80
  children: /*#__PURE__*/_jsx(Dialog.Content, {
81
81
  ref: dialogContentRef,
82
- className: cx(stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["modal-content"]))), SIZE_CLASSNAMES[size], centerY && stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["flex m-auto"])))),
82
+ className: cx(stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["modal-content"]))), SIZE_CLASSNAMES[size], centerY && stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["flex m-auto justify-center"])))),
83
83
  "aria-describedby": undefined,
84
84
  onOpenAutoFocus: function onOpenAutoFocus(e) {
85
85
  var _closeButtonRef$curre;
@@ -3,11 +3,17 @@ import type { AutoCompleteLocale, DateInputLocale, DatePickerLocale, DropzoneLoc
3
3
  import type { AnnouncementBadgeLocale, TagLocale, ToastLocale, ToastsLocale } from "../Indicators";
4
4
  import type { UserAvatarLocale } from "../Indicators/Avatars";
5
5
  import type { DataTableLocale, SidebarLocale } from "../Layout";
6
+ import type { ChatMessageErrorLocale } from "../Layout/Chat/ChatMessageError";
7
+ import type { ChatMessageLocale } from "../Layout/Chat/ChatMessages";
8
+ import type { ChatPromptLocale } from "../Layout/Chat/ChatPrompt";
6
9
  import type { CompactPaginationLocale, DotPaginationLocale, PaginationLocale, StepperLocale } from "../Navigation";
7
10
  import type { ModalLocale, PopoverLocale } from "../Overlay";
8
11
  export declare type ComponentsLocales = {
9
12
  announcementBadge?: AnnouncementBadgeLocale;
10
13
  autoComplete?: AutoCompleteLocale;
14
+ chatMessage?: ChatMessageLocale;
15
+ chatMessageError?: ChatMessageErrorLocale;
16
+ chatPrompt?: ChatPromptLocale;
11
17
  compactPagination?: CompactPaginationLocale;
12
18
  dataTable?: DataTableLocale;
13
19
  dateInput?: DateInputLocale;
@@ -17,8 +23,8 @@ export declare type ComponentsLocales = {
17
23
  dropzone?: DropzoneLocale;
18
24
  filePicker?: FilePickerLocale;
19
25
  form?: ExperimentalFormLocale;
20
- input?: InputPropsLocale;
21
26
  iconButtonWithFeedback?: IconButtonWithFeedbackLocale;
27
+ input?: InputPropsLocale;
22
28
  modal?: ModalLocale;
23
29
  pagination?: PaginationLocale;
24
30
  popover?: PopoverLocale;
@@ -0,0 +1 @@
1
+ export declare const tv: import("tailwind-variants").CreateTV;
@@ -0,0 +1,7 @@
1
+ import { createTV } from "tailwind-variants";
2
+ export var tv = createTV({
3
+ twMergeConfig: {
4
+ // eslint-disable-next-line @algolia/stl/prefer-stl-helper
5
+ prefix: "stl-"
6
+ }
7
+ });
@@ -145,5 +145,5 @@ export default {
145
145
  }
146
146
  }
147
147
  },
148
- plugins: [require("@tailwindcss/container-queries"), require("./base.tailwind"), require("../Helpers/utilities/overlay.tailwind"), require("../Helpers/utilities/utilities.tailwind"), require("../Helpers/utilities/focusable.tailwind"), require("../Typography/Typography.tailwind"), require("../Layout/FlexGrid/FlexGrid.tailwind"), require("../Fields/AutoComplete/AutoComplete.tailwind"), require("../Actions/Button/Button.tailwind"), require("../Actions/ToggleGroup/ToggleGroup.tailwind"), require("../Actions/Accordion/Accordion.tailwind"), require("../Layout/Card/Card.tailwind"), require("../Fields/Checkbox/Checkbox.tailwind"), require("../Indicators/Toast/Toast.tailwind"), require("../Helpers/HelpUnderline/HelpUnderline.tailwind"), require("../Fields/Input/Input.tailwind"), require("../Helpers/InstantSearch/InstantSearch.tailwind"), require("../Indicators/KeyboardKey/KeyboardKey.tailwind"), require("../Indicators/Medallion/Medallion.tailwind"), require("../Overlay/Modal/Modal.tailwind"), require("../Indicators/ProgressBar/ProgressBar.tailwind"), require("../Indicators/ProgressSpinner/ProgressSpinner.tailwind"), require("../Fields/RadioGroup/RadioButton.tailwind"), require("../Indicators/ScrollIndicator/ScrollIndicator.tailwind"), require("../Fields/Select/Select.tailwind"), require("../Indicators/Separator/Separator.tailwind"), require("../Actions/SegmentedControl/SegmentedControl.tailwind"), require("../Navigation/Tabs/Tabs.tailwind"), require("../Layout/CollapsibleCard/CollapsibleCard.tailwind"), require("../Layout/Tables/DataTable/DataTable.tailwind"), require("../Layout/Tables/Table/Table.tailwind"), require("../Indicators/Tag/Tag.tailwind"), require("../Fields/TextArea/TextArea.tailwind"), require("../Fields/Switch/Switch.tailwind"), require("../Overlay/Tooltip/Tooltip.tailwind"), require("../Helpers/UserContent/UserContent.tailwind"), require("../Fields/DatePicker/DatePicker.tailwind")]
148
+ plugins: [require("@tailwindcss/container-queries"), require("./base.tailwind"), require("../Helpers/utilities/overlay.tailwind"), require("../Helpers/utilities/utilities.tailwind"), require("../Helpers/utilities/focusable.tailwind"), require("../Typography/Typography.tailwind"), require("../Layout/FlexGrid/FlexGrid.tailwind"), require("../Fields/AutoComplete/AutoComplete.tailwind"), require("../Actions/Button/Button.tailwind"), require("../Actions/ToggleGroup/ToggleGroup.tailwind"), require("../Actions/Accordion/Accordion.tailwind"), require("../Layout/Card/Card.tailwind"), require("../Fields/Checkbox/Checkbox.tailwind"), require("../Indicators/Toast/Toast.tailwind"), require("../Helpers/HelpUnderline/HelpUnderline.tailwind"), require("../Fields/Input/Input.tailwind"), require("../Helpers/InstantSearch/InstantSearch.tailwind"), require("../Indicators/KeyboardKey/KeyboardKey.tailwind"), require("../Indicators/Medallion/Medallion.tailwind"), require("../Overlay/Modal/Modal.tailwind"), require("../Indicators/ProgressBar/ProgressBar.tailwind"), require("../Indicators/ProgressSpinner/ProgressSpinner.tailwind"), require("../Fields/RadioGroup/RadioButton.tailwind"), require("../Indicators/ScrollIndicator/ScrollIndicator.tailwind"), require("../Fields/Select/Select.tailwind"), require("../Indicators/Separator/Separator.tailwind"), require("../Actions/SegmentedControl/SegmentedControl.tailwind"), require("../Navigation/Tabs/Tabs.tailwind"), require("../Layout/CollapsibleCard/CollapsibleCard.tailwind"), require("../Layout/Tables/DataTable/DataTable.tailwind"), require("../Layout/Tables/Table/Table.tailwind"), require("../Helpers/ShimmerText/ShimmerText.tailwind"), require("../Indicators/Tag/Tag.tailwind"), require("../Fields/TextArea/TextArea.tailwind"), require("../Fields/Switch/Switch.tailwind"), require("../Overlay/Tooltip/Tooltip.tailwind"), require("../Helpers/UserContent/UserContent.tailwind"), require("../Fields/DatePicker/DatePicker.tailwind")]
149
149
  };
@@ -1,4 +1,5 @@
1
+ import type { ReactNode } from "react";
1
2
  /**
2
3
  * Returns the text content of a React node.
3
4
  */
4
- export declare const getTextFromReactNode: (node: React.ReactNode) => string;
5
+ export declare const getTextFromReactNode: (node: ReactNode) => string;
@@ -1,15 +1,20 @@
1
- import { Children, isValidElement } from "react";
1
+ import { isValidElement } from "react";
2
2
 
3
3
  /**
4
4
  * Returns the text content of a React node.
5
5
  */
6
6
  export var getTextFromReactNode = function getTextFromReactNode(node) {
7
- if (typeof node === "string") return node;
8
- if (typeof node === "number") return node.toString();
9
- if ( /*#__PURE__*/isValidElement(node)) {
10
- return Children.toArray(node.props.children).map(function (child) {
11
- return getTextFromReactNode(child);
12
- }).join(" ");
7
+ var string = "";
8
+ if (typeof node === "string") {
9
+ string = node;
10
+ } else if (typeof node === "number") {
11
+ string = node.toString();
12
+ } else if (node instanceof Array) {
13
+ node.forEach(function (child) {
14
+ string += getTextFromReactNode(child);
15
+ });
16
+ } else if ( /*#__PURE__*/isValidElement(node)) {
17
+ string += getTextFromReactNode(node.props.children);
13
18
  }
14
- return "";
19
+ return string;
15
20
  };
@@ -1 +1 @@
1
- export declare const isCssPropertySupported: <P extends number | typeof Symbol.iterator | "filter" | "fill" | "width" | "height" | "color" | "alignmentBaseline" | "baselineShift" | "clip" | "clipPath" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "cursor" | "direction" | "display" | "dominantBaseline" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "imageRendering" | "letterSpacing" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "mask" | "offset" | "opacity" | "order" | "overflow" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "textDecoration" | "textRendering" | "transform" | "unicodeBidi" | "visibility" | "wordSpacing" | "writingMode" | "grid" | "marker" | "translate" | "content" | "item" | "all" | "border" | "left" | "right" | "columns" | "top" | "bottom" | "accentColor" | "alignContent" | "alignItems" | "alignSelf" | "animation" | "animationDelay" | "animationDirection" | "animationDuration" | "animationFillMode" | "animationIterationCount" | "animationName" | "animationPlayState" | "animationTimingFunction" | "appearance" | "aspectRatio" | "backfaceVisibility" | "background" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundPositionX" | "backgroundPositionY" | "backgroundRepeat" | "backgroundSize" | "blockSize" | "borderBlock" | "borderBlockColor" | "borderBlockEnd" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStart" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBlockStyle" | "borderBlockWidth" | "borderBottom" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderCollapse" | "borderColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderImage" | "borderImageOutset" | "borderImageRepeat" | "borderImageSlice" | "borderImageSource" | "borderImageWidth" | "borderInline" | "borderInlineColor" | "borderInlineEnd" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStart" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderInlineStyle" | "borderInlineWidth" | "borderLeft" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRadius" | "borderRight" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderSpacing" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStyle" | "borderTop" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "borderWidth" | "boxShadow" | "boxSizing" | "breakAfter" | "breakBefore" | "breakInside" | "captionSide" | "caretColor" | "clear" | "colorScheme" | "columnCount" | "columnFill" | "columnGap" | "columnRule" | "columnRuleColor" | "columnRuleStyle" | "columnRuleWidth" | "columnSpan" | "columnWidth" | "contain" | "counterIncrement" | "counterReset" | "counterSet" | "cssFloat" | "cssText" | "emptyCells" | "flex" | "flexBasis" | "flexDirection" | "flexFlow" | "flexGrow" | "flexShrink" | "flexWrap" | "float" | "font" | "fontFeatureSettings" | "fontKerning" | "fontOpticalSizing" | "fontSynthesis" | "fontVariantAlternates" | "fontVariantCaps" | "fontVariantEastAsian" | "fontVariantLigatures" | "fontVariantNumeric" | "fontVariantPosition" | "fontVariationSettings" | "gap" | "gridArea" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridGap" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridTemplate" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "hyphens" | "imageOrientation" | "inlineSize" | "inset" | "insetBlock" | "insetBlockEnd" | "insetBlockStart" | "insetInline" | "insetInlineEnd" | "insetInlineStart" | "isolation" | "justifyContent" | "justifyItems" | "justifySelf" | "lineBreak" | "lineHeight" | "listStyle" | "listStyleImage" | "listStylePosition" | "listStyleType" | "margin" | "marginBlock" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInline" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "objectFit" | "objectPosition" | "offsetDistance" | "offsetPath" | "offsetRotate" | "orphans" | "outline" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflowAnchor" | "overflowWrap" | "overflowX" | "overflowY" | "overscrollBehavior" | "overscrollBehaviorBlock" | "overscrollBehaviorInline" | "overscrollBehaviorX" | "overscrollBehaviorY" | "padding" | "paddingBlock" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInline" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "pageBreakAfter" | "pageBreakBefore" | "pageBreakInside" | "perspective" | "perspectiveOrigin" | "placeContent" | "placeItems" | "placeSelf" | "position" | "printColorAdjust" | "quotes" | "resize" | "rowGap" | "rubyPosition" | "scrollBehavior" | "scrollMargin" | "scrollMarginBlock" | "scrollMarginBlockEnd" | "scrollMarginBlockStart" | "scrollMarginBottom" | "scrollMarginInline" | "scrollMarginInlineEnd" | "scrollMarginInlineStart" | "scrollMarginLeft" | "scrollMarginRight" | "scrollMarginTop" | "scrollPadding" | "scrollPaddingBlock" | "scrollPaddingBlockEnd" | "scrollPaddingBlockStart" | "scrollPaddingBottom" | "scrollPaddingInline" | "scrollPaddingInlineEnd" | "scrollPaddingInlineStart" | "scrollPaddingLeft" | "scrollPaddingRight" | "scrollPaddingTop" | "scrollSnapAlign" | "scrollSnapStop" | "scrollSnapType" | "scrollbarGutter" | "shapeImageThreshold" | "shapeMargin" | "shapeOutside" | "tabSize" | "tableLayout" | "textAlign" | "textAlignLast" | "textCombineUpright" | "textDecorationColor" | "textDecorationLine" | "textDecorationSkipInk" | "textDecorationStyle" | "textDecorationThickness" | "textEmphasis" | "textEmphasisColor" | "textEmphasisPosition" | "textEmphasisStyle" | "textIndent" | "textOrientation" | "textOverflow" | "textShadow" | "textTransform" | "textUnderlineOffset" | "textUnderlinePosition" | "touchAction" | "transformBox" | "transformOrigin" | "transformStyle" | "transition" | "transitionDelay" | "transitionDuration" | "transitionProperty" | "transitionTimingFunction" | "userSelect" | "verticalAlign" | "webkitAlignContent" | "webkitAlignItems" | "webkitAlignSelf" | "webkitAnimation" | "webkitAnimationDelay" | "webkitAnimationDirection" | "webkitAnimationDuration" | "webkitAnimationFillMode" | "webkitAnimationIterationCount" | "webkitAnimationName" | "webkitAnimationPlayState" | "webkitAnimationTimingFunction" | "webkitAppearance" | "webkitBackfaceVisibility" | "webkitBackgroundClip" | "webkitBackgroundOrigin" | "webkitBackgroundSize" | "webkitBorderBottomLeftRadius" | "webkitBorderBottomRightRadius" | "webkitBorderRadius" | "webkitBorderTopLeftRadius" | "webkitBorderTopRightRadius" | "webkitBoxAlign" | "webkitBoxFlex" | "webkitBoxOrdinalGroup" | "webkitBoxOrient" | "webkitBoxPack" | "webkitBoxShadow" | "webkitBoxSizing" | "webkitFilter" | "webkitFlex" | "webkitFlexBasis" | "webkitFlexDirection" | "webkitFlexFlow" | "webkitFlexGrow" | "webkitFlexShrink" | "webkitFlexWrap" | "webkitJustifyContent" | "webkitLineClamp" | "webkitMask" | "webkitMaskBoxImage" | "webkitMaskBoxImageOutset" | "webkitMaskBoxImageRepeat" | "webkitMaskBoxImageSlice" | "webkitMaskBoxImageSource" | "webkitMaskBoxImageWidth" | "webkitMaskClip" | "webkitMaskComposite" | "webkitMaskImage" | "webkitMaskOrigin" | "webkitMaskPosition" | "webkitMaskRepeat" | "webkitMaskSize" | "webkitOrder" | "webkitPerspective" | "webkitPerspectiveOrigin" | "webkitTextFillColor" | "webkitTextSizeAdjust" | "webkitTextStroke" | "webkitTextStrokeColor" | "webkitTextStrokeWidth" | "webkitTransform" | "webkitTransformOrigin" | "webkitTransformStyle" | "webkitTransition" | "webkitTransitionDelay" | "webkitTransitionDuration" | "webkitTransitionProperty" | "webkitTransitionTimingFunction" | "webkitUserSelect" | "whiteSpace" | "widows" | "willChange" | "wordBreak" | "wordWrap" | "zIndex" | "getPropertyPriority" | "getPropertyValue" | "removeProperty" | "setProperty">(prop: P, value: CSSStyleDeclaration[P]) => boolean;
1
+ export declare const isCssPropertySupported: <P extends number | typeof Symbol.iterator | "filter" | "fill" | "width" | "height" | "color" | "alignmentBaseline" | "baselineShift" | "clip" | "clipPath" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "cursor" | "direction" | "display" | "dominantBaseline" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "imageRendering" | "letterSpacing" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "mask" | "offset" | "opacity" | "order" | "overflow" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "textDecoration" | "textRendering" | "transform" | "unicodeBidi" | "visibility" | "wordSpacing" | "writingMode" | "grid" | "marker" | "translate" | "content" | "item" | "all" | "border" | "left" | "right" | "columns" | "top" | "bottom" | "appearance" | "clear" | "flex" | "float" | "gap" | "hyphens" | "inset" | "isolation" | "perspective" | "position" | "resize" | "transition" | "font" | "accentColor" | "alignContent" | "alignItems" | "alignSelf" | "animation" | "animationDelay" | "animationDirection" | "animationDuration" | "animationFillMode" | "animationIterationCount" | "animationName" | "animationPlayState" | "animationTimingFunction" | "aspectRatio" | "backfaceVisibility" | "background" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundPositionX" | "backgroundPositionY" | "backgroundRepeat" | "backgroundSize" | "blockSize" | "borderBlock" | "borderBlockColor" | "borderBlockEnd" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStart" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBlockStyle" | "borderBlockWidth" | "borderBottom" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderCollapse" | "borderColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderImage" | "borderImageOutset" | "borderImageRepeat" | "borderImageSlice" | "borderImageSource" | "borderImageWidth" | "borderInline" | "borderInlineColor" | "borderInlineEnd" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStart" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderInlineStyle" | "borderInlineWidth" | "borderLeft" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRadius" | "borderRight" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderSpacing" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStyle" | "borderTop" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "borderWidth" | "boxShadow" | "boxSizing" | "breakAfter" | "breakBefore" | "breakInside" | "captionSide" | "caretColor" | "colorScheme" | "columnCount" | "columnFill" | "columnGap" | "columnRule" | "columnRuleColor" | "columnRuleStyle" | "columnRuleWidth" | "columnSpan" | "columnWidth" | "contain" | "counterIncrement" | "counterReset" | "counterSet" | "cssFloat" | "cssText" | "emptyCells" | "flexBasis" | "flexDirection" | "flexFlow" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFeatureSettings" | "fontKerning" | "fontOpticalSizing" | "fontSynthesis" | "fontVariantAlternates" | "fontVariantCaps" | "fontVariantEastAsian" | "fontVariantLigatures" | "fontVariantNumeric" | "fontVariantPosition" | "fontVariationSettings" | "gridArea" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridGap" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridTemplate" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "imageOrientation" | "inlineSize" | "insetBlock" | "insetBlockEnd" | "insetBlockStart" | "insetInline" | "insetInlineEnd" | "insetInlineStart" | "justifyContent" | "justifyItems" | "justifySelf" | "lineBreak" | "lineHeight" | "listStyle" | "listStyleImage" | "listStylePosition" | "listStyleType" | "margin" | "marginBlock" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInline" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "objectFit" | "objectPosition" | "offsetDistance" | "offsetPath" | "offsetRotate" | "orphans" | "outline" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflowAnchor" | "overflowWrap" | "overflowX" | "overflowY" | "overscrollBehavior" | "overscrollBehaviorBlock" | "overscrollBehaviorInline" | "overscrollBehaviorX" | "overscrollBehaviorY" | "padding" | "paddingBlock" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInline" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "pageBreakAfter" | "pageBreakBefore" | "pageBreakInside" | "perspectiveOrigin" | "placeContent" | "placeItems" | "placeSelf" | "printColorAdjust" | "quotes" | "rowGap" | "rubyPosition" | "scrollBehavior" | "scrollMargin" | "scrollMarginBlock" | "scrollMarginBlockEnd" | "scrollMarginBlockStart" | "scrollMarginBottom" | "scrollMarginInline" | "scrollMarginInlineEnd" | "scrollMarginInlineStart" | "scrollMarginLeft" | "scrollMarginRight" | "scrollMarginTop" | "scrollPadding" | "scrollPaddingBlock" | "scrollPaddingBlockEnd" | "scrollPaddingBlockStart" | "scrollPaddingBottom" | "scrollPaddingInline" | "scrollPaddingInlineEnd" | "scrollPaddingInlineStart" | "scrollPaddingLeft" | "scrollPaddingRight" | "scrollPaddingTop" | "scrollSnapAlign" | "scrollSnapStop" | "scrollSnapType" | "scrollbarGutter" | "shapeImageThreshold" | "shapeMargin" | "shapeOutside" | "tabSize" | "tableLayout" | "textAlign" | "textAlignLast" | "textCombineUpright" | "textDecorationColor" | "textDecorationLine" | "textDecorationSkipInk" | "textDecorationStyle" | "textDecorationThickness" | "textEmphasis" | "textEmphasisColor" | "textEmphasisPosition" | "textEmphasisStyle" | "textIndent" | "textOrientation" | "textOverflow" | "textShadow" | "textTransform" | "textUnderlineOffset" | "textUnderlinePosition" | "touchAction" | "transformBox" | "transformOrigin" | "transformStyle" | "transitionDelay" | "transitionDuration" | "transitionProperty" | "transitionTimingFunction" | "userSelect" | "verticalAlign" | "webkitAlignContent" | "webkitAlignItems" | "webkitAlignSelf" | "webkitAnimation" | "webkitAnimationDelay" | "webkitAnimationDirection" | "webkitAnimationDuration" | "webkitAnimationFillMode" | "webkitAnimationIterationCount" | "webkitAnimationName" | "webkitAnimationPlayState" | "webkitAnimationTimingFunction" | "webkitAppearance" | "webkitBackfaceVisibility" | "webkitBackgroundClip" | "webkitBackgroundOrigin" | "webkitBackgroundSize" | "webkitBorderBottomLeftRadius" | "webkitBorderBottomRightRadius" | "webkitBorderRadius" | "webkitBorderTopLeftRadius" | "webkitBorderTopRightRadius" | "webkitBoxAlign" | "webkitBoxFlex" | "webkitBoxOrdinalGroup" | "webkitBoxOrient" | "webkitBoxPack" | "webkitBoxShadow" | "webkitBoxSizing" | "webkitFilter" | "webkitFlex" | "webkitFlexBasis" | "webkitFlexDirection" | "webkitFlexFlow" | "webkitFlexGrow" | "webkitFlexShrink" | "webkitFlexWrap" | "webkitJustifyContent" | "webkitLineClamp" | "webkitMask" | "webkitMaskBoxImage" | "webkitMaskBoxImageOutset" | "webkitMaskBoxImageRepeat" | "webkitMaskBoxImageSlice" | "webkitMaskBoxImageSource" | "webkitMaskBoxImageWidth" | "webkitMaskClip" | "webkitMaskComposite" | "webkitMaskImage" | "webkitMaskOrigin" | "webkitMaskPosition" | "webkitMaskRepeat" | "webkitMaskSize" | "webkitOrder" | "webkitPerspective" | "webkitPerspectiveOrigin" | "webkitTextFillColor" | "webkitTextSizeAdjust" | "webkitTextStroke" | "webkitTextStrokeColor" | "webkitTextStrokeWidth" | "webkitTransform" | "webkitTransformOrigin" | "webkitTransformStyle" | "webkitTransition" | "webkitTransitionDelay" | "webkitTransitionDuration" | "webkitTransitionProperty" | "webkitTransitionTimingFunction" | "webkitUserSelect" | "whiteSpace" | "widows" | "willChange" | "wordBreak" | "wordWrap" | "zIndex" | "getPropertyPriority" | "getPropertyValue" | "removeProperty" | "setProperty">(prop: P, value: CSSStyleDeclaration[P]) => boolean;