@progress/kendo-themes-html 14.4.1-dev.0 → 14.4.1-dev.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 (226) hide show
  1. package/dist/cjs/agent-response/agent-step.js +1 -1
  2. package/dist/cjs/agent-response/chain-of-thought.spec.js +1 -1
  3. package/dist/cjs/agent-response/reasoning.spec.js +1 -1
  4. package/dist/cjs/agent-response/templates/chain-of-thought-expanded.js +1 -1
  5. package/dist/cjs/agent-response/templates/chain-of-thought-normal.js +1 -1
  6. package/dist/cjs/agent-response/templates/reasoning-expanded.js +1 -1
  7. package/dist/cjs/agent-response/templates/reasoning-normal.js +1 -1
  8. package/dist/cjs/agent-response/templates/tool-call-expanded.js +1 -1
  9. package/dist/cjs/agent-response/templates/tool-call-normal.js +1 -1
  10. package/dist/cjs/agent-response/thought.spec.js +1 -1
  11. package/dist/cjs/agent-response/tool-call.spec.js +1 -1
  12. package/dist/cjs/chart-wizard/templates/chart-wizard-data.js +1 -1
  13. package/dist/cjs/chart-wizard/templates/chart-wizard-format.js +1 -1
  14. package/dist/cjs/chart-wizard/templates/chart-wizard-normal.js +1 -1
  15. package/dist/cjs/citation/citation-popover-view.spec.js +1 -0
  16. package/dist/cjs/citation/citation-popover.spec.js +1 -1
  17. package/dist/cjs/citation/templates/citation-opened.js +1 -1
  18. package/dist/cjs/datepicker/datepicker.spec.js +1 -1
  19. package/dist/cjs/datepicker/demos/datepicker.js +1 -1
  20. package/dist/cjs/datepicker/templates/datepicker-adaptive.js +1 -1
  21. package/dist/cjs/datepicker/templates/datepicker-disabled.js +1 -1
  22. package/dist/cjs/datepicker/templates/datepicker-invalid.js +1 -1
  23. package/dist/cjs/datepicker/templates/datepicker-normal.js +1 -1
  24. package/dist/cjs/datepicker/templates/datepicker-popup.js +1 -1
  25. package/dist/cjs/filter/demos/filter.js +1 -1
  26. package/dist/cjs/filter/templates/filter-normal.js +1 -1
  27. package/dist/cjs/filter/templates/filter-preview.js +1 -1
  28. package/dist/cjs/form/demos/form.js +1 -1
  29. package/dist/cjs/form/form-field.js +1 -1
  30. package/dist/cjs/form/form.spec.js +1 -1
  31. package/dist/cjs/form/templates/form-grid-layout.js +1 -1
  32. package/dist/cjs/form/templates/form-horizontal.js +1 -1
  33. package/dist/cjs/form/templates/form-normal.js +1 -1
  34. package/dist/cjs/form/templates/form-with-hints.js +1 -1
  35. package/dist/cjs/grid/templates/grid-hierarchy.js +1 -1
  36. package/dist/cjs/imageeditor/templates/imageeditor-crop.js +1 -1
  37. package/dist/cjs/imageeditor/templates/imageeditor-normal.js +1 -1
  38. package/dist/cjs/imageeditor/templates/imageeditor-resize.js +1 -1
  39. package/dist/cjs/index.js +8 -8
  40. package/dist/cjs/pivotgrid/demos/pivotgrid.js +1 -1
  41. package/dist/cjs/pivotgrid/templates/pivotgrid-normal.js +1 -1
  42. package/dist/cjs/pivotgrid/templates/pivotgrid-with-configurator-disabled-actions.js +1 -1
  43. package/dist/cjs/pivotgrid/templates/pivotgrid-with-configurator-opened.js +1 -1
  44. package/dist/cjs/pivotgrid/templates/pivotgrid-with-configurator.js +1 -1
  45. package/dist/cjs/scheduler/demos/scheduler.js +1 -1
  46. package/dist/cjs/scheduler/scheduler-cell.spec.js +1 -1
  47. package/dist/cjs/scheduler/scheduler-event.spec.js +1 -1
  48. package/dist/cjs/scheduler/scheduler-toolbar.spec.js +1 -1
  49. package/dist/cjs/scheduler/templates/scheduler-agenda.js +1 -1
  50. package/dist/cjs/scheduler/templates/scheduler-day.js +1 -1
  51. package/dist/cjs/scheduler/templates/scheduler-flex-agenda.js +1 -1
  52. package/dist/cjs/scheduler/templates/scheduler-flex-day.js +1 -1
  53. package/dist/cjs/scheduler/templates/scheduler-flex-horizontal-grouping.js +1 -1
  54. package/dist/cjs/scheduler/templates/scheduler-flex-month.js +1 -1
  55. package/dist/cjs/scheduler/templates/scheduler-flex-timeline.js +1 -1
  56. package/dist/cjs/scheduler/templates/scheduler-flex-vertical-grouping.js +1 -1
  57. package/dist/cjs/scheduler/templates/scheduler-flex-week.js +1 -1
  58. package/dist/cjs/scheduler/templates/scheduler-flex-year.js +1 -1
  59. package/dist/cjs/scheduler/templates/scheduler-horizontal-grouping.js +1 -1
  60. package/dist/cjs/scheduler/templates/scheduler-month.js +1 -1
  61. package/dist/cjs/scheduler/templates/scheduler-timeline.js +1 -1
  62. package/dist/cjs/scheduler/templates/scheduler-vertical-grouping.js +1 -1
  63. package/dist/cjs/scheduler/templates/scheduler-week.js +1 -1
  64. package/dist/cjs/taskboard/demos/taskboard.js +1 -1
  65. package/dist/cjs/taskboard/taskboard.spec.js +1 -1
  66. package/dist/cjs/taskboard/templates/taskboard-normal.js +1 -1
  67. package/dist/cjs/taskboard/templates/taskboard-pane.js +1 -1
  68. package/dist/cjs/timepicker/demos/timepicker.js +1 -1
  69. package/dist/cjs/timepicker/templates/timepicker-adaptive.js +1 -1
  70. package/dist/cjs/timepicker/templates/timepicker-disabled.js +1 -1
  71. package/dist/cjs/timepicker/templates/timepicker-invalid.js +1 -1
  72. package/dist/cjs/timepicker/templates/timepicker-normal.js +1 -1
  73. package/dist/cjs/timepicker/templates/timepicker-popup.js +1 -1
  74. package/dist/cjs/timepicker/timepicker.spec.js +1 -1
  75. package/dist/esm/agent-response/agent-step.mjs +1 -1
  76. package/dist/esm/agent-response/chain-of-thought.spec.mjs +1 -1
  77. package/dist/esm/agent-response/reasoning.spec.mjs +1 -1
  78. package/dist/esm/agent-response/templates/chain-of-thought-expanded.mjs +1 -1
  79. package/dist/esm/agent-response/templates/chain-of-thought-normal.mjs +1 -1
  80. package/dist/esm/agent-response/templates/reasoning-expanded.mjs +1 -1
  81. package/dist/esm/agent-response/templates/reasoning-normal.mjs +1 -1
  82. package/dist/esm/agent-response/templates/tool-call-expanded.mjs +1 -1
  83. package/dist/esm/agent-response/templates/tool-call-normal.mjs +1 -1
  84. package/dist/esm/agent-response/thought.spec.mjs +1 -1
  85. package/dist/esm/agent-response/tool-call.spec.mjs +1 -1
  86. package/dist/esm/chart-wizard/templates/chart-wizard-data.mjs +1 -1
  87. package/dist/esm/chart-wizard/templates/chart-wizard-format.mjs +1 -1
  88. package/dist/esm/chart-wizard/templates/chart-wizard-normal.mjs +1 -1
  89. package/dist/esm/citation/citation-popover-view.spec.mjs +1 -0
  90. package/dist/esm/citation/citation-popover.spec.mjs +1 -1
  91. package/dist/esm/citation/templates/citation-opened.mjs +1 -1
  92. package/dist/esm/datepicker/datepicker.spec.mjs +1 -1
  93. package/dist/esm/datepicker/demos/datepicker.mjs +1 -1
  94. package/dist/esm/datepicker/templates/datepicker-adaptive.mjs +1 -1
  95. package/dist/esm/datepicker/templates/datepicker-disabled.mjs +1 -1
  96. package/dist/esm/datepicker/templates/datepicker-invalid.mjs +1 -1
  97. package/dist/esm/datepicker/templates/datepicker-normal.mjs +1 -1
  98. package/dist/esm/datepicker/templates/datepicker-popup.mjs +1 -1
  99. package/dist/esm/filter/demos/filter.mjs +1 -1
  100. package/dist/esm/filter/templates/filter-normal.mjs +1 -1
  101. package/dist/esm/filter/templates/filter-preview.mjs +1 -1
  102. package/dist/esm/form/demos/form.mjs +1 -1
  103. package/dist/esm/form/form-field.mjs +1 -1
  104. package/dist/esm/form/form.spec.mjs +1 -1
  105. package/dist/esm/form/templates/form-grid-layout.mjs +1 -1
  106. package/dist/esm/form/templates/form-horizontal.mjs +1 -1
  107. package/dist/esm/form/templates/form-normal.mjs +1 -1
  108. package/dist/esm/form/templates/form-with-hints.mjs +1 -1
  109. package/dist/esm/grid/templates/grid-hierarchy.mjs +1 -1
  110. package/dist/esm/imageeditor/templates/imageeditor-crop.mjs +1 -1
  111. package/dist/esm/imageeditor/templates/imageeditor-normal.mjs +1 -1
  112. package/dist/esm/imageeditor/templates/imageeditor-resize.mjs +1 -1
  113. package/dist/esm/index.mjs +8 -8
  114. package/dist/esm/pivotgrid/demos/pivotgrid.mjs +1 -1
  115. package/dist/esm/pivotgrid/templates/pivotgrid-normal.mjs +1 -1
  116. package/dist/esm/pivotgrid/templates/pivotgrid-with-configurator-disabled-actions.mjs +1 -1
  117. package/dist/esm/pivotgrid/templates/pivotgrid-with-configurator-opened.mjs +1 -1
  118. package/dist/esm/pivotgrid/templates/pivotgrid-with-configurator.mjs +1 -1
  119. package/dist/esm/scheduler/demos/scheduler.mjs +1 -1
  120. package/dist/esm/scheduler/scheduler-cell.spec.mjs +1 -1
  121. package/dist/esm/scheduler/scheduler-event.spec.mjs +1 -1
  122. package/dist/esm/scheduler/scheduler-toolbar.spec.mjs +1 -1
  123. package/dist/esm/scheduler/templates/scheduler-agenda.mjs +1 -1
  124. package/dist/esm/scheduler/templates/scheduler-day.mjs +1 -1
  125. package/dist/esm/scheduler/templates/scheduler-flex-agenda.mjs +1 -1
  126. package/dist/esm/scheduler/templates/scheduler-flex-day.mjs +1 -1
  127. package/dist/esm/scheduler/templates/scheduler-flex-horizontal-grouping.mjs +1 -1
  128. package/dist/esm/scheduler/templates/scheduler-flex-month.mjs +1 -1
  129. package/dist/esm/scheduler/templates/scheduler-flex-timeline.mjs +1 -1
  130. package/dist/esm/scheduler/templates/scheduler-flex-vertical-grouping.mjs +1 -1
  131. package/dist/esm/scheduler/templates/scheduler-flex-week.mjs +1 -1
  132. package/dist/esm/scheduler/templates/scheduler-flex-year.mjs +1 -1
  133. package/dist/esm/scheduler/templates/scheduler-horizontal-grouping.mjs +1 -1
  134. package/dist/esm/scheduler/templates/scheduler-month.mjs +1 -1
  135. package/dist/esm/scheduler/templates/scheduler-timeline.mjs +1 -1
  136. package/dist/esm/scheduler/templates/scheduler-vertical-grouping.mjs +1 -1
  137. package/dist/esm/scheduler/templates/scheduler-week.mjs +1 -1
  138. package/dist/esm/taskboard/demos/taskboard.mjs +1 -1
  139. package/dist/esm/taskboard/taskboard.spec.mjs +1 -1
  140. package/dist/esm/taskboard/templates/taskboard-normal.mjs +1 -1
  141. package/dist/esm/taskboard/templates/taskboard-pane.mjs +1 -1
  142. package/dist/esm/timepicker/demos/timepicker.mjs +1 -1
  143. package/dist/esm/timepicker/templates/timepicker-adaptive.mjs +1 -1
  144. package/dist/esm/timepicker/templates/timepicker-disabled.mjs +1 -1
  145. package/dist/esm/timepicker/templates/timepicker-invalid.mjs +1 -1
  146. package/dist/esm/timepicker/templates/timepicker-normal.mjs +1 -1
  147. package/dist/esm/timepicker/templates/timepicker-popup.mjs +1 -1
  148. package/dist/esm/timepicker/timepicker.spec.mjs +1 -1
  149. package/dist/types/agent-response/agent-step.d.ts +0 -2
  150. package/dist/types/agent-response/thought.spec.d.ts +0 -2
  151. package/dist/types/citation/citation-popover-view.spec.d.ts +18 -0
  152. package/dist/types/citation/citation-popover.spec.d.ts +0 -1
  153. package/dist/types/citation/index.d.ts +1 -0
  154. package/dist/types/datepicker/datepicker.spec.d.ts +1 -0
  155. package/dist/types/form/form-field.d.ts +1 -1
  156. package/dist/types/scheduler/scheduler-cell.spec.d.ts +1 -0
  157. package/dist/types/scheduler/scheduler-event.spec.d.ts +9 -3
  158. package/dist/types/scheduler/scheduler.spec.d.ts +19 -2
  159. package/dist/types/timepicker/timepicker.spec.d.ts +1 -0
  160. package/package.json +1 -1
  161. package/src/agent-response/agent-step.tsx +1 -9
  162. package/src/agent-response/templates/chain-of-thought-expanded.tsx +1 -1
  163. package/src/agent-response/templates/chain-of-thought-normal.tsx +1 -1
  164. package/src/agent-response/templates/reasoning-expanded.tsx +1 -1
  165. package/src/agent-response/templates/reasoning-normal.tsx +1 -1
  166. package/src/agent-response/templates/tool-call-expanded.tsx +1 -1
  167. package/src/agent-response/templates/tool-call-normal.tsx +1 -1
  168. package/src/agent-response/tests/chain-of-thought.tsx +3 -3
  169. package/src/agent-response/tests/reasoning.tsx +2 -2
  170. package/src/agent-response/tests/tool-call.tsx +19 -35
  171. package/src/agent-response/thought.spec.tsx +1 -9
  172. package/src/citation/citation-popover-view.spec.tsx +54 -0
  173. package/src/citation/citation-popover.spec.tsx +5 -7
  174. package/src/citation/index.ts +1 -0
  175. package/src/citation/templates/citation-opened.tsx +3 -6
  176. package/src/citation/tests/citation.tsx +19 -19
  177. package/src/datepicker/datepicker.spec.tsx +5 -2
  178. package/src/form/form-field.tsx +1 -1
  179. package/src/form/form.spec.tsx +4 -2
  180. package/src/grid/templates/grid-hierarchy.tsx +1 -1
  181. package/src/scheduler/scheduler-cell.spec.tsx +13 -6
  182. package/src/scheduler/scheduler-event.spec.tsx +108 -88
  183. package/src/scheduler/scheduler-toolbar.spec.tsx +7 -8
  184. package/src/scheduler/scheduler.spec.tsx +19 -2
  185. package/src/scheduler/templates/scheduler-agenda.tsx +9 -7
  186. package/src/scheduler/templates/scheduler-day.tsx +3 -6
  187. package/src/scheduler/templates/scheduler-flex-agenda.tsx +8 -6
  188. package/src/scheduler/templates/scheduler-flex-day.tsx +10 -11
  189. package/src/scheduler/templates/scheduler-flex-horizontal-grouping.tsx +6 -12
  190. package/src/scheduler/templates/scheduler-flex-month.tsx +13 -35
  191. package/src/scheduler/templates/scheduler-flex-timeline.tsx +8 -6
  192. package/src/scheduler/templates/scheduler-flex-vertical-grouping.tsx +4 -10
  193. package/src/scheduler/templates/scheduler-flex-week.tsx +15 -13
  194. package/src/scheduler/templates/scheduler-flex-year.tsx +9 -5
  195. package/src/scheduler/templates/scheduler-horizontal-grouping.tsx +5 -11
  196. package/src/scheduler/templates/scheduler-month.tsx +14 -35
  197. package/src/scheduler/templates/scheduler-timeline.tsx +9 -7
  198. package/src/scheduler/templates/scheduler-vertical-grouping.tsx +2 -2
  199. package/src/scheduler/templates/scheduler-week.tsx +19 -26
  200. package/src/scheduler/tests/scheduler-adaptive-agenda.tsx +17 -12
  201. package/src/scheduler/tests/scheduler-adaptive-day-resource-group.tsx +18 -27
  202. package/src/scheduler/tests/scheduler-adaptive-day.tsx +18 -27
  203. package/src/scheduler/tests/scheduler-adaptive-edit-no-height.tsx +9 -3
  204. package/src/scheduler/tests/scheduler-adaptive-edit-time-zones.tsx +10 -4
  205. package/src/scheduler/tests/scheduler-adaptive-edit.tsx +9 -3
  206. package/src/scheduler/tests/scheduler-adaptive-month.tsx +21 -28
  207. package/src/scheduler/tests/scheduler-agenda-view.tsx +7 -0
  208. package/src/scheduler/tests/scheduler-current-time-marker.tsx +28 -34
  209. package/src/scheduler/tests/scheduler-day-view.tsx +7 -0
  210. package/src/scheduler/tests/scheduler-edit-event-dialog.tsx +144 -0
  211. package/src/scheduler/tests/scheduler-events-popover.tsx +122 -0
  212. package/src/scheduler/tests/scheduler-events-responsive.tsx +71 -0
  213. package/src/scheduler/tests/scheduler-events.tsx +503 -508
  214. package/src/scheduler/tests/scheduler-month-view.tsx +7 -0
  215. package/src/scheduler/tests/scheduler-new-event-dialog.tsx +191 -0
  216. package/src/scheduler/tests/scheduler-quick-actions-popover.tsx +114 -0
  217. package/src/scheduler/tests/scheduler-react-timeline-multi.tsx +568 -673
  218. package/src/scheduler/tests/scheduler-recurrence-dialog.tsx +437 -0
  219. package/src/scheduler/tests/scheduler-timeline-view.tsx +7 -0
  220. package/src/scheduler/tests/scheduler-toolbar-responsive.tsx +226 -0
  221. package/src/scheduler/tests/scheduler-week-view.tsx +7 -0
  222. package/src/scheduler/tests/scheduler-year-view.tsx +3 -0
  223. package/src/timepicker/timepicker.spec.tsx +5 -2
  224. package/src/scheduler/tests/scheduler-edit-dialog.tsx +0 -103
  225. package/src/scheduler/tests/scheduler-editing-weekly.tsx +0 -128
  226. package/src/scheduler/tests/scheduler-tooltip.tsx +0 -82
@@ -15,13 +15,11 @@ export type KendoCitationPopoverProps = {
15
15
  pageIndex?: number;
16
16
  totalPages?: number;
17
17
  body?: React.JSX.Element;
18
- currentView?: number;
19
18
  };
20
19
 
21
20
  const defaultOptions = {
22
- currentView: 1,
23
21
  pageIndex: 1,
24
- totalPages: 6,
22
+ totalPages: 2,
25
23
  };
26
24
 
27
25
  /**
@@ -30,20 +28,20 @@ const defaultOptions = {
30
28
  * @ux {Sliding views} Slides between page views using the --kendo-citation-popover-view-current CSS variable instead of unmounting content.
31
29
  */
32
30
  export const CitationPopover: KendoComponent<KendoCitationPopoverProps & React.HTMLAttributes<HTMLDivElement>> = (props: KendoCitationPopoverProps & React.HTMLAttributes<HTMLDivElement>) => {
33
- const { body, currentView = defaultOptions.currentView, pageIndex = defaultOptions.pageIndex, totalPages = defaultOptions.totalPages, className, children, ...other } = props;
31
+ const { body, pageIndex = defaultOptions.pageIndex, totalPages = defaultOptions.totalPages, className, children, ...other } = props;
34
32
  return (
35
33
  <Popover
36
34
  {...other}
37
35
  className={classNames(className, CITATION_POPOVER_CLASSNAME)}
38
- style={{ "--kendo-citation-popover-view-current": currentView } as React.CSSProperties}
36
+ style={{ "--kendo-citation-popover-view-current": pageIndex } as React.CSSProperties}
39
37
  title={
40
38
  <>
41
39
  <span className="k-citation-pages">
42
40
  {pageIndex}/{totalPages}
43
41
  </span>
44
42
  <ButtonGroup fillMode="flat">
45
- <IconButton icon="arrow-left" fillMode="flat" size="small" aria-label="Previous" />
46
- <IconButton icon="arrow-right" fillMode="flat" size="small" aria-label="Next" />
43
+ <IconButton className="k-group-start" icon="arrow-left" fillMode="flat" size="small" aria-label="Previous" disabled={pageIndex <= 1} />
44
+ <IconButton className="k-group-end" icon="arrow-right" fillMode="flat" size="small" aria-label="Next" disabled={pageIndex >= totalPages} />
47
45
  </ButtonGroup>
48
46
  </>
49
47
  }
@@ -1,4 +1,5 @@
1
1
  export * from './citation.spec';
2
2
  export * from './citation-popover.spec';
3
+ export * from './citation-popover-view.spec';
3
4
  export * from './templates/citation-normal';
4
5
  export * from './templates/citation-opened';
@@ -1,5 +1,6 @@
1
1
  import Citation from "../citation.spec";
2
2
  import CitationPopover from "../citation-popover.spec";
3
+ import CitationPopoverView from "../citation-popover-view.spec";
3
4
 
4
5
  export const CitationOpened = (props: any) => (
5
6
  <>
@@ -7,12 +8,8 @@ export const CitationOpened = (props: any) => (
7
8
  <CitationPopover
8
9
  body={
9
10
  <>
10
- <div className="k-citation-popover-view">
11
- <div>View 1</div>
12
- </div>
13
- <div className="k-citation-popover-view">
14
- <div>View 2</div>
15
- </div>
11
+ <CitationPopoverView title="View 1" />
12
+ <CitationPopoverView title="View 2" />
16
13
  </>
17
14
  }
18
15
  />
@@ -1,10 +1,11 @@
1
1
  import { Citation } from "../citation.spec";
2
2
  import CitationPopover from "../citation-popover.spec";
3
- import Icon from "../../icon/icon.spec";
3
+ import CitationPopoverView from "../citation-popover-view.spec";
4
4
 
5
5
  const styles = `
6
6
  .k-animation-container {
7
7
  position: relative;
8
+ width: 318px;
8
9
  }
9
10
  `;
10
11
 
@@ -16,34 +17,33 @@ export default () => (
16
17
  <p>Inline Citation</p>
17
18
  <div className="k-d-flex k-flex-wrap k-gap-2 k-align-items-center">
18
19
  <Citation domain="some-link.com" count={5} />
19
- <Citation domain="some-link.com" count={5} selected />
20
+ <Citation domain="some-link.com" count={5} hover />
20
21
  </div>
21
22
  </section>
22
23
 
23
24
  <section>
24
25
  <p>Inline Citation + Popover</p>
25
26
  <p>
26
- An inline citation component is an interactive UI element that embeds clickable reference badges, like [1] or source names, directly into text. <Citation domain="some-link.com" count={5} selected /> When users hover over or click these badges, the component displays full source details, such as titles, domains, URLs.
27
+ An inline citation component is an interactive UI element that embeds clickable reference badges, like [1] or source names, directly into text. <Citation domain="some-link.com" count={5} hover /> When users hover over or click these badges, the component displays full source details, such as titles, domains, URLs.
27
28
  </p>
28
29
  <CitationPopover
29
30
  body={
30
31
  <>
31
- <div className="k-citation-popover-view">
32
- <div className="k-font-weight-bold">Advances in Natural Language Processing</div>
33
- <span className="k-color-subtle k-font-size-sm k-mt-2">A comprehensive study on the recent developments in natural language processing technologies and their...</span>
34
- <a href="#" className="k-d-flex k-align-items-center k-font-size-sm k-mt-1 k-gap-1">
35
- <Icon icon="globe" />
36
- https://example.com/nlp-advances
37
- </a>
38
- </div>
39
- <div className="k-citation-popover-view">
40
- <div className="k-font-weight-bold">Advances in Natural Language Processing</div>
41
- <span className="k-color-subtle k-font-size-sm k-mt-2">A comprehensive study on the recent developments in natural language processing technologies and their...</span>
42
- <a href="#" className="k-d-flex k-align-items-center k-font-size-sm k-mt-1 k-gap-1">
43
- <Icon icon="globe" />
44
- https://example.com/nlp-advances
45
- </a>
46
- </div>
32
+ <CitationPopoverView title="Advances in Natural Language" body="A comprehensive study on the recent developments in natural language processing technologies" source="https://example.com/nlp-advances" />
33
+ <CitationPopoverView title="Advances in Natural Language" body="A comprehensive study on the recent developments in natural language processing technologies" source="https://example.com/nlp-advances" />
34
+ </>
35
+ }
36
+ />
37
+ </section>
38
+
39
+ <section>
40
+ <p>Inline Citation + Popover with long texts</p>
41
+ <CitationPopover
42
+ pageIndex={2}
43
+ body={
44
+ <>
45
+ <CitationPopoverView title="Advances in Natural Language Processing Long Long Long" body="A comprehensive study on the recent developments in natural language processing technologies and their long long long long long long long long long long long long long long long long long long long long long text" source="https://example.com/nlp-advances/long/long/long" />
46
+ <CitationPopoverView title="Advances in Natural Language Processing Long Long Long" body="A comprehensive study on the recent developments in natural language processing technologies and their long long long long long long long long long long long long long long long long long long long long long text" source="https://example.com/nlp-advances/long/long/long" />
47
47
  </>
48
48
  }
49
49
  />
@@ -35,6 +35,7 @@ const options = {
35
35
  };
36
36
 
37
37
  const defaultOptions = {
38
+ showClearButton: true
38
39
  };
39
40
 
40
41
  export type KendoDatePickerOptions = {
@@ -48,6 +49,7 @@ export type KendoDatePickerProps = KendoDatePickerOptions & {
48
49
  suffix?: React.JSX.Element;
49
50
  value?: string;
50
51
  placeholder?: string;
52
+ showClearButton?: boolean;
51
53
  opened?: boolean;
52
54
  adaptive?: boolean;
53
55
  adaptiveSettings?: KendoActionSheetProps;
@@ -88,6 +90,7 @@ export const DatePicker: KendoComponent<KendoDatePickerProps & KendoDatePickerSt
88
90
  suffix,
89
91
  value,
90
92
  placeholder,
93
+ showClearButton = defaultOptions.showClearButton,
91
94
  hover,
92
95
  focus,
93
96
  valid,
@@ -143,11 +146,11 @@ export const DatePicker: KendoComponent<KendoDatePickerProps & KendoDatePickerSt
143
146
  <InputLoadingIcon
144
147
  loading={loading}
145
148
  disabled={disabled} />
146
- <InputClearValue
149
+ { showClearButton && <InputClearValue
147
150
  loading={loading}
148
151
  disabled={disabled}
149
152
  readonly={readonly}
150
- value={value} />
153
+ value={value} />}
151
154
  <InputSuffix>{suffix}</InputSuffix>
152
155
  <Button
153
156
  className="k-input-button"
@@ -10,7 +10,7 @@ const states = [
10
10
  ];
11
11
 
12
12
  export type KendoFormFieldProps = {
13
- label?: null | string;
13
+ label?: null | string | React.ReactNode;
14
14
  orientation?: string;
15
15
  optional?: boolean;
16
16
  editorId?: string;
@@ -48,7 +48,8 @@ export const Form: KendoComponent<KendoFormProps & React.HTMLAttributes<HTMLDivE
48
48
  cols,
49
49
  gutters,
50
50
  tag = defaultOptions.tag,
51
- children
51
+ children,
52
+ style
52
53
  } = props;
53
54
 
54
55
  const Tag = tag;
@@ -76,7 +77,8 @@ export const Form: KendoComponent<KendoFormProps & React.HTMLAttributes<HTMLDivE
76
77
  )} style={{
77
78
  ...(typeof gutters === 'string' && { gap: gutters }),
78
79
  ...(typeof gutters === 'object' && gutters.rows && { rowGap: gutters.rows }),
79
- ...(typeof gutters === 'object' && gutters.cols && { columnGap: gutters.cols })
80
+ ...(typeof gutters === 'object' && gutters.cols && { columnGap: gutters.cols }),
81
+ ...style
80
82
  }}>
81
83
  {children}
82
84
  </div>
@@ -57,7 +57,7 @@ export const GridHierarchy = ({ containerClassName, ...other }: any) => (
57
57
  <TableTd className="k-detail-cell" role="gridcell" colspan={3}>
58
58
  <Grid _renderAriaRoot className="k-grid-no-scrollbar">
59
59
  <GridHeader>
60
- <div className="k-grid-header-wrap">
60
+ <div className="k-grid-header-wrap" role="none">
61
61
  <GridHeaderTable role="none">
62
62
  <colgroup>
63
63
  <col />
@@ -14,6 +14,7 @@ export type KendoSchedulerCellProps = {
14
14
  cellType?: string[];
15
15
  allDay?: boolean;
16
16
  text?: string;
17
+ dayText?: string;
17
18
  colspan?: number;
18
19
  rowspan?: number;
19
20
  }
@@ -28,6 +29,7 @@ export const SchedulerCell: KendoComponent<KendoSchedulerCellProps & ( | ( React
28
29
  cellType,
29
30
  allDay,
30
31
  text,
32
+ dayText,
31
33
  colspan,
32
34
  rowspan,
33
35
  as: Component = 'div',
@@ -54,12 +56,17 @@ export const SchedulerCell: KendoComponent<KendoSchedulerCellProps & ( | ( React
54
56
  [`k-${t}-cell`]: true,
55
57
  }))
56
58
  )}>
57
- {!allDay && text ?
58
- <span className="k-link k-nav-day">
59
- {textOrChildren}
60
- </span>
61
- :
62
- textOrChildren
59
+ {dayText ?
60
+ <>
61
+ <span className="k-scheduler-date-day">{dayText}</span>
62
+ <span className="k-link k-nav-day" aria-label={`${dayText} ${text}`}>{text}</span>
63
+ </>
64
+ : !allDay && text ?
65
+ <span className="k-link k-nav-day">
66
+ {textOrChildren}
67
+ </span>
68
+ :
69
+ textOrChildren
63
70
  }
64
71
  </Component>
65
72
  );
@@ -1,36 +1,37 @@
1
- import { classNames, States, stateClassNames } from '../misc';
2
- import { Icon } from '../icon';
1
+ import { classNames, States, stateClassNames } from "../misc";
2
+ import { Icon } from "../icon";
3
3
 
4
- import { KendoComponent } from '../_types/component';
5
- import { SCHEDULER_FOLDER_NAME, SCHEDULER_MODULE_NAME } from './constants';
6
- const className = 'k-event';
4
+ import { KendoComponent } from "../_types/component";
5
+ import { SCHEDULER_FOLDER_NAME, SCHEDULER_MODULE_NAME } from "./constants";
6
+ const className = "k-event";
7
7
 
8
- const states = [
9
- States.hover,
10
- States.focus,
11
- States.selected
12
- ];
8
+ const states = [States.hover, States.focus, States.selected];
13
9
 
14
10
  const options = {};
15
11
 
16
12
  const defaultOptions = {
17
- resizable: 'vertical',
18
- eventPrefix: <Icon icon="arrow-rotate-cw" />,
19
- eventSuffix: <><a className="k-link k-event-delete" aria-label="Delete event"><Icon icon="x" /></a></>
13
+ resizable: "vertical",
20
14
  } as const;
21
15
 
22
16
  export type KendoSchedulerEventProps = {
23
- inverse?: boolean;
24
- ongoing?: boolean;
25
- multiDay?: boolean;
26
- resizable?: "horizontal" | "vertical" | "none";
27
- hover?: boolean;
28
- focus?: boolean;
29
- selected?: boolean;
30
- eventPrefix?: React.JSX.Element | null;
31
- eventSuffix?: React.JSX.Element | null;
17
+ inverse?: boolean;
18
+ ongoing?: boolean;
19
+ multiDay?: boolean;
20
+ readonly?: boolean;
21
+ recurring?: "recurring" | "non-recurring";
22
+ resizable?: "horizontal" | "vertical" | "none";
23
+ hover?: boolean;
24
+ focus?: boolean;
25
+ selected?: boolean;
26
+ continuationRight?: boolean;
27
+ continuationLeft?: boolean;
28
+ continuationTop?: boolean;
29
+ continuationBottom?: boolean;
30
+ title?: string;
31
+ time?: string;
32
32
  };
33
33
 
34
+
34
35
  /**
35
36
  * @aria {role="button"} Indicating that the event element is interactive.
36
37
  * @aria {aria-label} Label containing the title, start, and end date of the appointment.
@@ -39,74 +40,93 @@ export type KendoSchedulerEventProps = {
39
40
  * @ux {Edit on click} Clicking the event opens an edit form.
40
41
  * @ux {Overflow indicator} A count badge shows when multiple events overlap in the same slot.
41
42
  */
42
- export const SchedulerEvent: KendoComponent<KendoSchedulerEventProps & React.HTMLAttributes<HTMLDivElement>> = (
43
- props: KendoSchedulerEventProps &
44
- React.HTMLAttributes<HTMLDivElement>
45
- ) => {
46
- const {
47
- inverse,
48
- ongoing,
49
- multiDay,
50
- resizable = defaultOptions.resizable,
51
- hover,
52
- focus,
53
- selected,
54
- eventPrefix = defaultOptions.eventPrefix,
55
- eventSuffix = defaultOptions.eventSuffix,
56
- ...others
57
- } = props;
43
+ export const SchedulerEvent: KendoComponent<KendoSchedulerEventProps & React.HTMLAttributes<HTMLDivElement>> = (props: KendoSchedulerEventProps & React.HTMLAttributes<HTMLDivElement>) => {
44
+ const { inverse, ongoing, readonly, title, time, recurring, resizable = defaultOptions.resizable, hover, focus, selected, continuationLeft, continuationRight, continuationTop, continuationBottom, ...others } = props;
58
45
 
59
- return (
60
- <div
61
- {...others}
62
- className={classNames(
63
- className,
64
- props.className,
65
- stateClassNames(className, {
66
- hover,
67
- focus,
68
- selected
69
- }),
70
- {
71
- 'k-event-inverse': inverse,
72
- 'k-event-ongoing': ongoing,
73
- }
46
+ return (
47
+ <div
48
+ {...others}
49
+ className={classNames(
50
+ className,
51
+ props.className,
52
+ stateClassNames(className, {
53
+ hover,
54
+ focus,
55
+ selected,
56
+ }),
57
+ {
58
+ "k-event-inverse": inverse,
59
+ "k-event-ongoing": ongoing,
60
+ "k-readonly": readonly,
61
+ },
62
+ )}
63
+ role="button"
64
+ aria-disabled={readonly || undefined}
65
+ aria-label={others["aria-label"] || "Event"}
66
+ >
67
+ {continuationLeft && (
68
+ <span className="k-event-continuation">
69
+ <Icon icon="chevron-left" />
70
+ </span>
71
+ )}
72
+ <div>
73
+ {continuationTop && (
74
+ <span className="k-event-continuation">
75
+ <Icon icon="chevron-up" />
76
+ </span>
77
+ )}
78
+ {title && <div className="k-event-template k-event-title">{title}</div>}
79
+ {time && (
80
+ <div className="k-event-template k-event-time">
81
+ {recurring === "recurring" && (
82
+ <span className="k-event-recurrence-icon">
83
+ <Icon size="small" icon="arrow-rotate-cw" />
84
+ </span>
85
+ )}
86
+ {recurring === "non-recurring" && (
87
+ <span className="k-event-recurrence-icon">
88
+ <Icon size="small" icon="arrows-no-repeat" />
89
+ </span>
74
90
  )}
75
- role="button"
76
- aria-label={others['aria-label'] || 'Event'}
77
- >
78
- <span className="k-event-actions">
79
- {eventPrefix}
80
- </span>
81
- <div>
82
- {props.children}
83
- </div>
84
- <span className="k-event-actions">
85
- {eventSuffix}
86
- </span>
87
- {multiDay &&
88
- <>
89
- <span className="k-event-top-actions">
90
- <Icon icon="chevron-up" />
91
- </span>
92
- <span className="k-event-bottom-actions">
93
- <Icon icon="chevron-down" />
94
- </span>
95
- </>
96
- }
97
- {resizable === 'vertical' ?
98
- <>
99
- <span className="k-resize-handle k-resize-n"></span>
100
- <span className="k-resize-handle k-resize-s"></span>
101
- </> :
102
- resizable === 'horizontal' &&
103
- <>
104
- <span className="k-resize-handle k-resize-w"></span>
105
- <span className="k-resize-handle k-resize-e"></span>
106
- </>
107
- }
108
- </div>
109
- );
91
+ {time}
92
+ </div>
93
+ )}
94
+ {continuationBottom && (
95
+ <span className="k-event-continuation">
96
+ <Icon icon="chevron-down" />
97
+ </span>
98
+ )}
99
+ </div>
100
+ {recurring === "recurring" && (
101
+ <span className="k-event-recurrence-icon">
102
+ <Icon icon="arrow-rotate-cw" />
103
+ </span>
104
+ )}
105
+ {recurring === "non-recurring" && (
106
+ <span className="k-event-recurrence-icon">
107
+ <Icon icon="arrows-no-repeat" />
108
+ </span>
109
+ )}
110
+ {continuationRight && (
111
+ <span className="k-event-continuation">
112
+ <Icon icon="chevron-right" />
113
+ </span>
114
+ )}
115
+ {resizable === "vertical" ? (
116
+ <>
117
+ <span className="k-resize-handle k-resize-n"></span>
118
+ <span className="k-resize-handle k-resize-s"></span>
119
+ </>
120
+ ) : (
121
+ resizable === "horizontal" && (
122
+ <>
123
+ <span className="k-resize-handle k-resize-w"></span>
124
+ <span className="k-resize-handle k-resize-e"></span>
125
+ </>
126
+ )
127
+ )}
128
+ </div>
129
+ );
110
130
  };
111
131
 
112
132
  SchedulerEvent.states = states;
@@ -1,5 +1,4 @@
1
1
  import { Button } from '../button';
2
- import { ButtonGroup } from '../button-group';
3
2
  import { classNames } from '../misc';
4
3
  import { SegmentedControl, SegmentedControlButton } from '../segmented-control';
5
4
  import { Toolbar, KendoToolbarProps } from '../toolbar';
@@ -25,6 +24,7 @@ export const SchedulerToolbar: KendoComponent<KendoSchedulerToolbarProps & React
25
24
  return (
26
25
  <Toolbar
27
26
  {...others}
27
+ fillMode="flat"
28
28
  className={classNames(
29
29
  props.className,
30
30
  {
@@ -35,16 +35,15 @@ export const SchedulerToolbar: KendoComponent<KendoSchedulerToolbarProps & React
35
35
  >
36
36
  {props.children ||
37
37
  [
38
- <ButtonGroup key="nav" className="k-scheduler-navigation">
39
- <Button className="k-group-start">Today</Button>
40
- <Button icon="chevron-left" aria-label="Navigate to previous period"></Button>
41
- <Button className="k-group-end" icon="chevron-right" aria-label="Navigate to next period"></Button>
42
- </ButtonGroup>,
38
+ <Button key="new-event" themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>,
39
+ <Button key="prev" icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>,
40
+ <Button key="next" icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>,
43
41
  <Button key="current" icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
44
- Monday, June 13, 2022
42
+ 13 June
45
43
  </Button>,
44
+ <Button key="today" fillMode="flat">Today</Button>,
46
45
  <span key="spacer" className="k-spacer"></span>,
47
- <SegmentedControl key="views" thumbStyles={{ width: "15%", left: "2px" }} className="k-scheduler-views">
46
+ <SegmentedControl thumbStyles={{width: "15%"}} key="views" className="k-scheduler-views">
48
47
  <SegmentedControlButton selected>Day</SegmentedControlButton>
49
48
  <SegmentedControlButton>Week</SegmentedControlButton>
50
49
  <SegmentedControlButton>Month</SegmentedControlButton>
@@ -22,11 +22,28 @@ export type KendoSchedulerProps = {
22
22
  * @aria {role="application"} Specifies the role of the component.
23
23
  * @aria {aria-label} Required as the previous navigation button contains only an icon (no text).
24
24
  * @aria {aria-label} Required as the next navigation button contains only an icon (no text).
25
+ * @aria {aria-label} Required for the "New Event" button. When collapsed to icon-only at narrow widths, this is the only accessible name.
26
+ * @aria {aria-label} Required as the Open calendar button contains only an icon (no text).
27
+ * @aria {aria-label} Required as the Create event button contains only an icon (no text).
28
+ * @aria {aria-live="polite"} The new date of the Scheduler view will be announced upon navigation to a new time span or view type.
25
29
  * @aria {role="group"} Follows SegmentedControl spec: sets the proper role for the group of view buttons.
26
30
  * @aria {aria-pressed} Follows SegmentedControl spec: specifies the current state of the view SegmentedControl. Only the selected button within the group will have this attribute set to true.
27
31
  * @aria {role="grid"} The main table of the Agenda view must indicate it is a Data Grid.
28
- * @aria {role="none"|\"presentation"} The <tbody> element must have its semantics removed.
29
- * @aria {role="none"|\"presentation"} All <table> elements within the Scheduler must have their semantic role removed.
32
+ * @aria {role="none"|"presentation"} The <tbody> element must have its semantics removed.
33
+ * @aria {role="none"|"presentation"} All <table> elements within the Scheduler must have their semantic role removed.
34
+ * @aria {role="button"} Indicating that the event element is interactive.
35
+ * @aria {aria-label} Label containing the title, start, and end date of the appointment.
36
+ * @aria {aria-disabled="true"} Read-only events cannot be edited or dragged; aria-disabled signals this to assistive technologies.
37
+ * @aria {aria-label} When the date cell shows a short day abbreviation and a date number separately, aria-label should combine both so the link has a descriptive accessible name.
38
+ * @aria {aria-label} The "N more" button text is ambiguous; aria-label should read "N more events" to clarify what the button reveals.
39
+ * @aria {role="list"} The tooltip events container acts as a list of event summaries.
40
+ * @aria {role="listitem"} Each tooltip event is a non-interactive list item.
41
+ * @aria {role="group"} Groups the day-of-week toggle buttons into a logical set.
42
+ * @aria {aria-label} Labels the weekday picker group (e.g. "Repeat on days").
43
+ * @aria {aria-label} Full day name for each abbreviated day button in the weekday picker (e.g. "Monday").
44
+ * @aria {aria-pressed} Indicates whether the day is currently selected in the weekday picker.
45
+ * @aria {tabindex} Roving tabindex: only one weekday picker button has tabindex="0", the rest have tabindex="-1".
46
+ * @aria {tabindex="0"} Scrollable non-agenda content must be focusable to ensure keyboard scrolling is available.
30
47
  * @ux {Multiple views} Switches between day, week, month, agenda, and timeline views.
31
48
  * @ux {View switcher} Views are accessible via a ButtonGroup or a DropDown in the toolbar.
32
49
  * @ux {Navigation} Previous and next buttons move to the adjacent time period.
@@ -1,5 +1,5 @@
1
- import { ButtonGroup } from '../../button-group';
2
1
  import { Button } from '../../button';
2
+ import { ButtonGroup } from '../../button-group';
3
3
  import { SegmentedControl, SegmentedControlButton } from '../../segmented-control';
4
4
  import { Scheduler, SchedulerBody, SchedulerCell, SchedulerContent, SchedulerHead, SchedulerHeader, SchedulerTable, SchedulerToolbar } from '../index';
5
5
  import SchedulerTask from '../scheduler-task.spec';
@@ -11,22 +11,24 @@ export const SchedulerAgenda = ({ style, ...props }: any) => (
11
11
  view="agenda"
12
12
  toolbar={
13
13
  <SchedulerToolbar>
14
- <ButtonGroup className="k-scheduler-navigation">
15
- <Button className="k-group-start">Today</Button>
16
- <Button icon="chevron-left" aria-label="Navigate to previous period"></Button>
17
- <Button className="k-group-end" icon="chevron-right" aria-label="Navigate to next period"></Button>
14
+ <Button themeColor="primary" icon="plus" aria-label="Add new event">New Event</Button>
15
+ <ButtonGroup fillMode="flat">
16
+ <Button icon="chevron-left" fillMode="flat" aria-label="Navigate to previous period"></Button>
17
+ <Button icon="chevron-right" fillMode="flat" aria-label="Navigate to next period"></Button>
18
18
  </ButtonGroup>
19
19
  <Button icon="calendar" className="k-nav-current" fillMode="flat" aria-live="polite">
20
- 06/13/2022 - 06/20/2022
20
+ 24 June – 25 June
21
21
  </Button>
22
+ <Button fillMode="flat">Today</Button>
22
23
  <span className="k-spacer"></span>
23
- <SegmentedControl thumbStyles={{ width: "22%", right: "2px" }} className="k-scheduler-views">
24
+ <SegmentedControl thumbStyles={{width: "22%", right: "0%"}} className="k-scheduler-views">
24
25
  <SegmentedControlButton>Day</SegmentedControlButton>
25
26
  <SegmentedControlButton>Week</SegmentedControlButton>
26
27
  <SegmentedControlButton>Month</SegmentedControlButton>
27
28
  <SegmentedControlButton>Timeline</SegmentedControlButton>
28
29
  <SegmentedControlButton selected>Agenda</SegmentedControlButton>
29
30
  </SegmentedControl>
31
+
30
32
  </SchedulerToolbar>
31
33
  }
32
34
  children={
@@ -22,7 +22,7 @@ export const SchedulerDay = ({ style, ...props }: any) => (
22
22
  <SchedulerTimes>
23
23
  <SchedulerTable role="none">
24
24
  <tbody>
25
- <tr style={{ height: "37px" }}>
25
+ <tr style={{ height: "55px" }}>
26
26
  <SchedulerCell as="th" />
27
27
  </tr>
28
28
  <tr style={{ height: "36px" }}>
@@ -37,7 +37,7 @@ export const SchedulerDay = ({ style, ...props }: any) => (
37
37
  <SchedulerTable>
38
38
  <tbody>
39
39
  <tr className="k-scheduler-date-group">
40
- <SchedulerCell as="th" text="Mon 6/13" />
40
+ <SchedulerCell as="th" className="k-today" dayText="Mon" text="13" />
41
41
  </tr>
42
42
  </tbody>
43
43
  </SchedulerTable>
@@ -211,10 +211,7 @@ export const SchedulerDay = ({ style, ...props }: any) => (
211
211
 
212
212
  </tbody>
213
213
  </SchedulerTable>
214
- <SchedulerEvent style={{ top: "74px", height: "72px", width: "200px" }}>
215
- <div className="k-event-template k-event-time">8:00 AM - 9:00 AM</div>
216
- <div className="k-event-template">Event Title</div>
217
- </SchedulerEvent>
214
+ <SchedulerEvent style={{ top: "74px", height: "72px", width: "200px" }} title="Event Title" time="8:00 AM - 9:00 AM" />
218
215
  </SchedulerContent>
219
216
  </td>
220
217
  </SchedulerBody>