@progress/kendo-themes-html 14.4.1-dev.1 → 14.4.1-dev.2
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/dist/cjs/agent-response/agent-step.js +1 -1
- package/dist/cjs/agent-response/chain-of-thought.spec.js +1 -1
- package/dist/cjs/agent-response/reasoning.spec.js +1 -1
- package/dist/cjs/agent-response/templates/chain-of-thought-expanded.js +1 -1
- package/dist/cjs/agent-response/templates/chain-of-thought-normal.js +1 -1
- package/dist/cjs/agent-response/templates/reasoning-expanded.js +1 -1
- package/dist/cjs/agent-response/templates/reasoning-normal.js +1 -1
- package/dist/cjs/agent-response/templates/tool-call-expanded.js +1 -1
- package/dist/cjs/agent-response/templates/tool-call-normal.js +1 -1
- package/dist/cjs/agent-response/tool-call.spec.js +1 -1
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/scheduler/demos/scheduler.js +1 -1
- package/dist/cjs/scheduler/scheduler-toolbar.spec.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-agenda.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-day.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-flex-agenda.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-flex-day.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-flex-horizontal-grouping.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-flex-month.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-flex-timeline.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-flex-vertical-grouping.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-flex-week.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-flex-year.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-horizontal-grouping.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-month.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-timeline.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-vertical-grouping.js +1 -1
- package/dist/cjs/scheduler/templates/scheduler-week.js +1 -1
- package/dist/esm/agent-response/agent-step.mjs +1 -1
- package/dist/esm/agent-response/chain-of-thought.spec.mjs +1 -1
- package/dist/esm/agent-response/reasoning.spec.mjs +1 -1
- package/dist/esm/agent-response/templates/chain-of-thought-expanded.mjs +1 -1
- package/dist/esm/agent-response/templates/chain-of-thought-normal.mjs +1 -1
- package/dist/esm/agent-response/templates/reasoning-expanded.mjs +1 -1
- package/dist/esm/agent-response/templates/reasoning-normal.mjs +1 -1
- package/dist/esm/agent-response/templates/tool-call-expanded.mjs +1 -1
- package/dist/esm/agent-response/templates/tool-call-normal.mjs +1 -1
- package/dist/esm/agent-response/tool-call.spec.mjs +1 -1
- package/dist/esm/index.mjs +8 -8
- package/dist/esm/scheduler/demos/scheduler.mjs +1 -1
- package/dist/esm/scheduler/scheduler-toolbar.spec.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-agenda.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-day.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-flex-agenda.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-flex-day.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-flex-horizontal-grouping.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-flex-month.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-flex-timeline.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-flex-vertical-grouping.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-flex-week.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-flex-year.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-horizontal-grouping.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-month.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-timeline.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-vertical-grouping.mjs +1 -1
- package/dist/esm/scheduler/templates/scheduler-week.mjs +1 -1
- package/dist/types/agent-response/agent-step.d.ts +6 -1
- package/dist/types/agent-response/chain-of-thought.spec.d.ts +4 -2
- package/dist/types/agent-response/reasoning.spec.d.ts +4 -2
- package/dist/types/agent-response/tool-call.spec.d.ts +4 -2
- package/package.json +1 -1
- package/src/agent-response/agent-step.tsx +11 -5
- package/src/agent-response/chain-of-thought.spec.tsx +9 -4
- package/src/agent-response/reasoning.spec.tsx +9 -4
- package/src/agent-response/templates/tool-call-expanded.tsx +7 -12
- package/src/agent-response/tests/chain-of-thought.tsx +3 -0
- package/src/agent-response/tests/reasoning.tsx +3 -0
- package/src/agent-response/tests/tool-call.tsx +3 -0
- package/src/agent-response/tool-call.spec.tsx +9 -4
- package/src/scheduler/scheduler-toolbar.spec.tsx +1 -1
- package/src/scheduler/templates/scheduler-agenda.tsx +1 -1
- package/src/scheduler/templates/scheduler-flex-agenda.tsx +1 -1
- package/src/scheduler/templates/scheduler-flex-day.tsx +1 -1
- package/src/scheduler/templates/scheduler-flex-month.tsx +1 -1
- package/src/scheduler/templates/scheduler-flex-timeline.tsx +1 -1
- package/src/scheduler/templates/scheduler-flex-week.tsx +1 -1
- package/src/scheduler/templates/scheduler-flex-year.tsx +1 -1
- package/src/scheduler/templates/scheduler-month.tsx +1 -1
- package/src/scheduler/templates/scheduler-timeline.tsx +1 -1
- package/src/scheduler/templates/scheduler-week.tsx +1 -1
- package/src/scheduler/tests/scheduler-current-time-marker.tsx +2 -2
- package/src/scheduler/tests/scheduler-events.tsx +1 -1
- package/src/scheduler/tests/scheduler-react-timeline-multi.tsx +1 -1
- package/src/scheduler/tests/scheduler-toolbar-responsive.tsx +6 -6
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { KendoComponent } from "../_types/component";
|
|
3
3
|
export declare const AGENT_STEP_CLASSNAME = "k-agent-step";
|
|
4
|
+
declare const states: readonly ["focus"];
|
|
5
|
+
export type KendoAgentStepState = {
|
|
6
|
+
[K in (typeof states)[number]]?: boolean;
|
|
7
|
+
};
|
|
4
8
|
export type KendoAgentStepProps = {
|
|
5
9
|
/** Icon name for the step type (e.g. "sparkles", "search", "wrench", "code", "file-txt") */
|
|
6
10
|
icon?: string;
|
|
@@ -34,9 +38,10 @@ export type KendoAgentStepProps = {
|
|
|
34
38
|
* @ux {Expand / Collapse} Clicking or activating the step's head via keyboard toggles the body content open and closed.
|
|
35
39
|
* @ux {Hover feedback} Hovering the head highlights it with the app-surface background and normalizes all text/icon colors to on-app-surface.
|
|
36
40
|
* @ux {Completed state} When completed, the label stops shimmering and the icon/label/expand icon dim to a subtle color.
|
|
41
|
+
* @ux {Focus feedback} Keyboard focus on the head renders a focus indicator — an inset ring in most themes and an inset outline in Meridian.
|
|
37
42
|
* @ux {Diff stats} Added/removed line counts always render in success/error colors, regardless of hover or completed state.
|
|
38
43
|
*/
|
|
39
|
-
export declare const AgentStep: KendoComponent<KendoAgentStepProps & React.HTMLAttributes<HTMLDivElement>>;
|
|
44
|
+
export declare const AgentStep: KendoComponent<KendoAgentStepProps & KendoAgentStepState & React.HTMLAttributes<HTMLDivElement>>;
|
|
40
45
|
/**
|
|
41
46
|
* @keyboard {Enter or Space} Triggers the focused step's head, toggling the expanded state when the step is expandable.
|
|
42
47
|
* @keyboard {Tab} Moves focus to the next step's head; each AgentStep head is its own stop in the tab sequence.
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { KendoAgentStepProps } from "./agent-step";
|
|
2
|
+
import { KendoAgentStepProps, KendoAgentStepState } from "./agent-step";
|
|
3
3
|
import { KendoComponent } from "../_types/component";
|
|
4
4
|
export declare const CHAIN_OF_THOUGHT_CLASSNAME = "k-chain-of-thought";
|
|
5
5
|
export type KendoChainOfThoughtProps = KendoAgentStepProps;
|
|
6
|
+
export type KendoChainOfThoughtState = KendoAgentStepState;
|
|
6
7
|
/**
|
|
7
8
|
* @aria {role="button"} The role is implicit from the native <button> element used for the step's head.
|
|
8
9
|
* @aria {aria-expanded="true"|"false"} Rendered on the head only when the step is expandable, indicating whether its body is currently shown.
|
|
9
10
|
* @aria {aria-label|aria-labelledby} Required on the head when it has no visible label/secondaryLabel text.
|
|
10
11
|
* @ux {Expand / Collapse} Clicking or activating the head toggles the nested Thought steps open and closed.
|
|
11
12
|
* @ux {Completed state} When completed, the label stops shimmering and the icon/label/expand icon dim to a subtle color.
|
|
13
|
+
* @ux {Focus feedback} Keyboard focus on the head renders a focus indicator — an inset ring in most themes and an inset outline in Meridian.
|
|
12
14
|
*/
|
|
13
|
-
export declare const ChainOfThought: KendoComponent<KendoChainOfThoughtProps & React.HTMLAttributes<HTMLDivElement>>;
|
|
15
|
+
export declare const ChainOfThought: KendoComponent<KendoChainOfThoughtProps & KendoChainOfThoughtState & React.HTMLAttributes<HTMLDivElement>>;
|
|
14
16
|
/**
|
|
15
17
|
* @keyboard {Enter or Space} Triggers the focused head, toggling the expanded state when expandable.
|
|
16
18
|
* @keyboard {Tab} Moves focus to the next ChainOfThought head; each instance is its own stop in the tab sequence.
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { KendoAgentStepProps } from "./agent-step";
|
|
2
|
+
import { KendoAgentStepProps, KendoAgentStepState } from "./agent-step";
|
|
3
3
|
import { KendoComponent } from "../_types/component";
|
|
4
4
|
export declare const REASONING_CLASSNAME = "k-reasoning";
|
|
5
5
|
export type KendoReasoningProps = KendoAgentStepProps;
|
|
6
|
+
export type KendoReasoningState = KendoAgentStepState;
|
|
6
7
|
/**
|
|
7
8
|
* @aria {role="button"} The role is implicit from the native <button> element used for the step's head.
|
|
8
9
|
* @aria {aria-expanded="true"|"false"} Rendered on the head only when the step is expandable, indicating whether its body is currently shown.
|
|
9
10
|
* @aria {aria-label|aria-labelledby} Required on the head when it has no visible label/secondaryLabel text.
|
|
10
11
|
* @ux {Expand / Collapse} Clicking or activating the head toggles the reasoning body open and closed.
|
|
11
12
|
* @ux {Completed state} When completed, the label stops shimmering and the icon/label/expand icon dim to a subtle color.
|
|
13
|
+
* @ux {Focus feedback} Keyboard focus on the head renders a focus indicator — an inset ring in most themes and an inset outline in Meridian.
|
|
12
14
|
*/
|
|
13
|
-
export declare const Reasoning: KendoComponent<KendoReasoningProps & React.HTMLAttributes<HTMLDivElement>>;
|
|
15
|
+
export declare const Reasoning: KendoComponent<KendoReasoningProps & KendoReasoningState & React.HTMLAttributes<HTMLDivElement>>;
|
|
14
16
|
/**
|
|
15
17
|
* @keyboard {Enter or Space} Triggers the focused head, toggling the expanded state when expandable.
|
|
16
18
|
* @keyboard {Tab} Moves focus to the next Reasoning head; each instance is its own stop in the tab sequence.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { KendoAgentStepProps } from "./agent-step";
|
|
2
|
+
import { KendoAgentStepProps, KendoAgentStepState } from "./agent-step";
|
|
3
3
|
import { KendoComponent } from "../_types/component";
|
|
4
4
|
export declare const TOOL_CALL_CLASSNAME = "k-tool-call";
|
|
5
5
|
export type KendoToolCallProps = KendoAgentStepProps;
|
|
6
|
+
export type KendoToolCallState = KendoAgentStepState;
|
|
6
7
|
/**
|
|
7
8
|
* @aria {role="button"} The role is implicit from the native <button> element used for the step's head.
|
|
8
9
|
* @aria {aria-expanded="true"|"false"} Rendered on the head only when the step is expandable, indicating whether its body is currently shown.
|
|
@@ -10,8 +11,9 @@ export type KendoToolCallProps = KendoAgentStepProps;
|
|
|
10
11
|
* @ux {Expand / Collapse} Clicking or activating the head toggles the tool call body (parameters, results, approval actions) open and closed.
|
|
11
12
|
* @ux {Status} The optional status Badge reflects the call's outcome (e.g. "Completed", "Awaiting Approval", "Error").
|
|
12
13
|
* @ux {Completed state} When completed, the label stops shimmering and the icon/label/expand icon dim to a subtle color.
|
|
14
|
+
* @ux {Focus feedback} Keyboard focus on the head renders a focus indicator — an inset ring in most themes and an inset outline in Meridian.
|
|
13
15
|
*/
|
|
14
|
-
export declare const ToolCall: KendoComponent<KendoToolCallProps & React.HTMLAttributes<HTMLDivElement>>;
|
|
16
|
+
export declare const ToolCall: KendoComponent<KendoToolCallProps & KendoToolCallState & React.HTMLAttributes<HTMLDivElement>>;
|
|
15
17
|
/**
|
|
16
18
|
* @keyboard {Enter or Space} Triggers the focused head, toggling the expanded state when expandable.
|
|
17
19
|
* @keyboard {Tab} Moves focus to the next ToolCall head; each instance is its own stop in the tab sequence.
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { classNames } from "../misc";
|
|
2
|
+
import { classNames, stateClassNames, States } from "../misc";
|
|
3
3
|
import { Icon } from "../icon";
|
|
4
4
|
import { Badge } from "../badge";
|
|
5
5
|
import { KendoComponent, KendoBaseProps } from "../_types/component";
|
|
@@ -7,9 +7,14 @@ import { AGENT_RESPONSE_FOLDER_NAME, AGENT_RESPONSE_MODULE_NAME } from "./consta
|
|
|
7
7
|
|
|
8
8
|
export const AGENT_STEP_CLASSNAME = "k-agent-step";
|
|
9
9
|
|
|
10
|
-
const states = [
|
|
10
|
+
const states = [
|
|
11
|
+
States.focus
|
|
12
|
+
] as const;
|
|
13
|
+
|
|
11
14
|
const options = {};
|
|
12
15
|
|
|
16
|
+
export type KendoAgentStepState = { [K in (typeof states)[number]]?: boolean };
|
|
17
|
+
|
|
13
18
|
export type KendoAgentStepProps = {
|
|
14
19
|
/** Icon name for the step type (e.g. "sparkles", "search", "wrench", "code", "file-txt") */
|
|
15
20
|
icon?: string;
|
|
@@ -50,10 +55,11 @@ const defaultOptions = {
|
|
|
50
55
|
* @ux {Expand / Collapse} Clicking or activating the step's head via keyboard toggles the body content open and closed.
|
|
51
56
|
* @ux {Hover feedback} Hovering the head highlights it with the app-surface background and normalizes all text/icon colors to on-app-surface.
|
|
52
57
|
* @ux {Completed state} When completed, the label stops shimmering and the icon/label/expand icon dim to a subtle color.
|
|
58
|
+
* @ux {Focus feedback} Keyboard focus on the head renders a focus indicator — an inset ring in most themes and an inset outline in Meridian.
|
|
53
59
|
* @ux {Diff stats} Added/removed line counts always render in success/error colors, regardless of hover or completed state.
|
|
54
60
|
*/
|
|
55
|
-
export const AgentStep: KendoComponent<KendoAgentStepProps & React.HTMLAttributes<HTMLDivElement>> = (props: KendoAgentStepProps & KendoBaseProps & React.HTMLAttributes<HTMLDivElement>) => {
|
|
56
|
-
const { icon, label, labelClassName, secondaryLabel, linesAdded, linesRemoved, status, statusThemeColor = "success", statusIcon, expandable = defaultOptions.expandable, expanded = defaultOptions.expanded, completed = defaultOptions.completed, className, children, ...other } = props;
|
|
61
|
+
export const AgentStep: KendoComponent<KendoAgentStepProps & KendoAgentStepState & React.HTMLAttributes<HTMLDivElement>> = (props: KendoAgentStepProps & KendoAgentStepState & KendoBaseProps & React.HTMLAttributes<HTMLDivElement>) => {
|
|
62
|
+
const { icon, label, labelClassName, secondaryLabel, linesAdded, linesRemoved, status, statusThemeColor = "success", statusIcon, expandable = defaultOptions.expandable, expanded = defaultOptions.expanded, completed = defaultOptions.completed, focus, className, children, ...other } = props;
|
|
57
63
|
|
|
58
64
|
return (
|
|
59
65
|
<div
|
|
@@ -62,7 +68,7 @@ export const AgentStep: KendoComponent<KendoAgentStepProps & React.HTMLAttribute
|
|
|
62
68
|
"k-agent-completed": completed,
|
|
63
69
|
})}
|
|
64
70
|
>
|
|
65
|
-
<button className="k-agent-step-head" aria-expanded={expandable ? expanded : undefined}>
|
|
71
|
+
<button className={classNames("k-agent-step-head", stateClassNames(AGENT_STEP_CLASSNAME, { focus }))} aria-expanded={expandable ? expanded : undefined}>
|
|
66
72
|
{icon && <Icon icon={icon} size="small" className="k-agent-step-icon" />}
|
|
67
73
|
<span className="k-agent-step-content">
|
|
68
74
|
{label && <span className={classNames("k-agent-step-label", labelClassName)}>{label}</span>}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { classNames } from "../misc";
|
|
3
|
-
import { AgentStep, KendoAgentStepProps } from "./agent-step";
|
|
2
|
+
import { classNames, States } from "../misc";
|
|
3
|
+
import { AgentStep, KendoAgentStepProps, KendoAgentStepState } from "./agent-step";
|
|
4
4
|
import { KendoComponent, KendoBaseProps } from "../_types/component";
|
|
5
5
|
import { AGENT_RESPONSE_FOLDER_NAME, AGENT_RESPONSE_MODULE_NAME } from "./constants";
|
|
6
6
|
|
|
7
7
|
export const CHAIN_OF_THOUGHT_CLASSNAME = "k-chain-of-thought";
|
|
8
8
|
|
|
9
|
-
const states = [
|
|
9
|
+
const states = [
|
|
10
|
+
States.focus
|
|
11
|
+
] as const;
|
|
12
|
+
|
|
10
13
|
const options = {};
|
|
11
14
|
|
|
12
15
|
export type KendoChainOfThoughtProps = KendoAgentStepProps;
|
|
16
|
+
export type KendoChainOfThoughtState = KendoAgentStepState;
|
|
13
17
|
|
|
14
18
|
const defaultOptions = {
|
|
15
19
|
icon: "sparkles",
|
|
@@ -21,8 +25,9 @@ const defaultOptions = {
|
|
|
21
25
|
* @aria {aria-label|aria-labelledby} Required on the head when it has no visible label/secondaryLabel text.
|
|
22
26
|
* @ux {Expand / Collapse} Clicking or activating the head toggles the nested Thought steps open and closed.
|
|
23
27
|
* @ux {Completed state} When completed, the label stops shimmering and the icon/label/expand icon dim to a subtle color.
|
|
28
|
+
* @ux {Focus feedback} Keyboard focus on the head renders a focus indicator — an inset ring in most themes and an inset outline in Meridian.
|
|
24
29
|
*/
|
|
25
|
-
export const ChainOfThought: KendoComponent<KendoChainOfThoughtProps & React.HTMLAttributes<HTMLDivElement>> = (props: KendoChainOfThoughtProps & KendoBaseProps & React.HTMLAttributes<HTMLDivElement>) => {
|
|
30
|
+
export const ChainOfThought: KendoComponent<KendoChainOfThoughtProps & KendoChainOfThoughtState & React.HTMLAttributes<HTMLDivElement>> = (props: KendoChainOfThoughtProps & KendoChainOfThoughtState & KendoBaseProps & React.HTMLAttributes<HTMLDivElement>) => {
|
|
26
31
|
const { icon = defaultOptions.icon, className, ...other } = props;
|
|
27
32
|
|
|
28
33
|
return <AgentStep {...other} icon={icon} className={classNames(className, CHAIN_OF_THOUGHT_CLASSNAME)} />;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { classNames } from "../misc";
|
|
3
|
-
import { AgentStep, KendoAgentStepProps } from "./agent-step";
|
|
2
|
+
import { classNames, States } from "../misc";
|
|
3
|
+
import { AgentStep, KendoAgentStepProps, KendoAgentStepState } from "./agent-step";
|
|
4
4
|
import { KendoComponent, KendoBaseProps } from "../_types/component";
|
|
5
5
|
import { AGENT_RESPONSE_FOLDER_NAME, AGENT_RESPONSE_MODULE_NAME } from "./constants";
|
|
6
6
|
|
|
7
7
|
export const REASONING_CLASSNAME = "k-reasoning";
|
|
8
8
|
|
|
9
|
-
const states = [
|
|
9
|
+
const states = [
|
|
10
|
+
States.focus
|
|
11
|
+
] as const;
|
|
12
|
+
|
|
10
13
|
const options = {};
|
|
11
14
|
|
|
12
15
|
export type KendoReasoningProps = KendoAgentStepProps;
|
|
16
|
+
export type KendoReasoningState = KendoAgentStepState;
|
|
13
17
|
|
|
14
18
|
const defaultOptions = {
|
|
15
19
|
icon: "sparkles",
|
|
@@ -22,8 +26,9 @@ const defaultOptions = {
|
|
|
22
26
|
* @aria {aria-label|aria-labelledby} Required on the head when it has no visible label/secondaryLabel text.
|
|
23
27
|
* @ux {Expand / Collapse} Clicking or activating the head toggles the reasoning body open and closed.
|
|
24
28
|
* @ux {Completed state} When completed, the label stops shimmering and the icon/label/expand icon dim to a subtle color.
|
|
29
|
+
* @ux {Focus feedback} Keyboard focus on the head renders a focus indicator — an inset ring in most themes and an inset outline in Meridian.
|
|
25
30
|
*/
|
|
26
|
-
export const Reasoning: KendoComponent<KendoReasoningProps & React.HTMLAttributes<HTMLDivElement>> = (props: KendoReasoningProps & KendoBaseProps & React.HTMLAttributes<HTMLDivElement>) => {
|
|
31
|
+
export const Reasoning: KendoComponent<KendoReasoningProps & KendoReasoningState & React.HTMLAttributes<HTMLDivElement>> = (props: KendoReasoningProps & KendoReasoningState & KendoBaseProps & React.HTMLAttributes<HTMLDivElement>) => {
|
|
27
32
|
const { icon = defaultOptions.icon, label = defaultOptions.label, className, ...other } = props;
|
|
28
33
|
|
|
29
34
|
return <AgentStep {...other} icon={icon} label={label} className={classNames(className, REASONING_CLASSNAME)} />;
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import ToolCall from
|
|
2
|
-
import { Card, CardBody } from '../../card';
|
|
1
|
+
import ToolCall from "../tool-call.spec";
|
|
3
2
|
|
|
4
3
|
export const ToolCallExpanded = (props: any) => (
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
</pre>
|
|
12
|
-
</CardBody>
|
|
13
|
-
</Card>
|
|
14
|
-
</ToolCall>
|
|
4
|
+
<ToolCall label="tool_name" secondaryLabel="src/utils/formatDate.ts · 120ms" status="Completed" statusThemeColor="success" statusIcon="check-circle" completed expandable expanded {...props}>
|
|
5
|
+
<div>Parameters</div>
|
|
6
|
+
<pre className="k-pre">
|
|
7
|
+
<code className="k-code">{`cd packages/html && npx tsc --noEmit -p .`}</code>
|
|
8
|
+
</pre>
|
|
9
|
+
</ToolCall>
|
|
15
10
|
);
|
|
@@ -16,6 +16,9 @@ export default () => (
|
|
|
16
16
|
<span>I'll design a resource component system for an AI chat — covering different resource types, states, and variants. Let me read the relevant skills first.</span>
|
|
17
17
|
<span>I'll gather local design system context, then create a comprehensive resource component system.</span>
|
|
18
18
|
</Reasoning>
|
|
19
|
+
|
|
20
|
+
{/* focused */}
|
|
21
|
+
<Reasoning secondaryLabel="for 48s" completed label="Completed" expandable focus />
|
|
19
22
|
</section>
|
|
20
23
|
</div>
|
|
21
24
|
);
|
|
@@ -48,6 +48,9 @@ export default () => (
|
|
|
48
48
|
</pre>
|
|
49
49
|
<MessageBox themeColor="error">cd: no such file or directory: packges/hmtl</MessageBox>
|
|
50
50
|
</ToolCall>
|
|
51
|
+
|
|
52
|
+
{/* focused */}
|
|
53
|
+
<ToolCall label="tool_name" secondaryLabel="src/utils/formatDate.ts · 120ms" status="Completed" statusThemeColor="success" statusIcon="check-circle" completed expandable focus />
|
|
51
54
|
</section>
|
|
52
55
|
</div>
|
|
53
56
|
);
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { classNames } from "../misc";
|
|
3
|
-
import { AgentStep, KendoAgentStepProps } from "./agent-step";
|
|
2
|
+
import { classNames, States } from "../misc";
|
|
3
|
+
import { AgentStep, KendoAgentStepProps, KendoAgentStepState } from "./agent-step";
|
|
4
4
|
import { KendoComponent, KendoBaseProps } from "../_types/component";
|
|
5
5
|
import { AGENT_RESPONSE_FOLDER_NAME, AGENT_RESPONSE_MODULE_NAME } from "./constants";
|
|
6
6
|
|
|
7
7
|
export const TOOL_CALL_CLASSNAME = "k-tool-call";
|
|
8
8
|
|
|
9
|
-
const states = [
|
|
9
|
+
const states = [
|
|
10
|
+
States.focus
|
|
11
|
+
] as const;
|
|
12
|
+
|
|
10
13
|
const options = {};
|
|
11
14
|
|
|
12
15
|
export type KendoToolCallProps = KendoAgentStepProps;
|
|
16
|
+
export type KendoToolCallState = KendoAgentStepState;
|
|
13
17
|
|
|
14
18
|
const defaultOptions = {
|
|
15
19
|
icon: "wrench",
|
|
@@ -22,8 +26,9 @@ const defaultOptions = {
|
|
|
22
26
|
* @ux {Expand / Collapse} Clicking or activating the head toggles the tool call body (parameters, results, approval actions) open and closed.
|
|
23
27
|
* @ux {Status} The optional status Badge reflects the call's outcome (e.g. "Completed", "Awaiting Approval", "Error").
|
|
24
28
|
* @ux {Completed state} When completed, the label stops shimmering and the icon/label/expand icon dim to a subtle color.
|
|
29
|
+
* @ux {Focus feedback} Keyboard focus on the head renders a focus indicator — an inset ring in most themes and an inset outline in Meridian.
|
|
25
30
|
*/
|
|
26
|
-
export const ToolCall: KendoComponent<KendoToolCallProps & React.HTMLAttributes<HTMLDivElement>> = (props: KendoToolCallProps & KendoBaseProps & React.HTMLAttributes<HTMLDivElement>) => {
|
|
31
|
+
export const ToolCall: KendoComponent<KendoToolCallProps & KendoToolCallState & React.HTMLAttributes<HTMLDivElement>> = (props: KendoToolCallProps & KendoToolCallState & KendoBaseProps & React.HTMLAttributes<HTMLDivElement>) => {
|
|
27
32
|
const { icon = defaultOptions.icon, className, ...other } = props;
|
|
28
33
|
|
|
29
34
|
return <AgentStep {...other} icon={icon} className={classNames(className, TOOL_CALL_CLASSNAME)} />;
|
|
@@ -36,12 +36,12 @@ export const SchedulerToolbar: KendoComponent<KendoSchedulerToolbarProps & React
|
|
|
36
36
|
{props.children ||
|
|
37
37
|
[
|
|
38
38
|
<Button key="new-event" themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>,
|
|
39
|
+
<Button key="today" fillMode="flat">Today</Button>,
|
|
39
40
|
<Button key="prev" icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>,
|
|
40
41
|
<Button key="next" icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>,
|
|
41
42
|
<Button key="current" icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
42
43
|
13 June
|
|
43
44
|
</Button>,
|
|
44
|
-
<Button key="today" fillMode="flat">Today</Button>,
|
|
45
45
|
<span key="spacer" className="k-spacer"></span>,
|
|
46
46
|
<SegmentedControl thumbStyles={{width: "15%"}} key="views" className="k-scheduler-views">
|
|
47
47
|
<SegmentedControlButton selected>Day</SegmentedControlButton>
|
|
@@ -12,6 +12,7 @@ export const SchedulerAgenda = ({ style, ...props }: any) => (
|
|
|
12
12
|
toolbar={
|
|
13
13
|
<SchedulerToolbar>
|
|
14
14
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
15
|
+
<Button fillMode="flat">Today</Button>
|
|
15
16
|
<ButtonGroup fillMode="flat">
|
|
16
17
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
17
18
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -19,7 +20,6 @@ export const SchedulerAgenda = ({ style, ...props }: any) => (
|
|
|
19
20
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
20
21
|
24 June – 25 June
|
|
21
22
|
</Button>
|
|
22
|
-
<Button fillMode="flat">Today</Button>
|
|
23
23
|
<span className="k-spacer"></span>
|
|
24
24
|
<SegmentedControl thumbStyles={{width: "22%", right: "0%"}} className="k-scheduler-views">
|
|
25
25
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -11,6 +11,7 @@ export const SchedulerFlexAgenda = ({ style, ...props }: any) => (
|
|
|
11
11
|
toolbar={
|
|
12
12
|
<SchedulerToolbar>
|
|
13
13
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
14
|
+
<Button fillMode="flat">Today</Button>
|
|
14
15
|
<ButtonGroup fillMode="flat">
|
|
15
16
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
16
17
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -18,7 +19,6 @@ export const SchedulerFlexAgenda = ({ style, ...props }: any) => (
|
|
|
18
19
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
19
20
|
24 June – 25 June
|
|
20
21
|
</Button>
|
|
21
|
-
<Button fillMode="flat">Today</Button>
|
|
22
22
|
<span className="k-spacer"></span>
|
|
23
23
|
<SegmentedControl thumbStyles={{width: "22%", right: "0%"}} className="k-scheduler-views">
|
|
24
24
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -11,6 +11,7 @@ export const SchedulerFlexDay = ({ style, ...props }: any) => (
|
|
|
11
11
|
toolbar={
|
|
12
12
|
<SchedulerToolbar>
|
|
13
13
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
14
|
+
<Button fillMode="flat">Today</Button>
|
|
14
15
|
<ButtonGroup fillMode="flat">
|
|
15
16
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
16
17
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -18,7 +19,6 @@ export const SchedulerFlexDay = ({ style, ...props }: any) => (
|
|
|
18
19
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
19
20
|
24 June
|
|
20
21
|
</Button>
|
|
21
|
-
<Button fillMode="flat">Today</Button>
|
|
22
22
|
<span className="k-spacer"></span>
|
|
23
23
|
<SegmentedControl thumbStyles={{width: "15%"}} className="k-scheduler-views">
|
|
24
24
|
<SegmentedControlButton selected>Day</SegmentedControlButton>
|
|
@@ -12,6 +12,7 @@ export const SchedulerFlexMonth = ({ style, ...props } :any) => (
|
|
|
12
12
|
toolbar={
|
|
13
13
|
<SchedulerToolbar>
|
|
14
14
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
15
|
+
<Button fillMode="flat">Today</Button>
|
|
15
16
|
<ButtonGroup fillMode="flat">
|
|
16
17
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
17
18
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -19,7 +20,6 @@ export const SchedulerFlexMonth = ({ style, ...props } :any) => (
|
|
|
19
20
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
20
21
|
February 2026
|
|
21
22
|
</Button>
|
|
22
|
-
<Button fillMode="flat">Today</Button>
|
|
23
23
|
<span className="k-spacer"></span>
|
|
24
24
|
<SegmentedControl thumbStyles={{width: "19%", left: "34%"}} className="k-scheduler-views">
|
|
25
25
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -12,6 +12,7 @@ export const SchedulerFlexTimeline = ({ style, ...props }: any) => (
|
|
|
12
12
|
toolbar={
|
|
13
13
|
<SchedulerToolbar>
|
|
14
14
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
15
|
+
<Button fillMode="flat">Today</Button>
|
|
15
16
|
<ButtonGroup fillMode="flat">
|
|
16
17
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
17
18
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -19,7 +20,6 @@ export const SchedulerFlexTimeline = ({ style, ...props }: any) => (
|
|
|
19
20
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
20
21
|
21 June
|
|
21
22
|
</Button>
|
|
22
|
-
<Button fillMode="flat">Today</Button>
|
|
23
23
|
<span className="k-spacer"></span>
|
|
24
24
|
<SegmentedControl thumbStyles={{width: "23%", left: "54%"}} className="k-scheduler-views">
|
|
25
25
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -12,6 +12,7 @@ export const SchedulerFlexWeek = ({ style, ...props }: any) => (
|
|
|
12
12
|
toolbar={
|
|
13
13
|
<SchedulerToolbar>
|
|
14
14
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
15
|
+
<Button fillMode="flat">Today</Button>
|
|
15
16
|
<ButtonGroup fillMode="flat">
|
|
16
17
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
17
18
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -19,7 +20,6 @@ export const SchedulerFlexWeek = ({ style, ...props }: any) => (
|
|
|
19
20
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
20
21
|
31 May – 6 June
|
|
21
22
|
</Button>
|
|
22
|
-
<Button fillMode="flat">Today</Button>
|
|
23
23
|
<span className="k-spacer"></span>
|
|
24
24
|
<SegmentedControl thumbStyles={{ width: "19%", left: "15%" }} className="k-scheduler-views">
|
|
25
25
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -13,6 +13,7 @@ export const SchedulerFlexYear = ({ style, ...props }: any) => (
|
|
|
13
13
|
toolbar={
|
|
14
14
|
<SchedulerToolbar>
|
|
15
15
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
16
|
+
<Button fillMode="flat">Today</Button>
|
|
16
17
|
<ButtonGroup fillMode="flat">
|
|
17
18
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
18
19
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -20,7 +21,6 @@ export const SchedulerFlexYear = ({ style, ...props }: any) => (
|
|
|
20
21
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
21
22
|
2021
|
|
22
23
|
</Button>
|
|
23
|
-
<Button fillMode="flat">Today</Button>
|
|
24
24
|
<span className="k-spacer"></span>
|
|
25
25
|
<SegmentedControl thumbStyles={{width: "14%", right: "1px"}} className="k-scheduler-views">
|
|
26
26
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -12,6 +12,7 @@ export const SchedulerMonth = ({ style, ...props }: any) => (
|
|
|
12
12
|
toolbar={
|
|
13
13
|
<SchedulerToolbar>
|
|
14
14
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
15
|
+
<Button fillMode="flat">Today</Button>
|
|
15
16
|
<ButtonGroup fillMode="flat">
|
|
16
17
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
17
18
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -19,7 +20,6 @@ export const SchedulerMonth = ({ style, ...props }: any) => (
|
|
|
19
20
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
20
21
|
June 2024
|
|
21
22
|
</Button>
|
|
22
|
-
<Button fillMode="flat">Today</Button>
|
|
23
23
|
<span className="k-spacer"></span>
|
|
24
24
|
<SegmentedControl thumbStyles={{width: "19%", left: "34%"}} className="k-scheduler-views">
|
|
25
25
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -12,6 +12,7 @@ export const SchedulerTimeline = ({ style, ...props }: any) => (
|
|
|
12
12
|
toolbar={
|
|
13
13
|
<SchedulerToolbar>
|
|
14
14
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
15
|
+
<Button fillMode="flat">Today</Button>
|
|
15
16
|
<ButtonGroup fillMode="flat">
|
|
16
17
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
17
18
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -19,7 +20,6 @@ export const SchedulerTimeline = ({ style, ...props }: any) => (
|
|
|
19
20
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
20
21
|
13 June
|
|
21
22
|
</Button>
|
|
22
|
-
<Button fillMode="flat">Today</Button>
|
|
23
23
|
<span className="k-spacer"></span>
|
|
24
24
|
<SegmentedControl thumbStyles={{width: "23%", left: "54%"}} className="k-scheduler-views">
|
|
25
25
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -12,6 +12,7 @@ export const SchedulerWeek = ({ style, ...props }: any) => (
|
|
|
12
12
|
toolbar={
|
|
13
13
|
<SchedulerToolbar>
|
|
14
14
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
15
|
+
<Button fillMode="flat">Today</Button>
|
|
15
16
|
<ButtonGroup fillMode="flat">
|
|
16
17
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
17
18
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -19,7 +20,6 @@ export const SchedulerWeek = ({ style, ...props }: any) => (
|
|
|
19
20
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
20
21
|
31 May – 6 June
|
|
21
22
|
</Button>
|
|
22
|
-
<Button fillMode="flat">Today</Button>
|
|
23
23
|
<span className="k-spacer"></span>
|
|
24
24
|
<SegmentedControl thumbStyles={{ width: "19%", left: "15%" }} className="k-scheduler-views">
|
|
25
25
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -19,6 +19,7 @@ export default () => (
|
|
|
19
19
|
toolbar={
|
|
20
20
|
<SchedulerToolbar>
|
|
21
21
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
22
|
+
<Button fillMode="flat">Today</Button>
|
|
22
23
|
<ButtonGroup fillMode="flat">
|
|
23
24
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
24
25
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -26,7 +27,6 @@ export default () => (
|
|
|
26
27
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
27
28
|
10 June – 14 June
|
|
28
29
|
</Button>
|
|
29
|
-
<Button fillMode="flat">Today</Button>
|
|
30
30
|
<span className="k-spacer"></span>
|
|
31
31
|
<SegmentedControl thumbStyles={{ width: "18%", left: "16%" }} className="k-scheduler-views">
|
|
32
32
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -462,6 +462,7 @@ export default () => (
|
|
|
462
462
|
<>
|
|
463
463
|
<SchedulerToolbar>
|
|
464
464
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
|
|
465
|
+
<Button fillMode="flat">Today</Button>
|
|
465
466
|
<ButtonGroup fillMode="flat">
|
|
466
467
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
467
468
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -469,7 +470,6 @@ export default () => (
|
|
|
469
470
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
470
471
|
18 February
|
|
471
472
|
</Button>
|
|
472
|
-
<Button fillMode="flat">Today</Button>
|
|
473
473
|
<span className="k-spacer"></span>
|
|
474
474
|
<SegmentedControl thumbStyles={{ width: "23%", left: "54%" }} className="k-scheduler-views">
|
|
475
475
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -19,6 +19,7 @@ export default () => (
|
|
|
19
19
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">
|
|
20
20
|
New Event
|
|
21
21
|
</Button>
|
|
22
|
+
<Button fillMode="flat">Today</Button>
|
|
22
23
|
<ButtonGroup fillMode="flat">
|
|
23
24
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
24
25
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -26,7 +27,6 @@ export default () => (
|
|
|
26
27
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
27
28
|
10 June – 14 June
|
|
28
29
|
</Button>
|
|
29
|
-
<Button fillMode="flat">Today</Button>
|
|
30
30
|
<span className="k-spacer"></span>
|
|
31
31
|
<SegmentedControl thumbStyles={{ width: "18%", left: "16%" }} className="k-scheduler-views">
|
|
32
32
|
<SegmentedControlButton>Day</SegmentedControlButton>
|
|
@@ -21,6 +21,7 @@ export default () => (
|
|
|
21
21
|
<Button themeColor="primary" icon="plus" aria-label="Add new event">
|
|
22
22
|
New Event
|
|
23
23
|
</Button>
|
|
24
|
+
<Button fillMode="flat">Today</Button>
|
|
24
25
|
<ButtonGroup fillMode="flat">
|
|
25
26
|
<Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
|
|
26
27
|
<Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
|
|
@@ -28,7 +29,6 @@ export default () => (
|
|
|
28
29
|
<Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
|
|
29
30
|
24 June – 25 June
|
|
30
31
|
</Button>
|
|
31
|
-
<Button fillMode="flat">Today</Button>
|
|
32
32
|
<span className="k-spacer"></span>
|
|
33
33
|
<SegmentedControl thumbStyles={{ width: "23%", left: "54%" }} className="k-scheduler-views">
|
|
34
34
|
<SegmentedControlButton>Day</SegmentedControlButton>
|