@ironsource/shared-ui 2.1.12-test.61 → 2.1.12-test.63

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 (60) hide show
  1. package/Chart.vue_vue_type_style_index_0_scoped_82f5b24e_lang.css +1 -0
  2. package/ChartHeader.vue_vue_type_style_index_0_scoped_bd4ef110_lang.css +1 -0
  3. package/ChartHeaderTrend.vue_vue_type_style_index_0_scoped_78a8c051_lang.css +1 -0
  4. package/ChartLegend.vue_vue_type_style_index_0_scoped_fd9e4ea2_lang.css +1 -0
  5. package/ChartPlane.vue_vue_type_style_index_0_scoped_10b18e17_lang.css +1 -0
  6. package/ChartTooltip.vue_vue_type_style_index_0_scoped_81cdfd5e_lang.css +1 -0
  7. package/SubHeader.vue_vue_type_style_index_0_scoped_74a5418e_lang.css +1 -0
  8. package/TooltipHeader.vue_vue_type_style_index_0_scoped_40d98a66_lang.css +1 -0
  9. package/components/chart/Chart.vue.d.ts +23 -8
  10. package/components/chart/Chart.vue.js +4 -4
  11. package/components/chart/Chart.vue2.js +99 -90
  12. package/components/chart/ChartHeader.vue.d.ts +7 -7
  13. package/components/chart/ChartHeader.vue.js +3 -3
  14. package/components/chart/ChartHeader.vue2.js +48 -79
  15. package/components/chart/ChartHeaderTrend.vue.d.ts +6 -5
  16. package/components/chart/ChartHeaderTrend.vue.js +3 -3
  17. package/components/chart/ChartHeaderTrend.vue2.js +15 -14
  18. package/components/chart/ChartLegend.vue.d.ts +7 -0
  19. package/components/chart/ChartLegend.vue.js +3 -3
  20. package/components/chart/ChartLegend.vue2.js +75 -68
  21. package/components/chart/ChartPlane.vue.d.ts +29 -9
  22. package/components/chart/ChartPlane.vue.js +3 -3
  23. package/components/chart/ChartPlane.vue2.js +290 -252
  24. package/components/chart/ChartStoryArgs.d.ts +27 -2
  25. package/components/chart/ChartTooltip.vue.d.ts +6 -1
  26. package/components/chart/ChartTooltip.vue.js +2 -2
  27. package/components/chart/ChartTooltip.vue2.js +48 -58
  28. package/components/chart/components/SubHeader.vue.d.ts +52 -0
  29. package/components/chart/components/SubHeader.vue.js +7 -0
  30. package/components/chart/components/SubHeader.vue2.js +61 -0
  31. package/components/chart/components/TooltipHeader.vue.d.ts +45 -0
  32. package/components/chart/components/TooltipHeader.vue.js +7 -0
  33. package/components/chart/components/TooltipHeader.vue2.js +59 -0
  34. package/components/chart/consts.d.ts +12 -6
  35. package/components/chart/consts.js +31 -21
  36. package/components/chart/index.d.ts +120 -62
  37. package/components/chart/mockData.d.ts +11 -0
  38. package/components/chart/types.d.ts +25 -5
  39. package/components/chart/types.js +4 -2
  40. package/components/chart/utils/highlightUtils.d.ts +3 -0
  41. package/components/chart/utils/highlightUtils.js +18 -0
  42. package/components/chart/utils/utils.d.ts +2 -1
  43. package/components/chart/utils/utils.js +23 -8
  44. package/composables/useFormValidation.d.ts +1 -1
  45. package/consts/common.d.ts +1 -0
  46. package/consts/common.js +4 -0
  47. package/consts/regex.d.ts +1 -0
  48. package/consts/regex.js +2 -1
  49. package/index.js +11 -7
  50. package/package.json +1 -1
  51. package/utils/text.d.ts +3 -0
  52. package/utils/text.js +24 -5
  53. package/utils/utils.d.ts +1 -0
  54. package/utils/utils.js +4 -0
  55. package/Chart.vue_vue_type_style_index_0_scoped_de950ffe_lang.css +0 -1
  56. package/ChartHeader.vue_vue_type_style_index_0_scoped_1ff0e54f_lang.css +0 -1
  57. package/ChartHeaderTrend.vue_vue_type_style_index_0_scoped_21ce0774_lang.css +0 -1
  58. package/ChartLegend.vue_vue_type_style_index_0_scoped_da487aba_lang.css +0 -1
  59. package/ChartPlane.vue_vue_type_style_index_0_scoped_ae87f435_lang.css +0 -1
  60. package/ChartTooltip.vue_vue_type_style_index_0_scoped_25d0e129_lang.css +0 -1
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import './MenuItem.vue_vue_type_style_index_0_scoped_67e53b85_lang.css';
2
2
  import { AppTriggerTypes as eo } from "./components/appTrigger/index.js";
3
- import { AutocompleteDropdownTypes as to } from "./components/autocompleteDropdown/index.js";
3
+ import { AutocompleteDropdownTypes as mo } from "./components/autocompleteDropdown/index.js";
4
4
  import { MenuItemTypes as ao } from "./components/menuItem/index.js";
5
5
  import { MenuTypes as fo } from "./components/menu/index.js";
6
6
  import { AppIconTypes as so } from "./components/appIcon/index.js";
@@ -16,8 +16,8 @@ import { FormCardTypes as wo, FormFieldTypes as Oo } from "./components/forms/in
16
16
  import * as o from "./components/button/v3/index.js";
17
17
  import * as r from "./components/button/v4/index.js";
18
18
  import * as e from "./components/chip/v3/index.js";
19
- import * as m from "./components/chip/v4/index.js";
20
- import * as t from "./components/switch/v3/index.js";
19
+ import * as t from "./components/chip/v4/index.js";
20
+ import * as m from "./components/switch/v3/index.js";
21
21
  import * as p from "./components/switch/v4/index.js";
22
22
  import * as a from "./components/dropdown/v3/index.js";
23
23
  import * as i from "./components/dropdown/v4/index.js";
@@ -77,7 +77,7 @@ import { default as Uo } from "./components/appTrigger/AppTrigger.vue.js";
77
77
  import { default as Xo } from "./components/autocompleteDropdown/AutocompleteDropdown.vue.js";
78
78
  import { default as or } from "./components/menuItem/MenuItem.vue.js";
79
79
  import { default as er } from "./components/menu/Menu.vue.js";
80
- import { default as tr } from "./components/appIcon/AppIcon.vue.js";
80
+ import { default as mr } from "./components/appIcon/AppIcon.vue.js";
81
81
  import { default as ar } from "./components/floatingToolbar/FloatingToolbar.vue.js";
82
82
  import { default as fr } from "./components/includeExclude/IncludeExclude.vue.js";
83
83
  import { default as xr } from "./components/includeExclude/IncludeExcludeDragDrop.vue.js";
@@ -101,10 +101,11 @@ import { default as qr } from "./components/banner/Banner.vue.js";
101
101
  import { default as Gr } from "./components/alert/Alert.vue.js";
102
102
  import { default as Qr } from "./components/autocomplete/Autocomplete.vue.js";
103
103
  import { default as Ur } from "./components/chart/Chart.vue.js";
104
+ import { ChartType as Xr, TooltipOrder as Zr, TrendDirection as oe } from "./components/chart/types.js";
104
105
  const Z = {
105
106
  ...e,
106
- ...m,
107
107
  ...t,
108
+ ...m,
108
109
  ...p,
109
110
  ...o,
110
111
  ...r,
@@ -160,18 +161,19 @@ export {
160
161
  Cr as AddFilterButton,
161
162
  Gr as Alert,
162
163
  qo as AlertTypes,
163
- tr as AppIcon,
164
+ mr as AppIcon,
164
165
  so as AppIconTypes,
165
166
  Uo as AppTrigger,
166
167
  eo as AppTriggerTypes,
167
168
  Qr as Autocomplete,
168
169
  Xo as AutocompleteDropdown,
169
- to as AutocompleteDropdownTypes,
170
+ mo as AutocompleteDropdownTypes,
170
171
  Go as AutocompleteTypes,
171
172
  qr as Banner,
172
173
  jo as BannerTypes,
173
174
  Rr as CardPanel,
174
175
  Ur as Chart,
176
+ Xr as ChartType,
175
177
  Qo as ChartTypes,
176
178
  Ar as FilterDropdown,
177
179
  Fo as FilterDropdownTypes,
@@ -201,6 +203,8 @@ export {
201
203
  Hr as MultiBar,
202
204
  ho as MultiBarTypes,
203
205
  Mr as Text,
206
+ Zr as TooltipOrder,
207
+ oe as TrendDirection,
204
208
  wr as Typography,
205
209
  Ao as TypographyTypes,
206
210
  Co as TypographyTypesV4,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ironsource/shared-ui",
3
- "version": "2.1.12-test.61",
3
+ "version": "2.1.12-test.63",
4
4
  "engines": {
5
5
  "npm": ">=7.0.0",
6
6
  "node": ">=16.0.0"
package/utils/text.d.ts CHANGED
@@ -1 +1,4 @@
1
+ import { Font } from '@/components/chart/types';
1
2
  export declare const isElementTruncated: (el: HTMLElement) => boolean;
3
+ export declare function measureTextWidth(text: string, font: Font): number;
4
+ export declare const truncateTextToFit: (text: string, font: Font, availableSpace: number) => string;
package/utils/text.js CHANGED
@@ -1,9 +1,28 @@
1
- const o = (t) => {
1
+ import { ELLIPSIS as a } from "../consts/common.js";
2
+ const u = (t) => {
2
3
  const e = new Range();
3
4
  e.selectNodeContents(t);
4
- const n = e.getBoundingClientRect(), c = t.getBoundingClientRect();
5
- return n.right > c.right;
6
- }, r = (t) => t ? t.scrollWidth !== t.offsetWidth ? t.scrollWidth > t.offsetWidth : o(t) : !1;
5
+ const n = e.getBoundingClientRect(), s = t.getBoundingClientRect();
6
+ return n.right > s.right;
7
+ }, w = (t) => t ? t.scrollWidth !== t.offsetWidth ? t.scrollWidth > t.offsetWidth : u(t) : !1, g = document.createElement("canvas"), o = g.getContext("2d");
8
+ function h(t, e) {
9
+ if (!o)
10
+ throw new Error("missing canvas context");
11
+ return o.font = `${e.weight} ${e.size}px ${e.family}`, o.measureText(t).width;
12
+ }
13
+ const W = (t, e, n) => {
14
+ const s = h(a, e);
15
+ if (h(t, e) <= n)
16
+ return t;
17
+ let r = 0, i = t.length, l = t;
18
+ for (; r <= i; ) {
19
+ const c = Math.floor((r + i) / 2), d = t.slice(0, c);
20
+ h(d, e) + s <= n ? (l = d, r = c + 1) : i = c - 1;
21
+ }
22
+ return l + a;
23
+ };
7
24
  export {
8
- r as isElementTruncated
25
+ w as isElementTruncated,
26
+ h as measureTextWidth,
27
+ W as truncateTextToFit
9
28
  };
@@ -0,0 +1 @@
1
+ export declare const isNullOrUndefined: (object: unknown) => boolean;
package/utils/utils.js ADDED
@@ -0,0 +1,4 @@
1
+ const l = (n) => n == null;
2
+ export {
3
+ l as isNullOrUndefined
4
+ };
@@ -1 +0,0 @@
1
- .chart-container[data-v-de950ffe]{border:1px solid var(--common-divider);background:var(--background-paper);display:flex;border-radius:0 0 6px 6px;width:100%}.chart-planes[data-v-de950ffe]{width:100%;height:100%;overflow-y:auto}.chart-planes.with-legend[data-v-de950ffe]{width:calc(100% - 221px)}.chart-planes .extra-chart-plane[data-v-de950ffe]{border-top:1px solid var(--common-divider)}.chart-sidebar[data-v-de950ffe]{border-left:1px solid var(--common-divider)}
@@ -1 +0,0 @@
1
- .chart-header[data-v-1ff0e54f]{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0}.chart-header .subheader[data-v-1ff0e54f]{color:var(--text-secondary)}.chart-header--compact[data-v-1ff0e54f]{padding-top:22px}.chart-header--compact .header-texts[data-v-1ff0e54f]{flex-direction:row}.chart-header--compact .header-text[data-v-1ff0e54f]{color:var(--text-secondary)}.header-row[data-v-1ff0e54f]{display:flex;align-items:flex-end;gap:4px}.header-texts[data-v-1ff0e54f]{display:flex;flex-direction:column;color:var(--text-primary);gap:4px;cursor:default}.type-switch[data-v-1ff0e54f]{display:flex;align-items:center;gap:4px}.subheader-tooltip[data-v-1ff0e54f]{display:flex;flex-direction:column;gap:.25rem}.subheader-tooltip__text[data-v-1ff0e54f]{color:var(--text-secondary)}
@@ -1 +0,0 @@
1
- .chart-trend[data-v-21ce0774]{display:flex}.chart-trend--up[data-v-21ce0774]{color:var(--success-contrast-text)}.chart-trend--up .trend-icon[data-v-21ce0774]{color:var(--success-darker)}.chart-trend--down[data-v-21ce0774]{color:var(--error-contrast-text)}.chart-trend--down .trend-icon[data-v-21ce0774]{color:var(--error-dark)}.chart-trend .trend-icon[data-v-21ce0774]{align-self:normal}.chart-trend-tooltip[data-v-21ce0774]{align-items:normal}.trend-tooltip[data-v-21ce0774]{display:flex;flex-direction:column}.trend-tooltip__header[data-v-21ce0774]{margin-bottom:.375rem}.trend-tooltip__text[data-v-21ce0774]{color:var(--text-secondary)}.separator[data-v-21ce0774]{display:flex;align-items:center;gap:.5rem;justify-content:center;height:1.1875rem}.separator__text[data-v-21ce0774]{display:block;color:var(--text-secondary)}.separator hr[data-v-21ce0774]{width:100%;height:1px;border:0;background:var(--common-divider)}
@@ -1 +0,0 @@
1
- .disabled-tooltip[data-v-da487aba],.disabled-tooltip[data-v-da487aba] .container{width:100%}.chart-legend[data-v-da487aba]{display:flex;flex-direction:column;width:240px;height:100%;padding:0 8px 8px 12px}.search-box[data-v-da487aba]{padding:12px 0 4px;display:flex;align-items:center;gap:4px}.legend[data-v-da487aba]{overflow-y:auto;color:var(--text-primary);height:100%;overflow-x:hidden}.legend__list[data-v-da487aba]{list-style:none;padding:0}.legend__list>li[data-v-da487aba]{display:flex;align-items:center;gap:8px;padding:6px 8px}.legend__list>li[data-v-da487aba]:hover{background-color:var(--action-hover);border-radius:8px;cursor:pointer}.legend__list>li.disabled-item[data-v-da487aba]{cursor:not-allowed!important;opacity:.5;background:var(--background-paper)}.legend__list>li.empty-list[data-v-da487aba]{display:flex;align-items:center;justify-content:flex-start;height:32px;color:var(--text-disabled)}.legend__list>li.empty-list[data-v-da487aba]:hover{background-color:transparent;cursor:default}.legend__list>li .item-wrapper[data-v-da487aba]{display:flex;align-items:center;gap:8px;width:100%}.legend__list>li .item-wrapper .legend-label[data-v-da487aba]{width:80%}.legend__list>li .item-wrapper .icon-color[data-v-da487aba]{color:var(--action-active)}.legend__list>li .item-wrapper .label-container[data-v-da487aba]{display:flex;flex-direction:column;width:100%}.legend__list>li .item-wrapper .label-container .legend-caption[data-v-da487aba]{display:flex;color:var(--text-secondary)}
@@ -1 +0,0 @@
1
- .chart-plane[data-v-ae87f435]{--headerHeight: var(--4640c185);width:100%}.chart-plane[data-v-ae87f435],.chart-loading[data-v-ae87f435],.chart-empty[data-v-ae87f435]{height:var(--07515470)}.header-wrapper[data-v-ae87f435]{height:var(--headerHeight)}.chart[data-v-ae87f435]{width:100%;height:calc(100% - var(--headerHeight));position:relative}.chart__canvas[data-v-ae87f435]{width:100%;height:100%}.chart__tooltip[data-v-ae87f435]{position:absolute;pointer-events:none;transition:all .1s ease;min-width:214px;max-width:270px;z-index:1}
@@ -1 +0,0 @@
1
- .chart-tooltip[data-v-25d0e129]{color:var(--text-primary);background:var(--common-white);box-shadow:0 4px 8px -2px #1018281f;border:1px solid var(--common-divider-elevation-0);border-radius:var(--border-radius-md);width:280px;padding:calc(var(--spacing-100) - 1px)}.tooltip-title-wrapper[data-v-25d0e129]{display:flex;flex-direction:column;color:var(--text-primary);margin-bottom:var(--spacing-100)}.tooltip-title-wrapper .tooltip-sub-title[data-v-25d0e129]{color:var(--text-secondary)}.color-box[data-v-25d0e129]{width:12px;height:12px;border-radius:2px;display:inline-block;margin-right:var(--spacing-100)}.color-box+.platform-icon[data-v-25d0e129]{margin-left:calc(var(--spacing-50) - var(--spacing-100))}.list[data-v-25d0e129]{list-style:none;margin:0;padding:0}.list__item[data-v-25d0e129]{display:flex;align-items:center;margin-bottom:var(--spacing-50);color:var(--text-secondary)}.list__item[data-v-25d0e129]:last-child{margin-bottom:0}.platform-icon[data-v-25d0e129]{color:var(--action-active);margin-right:var(--spacing-50)}.popover-label-wrapper[data-v-25d0e129]{display:flex;width:200px;flex-grow:1}.truncated-label[data-v-25d0e129]{max-width:90%}.tooltip-footer[data-v-25d0e129]{display:flex;align-items:center;margin-top:var(--spacing-100);color:var(--text-primary)}.flex-grow[data-v-25d0e129]{flex-grow:1}