@epam/ai-dial-ui-kit 0.16.0-dev.45 → 0.16.0-dev.47

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 (221) hide show
  1. package/README.md +11 -10
  2. package/dist/CHANGELOG.md +4 -1
  3. package/dist/DateCellRenderer-uqWWm9rI.cjs +63 -0
  4. package/dist/MarkdownEditor-BtLY7OVq.cjs +1 -0
  5. package/dist/components/New/Analytics/Bar/Bar.js +104 -0
  6. package/dist/components/New/Analytics/BarGroup/BarGroup.js +143 -0
  7. package/dist/components/New/Analytics/Card/Card.js +99 -0
  8. package/dist/components/New/Analytics/Histogram/Histogram.js +212 -0
  9. package/dist/components-manifest.json +3153 -5303
  10. package/dist/constants/public-class-names.js +8 -7
  11. package/dist/dial-ui-kit.cjs +3 -3
  12. package/dist/dial-ui-kit.js +381 -456
  13. package/dist/editors.cjs +1 -1
  14. package/dist/editors.js +4 -10
  15. package/dist/grid.cjs +1 -1
  16. package/dist/grid.js +23 -31
  17. package/dist/{merge-classes-B0SnCG4i.cjs → icon-D93YIwGJ.cjs} +1 -1
  18. package/dist/index.css +1 -1
  19. package/dist/migration-guides/0.16.0/legacy-file-manager-removal.md +5 -3
  20. package/dist/migration-guides/0.16.0/unused-legacy-components-removal.md +128 -0
  21. package/dist/migration-guides/README.md +1 -0
  22. package/dist/node_modules/react-dnd/dist/internals/registration.js +5 -13
  23. package/dist/src/components/New/Analytics/Bar/Bar.d.ts +86 -0
  24. package/dist/src/components/New/Analytics/BarGroup/BarGroup.d.ts +103 -0
  25. package/dist/src/components/New/Analytics/Card/Card.d.ts +91 -0
  26. package/dist/src/components/New/Analytics/Histogram/Histogram.d.ts +59 -0
  27. package/dist/src/components/New/MarkdownEditor/lazy.d.ts +8 -2
  28. package/dist/src/components/New/SegmentedControl/SegmentedControl.d.ts +2 -2
  29. package/dist/src/constants/public-class-names.d.ts +8 -7
  30. package/dist/src/index.d.ts +10 -53
  31. package/dist/src/subpaths/editors.d.ts +9 -15
  32. package/dist/src/subpaths/grid.d.ts +2 -8
  33. package/dist/src/types/editor.d.ts +0 -6
  34. package/dist/src/utils/grid-registration.d.ts +6 -8
  35. package/package.json +1 -12
  36. package/dist/DateCellRenderer-DrDOIpWg.cjs +0 -63
  37. package/dist/IconButton-CsePS6PY.cjs +0 -1
  38. package/dist/JsonEditor-DQhHSm93.cjs +0 -1
  39. package/dist/MarkdownEditor-CvIPIbPq.cjs +0 -1
  40. package/dist/MarkdownEditor-TR6X_gdl.cjs +0 -1
  41. package/dist/MarkdownEditorContainer-JIn_VNUX.cjs +0 -1
  42. package/dist/Switch-HEL_aq23.cjs +0 -1
  43. package/dist/assets/icons/file/c.svg.js +0 -5
  44. package/dist/assets/icons/file/cpp.svg.js +0 -5
  45. package/dist/assets/icons/file/cs.svg.js +0 -5
  46. package/dist/assets/icons/file/ini.svg.js +0 -5
  47. package/dist/assets/icons/file/json.svg.js +0 -5
  48. package/dist/assets/icons/file/md.svg.js +0 -5
  49. package/dist/assets/icons/file/py.svg.js +0 -5
  50. package/dist/assets/icons/open-popup.svg.js +0 -5
  51. package/dist/components/AutocompleteInput/AutocompleteInputValue.js +0 -21
  52. package/dist/components/ButtonDropdown/ButtonDropdown.js +0 -33
  53. package/dist/components/ButtonDropdown/constants.js +0 -8
  54. package/dist/components/Checkbox/Checkbox.js +0 -64
  55. package/dist/components/Checkbox/constants.js +0 -4
  56. package/dist/components/CollapsibleSidebar/CollapsibleSidebar.js +0 -84
  57. package/dist/components/ConfirmationPopup/ConfirmationPopup.js +0 -75
  58. package/dist/components/ConfirmationPopup/constants.js +0 -32
  59. package/dist/components/DraggableItem/DraggableItem.js +0 -61
  60. package/dist/components/DraggableItem/constants.js +0 -6
  61. package/dist/components/DropdownIcon/DropdownIcon.js +0 -103
  62. package/dist/components/FileIcon/FileIcon.js +0 -37
  63. package/dist/components/FileIcon/constants.js +0 -60
  64. package/dist/components/FileName/FileName.js +0 -68
  65. package/dist/components/FolderName/FolderName.js +0 -57
  66. package/dist/components/FormItem/FormItem.js +0 -90
  67. package/dist/components/FormItem/constants.js +0 -9
  68. package/dist/components/FormPopup/FormPopup.js +0 -59
  69. package/dist/components/FormPopup/constants.js +0 -6
  70. package/dist/components/Grid/Grid.js +0 -333
  71. package/dist/components/Grid/constants.js +0 -33
  72. package/dist/components/Grid/renderers/DateCellRenderer.js +0 -27
  73. package/dist/components/Grid/renderers/constants.js +0 -25
  74. package/dist/components/InputPopup/InputPopup.js +0 -174
  75. package/dist/components/JsonEditor/JsonEditor.js +0 -65
  76. package/dist/components/JsonEditor/lazy.js +0 -4
  77. package/dist/components/MarkdownEditor/MarkdownEditor.js +0 -39
  78. package/dist/components/MarkdownEditor/MarkdownEditorContainer.js +0 -82
  79. package/dist/components/MarkdownEditor/lazy.js +0 -4
  80. package/dist/components/Notification/Notification.js +0 -67
  81. package/dist/components/Notification/constants.js +0 -24
  82. package/dist/components/NumberInput/NumberInput.js +0 -41
  83. package/dist/components/Pagination/Pagination.js +0 -80
  84. package/dist/components/Pagination/utils.js +0 -10
  85. package/dist/components/PasswordInput/Icons/HideIcon.js +0 -16
  86. package/dist/components/PasswordInput/Icons/ShowIcon.js +0 -16
  87. package/dist/components/PasswordInput/PasswordInput.js +0 -21
  88. package/dist/components/Popup/Popup.js +0 -110
  89. package/dist/components/Popup/constants.js +0 -12
  90. package/dist/components/RadioButton/RadioButton.js +0 -103
  91. package/dist/components/RadioGroup/RadioGroup.js +0 -92
  92. package/dist/components/RadioGroup/constants.js +0 -10
  93. package/dist/components/RadioGroupPopupField/RadioGroupPopupField.js +0 -101
  94. package/dist/components/ResizableContainer/ConditionalResizableContainer.js +0 -6
  95. package/dist/components/ResizableContainer/ResizableContainer.js +0 -79
  96. package/dist/components/ResizableContainer/components/ResizeHandle.js +0 -20
  97. package/dist/components/ResizableContainer/components/ResizeIcon.js +0 -11
  98. package/dist/components/SchemaRenderer/SchemaRenderer.js +0 -151
  99. package/dist/components/SchemaRenderer/components/SchemaAdditionalPropertiesEditor.js +0 -56
  100. package/dist/components/SchemaRenderer/components/SchemaAnyOfEditor.js +0 -74
  101. package/dist/components/SchemaRenderer/components/SchemaArrayEditor.js +0 -118
  102. package/dist/components/SchemaRenderer/components/SchemaField.js +0 -78
  103. package/dist/components/SchemaRenderer/components/SchemaFieldContent.js +0 -114
  104. package/dist/components/SchemaRenderer/components/SchemaKeyValueEditor.js +0 -272
  105. package/dist/components/SchemaRenderer/components/SchemaObjectEditor.js +0 -36
  106. package/dist/components/SchemaRenderer/components/SchemaOneOfEditor.js +0 -192
  107. package/dist/components/SchemaRenderer/components/SchemaPrimitiveField.js +0 -161
  108. package/dist/components/SchemaRenderer/components/SchemaSection.js +0 -81
  109. package/dist/components/SchemaRenderer/context.js +0 -12
  110. package/dist/components/Search/Search.js +0 -63
  111. package/dist/components/Search/constants.js +0 -27
  112. package/dist/components/SegmentedControl/SegmentedControl.js +0 -87
  113. package/dist/components/SegmentedControl/constants.js +0 -8
  114. package/dist/components/Select/MultiSelectTags.js +0 -23
  115. package/dist/components/Select/Select.js +0 -435
  116. package/dist/components/Select/SelectSubMenuItem.js +0 -90
  117. package/dist/components/Select/constants.js +0 -15
  118. package/dist/components/SelectField/SelectField.js +0 -66
  119. package/dist/components/SharedEntityIndicator/SharedEntityIndicator.js +0 -34
  120. package/dist/components/Slider/Slider.js +0 -158
  121. package/dist/components/Switch/Switch.js +0 -70
  122. package/dist/components/TagInput/TagInput.js +0 -179
  123. package/dist/components/Textarea/Textarea.js +0 -43
  124. package/dist/constants/editor.js +0 -52
  125. package/dist/icon-CrGVkVpG.cjs +0 -1
  126. package/dist/icon-DhjrDQ8I.cjs +0 -1
  127. package/dist/lazy-kq-xfXXv.cjs +0 -1
  128. package/dist/node_modules/react-dnd/dist/hooks/useDrag/DragSourceImpl.js +0 -25
  129. package/dist/node_modules/react-dnd/dist/hooks/useDrag/connectors.js +0 -21
  130. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDrag.js +0 -20
  131. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSource.js +0 -19
  132. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceConnector.js +0 -22
  133. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceMonitor.js +0 -15
  134. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragType.js +0 -13
  135. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useRegisteredDragSource.js +0 -23
  136. package/dist/node_modules/react-dnd/dist/internals/DragSourceMonitorImpl.js +0 -88
  137. package/dist/node_modules/react-dnd/dist/internals/SourceConnector.js +0 -87
  138. package/dist/src/components/AutocompleteInput/AutocompleteInputValue.d.ts +0 -34
  139. package/dist/src/components/ButtonDropdown/ButtonDropdown.d.ts +0 -24
  140. package/dist/src/components/ButtonDropdown/constants.d.ts +0 -2
  141. package/dist/src/components/Checkbox/Checkbox.d.ts +0 -36
  142. package/dist/src/components/Checkbox/constants.d.ts +0 -1
  143. package/dist/src/components/CollapsibleSidebar/CollapsibleSidebar.d.ts +0 -46
  144. package/dist/src/components/ConfirmationPopup/ConfirmationPopup.d.ts +0 -55
  145. package/dist/src/components/ConfirmationPopup/constants.d.ts +0 -18
  146. package/dist/src/components/DraggableItem/DraggableItem.d.ts +0 -33
  147. package/dist/src/components/DraggableItem/constants.d.ts +0 -3
  148. package/dist/src/components/DropdownIcon/DropdownIcon.d.ts +0 -38
  149. package/dist/src/components/FileIcon/FileIcon.d.ts +0 -33
  150. package/dist/src/components/FileIcon/constants.d.ts +0 -9
  151. package/dist/src/components/FileName/FileName.d.ts +0 -49
  152. package/dist/src/components/FolderName/FolderName.d.ts +0 -37
  153. package/dist/src/components/FormItem/FormItem.d.ts +0 -66
  154. package/dist/src/components/FormItem/constants.d.ts +0 -3
  155. package/dist/src/components/FormPopup/FormPopup.d.ts +0 -46
  156. package/dist/src/components/FormPopup/constants.d.ts +0 -3
  157. package/dist/src/components/Grid/Grid.d.ts +0 -120
  158. package/dist/src/components/Grid/comparators/base-column-comparator.d.ts +0 -1
  159. package/dist/src/components/Grid/constants.d.ts +0 -28
  160. package/dist/src/components/Grid/renderers/DateCellRenderer.d.ts +0 -34
  161. package/dist/src/components/Grid/renderers/constants.d.ts +0 -7
  162. package/dist/src/components/Grid/renderers/utils.d.ts +0 -1
  163. package/dist/src/components/InputPopup/InputPopup.d.ts +0 -61
  164. package/dist/src/components/JsonEditor/JsonEditor.d.ts +0 -25
  165. package/dist/src/components/JsonEditor/lazy.d.ts +0 -14
  166. package/dist/src/components/MarkdownEditor/MarkdownEditor.d.ts +0 -38
  167. package/dist/src/components/MarkdownEditor/MarkdownEditorContainer.d.ts +0 -51
  168. package/dist/src/components/MarkdownEditor/lazy.d.ts +0 -7
  169. package/dist/src/components/Notification/Notification.d.ts +0 -58
  170. package/dist/src/components/Notification/constants.d.ts +0 -8
  171. package/dist/src/components/NumberInput/NumberInput.d.ts +0 -34
  172. package/dist/src/components/Pagination/Pagination.d.ts +0 -11
  173. package/dist/src/components/Pagination/utils.d.ts +0 -9
  174. package/dist/src/components/PasswordInput/Icons/HideIcon.d.ts +0 -16
  175. package/dist/src/components/PasswordInput/Icons/ShowIcon.d.ts +0 -16
  176. package/dist/src/components/PasswordInput/PasswordInput.d.ts +0 -26
  177. package/dist/src/components/Popup/Popup.d.ts +0 -64
  178. package/dist/src/components/Popup/constants.d.ts +0 -5
  179. package/dist/src/components/RadioButton/RadioButton.d.ts +0 -54
  180. package/dist/src/components/RadioGroup/RadioGroup.d.ts +0 -66
  181. package/dist/src/components/RadioGroup/constants.d.ts +0 -5
  182. package/dist/src/components/RadioGroupPopupField/RadioGroupPopupField.d.ts +0 -74
  183. package/dist/src/components/ResizableContainer/ConditionalResizableContainer.d.ts +0 -35
  184. package/dist/src/components/ResizableContainer/ResizableContainer.d.ts +0 -72
  185. package/dist/src/components/ResizableContainer/components/ResizeHandle.d.ts +0 -10
  186. package/dist/src/components/ResizableContainer/components/ResizeIcon.d.ts +0 -8
  187. package/dist/src/components/SchemaRenderer/SchemaRenderer.d.ts +0 -30
  188. package/dist/src/components/SchemaRenderer/components/SchemaAdditionalPropertiesEditor.d.ts +0 -20
  189. package/dist/src/components/SchemaRenderer/components/SchemaAnyOfEditor.d.ts +0 -31
  190. package/dist/src/components/SchemaRenderer/components/SchemaArrayEditor.d.ts +0 -31
  191. package/dist/src/components/SchemaRenderer/components/SchemaField.d.ts +0 -29
  192. package/dist/src/components/SchemaRenderer/components/SchemaFieldContent.d.ts +0 -25
  193. package/dist/src/components/SchemaRenderer/components/SchemaKeyValueEditor.d.ts +0 -33
  194. package/dist/src/components/SchemaRenderer/components/SchemaObjectEditor.d.ts +0 -31
  195. package/dist/src/components/SchemaRenderer/components/SchemaOneOfEditor.d.ts +0 -31
  196. package/dist/src/components/SchemaRenderer/components/SchemaPrimitiveField.d.ts +0 -31
  197. package/dist/src/components/SchemaRenderer/components/SchemaSection.d.ts +0 -33
  198. package/dist/src/components/SchemaRenderer/context.d.ts +0 -19
  199. package/dist/src/components/SchemaRenderer/types.d.ts +0 -62
  200. package/dist/src/components/SchemaRenderer/utils.d.ts +0 -1
  201. package/dist/src/components/Search/Search.d.ts +0 -35
  202. package/dist/src/components/Search/constants.d.ts +0 -8
  203. package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +0 -40
  204. package/dist/src/components/SegmentedControl/constants.d.ts +0 -5
  205. package/dist/src/components/Select/MultiSelectTags.d.ts +0 -8
  206. package/dist/src/components/Select/Select.d.ts +0 -100
  207. package/dist/src/components/Select/SelectSubMenuItem.d.ts +0 -8
  208. package/dist/src/components/Select/constants.d.ts +0 -9
  209. package/dist/src/components/SelectField/SelectField.d.ts +0 -42
  210. package/dist/src/components/SharedEntityIndicator/SharedEntityIndicator.d.ts +0 -31
  211. package/dist/src/components/Slider/Slider.d.ts +0 -57
  212. package/dist/src/components/Switch/Switch.d.ts +0 -34
  213. package/dist/src/components/TagInput/TagInput.d.ts +0 -52
  214. package/dist/src/components/Textarea/Textarea.d.ts +0 -39
  215. package/dist/src/constants/editor.d.ts +0 -2
  216. package/dist/src/constants/storybook/form-item.d.ts +0 -3
  217. package/dist/src/models/segmented-control.d.ts +0 -7
  218. package/dist/src/types/form-item.d.ts +0 -31
  219. package/dist/src/types/select.d.ts +0 -8
  220. package/dist/types/form-item.js +0 -4
  221. package/dist/types/select.js +0 -5
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),O=require("react"),h=require("@uiw/react-md-editor"),k=require("./editors.cjs"),b=require("./icon-D93YIwGJ.cjs"),t=require("@tabler/icons-react");function p(n){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(i,r,c.get?c:{enumerable:!0,get:()=>n[r]})}}return i.default=n,Object.freeze(i)}const C=p(h),f=b.DIAL_ICON_SIZE.SM,o={size:f,stroke:b.DIAL_KIT_ICON_STROKE},s=(n,i)=>({...n,icon:i}),E=()=>{const{bold:n,code:i,divider:r,group:c,heading1:a,heading2:d,heading3:u,italic:l,link:m,orderedListCommand:I,quote:x,strikethrough:g,table:j,unorderedListCommand:_}=C;return[s(n,e.jsx(t.IconBold,{...o})),s(l,e.jsx(t.IconItalic,{...o})),s(g,e.jsx(t.IconStrikethrough,{...o})),r,c([a,d,u],{name:"heading",groupName:"heading",icon:e.jsx(t.IconTextSize,{...o}),buttonProps:{"aria-label":"Text style",title:"Text style"}}),r,s(_,e.jsx(t.IconList,{...o})),s(I,e.jsx(t.IconListNumbers,{...o})),r,s(x,e.jsx(t.IconQuote,{...o})),s(m,e.jsx(t.IconLink,{...o})),s(i,e.jsx(t.IconCode,{...o})),r,s(j,e.jsx(t.IconTable,{...o}))]},L=()=>{const{codeEdit:n,codeLive:i,codePreview:r,divider:c,fullscreen:a}=C;return[s(n,e.jsx(t.IconPencil,{...o})),s(i,e.jsx(t.IconLayoutColumns,{...o})),s(r,e.jsx(t.IconEye,{...o})),c,s(a,e.jsx(t.IconMaximize,{...o}))]},M=({value:n,onChange:i,height:r=300,theme:c=k.EditorThemes.light,className:a,placeholder:d,defaultPreview:u="edit",id:l,ariaLabel:m,showDragbar:I=!0})=>{const x=O.useMemo(()=>E(),[]),g=O.useMemo(()=>L(),[]);return e.jsx("div",{"data-color-mode":c,className:b.mergeClasses("dial-kit-markdown-editor",a),children:e.jsx(h,{value:n,onChange:j=>i?.(j||""),height:r,preview:u,visibleDragbar:I,commands:x,extraCommands:g,textareaProps:{placeholder:d,id:l,"aria-label":m}})})};exports.MarkdownEditor=M;
@@ -0,0 +1,104 @@
1
+ import { jsx as a, jsxs as s } from "react/jsx-runtime";
2
+ import { DIAL_KIT_CLASS as h } from "../../../../constants/public-class-names.js";
3
+ import { Badge as S } from "../../Badge/Badge.js";
4
+ import { BadgeColor as _, BadgeVariant as R } from "../../../../types/badge.js";
5
+ import { Spinner as T } from "../../../Spinner/Spinner.js";
6
+ import { mergeClasses as r } from "../../../../utils/merge-classes.js";
7
+ import { getAnalyticsBarColor as j, DEFAULT_ANALYTICS_BAR_COLOR_MAP as k, getAnalyticsBarRatio as F } from "../../../Analytics/Bar/utils.js";
8
+ const K = ({
9
+ value: e,
10
+ maxValue: c = 1,
11
+ error: l,
12
+ isLoading: t,
13
+ title: i,
14
+ valueLabel: u,
15
+ colorMap: w = k,
16
+ className: m,
17
+ titleClassName: y,
18
+ valueClassName: v,
19
+ inline: o,
20
+ ariaLabel: g
21
+ }) => {
22
+ const n = e == null, N = !!(l || t || !n), d = F(n ? 0 : e, c), b = j(d, w), A = u ?? (n ? "—" : e), B = g ?? (typeof i == "string" ? i : void 0), C = l || t, f = l ? /* @__PURE__ */ a(
23
+ S,
24
+ {
25
+ label: "Error",
26
+ variant: R.Filled,
27
+ color: _.Red,
28
+ textClassName: "dial-tiny-semi-text"
29
+ }
30
+ ) : t ? /* @__PURE__ */ a(T, { size: 18, fullWidth: !1 }) : /* @__PURE__ */ a(
31
+ "span",
32
+ {
33
+ className: r(
34
+ "shrink-0 tabular-nums text-end",
35
+ o ? "dial-small-text min-w-[5ch] text-primary" : "dial-small-semi-text text-primary",
36
+ v
37
+ ),
38
+ children: A
39
+ }
40
+ ), x = N ? /* @__PURE__ */ a(
41
+ "div",
42
+ {
43
+ role: "progressbar",
44
+ "aria-valuenow": l || t || typeof e != "number" ? void 0 : e,
45
+ "aria-valuemin": 0,
46
+ "aria-valuemax": c,
47
+ "aria-label": B,
48
+ className: r(
49
+ "w-full overflow-hidden rounded-xs",
50
+ o ? "h-1" : "h-2",
51
+ l ? "bg-error" : "bg-layer-1"
52
+ ),
53
+ children: !C && /* @__PURE__ */ a(
54
+ "div",
55
+ {
56
+ className: "h-full rounded-xs transition-[width] duration-300",
57
+ style: { width: `${d * 100}%`, backgroundColor: b }
58
+ }
59
+ )
60
+ }
61
+ ) : null, p = /* @__PURE__ */ a(
62
+ "span",
63
+ {
64
+ className: r("dial-small-text text-primary", y),
65
+ children: i
66
+ }
67
+ );
68
+ return o ? /* @__PURE__ */ s(
69
+ "div",
70
+ {
71
+ className: r(
72
+ "flex flex-row items-center gap-2",
73
+ m,
74
+ h.analyticsBar
75
+ ),
76
+ children: [
77
+ /* @__PURE__ */ a("div", { className: "w-1/2 min-w-0", children: p }),
78
+ /* @__PURE__ */ s("div", { className: "flex w-1/2 flex-row items-center gap-2", children: [
79
+ /* @__PURE__ */ a("div", { className: "min-w-0 flex-1", children: x }),
80
+ f
81
+ ] })
82
+ ]
83
+ }
84
+ ) : /* @__PURE__ */ s(
85
+ "div",
86
+ {
87
+ className: r(
88
+ "flex flex-col gap-1",
89
+ m,
90
+ h.analyticsBar
91
+ ),
92
+ children: [
93
+ /* @__PURE__ */ s("div", { className: "flex flex-row items-center justify-between gap-2", children: [
94
+ p,
95
+ f
96
+ ] }),
97
+ x
98
+ ]
99
+ }
100
+ );
101
+ };
102
+ export {
103
+ K as AnalyticsBar
104
+ };
@@ -0,0 +1,143 @@
1
+ import { jsx as e, jsxs as f, Fragment as H } from "react/jsx-runtime";
2
+ import { Fragment as J } from "react";
3
+ import { Accordion as Q } from "../../Accordion/Accordion.js";
4
+ import { AnalyticsBar as b } from "../Bar/Bar.js";
5
+ import { DIAL_KIT_CLASS as R } from "../../../../constants/public-class-names.js";
6
+ import { Spinner as U } from "../../../Spinner/Spinner.js";
7
+ import { Tooltip as x } from "../../Tooltip/Tooltip.js";
8
+ import { mergeClasses as o } from "../../../../utils/merge-classes.js";
9
+ const et = ({
10
+ title: g,
11
+ titleTooltip: h,
12
+ description: G,
13
+ data: i,
14
+ compareData: r,
15
+ compareLabels: m,
16
+ maxValue: p,
17
+ colorMap: u,
18
+ defaultExpanded: I = !0,
19
+ nonCollapsible: K,
20
+ isLoading: T,
21
+ onBarClick: c,
22
+ inline: a,
23
+ barTitleClassName: N,
24
+ barValueClassName: _,
25
+ barClassName: v,
26
+ barDescriptions: C,
27
+ className: z
28
+ }) => {
29
+ const E = Object.entries(i), P = a ? o("text-secondary", N) : N, j = m ? "dial-tiny-text text-secondary" : void 0, W = h ? /* @__PURE__ */ e(x, { tooltip: h, children: g }) : g, q = r ? [.../* @__PURE__ */ new Set([...Object.keys(i), ...Object.keys(r)])] : [], y = "cursor-pointer rounded-xs text-left focus-visible:outline focus-visible:outline-focus", A = "group flex flex-col gap-1.5", B = o(
30
+ "flex flex-col gap-1.5 pl-2",
31
+ c && "group-hover:bg-accent-primary-alpha group-focus-visible:bg-accent-primary-alpha",
32
+ v
33
+ );
34
+ return /* @__PURE__ */ e(
35
+ Q,
36
+ {
37
+ title: W,
38
+ description: G,
39
+ defaultExpanded: I,
40
+ nonCollapsible: K,
41
+ className: o(z, R.analyticsBarGroup),
42
+ children: /* @__PURE__ */ e(
43
+ "div",
44
+ {
45
+ className: o(
46
+ "flex flex-col",
47
+ r ? "gap-4" : a ? "gap-2" : "gap-3"
48
+ ),
49
+ children: T ? /* @__PURE__ */ e(U, { size: 18, fullWidth: !1, className: "self-center" }) : r ? q.map((t) => {
50
+ const l = t in i ? i[t] : null, n = t in r ? r[t] : null, s = typeof l == "number" && typeof n == "number" ? parseFloat((n - l).toFixed(3)) : null, F = s != null && s !== 0, L = F && s > 0, S = F ? L ? `+${s}` : String(s) : null, O = C?.[t], $ = /* @__PURE__ */ e("span", { className: "dial-small-text text-secondary", children: t }), w = /* @__PURE__ */ f(H, { children: [
51
+ /* @__PURE__ */ f("div", { className: "flex items-center gap-2", children: [
52
+ O ? /* @__PURE__ */ e(x, { tooltip: O, children: $ }) : $,
53
+ S != null && /* @__PURE__ */ e(
54
+ "span",
55
+ {
56
+ className: o(
57
+ "dial-tiny-semi-text rounded-[120px] border border-transparent px-2",
58
+ L ? "bg-success text-success" : "bg-error text-error"
59
+ ),
60
+ children: S
61
+ }
62
+ )
63
+ ] }),
64
+ /* @__PURE__ */ f("div", { className: B, children: [
65
+ /* @__PURE__ */ e(
66
+ b,
67
+ {
68
+ title: m?.[0],
69
+ value: l,
70
+ maxValue: p,
71
+ colorMap: u,
72
+ inline: a,
73
+ titleClassName: j,
74
+ ariaLabel: t
75
+ }
76
+ ),
77
+ /* @__PURE__ */ e(
78
+ b,
79
+ {
80
+ title: m?.[1],
81
+ value: n,
82
+ maxValue: p,
83
+ colorMap: u,
84
+ inline: a,
85
+ titleClassName: j,
86
+ ariaLabel: `${t} compare`
87
+ }
88
+ )
89
+ ] })
90
+ ] });
91
+ return c ? /* @__PURE__ */ e(
92
+ "button",
93
+ {
94
+ type: "button",
95
+ onClick: () => c(t, l),
96
+ className: o(
97
+ A,
98
+ y
99
+ ),
100
+ children: w
101
+ },
102
+ t
103
+ ) : /* @__PURE__ */ e("div", { className: A, children: w }, t);
104
+ }) : E.map(([t, l]) => {
105
+ const n = /* @__PURE__ */ e(
106
+ b,
107
+ {
108
+ title: t,
109
+ value: l,
110
+ maxValue: p,
111
+ colorMap: u,
112
+ inline: a,
113
+ titleClassName: P,
114
+ valueClassName: _,
115
+ className: v
116
+ }
117
+ ), d = c ? /* @__PURE__ */ e(
118
+ "button",
119
+ {
120
+ type: "button",
121
+ onClick: () => c(t, l),
122
+ className: y,
123
+ children: n
124
+ }
125
+ ) : n, s = C?.[t];
126
+ return s ? /* @__PURE__ */ e(
127
+ x,
128
+ {
129
+ tooltip: s,
130
+ triggerClassName: "flex flex-col",
131
+ children: d
132
+ },
133
+ t
134
+ ) : /* @__PURE__ */ e(J, { children: d }, t);
135
+ })
136
+ }
137
+ )
138
+ }
139
+ );
140
+ };
141
+ export {
142
+ et as AnalyticsBarGroup
143
+ };
@@ -0,0 +1,99 @@
1
+ import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
+ import { DIAL_KIT_CLASS as g } from "../../../../constants/public-class-names.js";
3
+ import { Badge as u } from "../../Badge/Badge.js";
4
+ import { BadgeColor as b, BadgeVariant as C } from "../../../../types/badge.js";
5
+ import { EllipsisTooltip as m } from "../../EllipsisTooltip/EllipsisTooltip.js";
6
+ import { Spinner as D } from "../../../Spinner/Spinner.js";
7
+ import { AnalyticsCardVariant as c } from "../../../../types/analytics.js";
8
+ import { mergeClasses as x } from "../../../../utils/merge-classes.js";
9
+ const w = {
10
+ [c.Default]: {
11
+ container: "bg-layer-3",
12
+ title: "dial-small-text text-secondary",
13
+ value: "dial-display2-text text-primary",
14
+ showDescription: !0
15
+ },
16
+ [c.Compact]: {
17
+ container: "bg-layer-2",
18
+ title: "dial-tiny-text text-secondary",
19
+ value: "dial-body-semi-text text-primary",
20
+ showDescription: !1
21
+ }
22
+ }, _ = ({
23
+ title: o,
24
+ value: p,
25
+ description: i,
26
+ variant: f = c.Default,
27
+ error: r,
28
+ isLoading: n,
29
+ className: y,
30
+ delta: a,
31
+ deltaPositive: d,
32
+ deltaUnit: h,
33
+ compareValues: l
34
+ }) => {
35
+ const t = w[f], v = d !== void 0 ? d : (a ?? 0) >= 0, N = a === void 0 ? null : `${a >= 0 ? `+${a}` : String(a)}${h ?? ""}`;
36
+ return /* @__PURE__ */ s(
37
+ "div",
38
+ {
39
+ className: x(
40
+ "flex flex-col rounded-lg border border-secondary p-4",
41
+ r || n ? "gap-2" : "gap-1",
42
+ t.container,
43
+ y,
44
+ g.analyticsCard
45
+ ),
46
+ children: [
47
+ a !== void 0 ? /* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
48
+ /* @__PURE__ */ e("span", { className: t.title, children: o }),
49
+ /* @__PURE__ */ e(
50
+ "span",
51
+ {
52
+ className: x(
53
+ "dial-tiny-semi-text rounded-[120px] border border-transparent px-2",
54
+ v ? "bg-success text-success" : "bg-error text-error"
55
+ ),
56
+ children: N
57
+ }
58
+ )
59
+ ] }) : /* @__PURE__ */ e("span", { className: t.title, children: o }),
60
+ r ? /* @__PURE__ */ e(
61
+ u,
62
+ {
63
+ label: "Error",
64
+ variant: C.Filled,
65
+ color: b.Red,
66
+ textClassName: "dial-tiny-semi-text",
67
+ className: "self-start"
68
+ }
69
+ ) : n ? /* @__PURE__ */ e(D, { size: 18, fullWidth: !1, className: "self-start" }) : l ? /* @__PURE__ */ s("div", { className: "flex items-center gap-3", children: [
70
+ /* @__PURE__ */ s("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
71
+ /* @__PURE__ */ e(
72
+ m,
73
+ {
74
+ text: l[0].title,
75
+ className: "dial-tiny-text text-secondary"
76
+ }
77
+ ),
78
+ /* @__PURE__ */ e("span", { className: t.value, children: l[0].value })
79
+ ] }),
80
+ /* @__PURE__ */ e("div", { className: "h-4 w-px flex-shrink-0 bg-controls-disable-accent" }),
81
+ /* @__PURE__ */ s("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
82
+ /* @__PURE__ */ e(
83
+ m,
84
+ {
85
+ text: l[1].title,
86
+ className: "dial-tiny-text text-secondary"
87
+ }
88
+ ),
89
+ /* @__PURE__ */ e("span", { className: t.value, children: l[1].value })
90
+ ] })
91
+ ] }) : /* @__PURE__ */ e("span", { className: t.value, children: p }),
92
+ !r && !n && t.showDescription && i != null && i !== !1 && /* @__PURE__ */ e("span", { className: "dial-tiny-text text-secondary", children: i })
93
+ ]
94
+ }
95
+ );
96
+ };
97
+ export {
98
+ _ as AnalyticsCard
99
+ };
@@ -0,0 +1,212 @@
1
+ import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
+ import { DEFAULT_ANALYTICS_BAR_COLOR_MAP as Y } from "../../../Analytics/Bar/utils.js";
3
+ import { DIAL_KIT_CLASS as k } from "../../../../constants/public-class-names.js";
4
+ import { Spinner as P } from "../../../Spinner/Spinner.js";
5
+ import { TooltipPlacement as w } from "../../../../types/tooltip.js";
6
+ import { Tooltip as A } from "../../Tooltip/Tooltip.js";
7
+ import { mergeClasses as H } from "../../../../utils/merge-classes.js";
8
+ import { buildHistogramColumns as T, formatHistogramColumnLabel as L, getHistogramYTicks as O, getHistogramYMax as R } from "../../../Analytics/Histogram/utils.js";
9
+ const u = 128, D = (s, i) => {
10
+ const l = L(s, i);
11
+ return s === i ? `scored ${l}` : `scored between ${l}`;
12
+ }, _ = (s, i, l, o, c) => /* @__PURE__ */ n("div", { className: "flex flex-col gap-0.5", children: [
13
+ s && /* @__PURE__ */ t("strong", { children: s }),
14
+ /* @__PURE__ */ n("span", { children: [
15
+ i,
16
+ " out of ",
17
+ l,
18
+ " ",
19
+ o
20
+ ] }),
21
+ /* @__PURE__ */ t("span", { children: D(c.from, c.to) })
22
+ ] }), q = ({
23
+ title: s,
24
+ values: i,
25
+ colorMap: l = Y,
26
+ valueTitle: o = "values",
27
+ showCount: c,
28
+ isLoading: S,
29
+ className: I,
30
+ compareValues: h,
31
+ valueSetLabel: j,
32
+ compareValueSetLabel: B
33
+ }) => {
34
+ const M = T(i, l), y = h ? T(h, l) : void 0, d = i.length, p = h?.length ?? 0, N = Math.max(d, p), b = R(N), m = O(N), v = (e) => e.map((r) => ({
35
+ ...r,
36
+ ratio: b > 0 ? r.count / b : 0
37
+ })), f = v(M), $ = y ? v(y) : void 0, C = (e, r, a, x) => {
38
+ if (e.count === 0)
39
+ return /* @__PURE__ */ t("div", { className: "flex h-full flex-1 items-end", "aria-hidden": "true", children: /* @__PURE__ */ t(
40
+ "div",
41
+ {
42
+ className: "min-h-2 w-full rounded-xs",
43
+ style: { height: `${e.ratio * 100}%` }
44
+ }
45
+ ) });
46
+ const g = x ? {
47
+ backgroundImage: `repeating-linear-gradient(135deg, ${e.color} 0px, ${e.color} 1px, transparent 1px, transparent 4px)`,
48
+ borderColor: e.color
49
+ } : { backgroundColor: e.color };
50
+ return /* @__PURE__ */ t(
51
+ A,
52
+ {
53
+ placement: w.Bottom,
54
+ tooltip: r,
55
+ triggerClassName: "flex h-full flex-1 items-end",
56
+ children: /* @__PURE__ */ t(
57
+ "div",
58
+ {
59
+ role: "img",
60
+ "aria-label": a,
61
+ className: "flex min-h-2 w-full items-center justify-center rounded-xs border border-transparent",
62
+ style: { height: `${e.ratio * 100}%`, ...g },
63
+ children: c && /* @__PURE__ */ t("span", { className: "dial-tiny-semi-text text-primary", children: e.count })
64
+ }
65
+ )
66
+ }
67
+ );
68
+ };
69
+ return /* @__PURE__ */ n(
70
+ "div",
71
+ {
72
+ className: H(
73
+ "flex flex-col gap-2",
74
+ I,
75
+ k.analyticsHistogram
76
+ ),
77
+ children: [
78
+ /* @__PURE__ */ t("span", { className: "dial-small-text text-primary", children: s }),
79
+ S ? /* @__PURE__ */ t(
80
+ "div",
81
+ {
82
+ className: "flex items-center justify-center",
83
+ style: { height: u },
84
+ children: /* @__PURE__ */ t(P, { size: 18, fullWidth: !1 })
85
+ }
86
+ ) : /* @__PURE__ */ n("div", { className: "grid grid-cols-[auto_minmax(0,1fr)] gap-x-2 gap-y-1", children: [
87
+ /* @__PURE__ */ t(
88
+ "div",
89
+ {
90
+ "data-histogram-y-axis": !0,
91
+ "aria-hidden": "true",
92
+ className: "relative",
93
+ style: { height: u },
94
+ children: m.map((e, r) => /* @__PURE__ */ t(
95
+ "span",
96
+ {
97
+ className: "dial-tiny-text absolute right-0 whitespace-nowrap text-secondary",
98
+ style: {
99
+ top: `${r / (m.length - 1) * 100}%`,
100
+ transform: "translateY(-50%)"
101
+ },
102
+ children: e
103
+ },
104
+ e
105
+ ))
106
+ }
107
+ ),
108
+ /* @__PURE__ */ n("div", { className: "relative min-w-0", children: [
109
+ m.map((e, r) => /* @__PURE__ */ t(
110
+ "div",
111
+ {
112
+ "data-histogram-grid": !0,
113
+ className: "pointer-events-none absolute inset-x-0 border-t border-primary",
114
+ style: { top: `${r / (m.length - 1) * 100}%` }
115
+ },
116
+ e
117
+ )),
118
+ /* @__PURE__ */ t(
119
+ "div",
120
+ {
121
+ className: "relative flex items-end gap-1",
122
+ style: { height: u },
123
+ children: $ ? f.map((e, r) => {
124
+ const a = $[r], x = `${e.count} out of ${d} ${o}`, g = `${a.count} out of ${p} ${o}`;
125
+ return /* @__PURE__ */ n("div", { className: "flex h-full flex-1 items-end", children: [
126
+ C(
127
+ e,
128
+ _(
129
+ j,
130
+ e.count,
131
+ d,
132
+ o,
133
+ e
134
+ ),
135
+ x,
136
+ !0
137
+ ),
138
+ C(
139
+ a,
140
+ _(
141
+ B,
142
+ a.count,
143
+ p,
144
+ o,
145
+ a
146
+ ),
147
+ g,
148
+ !1
149
+ )
150
+ ] }, r);
151
+ }) : f.map((e, r) => {
152
+ const a = `${e.count} out of ${d} ${o}`;
153
+ return e.count === 0 ? /* @__PURE__ */ t(
154
+ "div",
155
+ {
156
+ className: "flex h-full flex-1 items-end",
157
+ "aria-hidden": "true",
158
+ children: /* @__PURE__ */ t(
159
+ "div",
160
+ {
161
+ className: "min-h-2 w-full rounded-xs",
162
+ style: { height: `${e.ratio * 100}%` }
163
+ }
164
+ )
165
+ },
166
+ r
167
+ ) : /* @__PURE__ */ t(
168
+ A,
169
+ {
170
+ placement: w.Bottom,
171
+ tooltip: a,
172
+ triggerClassName: "flex h-full flex-1 items-end",
173
+ children: /* @__PURE__ */ t(
174
+ "div",
175
+ {
176
+ role: "img",
177
+ "aria-label": a,
178
+ className: H(
179
+ "flex min-h-2 w-full items-center justify-center rounded-xs border",
180
+ "border-transparent"
181
+ ),
182
+ style: {
183
+ height: `${e.ratio * 100}%`,
184
+ backgroundColor: e.color
185
+ },
186
+ children: c && e.count > 0 && /* @__PURE__ */ t("span", { className: "dial-tiny-semi-text text-primary", children: e.count })
187
+ }
188
+ )
189
+ },
190
+ r
191
+ );
192
+ })
193
+ }
194
+ )
195
+ ] }),
196
+ /* @__PURE__ */ t("div", {}),
197
+ /* @__PURE__ */ t("div", { "data-histogram-x-axis": !0, className: "flex gap-1", children: f.map((e, r) => /* @__PURE__ */ t(
198
+ "span",
199
+ {
200
+ className: "dial-caption-text flex-1 text-center text-secondary",
201
+ children: L(e.from, e.to)
202
+ },
203
+ r
204
+ )) })
205
+ ] })
206
+ ]
207
+ }
208
+ );
209
+ };
210
+ export {
211
+ q as AnalyticsHistogram
212
+ };