@scality/core-ui 0.165.0 → 0.167.0

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 (138) hide show
  1. package/.storybook/preview.js +6 -4
  2. package/README.md +27 -80
  3. package/dist/components/barchart/BarChart.component.d.ts +5 -0
  4. package/dist/components/barchart/BarChart.component.d.ts.map +1 -1
  5. package/dist/components/barchart/BarChart.component.js +5 -0
  6. package/dist/components/barchartv2/Barchart.component.d.ts +19 -0
  7. package/dist/components/barchartv2/Barchart.component.d.ts.map +1 -1
  8. package/dist/components/barchartv2/Barchart.component.js +31 -5
  9. package/dist/components/barchartv2/ChartTooltip.d.ts +18 -0
  10. package/dist/components/barchartv2/ChartTooltip.d.ts.map +1 -0
  11. package/dist/components/barchartv2/ChartTooltip.js +31 -0
  12. package/dist/components/barchartv2/utils.d.ts +0 -7
  13. package/dist/components/barchartv2/utils.d.ts.map +1 -1
  14. package/dist/components/barchartv2/utils.js +1 -29
  15. package/dist/components/button/Button.component.d.ts +2 -1
  16. package/dist/components/button/Button.component.d.ts.map +1 -1
  17. package/dist/components/button/Button.component.js +2 -1
  18. package/dist/components/chartlegend/ChartLegend.d.ts +9 -0
  19. package/dist/components/chartlegend/ChartLegend.d.ts.map +1 -1
  20. package/dist/components/chartlegend/ChartLegend.js +32 -9
  21. package/dist/components/chartlegend/ChartLegendWrapper.d.ts +3 -0
  22. package/dist/components/chartlegend/ChartLegendWrapper.d.ts.map +1 -1
  23. package/dist/components/chartlegend/ChartLegendWrapper.js +18 -2
  24. package/dist/components/constants.d.ts +2 -0
  25. package/dist/components/constants.d.ts.map +1 -1
  26. package/dist/components/constants.js +6 -0
  27. package/dist/components/constrainedtext/Constrainedtext.component.d.ts +3 -1
  28. package/dist/components/constrainedtext/Constrainedtext.component.d.ts.map +1 -1
  29. package/dist/components/constrainedtext/Constrainedtext.component.js +2 -2
  30. package/dist/components/date/FormattedDateTime.d.ts +2 -1
  31. package/dist/components/date/FormattedDateTime.d.ts.map +1 -1
  32. package/dist/components/date/FormattedDateTime.js +10 -0
  33. package/dist/components/icon/Icon.component.d.ts +9 -11
  34. package/dist/components/icon/Icon.component.d.ts.map +1 -1
  35. package/dist/components/icon/Icon.component.js +2 -0
  36. package/dist/components/linetemporalchart/ChartUtil.d.ts +3 -2
  37. package/dist/components/linetemporalchart/ChartUtil.d.ts.map +1 -1
  38. package/dist/components/linetemporalchart/ChartUtil.js +24 -20
  39. package/dist/components/linetemporalchart/LineTemporalChart.component.d.ts +4 -0
  40. package/dist/components/linetemporalchart/LineTemporalChart.component.d.ts.map +1 -1
  41. package/dist/components/linetemporalchart/LineTemporalChart.component.js +4 -0
  42. package/dist/components/linetimeseriechart/linetimeseriechart.component.d.ts +4 -2
  43. package/dist/components/linetimeseriechart/linetimeseriechart.component.d.ts.map +1 -1
  44. package/dist/components/linetimeseriechart/linetimeseriechart.component.js +5 -7
  45. package/dist/components/text/Text.component.js +1 -1
  46. package/dist/components/toast/Toast.component.d.ts.map +1 -1
  47. package/dist/components/toast/Toast.component.js +24 -11
  48. package/dist/index.d.ts +1 -11
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +0 -11
  51. package/dist/next.d.ts +2 -0
  52. package/dist/next.d.ts.map +1 -1
  53. package/dist/next.js +1 -0
  54. package/jest.config.js +1 -0
  55. package/package.json +16 -38
  56. package/src/lib/components/barchart/BarChart.component.tsx +5 -0
  57. package/src/lib/components/barchartv2/Barchart.component.test.tsx +99 -1
  58. package/src/lib/components/barchartv2/Barchart.component.tsx +39 -11
  59. package/src/lib/components/barchartv2/ChartTooltip.tsx +76 -0
  60. package/src/lib/components/barchartv2/utils.ts +2 -33
  61. package/src/lib/components/button/Button.component.tsx +2 -1
  62. package/src/lib/components/chartlegend/ChartLegend.test.tsx +235 -0
  63. package/src/lib/components/chartlegend/ChartLegend.tsx +36 -8
  64. package/src/lib/components/chartlegend/ChartLegendWrapper.tsx +67 -29
  65. package/src/lib/components/constants.ts +11 -0
  66. package/src/lib/components/constrainedtext/Constrainedtext.component.tsx +5 -2
  67. package/src/lib/components/date/FormattedDateTime.tsx +15 -1
  68. package/src/lib/components/icon/Icon.component.tsx +12 -1
  69. package/src/lib/components/linetemporalchart/ChartUtil.test.ts +23 -35
  70. package/src/lib/components/linetemporalchart/ChartUtil.ts +32 -26
  71. package/src/lib/components/linetemporalchart/LineTemporalChart.component.tsx +19 -15
  72. package/src/lib/components/linetimeseriechart/linetimeseriechart.component.tsx +13 -11
  73. package/src/lib/components/selectv2/selectv2.test.tsx +1 -1
  74. package/src/lib/components/text/Text.component.tsx +1 -1
  75. package/src/lib/components/toast/Toast.component.tsx +27 -19
  76. package/src/lib/components/toast/useMutationsHandler.test.tsx +22 -32
  77. package/src/lib/index.ts +6 -11
  78. package/src/lib/next.ts +2 -0
  79. package/stories/barchart.stories.tsx +1 -1
  80. package/stories/card.stories.tsx +7 -5
  81. package/stories/constrainedtext.stories.tsx +4 -1
  82. package/stories/controls.ts +19 -20
  83. package/stories/linecharttemporal.stories.tsx +1 -1
  84. package/stories/linetimeseriechart.stories.tsx +79 -25
  85. package/stories/navbar.stories.tsx +103 -0
  86. package/stories/tabsv2.stories.tsx +51 -56
  87. package/dist/components/areachart/AreaChart.component.d.ts +0 -13
  88. package/dist/components/areachart/AreaChart.component.d.ts.map +0 -1
  89. package/dist/components/areachart/AreaChart.component.js +0 -27
  90. package/dist/components/chips/Chips.component.d.ts +0 -21
  91. package/dist/components/chips/Chips.component.d.ts.map +0 -1
  92. package/dist/components/chips/Chips.component.js +0 -105
  93. package/dist/components/cloudprogressbar/CloudProgressBar.component.d.ts +0 -10
  94. package/dist/components/cloudprogressbar/CloudProgressBar.component.d.ts.map +0 -1
  95. package/dist/components/cloudprogressbar/CloudProgressBar.component.js +0 -38
  96. package/dist/components/collapsiblepanel/CollapsiblePanel.component.d.ts +0 -9
  97. package/dist/components/collapsiblepanel/CollapsiblePanel.component.d.ts.map +0 -1
  98. package/dist/components/collapsiblepanel/CollapsiblePanel.component.js +0 -44
  99. package/dist/components/linechart/LineChart.component.d.ts +0 -21
  100. package/dist/components/linechart/LineChart.component.d.ts.map +0 -1
  101. package/dist/components/linechart/LineChart.component.js +0 -109
  102. package/dist/components/multiselect/MultiSelect.component.d.ts +0 -28
  103. package/dist/components/multiselect/MultiSelect.component.d.ts.map +0 -1
  104. package/dist/components/multiselect/MultiSelect.component.js +0 -73
  105. package/dist/components/select/Select.component.d.ts +0 -14
  106. package/dist/components/select/Select.component.d.ts.map +0 -1
  107. package/dist/components/select/Select.component.js +0 -71
  108. package/dist/components/spacedbox/SpacedBox.d.ts +0 -34
  109. package/dist/components/spacedbox/SpacedBox.d.ts.map +0 -1
  110. package/dist/components/spacedbox/SpacedBox.js +0 -64
  111. package/dist/components/sparkline/SparkLine.component.d.ts +0 -18
  112. package/dist/components/sparkline/SparkLine.component.d.ts.map +0 -1
  113. package/dist/components/sparkline/SparkLine.component.js +0 -148
  114. package/dist/components/vegachart/VegaChart.component.d.ts +0 -13
  115. package/dist/components/vegachart/VegaChart.component.d.ts.map +0 -1
  116. package/dist/components/vegachart/VegaChart.component.js +0 -120
  117. package/plopfile.js +0 -38
  118. package/src/lib/components/areachart/AreaChart.component.tsx +0 -49
  119. package/src/lib/components/chips/Chips.component.tsx +0 -169
  120. package/src/lib/components/cloudprogressbar/CloudProgressBar.component.tsx +0 -105
  121. package/src/lib/components/collapsiblepanel/CollapsiblePanel.component.tsx +0 -77
  122. package/src/lib/components/linechart/LineChart.component.tsx +0 -152
  123. package/src/lib/components/multiselect/MultiSelect.component.tsx +0 -158
  124. package/src/lib/components/select/Select.component.tsx +0 -98
  125. package/src/lib/components/spacedbox/SpacedBox.ts +0 -116
  126. package/src/lib/components/sparkline/SparkLine.component.tsx +0 -176
  127. package/src/lib/components/vegachart/VegaChart.component.tsx +0 -146
  128. package/stories/areachart.stories.tsx +0 -120
  129. package/stories/chips.stories.tsx +0 -107
  130. package/stories/cloudprogressbar.stories.tsx +0 -93
  131. package/stories/collapsiblepanel.stories.tsx +0 -57
  132. package/stories/data/areachart.ts +0 -122
  133. package/stories/data/sparklinechart.ts +0 -164
  134. package/stories/linechart.stories.tsx +0 -319
  135. package/stories/multiselect.stories.tsx +0 -126
  136. package/stories/select.stories.tsx +0 -52
  137. package/stories/sparkline.stories.tsx +0 -85
  138. package/stories/vegachart.stories.tsx +0 -98
@@ -1,42 +1,41 @@
1
1
  import React from 'react';
2
2
  import { Meta, StoryObj } from '@storybook/react';
3
- import { MetricsTimeSpanProvider } from '../src/lib/components/linetemporalchart/MetricTimespanProvider';
4
3
  import { LineTimeSerieChart } from '../src/lib/components/linetimeseriechart/linetimeseriechart.component';
5
4
  import { ChartLegendWrapper } from '../src/lib/components/chartlegend/ChartLegendWrapper';
6
5
  import { lineTimeSeriesColorRange } from '../src/lib/style/theme';
7
6
  import { ChartLegend } from '../src/lib/components/chartlegend/ChartLegend';
7
+ import {
8
+ SAMPLE_DURATION_LAST_TWENTY_FOUR_HOURS,
9
+ SAMPLE_FREQUENCY_LAST_TWENTY_FOUR_HOURS,
10
+ } from '../src/lib/components/constants';
8
11
 
9
12
  const ChartWithProviders = (props) => {
10
13
  return (
11
- <MetricsTimeSpanProvider>
12
- <ChartLegendWrapper
13
- colorSet={{
14
- 'ip-10-160-122-207.eu-north-1.compute.internal':
15
- lineTimeSeriesColorRange[0],
16
- }}
17
- >
18
- <LineTimeSerieChart {...props} />
19
- <ChartLegend shape="line" />
20
- </ChartLegendWrapper>
21
- </MetricsTimeSpanProvider>
14
+ <ChartLegendWrapper
15
+ colorSet={{
16
+ 'ip-10-160-122-207.eu-north-1.compute.internal':
17
+ lineTimeSeriesColorRange[0],
18
+ }}
19
+ >
20
+ <LineTimeSerieChart {...props} />
21
+ <ChartLegend shape="line" />
22
+ </ChartLegendWrapper>
22
23
  );
23
24
  };
24
25
 
25
26
  const ChartWithProviders2 = (props) => {
26
27
  return (
27
- <MetricsTimeSpanProvider>
28
- <ChartLegendWrapper
29
- colorSet={{
30
- 'ip-10-160-122-207.eu-north-1.compute.internal':
31
- lineTimeSeriesColorRange[0],
32
- 'ip-10-160-122-207.eu-north-2.compute.internal':
33
- lineTimeSeriesColorRange[1],
34
- }}
35
- >
36
- <LineTimeSerieChart {...props} />
37
- <ChartLegend shape="line" direction="vertical" />
38
- </ChartLegendWrapper>
39
- </MetricsTimeSpanProvider>
28
+ <ChartLegendWrapper
29
+ colorSet={{
30
+ 'ip-10-160-122-207.eu-north-1.compute.internal':
31
+ lineTimeSeriesColorRange[0],
32
+ 'ip-10-160-122-207.eu-north-2.compute.internal':
33
+ lineTimeSeriesColorRange[1],
34
+ }}
35
+ >
36
+ <LineTimeSerieChart {...props} />
37
+ <ChartLegend shape="line" direction="vertical" />
38
+ </ChartLegendWrapper>
40
39
  );
41
40
  };
42
41
  const meta: Meta<typeof LineTimeSerieChart> = {
@@ -381,6 +380,31 @@ const prometheusData5 = [
381
380
  [1740492000, '19859.90'],
382
381
  ];
383
382
 
383
+ // Data with irregular intervals but gaps under 2 intervals (less than 24 minutes)
384
+ // Sample frequency is 720 seconds (12 minutes), so 2 intervals = 1440 seconds (24 minutes)
385
+ const irregularIntervalData = [
386
+ [1740405600, '47.55'], // Base timestamp
387
+ [1740406200, '53.01'], // +600 seconds (10 minutes) - under 2 intervals
388
+ [1740407100, '40.19'], // +900 seconds (15 minutes) - under 2 intervals
389
+ [1740408000, '59.19'], // +900 seconds (15 minutes) - under 2 intervals
390
+ [1740409100, '62.50'], // +1100 seconds (18.3 minutes) - under 2 intervals
391
+ [1740410300, '57.45'], // +1200 seconds (20 minutes) - under 2 intervals
392
+ [1740411000, '45.19'], // +700 seconds (11.7 minutes) - under 2 intervals
393
+ [1740412200, '58.62'], // +1200 seconds (20 minutes) - under 2 intervals
394
+ [1740413000, '53.08'], // +800 seconds (13.3 minutes) - under 2 intervals
395
+ [1740414300, '64.91'], // +1300 seconds (21.7 minutes) - under 2 intervals
396
+ [1740415100, '81.23'], // +800 seconds (13.3 minutes) - under 2 intervals
397
+ [1740416400, '64.82'], // +1300 seconds (21.7 minutes) - under 2 intervals
398
+ [1740417200, '67.17'], // +800 seconds (13.3 minutes) - under 2 intervals
399
+ [1740418500, '55.23'], // +1300 seconds (21.7 minutes) - under 2 intervals
400
+ [1740419400, '47.92'], // +900 seconds (15 minutes) - under 2 intervals
401
+ [1740420600, '72.11'], // +1200 seconds (20 minutes) - under 2 intervals
402
+ [1740421500, '61.91'], // +900 seconds (15 minutes) - under 2 intervals
403
+ [1740422700, '51.07'], // +1200 seconds (20 minutes) - under 2 intervals
404
+ [1740423800, '39.50'], // +1100 seconds (18.3 minutes) - under 2 intervals
405
+ [1740424900, '46.92'], // +1100 seconds (18.3 minutes) - under 2 intervals
406
+ ];
407
+
384
408
  export const PercentageChartExample: Story = {
385
409
  args: {
386
410
  series: [
@@ -399,6 +423,8 @@ export const PercentageChartExample: Story = {
399
423
  helpText: 'This is the help text',
400
424
  yAxisType: 'percentage',
401
425
  yAxisTitle: '',
426
+ interval: SAMPLE_FREQUENCY_LAST_TWENTY_FOUR_HOURS,
427
+ duration: SAMPLE_DURATION_LAST_TWENTY_FOUR_HOURS,
402
428
  },
403
429
  };
404
430
  const UNIT_RANGE_BS = [
@@ -464,6 +490,8 @@ export const SymmetricalAxisExample: Story = {
464
490
  isLegendHidden: false,
465
491
  yAxisType: 'symmetrical',
466
492
  yAxisTitle: 'in(+)/out(-)',
493
+ interval: SAMPLE_FREQUENCY_LAST_TWENTY_FOUR_HOURS,
494
+ duration: SAMPLE_DURATION_LAST_TWENTY_FOUR_HOURS,
467
495
  },
468
496
  };
469
497
  export const AutoUnitChartExample: Story = {
@@ -481,5 +509,31 @@ export const AutoUnitChartExample: Story = {
481
509
  height: 200,
482
510
  unitRange: UNIT_RANGE_BS,
483
511
  yAxisType: 'default',
512
+ interval: SAMPLE_FREQUENCY_LAST_TWENTY_FOUR_HOURS,
513
+ duration: SAMPLE_DURATION_LAST_TWENTY_FOUR_HOURS,
514
+ },
515
+ };
516
+
517
+ export const IrregularIntervalsExample: Story = {
518
+ args: {
519
+ series: [
520
+ {
521
+ data: irregularIntervalData,
522
+ resource: 'ip-10-160-122-207.eu-north-1.compute.internal',
523
+ metricPrefix: 'instance:10.160.122.207:9100',
524
+ getTooltipLabel: (prefix, resource) => `${resource}`,
525
+ },
526
+ ],
527
+ title: 'Irregular intervals data',
528
+ height: 200,
529
+ startingTimeStamp: irregularIntervalData[0][0],
530
+ isLoading: false,
531
+ isLegendHidden: false,
532
+ helpText:
533
+ 'Data points with irregular timestamps, but all gaps are less than 2 intervals (24 minutes). No missing data points are added.',
534
+ yAxisType: 'percentage',
535
+ yAxisTitle: '',
536
+ interval: SAMPLE_FREQUENCY_LAST_TWENTY_FOUR_HOURS,
537
+ duration: SAMPLE_DURATION_LAST_TWENTY_FOUR_HOURS,
484
538
  },
485
539
  };
@@ -11,6 +11,7 @@ const tabs = [
11
11
  render: (
12
12
  <InlineInput
13
13
  id="instanceName"
14
+ // @ts-ignore
14
15
  changeMutation={{
15
16
  isLoading: false,
16
17
  mutate: () => {},
@@ -174,3 +175,105 @@ export const NavbarWithOnlyLinkTabs = {
174
175
  tabs: linkTabs,
175
176
  },
176
177
  };
178
+
179
+ export const NavbarDropdownShowcase = {
180
+ args: {
181
+ rightActions: [
182
+ {
183
+ type: 'dropdown',
184
+ text: 'Language',
185
+ variant: 'secondary',
186
+ size: 'default',
187
+ items: [
188
+ {
189
+ label: 'English',
190
+ name: 'EN',
191
+ onClick: action('English selected'),
192
+ },
193
+ {
194
+ label: 'Français',
195
+ name: 'FR',
196
+ onClick: action('French selected'),
197
+ },
198
+ {
199
+ label: 'Español',
200
+ name: 'ES',
201
+ onClick: action('Spanish selected'),
202
+ },
203
+ ],
204
+ },
205
+ {
206
+ type: 'dropdown',
207
+ text: 'Help',
208
+ icon: <i className="fas fa-question-circle" />,
209
+ variant: 'outline',
210
+ size: 'default',
211
+ items: [
212
+ {
213
+ label: 'Documentation',
214
+ onClick: action('Documentation clicked'),
215
+ },
216
+ {
217
+ label: 'Tutorials',
218
+ onClick: action('Tutorials clicked'),
219
+ },
220
+ {
221
+ label: 'Contact Support',
222
+ onClick: action('Contact Support clicked'),
223
+ },
224
+ {
225
+ label: 'Release Notes',
226
+ onClick: action('Release Notes clicked'),
227
+ },
228
+ ],
229
+ },
230
+ {
231
+ type: 'dropdown',
232
+ icon: <i className="fas fa-user" />,
233
+ variant: 'primary',
234
+ size: 'default',
235
+ caret: false,
236
+ items: [
237
+ {
238
+ label: 'Profile Settings',
239
+ onClick: action('Profile clicked'),
240
+ },
241
+ {
242
+ label: 'Preferences',
243
+ onClick: action('Preferences clicked'),
244
+ },
245
+ {
246
+ label: 'API Keys',
247
+ onClick: action('API Keys clicked'),
248
+ },
249
+ {
250
+ label: 'Log out',
251
+ onClick: action('Logout clicked'),
252
+ },
253
+ ],
254
+ },
255
+ ],
256
+ tabs: [
257
+ {
258
+ selected: true,
259
+ title: 'Dashboard',
260
+ link: <a href="/dashboard">Dashboard</a>,
261
+ onClick: action('Dashboard clicked'),
262
+ },
263
+ {
264
+ selected: false,
265
+ title: 'Analytics',
266
+ link: <a href="/analytics">Analytics</a>,
267
+ onClick: action('Analytics clicked'),
268
+ },
269
+ ],
270
+ },
271
+ parameters: {
272
+ docs: {
273
+ description: {
274
+ story:
275
+ 'This story showcases different dropdown variants within the navbar. The dropdowns use the new ButtonV2 styling with variants: secondary, outline, and primary. Notice how the different variants provide visual hierarchy and the icon-only dropdown uses caret: false for a cleaner look.',
276
+ },
277
+ },
278
+ },
279
+ };
@@ -3,12 +3,13 @@ import { TextBadge } from '../src/lib/components/textbadge/TextBadge.component';
3
3
  import { Tabs, Tab } from '../src/lib/components/tabsv2/Tabsv2.component';
4
4
  import { Wrapper, Title } from './common';
5
5
  import { BrowserRouter } from 'react-router-dom';
6
- import { brand, spacing } from '../src/lib/style/theme';
6
+ import { coreUIAvailableThemes } from '../src/lib/style/theme';
7
7
  import styled from 'styled-components';
8
- import { MemoryRouter, Route, useLocation } from 'react-router';
8
+ import { useLocation } from 'react-router';
9
+ import { spacing } from '../src/lib';
9
10
 
10
11
  const Content = styled.div`
11
- padding: ${spacing.sp24};
12
+ padding: ${spacing.r24};
12
13
  color: ${(props) => props.theme.textPrimary};
13
14
  height: 100%;
14
15
  `;
@@ -55,13 +56,13 @@ const generateTab = (n = 10, selectedIndex = 0) => {
55
56
  };
56
57
 
57
58
  const customTabStyle = {
58
- activeTabColor: brand.selectedActive,
59
- activeTabSeparator: brand.statusHealthy,
60
- tabLineColor: brand.backgroundLevel3,
61
- inactiveTabColor: brand.highlight,
62
- tabContentColor: brand.buttonPrimary,
63
- separatorColor: brand.statusCritical,
64
- tabHoverColor: brand.statusHealthy,
59
+ activeTabColor: coreUIAvailableThemes.darkRebrand.selectedActive,
60
+ activeTabSeparator: coreUIAvailableThemes.darkRebrand.statusHealthy,
61
+ tabLineColor: coreUIAvailableThemes.darkRebrand.backgroundLevel3,
62
+ inactiveTabColor: coreUIAvailableThemes.darkRebrand.highlight,
63
+ tabContentColor: coreUIAvailableThemes.darkRebrand.buttonPrimary,
64
+ separatorColor: coreUIAvailableThemes.darkRebrand.statusCritical,
65
+ tabHoverColor: coreUIAvailableThemes.darkRebrand.statusHealthy,
65
66
  };
66
67
 
67
68
  const DefaultTabsDetails = (props) => {
@@ -87,52 +88,46 @@ const DefaultTabsDetails = (props) => {
87
88
  <Title>
88
89
  {location.pathname} / {location.search}
89
90
  </Title>
90
- <MemoryRouter initialEntries={['/path?tab=group']} initialIndex={0}>
91
- <Route
92
- path="/:path?"
93
- render={() => (
94
- <Tabs {...props}>
95
- <Tab path="/path" label="Users" withoutPadding>
96
- <Content>Users Content</Content>
97
- </Tab>
98
- <Tab
99
- path="/path1"
100
- query={{
101
- tab: 'group',
102
- }}
103
- label="Groups"
104
- >
105
- {details()}
106
- </Tab>
107
- <Tab
108
- path="/path1"
109
- query={{
110
- tab: 'role',
111
- }}
112
- label="Roles"
113
- withoutPadding
114
- >
115
- <Content>Roles content</Content>
116
- </Tab>
117
- <Tab
118
- path="/path1"
119
- query={{
120
- tab: 'policies',
121
- }}
122
- label="Policies"
123
- >
124
- <Content>Policies content</Content>
125
- </Tab>
126
- <Tab path="/path4" label="Storage Location">
127
- <Content>Storage Location Content</Content>
128
- </Tab>
129
- <Tab path="/path5" label="Properties">
130
- <Content>Properties Content</Content>
131
- </Tab>
132
- </Tabs>
133
- )}
134
- />
135
- </MemoryRouter>
91
+
92
+ <Tabs {...props}>
93
+ <Tab path="/path" label="Users" withoutPadding>
94
+ <Content>Users Content</Content>
95
+ </Tab>
96
+ <Tab
97
+ path="/path1"
98
+ query={{
99
+ tab: 'group',
100
+ }}
101
+ label="Groups"
102
+ >
103
+ {details()}
104
+ </Tab>
105
+ <Tab
106
+ path="/path1"
107
+ query={{
108
+ tab: 'role',
109
+ }}
110
+ label="Roles"
111
+ withoutPadding
112
+ >
113
+ <Content>Roles content</Content>
114
+ </Tab>
115
+ <Tab
116
+ path="/path1"
117
+ query={{
118
+ tab: 'policies',
119
+ }}
120
+ label="Policies"
121
+ >
122
+ <Content>Policies content</Content>
123
+ </Tab>
124
+ <Tab path="/path4" label="Storage Location">
125
+ <Content>Storage Location Content</Content>
126
+ </Tab>
127
+ <Tab path="/path5" label="Properties">
128
+ <Content>Properties Content</Content>
129
+ </Tab>
130
+ </Tabs>
136
131
  </>
137
132
  );
138
133
  };
@@ -1,13 +0,0 @@
1
- type Props = {
2
- id: string;
3
- data: Array<Record<string, any>>;
4
- xAxis: Record<string, any>;
5
- yAxis: Array<Record<string, any>>;
6
- color?: Record<string, any>;
7
- areas: Array<Record<string, any>>;
8
- width?: number;
9
- height?: number;
10
- };
11
- declare function AreaChart({ id, data, xAxis, yAxis, color, height, width, areas, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
12
- export { AreaChart };
13
- //# sourceMappingURL=AreaChart.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AreaChart.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/areachart/AreaChart.component.tsx"],"names":[],"mappings":"AAEA,KAAK,KAAK,GAAG;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,iBAAS,SAAS,CAAC,EACjB,EAAE,EACF,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAY,EACZ,KAAY,EACZ,KAAU,EACV,GAAG,IAAI,EACR,EAAE,KAAK,2CAuBP;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { VegaChart } from '../vegachart/VegaChart.component';
3
- function AreaChart({ id, data, xAxis, yAxis, color, height = 300, width = 1000, areas = [], ...rest }) {
4
- const lines = yAxis.map((y) => ({
5
- mark: {
6
- type: 'line',
7
- },
8
- encoding: {
9
- y,
10
- },
11
- }));
12
- const spec = {
13
- data: {
14
- values: data,
15
- },
16
- encoding: {
17
- x: xAxis,
18
- color,
19
- },
20
- layer: [...lines, ...areas],
21
- height,
22
- width,
23
- ...rest,
24
- };
25
- return _jsx(VegaChart, { className: "sc-areachart", id: id, spec: spec });
26
- }
27
- export { AreaChart };
@@ -1,21 +0,0 @@
1
- import { Size } from '../constants';
2
- type Props = {
3
- text: string;
4
- variant?: 'statusHealthy' | 'statusWarning' | 'statusCritical' | 'infoPrimary' | 'infoSecondary';
5
- icon?: JSX.Element;
6
- onClick?: (arg0: any) => void;
7
- onRemove?: (arg0: any) => void;
8
- size?: Size;
9
- };
10
- export declare const ChipsIcon: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {
11
- variant: any;
12
- text: string;
13
- size: Size;
14
- }, never>;
15
- export declare const ChipsText: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {
16
- icon: any;
17
- isRemovable: boolean;
18
- }, never>;
19
- declare const Chips: ({ text, variant, icon, onClick, onRemove, size, }: Props) => import("react/jsx-runtime").JSX.Element;
20
- export { Chips };
21
- //# sourceMappingURL=Chips.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chips.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/chips/Chips.component.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EACJ,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AA0FF,eAAO,MAAM,SAAS;aACX,GAAG;UACN,MAAM;UACN,IAAI;SAOX,CAAC;AACF,eAAO,MAAM,SAAS;UAAuB,GAAG;iBAAe,OAAO;SAKrE,CAAC;AAEF,QAAA,MAAM,KAAK,sDAOR,KAAK,4CAgCP,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,105 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { lighten } from 'polished';
3
- import styled, { css } from 'styled-components';
4
- import { fontSize, grayLight, white } from '../../style/theme';
5
- import { Button } from '../button/Button.component';
6
- import { Icon } from '../icon/Icon.component';
7
- const ChipsContainer = styled.div `
8
- display: inline-flex;
9
- .sc-chips-remove {
10
- padding-right: 10px;
11
- color: ${white};
12
- &:hover {
13
- color: ${grayLight};
14
- }
15
- }
16
- ${(props) => {
17
- switch (props.size) {
18
- case 'smaller':
19
- return css `
20
- border-radius: 10px;
21
- .sc-chips-icon {
22
- border-radius: 10px;
23
- padding: 5px;
24
- }
25
- `;
26
- case 'small':
27
- return css `
28
- border-radius: 12px;
29
- .sc-chips-icon {
30
- border-radius: 12px;
31
- padding: 6px;
32
- }
33
- `;
34
- case 'large':
35
- return css `
36
- border-radius: 14px;
37
- .sc-chips-icon {
38
- border-radius: 14px;
39
- padding: 6px;
40
- }
41
- `;
42
- case 'larger':
43
- return css `
44
- border-radius: 17px;
45
- .sc-chips-icon {
46
- border-radius: 17px;
47
- padding: 7px;
48
- }
49
- `;
50
- default:
51
- return css `
52
- border-radius: 12px;
53
- .sc-chips-icon {
54
- border-radius: 12px;
55
- padding: 6px;
56
- }
57
- `;
58
- }
59
- }}
60
- ${(props) => {
61
- const brand = props.theme;
62
- return css `
63
- color: ${brand.textReverse};
64
- `;
65
- }}
66
-
67
- ${(props) => {
68
- const brand = props.theme;
69
- const brandLight = lighten(0.1, brand[props.variant]).toString();
70
- return props.onClick
71
- ? css `
72
- background-color: ${brand[props.variant]};
73
- font-size: ${fontSize[props.size || 'base']};
74
- &:hover {
75
- cursor: pointer;
76
- background-color: ${brandLight};
77
- }
78
- &:active {
79
- background-color: ${brand[props.variant]};
80
- }
81
- `
82
- : css `
83
- background-color: ${brand[props.variant]};
84
- font-size: ${fontSize[props.size || 'base']};
85
- `;
86
- }}
87
- `;
88
- export const ChipsIcon = styled.span `
89
- display: inline-flex;
90
- justify-content: center;
91
- align-items: center;
92
- background-color: ${(props) => lighten(0.15, props.theme[props.variant]).toString()};
93
- `;
94
- export const ChipsText = styled.span `
95
- display: inline-flex;
96
- justify-content: center;
97
- align-items: center;
98
- padding: ${(props) => (props.icon || props.isRemovable ? '5px' : '5px 10px')};
99
- `;
100
- const Chips = ({ text = '', variant = 'infoPrimary', icon = undefined, onClick, onRemove, size = 'base', }) => (_jsxs(ChipsContainer, { className: "sc-chips", onClick: onClick, variant: variant, icon: icon, size: size, children: [icon && (_jsx(ChipsIcon, { className: "sc-chips-icon", text: text, variant: variant, size: size, children: icon })), _jsx(ChipsText, { className: "sc-chips-text", icon: icon, isRemovable: !!onRemove, children: text }), onRemove && (_jsx(Button
101
- // @ts-ignore
102
- , {
103
- // @ts-ignore
104
- className: "sc-chips-remove", size: size, inverted: true, icon: _jsx(Icon, { name: "Close" }), onClick: onRemove }))] }));
105
- export { Chips };
@@ -1,10 +0,0 @@
1
- export type CloudProgressBarProps = {
2
- percentage: number;
3
- borderSize: string;
4
- cloudColor?: string;
5
- progressCloudColor?: string;
6
- children: JSX.Element;
7
- };
8
- declare const CloudProgressBar: ({ percentage, borderSize, cloudColor, progressCloudColor, children, }: CloudProgressBarProps) => import("react/jsx-runtime").JSX.Element;
9
- export { CloudProgressBar };
10
- //# sourceMappingURL=CloudProgressBar.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CloudProgressBar.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/cloudprogressbar/CloudProgressBar.component.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB,CAAC;AA6EF,QAAA,MAAM,gBAAgB,0EAMnB,qBAAqB,4CAWvB,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,38 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import styled, { css, keyframes } from 'styled-components';
3
- import { coreUIAvailableThemes } from '../../style/theme';
4
- const keyFrameCloud = (props) => {
5
- return keyframes `
6
- from {
7
- height:100%
8
- }
9
- to {
10
- height:${100 - props.percentage}%
11
- }`;
12
- };
13
- const Container = styled.div `
14
- ${(props) => {
15
- return css `
16
- text-align: center;
17
- position: relative;
18
- `;
19
- }}
20
- `;
21
- const ContainerProgress = styled.div `
22
- ${(props) => {
23
- return css `
24
- animation-duration: 1s;
25
- animation-fill-mode: both;
26
- animation-name: ${keyFrameCloud};
27
- position: absolute;
28
- top: 0;
29
- left: 0;
30
- width: 100%;
31
- overflow: hidden;
32
- `;
33
- }}
34
- `;
35
- const Cloud = ({ strokeColor, borderSize }) => (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 15 72 42", enableBackground: "new 0 0 72 72", children: _jsx("g", { children: _jsx("path", { fill: "none", stroke: strokeColor, strokeWidth: borderSize, strokeLinecap: "round", strokeLinejoin: "round", strokeMiterlimit: "10", d: "M15.9,30.3c0,0.4-0.4,0.8-0.8,0.8C10,31.6,6,36.7,6,42.9c0,6.6,4.5,11.9,10.2,11.9h38.7C61,54.8,66,49.1,66,42.2c0-6.6-4.6-12.1-10.4-12.5c-0.4,0-0.8-0.3-0.9-0.8c-1.3-6.7-7.3-11.7-14.3-11.7c-4.6,0-8.7,2.1-11.3,5.4C28.8,23,28.3,23.1,28,23c-1-0.4-2.1-0.6-3.3-0.6C20.1,22.3,16.3,25.8,15.9,30.3z" }) }) }));
36
- const CloudProgress = ({ strokeColor, percentage, borderSize }) => (_jsx(ContainerProgress, { percentage: percentage, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 15 72 42", enableBackground: "new 0 0 72 72", children: _jsx("g", { children: _jsx("path", { fill: "none", stroke: strokeColor, strokeWidth: borderSize, strokeLinecap: "round", strokeLinejoin: "round", strokeMiterlimit: "10", d: "M15.9,30.3c0,0.4-0.4,0.8-0.8,0.8C10,31.6,6,36.7,6,42.9c0,6.6,4.5,11.9,10.2,11.9h38.7C61,54.8,66,49.1,66,42.2c0-6.6-4.6-12.1-10.4-12.5c-0.4,0-0.8-0.3-0.9-0.8c-1.3-6.7-7.3-11.7-14.3-11.7c-4.6,0-8.7,2.1-11.3,5.4C28.8,23,28.3,23.1,28,23c-1-0.4-2.1-0.6-3.3-0.6C20.1,22.3,16.3,25.8,15.9,30.3z" }) }) }) }));
37
- const CloudProgressBar = ({ percentage = 0, borderSize = '2px', cloudColor = coreUIAvailableThemes.darkRebrand.statusHealthy, progressCloudColor = coreUIAvailableThemes.darkRebrand.backgroundLevel1, children, }) => (_jsxs(Container, { className: "sc-cloudprogressbar", children: [_jsx(Cloud, { strokeColor: progressCloudColor, borderSize: borderSize }), _jsx(CloudProgress, { strokeColor: cloudColor, percentage: percentage, borderSize: borderSize }), children] }));
38
- export { CloudProgressBar };
@@ -1,9 +0,0 @@
1
- type Props = {
2
- expanded: boolean;
3
- onHeaderClick: (arg0: any) => void;
4
- children: React.ReactNode;
5
- headerItems: Array<JSX.Element>;
6
- };
7
- declare function CollapsiblePanel({ expanded, onHeaderClick, children, headerItems, }: Props): import("react/jsx-runtime").JSX.Element;
8
- export { CollapsiblePanel };
9
- //# sourceMappingURL=CollapsiblePanel.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollapsiblePanel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/collapsiblepanel/CollapsiblePanel.component.tsx"],"names":[],"mappings":"AAIA,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAqCF,iBAAS,gBAAgB,CAAC,EACxB,QAAgB,EAChB,aAAa,EACb,QAAQ,EACR,WAAgB,GACjB,EAAE,KAAK,2CAuBP;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}