pixel-react 1.15.68 → 1.15.70

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.
@@ -1,2 +1,2 @@
1
- export declare const truncateText: (text: string, maxLimit?: number, truncateType?: "count" | "pixel", fontSize?: number, fontFamily?: string) => string;
1
+ export declare const truncateText: (text: string, maxLimit?: number, truncateType?: "count" | "pixel", fontSize?: number, fontFamily?: string, letterSpacing?: number) => string;
2
2
  export declare const isTextTruncated: (text: string, maxLimit?: number, truncateType?: "count" | "pixel", fontSize?: number, fontFamily?: string) => boolean;
@@ -8,7 +8,7 @@ const getCanvasContext = (fontSize = DEFAULT_FONT_SIZE, fontFamily = DEFAULT_FON
8
8
  }
9
9
  return context;
10
10
  };
11
- export const truncateText = (text, maxLimit = 100, truncateType = 'count', fontSize = DEFAULT_FONT_SIZE, fontFamily = DEFAULT_FONT_FAMILY) => {
11
+ export const truncateText = (text, maxLimit = 100, truncateType = 'count', fontSize = DEFAULT_FONT_SIZE, fontFamily = DEFAULT_FONT_FAMILY, letterSpacing = 0) => {
12
12
  if (!text || maxLimit <= 0)
13
13
  return '';
14
14
  const ellipsis = '...';
@@ -21,12 +21,16 @@ export const truncateText = (text, maxLimit = 100, truncateType = 'count', fontS
21
21
  if (!context)
22
22
  return text;
23
23
  const ellipsisWidth = context.measureText(ellipsis).width;
24
- if (context.measureText(text).width <= maxLimit)
24
+ const baseWidth = context.measureText(text).width;
25
+ const totalLetterSpacing = letterSpacing > 0 ? letterSpacing * Math.max(0, text.length - 1) : 0;
26
+ if (baseWidth + totalLetterSpacing <= maxLimit)
25
27
  return text;
26
28
  let truncated = '';
27
29
  for (let i = 0; i < text.length; i++) {
28
30
  const temp = text.slice(0, i + 1);
29
- if (context.measureText(temp).width + ellipsisWidth > maxLimit) {
31
+ const baseWidth = context.measureText(temp).width;
32
+ const spacingWidth = letterSpacing > 0 ? letterSpacing * i : 0;
33
+ if (baseWidth + spacingWidth + ellipsisWidth > maxLimit) {
30
34
  return `${truncated}${ellipsis}`;
31
35
  }
32
36
  truncated = temp;
@@ -1 +1 @@
1
- {"version":3,"file":"truncateText.js","sourceRoot":"","sources":["../../../src/utils/truncateText/truncateText.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAEtC,MAAM,gBAAgB,GAAG,CACvB,WAAmB,iBAAiB,EACpC,aAAqB,mBAAmB,EACP,EAAE;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,GAAG,GAAG,QAAQ,MAAM,UAAU,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAY,EACZ,WAAmB,GAAG,EACtB,eAAkC,OAAO,EACzC,WAAmB,iBAAiB,EACpC,aAAqB,mBAAmB,EAChC,EAAE;IACV,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,KAAK,CAAC;IAEvB,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ;YAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAE;YACzC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAE1D,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE7D,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,aAAa,GAAG,QAAQ,EAAE,CAAC;YAC/D,OAAO,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC;QACnC,CAAC;QACD,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAY,EACZ,WAAmB,GAAG,EACtB,eAAkC,OAAO,EACzC,WAAmB,iBAAiB,EACpC,aAAqB,mBAAmB,EAC/B,EAAE;IACX,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;AACpD,CAAC,CAAC"}
1
+ {"version":3,"file":"truncateText.js","sourceRoot":"","sources":["../../../src/utils/truncateText/truncateText.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pixel-react",
3
3
  "description": "Great for pixel-perfect, design-focused components in React",
4
- "version": "1.15.68",
4
+ "version": "1.15.70",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -51,20 +51,11 @@
51
51
  "storybook": "^8.4.5",
52
52
  "storybook-addon-theme-provider": "^0.2.6",
53
53
  "typescript": "^5.7.2",
54
- "vite": "^5.4.10",
55
- "@monaco-editor/react": "^4.6.0",
56
- "js-beautify": "^1.15.1",
57
- "react-phone-input-2": "^2.15.1",
58
- "react-phone-number-input": "^3.4.12"
54
+ "vite": "^5.4.10"
59
55
  },
60
56
  "peerDependencies": {
61
- "react": ">=18.2.0 <19.0.0",
62
- "react-dom": ">=18.2.0 <19.0.0",
63
- "@monaco-editor/react": "^4.6.0",
64
- "js-beautify": "^1.15.1",
65
- "@types/js-beautify": "^1.14.3",
66
- "react-phone-input-2": "^2.15.1",
67
- "react-phone-number-input": "^3.4.12"
57
+ "react": "^18.2.0",
58
+ "react-dom": "^18.2.0"
68
59
  },
69
60
  "scripts": {
70
61
  "storybook": "storybook dev -p 6006",
@@ -101,7 +92,11 @@
101
92
  "webrtc-adapter": "^9.0.1",
102
93
  "react-virtuoso": "^4.13.0",
103
94
  "react-draft-wysiwyg": "^1.15.0",
104
- "@types/react-draft-wysiwyg": "^1.13.8"
95
+ "@types/react-draft-wysiwyg": "^1.13.8",
96
+ "@monaco-editor/react": "^4.6.0",
97
+ "js-beautify": "^1.15.1",
98
+ "react-phone-input-2": "^2.15.1",
99
+ "react-phone-number-input": "^3.4.12"
105
100
  },
106
101
  "files": [
107
102
  "lib",