@blockbite/shared-utils 2.0.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 (47) hide show
  1. package/README.md +47 -0
  2. package/dist/arrays.d.ts +1 -0
  3. package/dist/arrays.js +6 -0
  4. package/dist/arrays.js.map +1 -0
  5. package/dist/cjs/arrays.js +6 -0
  6. package/dist/cjs/arrays.js.map +1 -0
  7. package/dist/cjs/constants.js +5 -0
  8. package/dist/cjs/constants.js.map +1 -0
  9. package/dist/cjs/devices.js +6 -0
  10. package/dist/cjs/devices.js.map +1 -0
  11. package/dist/cjs/index.js +6 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/shared-types.js +2 -0
  14. package/dist/cjs/shared-types.js.map +1 -0
  15. package/dist/cjs/strings.js +32 -0
  16. package/dist/cjs/strings.js.map +1 -0
  17. package/dist/cjs/tailwind-editor-config.js +71 -0
  18. package/dist/cjs/tailwind-editor-config.js.map +1 -0
  19. package/dist/cjs/ui.js +7 -0
  20. package/dist/cjs/ui.js.map +1 -0
  21. package/dist/cjs/webpack.js +62 -0
  22. package/dist/cjs/webpack.js.map +1 -0
  23. package/dist/constants.d.ts +1 -0
  24. package/dist/constants.js +6 -0
  25. package/dist/constants.js.map +1 -0
  26. package/dist/devices.d.ts +1 -0
  27. package/dist/devices.js +6 -0
  28. package/dist/devices.js.map +1 -0
  29. package/dist/index.d.ts +5 -0
  30. package/dist/index.js +6 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/shared-types.d.ts +59 -0
  33. package/dist/shared-types.js +2 -0
  34. package/dist/shared-types.js.map +1 -0
  35. package/dist/strings.d.ts +3 -0
  36. package/dist/strings.js +33 -0
  37. package/dist/strings.js.map +1 -0
  38. package/dist/tailwind-editor-config.d.ts +50 -0
  39. package/dist/tailwind-editor-config.js +71 -0
  40. package/dist/tailwind-editor-config.js.map +1 -0
  41. package/dist/ui.d.ts +1 -0
  42. package/dist/ui.js +7 -0
  43. package/dist/ui.js.map +1 -0
  44. package/dist/webpack.d.ts +2 -0
  45. package/dist/webpack.js +71 -0
  46. package/dist/webpack.js.map +1 -0
  47. package/package.json +46 -0
package/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # Shared Utilities
2
+
3
+ A collection of shared Blockbite JavaScript/TypeScript utilities.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm add @blockbite/shared-utils
9
+ # or
10
+ npm install @blockbite/shared-utils
11
+ ```
12
+
13
+ ## Usage Examples
14
+
15
+ ### Array Utilities
16
+
17
+ ```typescript
18
+ import { getClosest, chunkArray } from '@blockbite/shared-utils';
19
+
20
+ const closest = getClosest([10, 20, 30], 25); // 20
21
+ const chunks = chunkArray([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
22
+ ```
23
+
24
+ ### Webpack Helpers
25
+
26
+ ```javascript
27
+ const { blockbiteDefaultConfig } = require('@blockbite/shared-utils');
28
+
29
+ // Use with wp-scripts
30
+ const defaultConfig = blockbiteDefaultConfig(wpConfig);
31
+ const originalEntry = defaultConfig.entry;
32
+
33
+ defaultConfig.entry = async () => {
34
+ const defaultEntries = await originalEntry();
35
+ const customEntries = {
36
+ 'blockbite-bb': path.resolve(process.cwd(), 'src/core', 'bb.ts'),
37
+ 'blockbite-core': path.resolve(process.cwd(), 'src/core', 'core.ts'),
38
+ };
39
+ const finalEntries = { ...defaultEntries, ...customEntries };
40
+
41
+ return finalEntries;
42
+ };
43
+ ```
44
+
45
+ ## Contributing
46
+
47
+ Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
@@ -0,0 +1 @@
1
+ export declare function getClosest(array: number[], num: number): number;
package/dist/arrays.js ADDED
@@ -0,0 +1,6 @@
1
+ export function getClosest(array, num) {
2
+ return array.sort((a, b) => {
3
+ return Math.abs(a - num) - Math.abs(b - num);
4
+ })[0];
5
+ }
6
+ //# sourceMappingURL=arrays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,GAAW;IACrD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,6 @@
1
+ export function getClosest(array, num) {
2
+ return array.sort((a, b) => {
3
+ return Math.abs(a - num) - Math.abs(b - num);
4
+ })[0];
5
+ }
6
+ //# sourceMappingURL=arrays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/arrays.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,GAAW;IACrD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,5 @@
1
+ const isDevelopment = process.env.NODE_ENV === 'development';
2
+ export const BLOCKBITE_PLATFORM_URL = isDevelopment
3
+ ? 'http://127.0.0.1:32813'
4
+ : 'https://block-bite.com';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa;IACjD,CAAC,CAAC,wBAAwB;IAC1B,CAAC,CAAC,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export function isMac() {
2
+ if (navigator.userAgent && navigator.userAgent.indexOf('Mac') >= 0) {
3
+ return true;
4
+ }
5
+ }
6
+ //# sourceMappingURL=devices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/devices.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK;IACnB,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './arrays.js';
2
+ export * from './devices.js';
3
+ export * from './strings.js';
4
+ export * from './ui.js';
5
+ export * from './webpack.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shared-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-types.js","sourceRoot":"","sources":["../../src/shared-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ export function truncateString(str, num) {
2
+ if (str.length > num) {
3
+ return str.slice(0, num) + '…';
4
+ }
5
+ return str;
6
+ }
7
+ export function convertImageToBase64(imageUrl) {
8
+ return new Promise((resolve, reject) => {
9
+ fetch(imageUrl)
10
+ .then((response) => response.blob())
11
+ .then((blob) => {
12
+ const reader = new FileReader();
13
+ reader.onloadend = () => {
14
+ const base64data = reader.result;
15
+ resolve(base64data);
16
+ };
17
+ reader.onerror = reject;
18
+ reader.readAsDataURL(blob);
19
+ })
20
+ .catch(reject);
21
+ });
22
+ }
23
+ export function splitOnLast(str, delimiter) {
24
+ const lastIndex = str.lastIndexOf(delimiter);
25
+ if (lastIndex === -1) {
26
+ return [str];
27
+ }
28
+ const firstPart = str.slice(0, lastIndex);
29
+ const secondPart = str.slice(lastIndex + delimiter.length);
30
+ return [firstPart, secondPart];
31
+ }
32
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/strings.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,GAAW;IACrD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAErC,KAAK,CAAC,QAAQ,CAAC;aACZ,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;gBACtB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBACjC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,SAAiB;IACxD,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE7C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE3D,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,71 @@
1
+ export default {
2
+ important: '.bb_',
3
+ content: ['./src/**/*.{js,jsx,ts,tsx}'],
4
+ safelist: [
5
+ 'aspect-4/3',
6
+ 'aspect-16/9',
7
+ 'aspect-21/9',
8
+ 'aspect-3/4',
9
+ 'aspect-1/1',
10
+ 'aspect-5/4',
11
+ 'aspect-16/10',
12
+ 'aspect-2/1',
13
+ 'scale-10',
14
+ 'scale-20',
15
+ 'scale-30',
16
+ 'scale-40',
17
+ 'scale-50',
18
+ 'scale-60',
19
+ 'scale-70',
20
+ 'scale-80',
21
+ 'scale-90',
22
+ ],
23
+ plugins: [],
24
+ theme: {
25
+ fontFamily: {
26
+ sans: [
27
+ '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif',
28
+ 'sans-serif',
29
+ ],
30
+ },
31
+ extend: {
32
+ colors: {
33
+ wordpress: 'var(--wp-admin-theme-color)',
34
+ wpforeground: 'var(--wp-components-color-foreground, #1e1e1e)',
35
+ wpaccent: 'var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))',
36
+ easy: 'rgb(226, 232, 240)',
37
+ green: '#00f1d1',
38
+ yellow: '#e6e738',
39
+ purple: '#8b00f1',
40
+ black: '#2b2b2a',
41
+ grey: '#e2e8f0',
42
+ darkgrey: '#4a5568',
43
+ },
44
+ backgroundImage: {
45
+ 'blockbite-logo': "url('/public/images/SVG/blockbitetrans-white.svg')",
46
+ },
47
+ aspectRatio: {
48
+ '4/3': '4 / 3',
49
+ '16/9': '16 / 9',
50
+ '21/9': '21 / 9',
51
+ '3/4': '3 / 4',
52
+ '1/1': '1 / 1',
53
+ '5/4': '5 / 4',
54
+ '16/10': '16 / 10',
55
+ '2/1': '2 / 1',
56
+ },
57
+ scale: {
58
+ 10: '0.1',
59
+ 20: '0.2',
60
+ 30: '0.3',
61
+ 40: '0.4',
62
+ 50: '0.5',
63
+ 60: '0.6',
64
+ 70: '0.7',
65
+ 80: '0.8',
66
+ 90: '0.9',
67
+ },
68
+ },
69
+ },
70
+ };
71
+ //# sourceMappingURL=tailwind-editor-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind-editor-config.js","sourceRoot":"","sources":["../../src/tailwind-editor-config.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,CAAC,4BAA4B,CAAC;IACvC,QAAQ,EAAE;QACR,YAAY;QACZ,aAAa;QACb,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;KACX;IACD,OAAO,EAAE,EAAE;IACX,KAAK,EAAE;QACL,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,qHAAqH;gBACrH,YAAY;aACb;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,SAAS,EAAE,6BAA6B;gBACxC,YAAY,EAAE,gDAAgD;gBAC9D,QAAQ,EACN,yEAAyE;gBAC3E,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS;aACpB;YACD,eAAe,EAAE;gBACf,gBAAgB,EAAE,oDAAoD;aACvE;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,OAAO;aACf;YACD,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;aACV;SACF;KACF;CACF,CAAC"}
package/dist/cjs/ui.js ADDED
@@ -0,0 +1,7 @@
1
+ export function scrollToSection(elementId) {
2
+ const element = document.getElementById(elementId);
3
+ if (element) {
4
+ element.scrollIntoView({ behavior: 'smooth' });
5
+ }
6
+ }
7
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/ui.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -0,0 +1,62 @@
1
+ export function blockbiteDefaultConfig(defaultConfig) {
2
+ const jsRuleIndex = defaultConfig.module.rules.findIndex((rule) => rule.use &&
3
+ Array.isArray(rule.use) &&
4
+ rule.use.find((useEntry) => typeof useEntry === 'object' &&
5
+ useEntry.loader &&
6
+ useEntry.loader.includes('babel-loader')));
7
+ if (jsRuleIndex !== -1) {
8
+ console.log('>>> Modifying default wp-scripts babel-loader rule for modules: false...');
9
+ const ruleToModify = defaultConfig.module.rules[jsRuleIndex];
10
+ const babelLoaderUseEntry = ruleToModify.use.find((useEntry) => typeof useEntry === 'object' &&
11
+ useEntry.loader &&
12
+ useEntry.loader.includes('babel-loader'));
13
+ if (babelLoaderUseEntry) {
14
+ if (!babelLoaderUseEntry.options)
15
+ babelLoaderUseEntry.options = {};
16
+ if (babelLoaderUseEntry.options.plugins) {
17
+ babelLoaderUseEntry.options.plugins =
18
+ babelLoaderUseEntry.options.plugins.filter((p) => !(Array.isArray(p) && p[0] === 'transform-imports'));
19
+ console.log('>>> Removed transform-imports plugin if it existed.');
20
+ }
21
+ if (!babelLoaderUseEntry.options.presets)
22
+ babelLoaderUseEntry.options.presets = [];
23
+ const wpPresetIndex = babelLoaderUseEntry.options.presets.findIndex((p) => (Array.isArray(p) &&
24
+ p[0].includes('@wordpress/babel-preset-default')) ||
25
+ (typeof p === 'string' &&
26
+ p.includes('@wordpress/babel-preset-default')));
27
+ if (wpPresetIndex !== -1) {
28
+ const presetEntry = babelLoaderUseEntry.options.presets[wpPresetIndex];
29
+ if (Array.isArray(presetEntry)) {
30
+ if (!presetEntry[1])
31
+ presetEntry[1] = {};
32
+ if (presetEntry[1].modules !== false) {
33
+ presetEntry[1].modules = false;
34
+ console.log('>>> Set modules: false for existing WP preset array.');
35
+ }
36
+ }
37
+ else {
38
+ babelLoaderUseEntry.options.presets[wpPresetIndex] = [
39
+ presetEntry,
40
+ { modules: false },
41
+ ];
42
+ console.log('>>> Converted WP preset string to array and set modules: false.');
43
+ }
44
+ }
45
+ else {
46
+ babelLoaderUseEntry.options.presets.push([
47
+ '@wordpress/babel-preset-default',
48
+ { modules: false },
49
+ ]);
50
+ console.log('>>> Added @wordpress/babel-preset-default with modules: false.');
51
+ }
52
+ }
53
+ else {
54
+ console.error('>>> Could not find babel-loader entry *within* the identified rule.');
55
+ }
56
+ }
57
+ else {
58
+ console.error('>>> Could not find default wp-scripts rule using babel-loader.');
59
+ }
60
+ return defaultConfig;
61
+ }
62
+ //# sourceMappingURL=webpack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../src/webpack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const BLOCKBITE_PLATFORM_URL: string;
@@ -0,0 +1,6 @@
1
+ // @ts-ignore
2
+ const isDevelopment = process.env.NODE_ENV === 'development';
3
+ export const BLOCKBITE_PLATFORM_URL = isDevelopment
4
+ ? 'http://127.0.0.1:32813'
5
+ : 'https://block-bite.com';
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa;IACjD,CAAC,CAAC,wBAAwB;IAC1B,CAAC,CAAC,wBAAwB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function isMac(): true | undefined;
@@ -0,0 +1,6 @@
1
+ export function isMac() {
2
+ if (navigator.userAgent && navigator.userAgent.indexOf('Mac') >= 0) {
3
+ return true;
4
+ }
5
+ }
6
+ //# sourceMappingURL=devices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../src/devices.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK;IACnB,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './arrays.js';
2
+ export * from './devices.js';
3
+ export * from './strings.js';
4
+ export * from './ui.js';
5
+ export * from './webpack.js';
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from './arrays.js';
2
+ export * from './devices.js';
3
+ export * from './strings.js';
4
+ export * from './ui.js';
5
+ export * from './webpack.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,59 @@
1
+ export type bb = {
2
+ apiUrl: string;
3
+ publicUrl: string;
4
+ siteUrl: string;
5
+ api: string;
6
+ data: {
7
+ postType: string;
8
+ id: number | string;
9
+ frontendcss: {
10
+ tailwind: string;
11
+ bites: string;
12
+ };
13
+ };
14
+ codex: any;
15
+ settings: {
16
+ gsap: boolean;
17
+ lottie: boolean;
18
+ swiper: boolean;
19
+ tw_base: boolean;
20
+ tw_strategy: string;
21
+ tw_prefix: string;
22
+ blockbite_account_token: string;
23
+ blockbite_project_token: string;
24
+ };
25
+ saving: boolean;
26
+ core: {
27
+ getDeviceType: () => string;
28
+ getPostType: () => string;
29
+ getTemplateData: () => Promise<{
30
+ id: number | string;
31
+ postType: string;
32
+ templateType: string;
33
+ templateRef?: string | number;
34
+ }>;
35
+ getSaveState: () => boolean;
36
+ getNativeTheme(globalStyles: any): {
37
+ colors: any[];
38
+ fonts: any[];
39
+ fontSizes: any[];
40
+ headings: any[];
41
+ };
42
+ getHeadings: () => any[];
43
+ getEditorType: () => string;
44
+ getEditorMode: () => string;
45
+ updateBlockAttributes: (clientId: string, newAttributes: any) => void;
46
+ selectBlock: (clientId: string) => void;
47
+ getParentBlock: () => any;
48
+ addBodyClass: (className: string) => void;
49
+ getProPlugin: (pluginName: string) => any;
50
+ };
51
+ AceEditor: any;
52
+ editorTwConfig: any;
53
+ editorCssCache: string;
54
+ css: {
55
+ editorCssCache: string;
56
+ editorTwConfig: any;
57
+ };
58
+ html2canvas: any;
59
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shared-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-types.js","sourceRoot":"","sources":["../src/shared-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare function truncateString(str: string, num: number): string;
2
+ export declare function convertImageToBase64(imageUrl: string): Promise<unknown>;
3
+ export declare function splitOnLast(str: string, delimiter: string): string[];
@@ -0,0 +1,33 @@
1
+ export function truncateString(str, num) {
2
+ if (str.length > num) {
3
+ return str.slice(0, num) + '…';
4
+ }
5
+ return str;
6
+ }
7
+ export function convertImageToBase64(imageUrl) {
8
+ return new Promise((resolve, reject) => {
9
+ // Create a new request for the image
10
+ fetch(imageUrl)
11
+ .then((response) => response.blob()) // Get the image as a Blob
12
+ .then((blob) => {
13
+ const reader = new FileReader();
14
+ reader.onloadend = () => {
15
+ const base64data = reader.result; // This will be the base64-encoded image
16
+ resolve(base64data);
17
+ };
18
+ reader.onerror = reject;
19
+ reader.readAsDataURL(blob); // Read the Blob as a Data URL (base64 string)
20
+ })
21
+ .catch(reject);
22
+ });
23
+ }
24
+ export function splitOnLast(str, delimiter) {
25
+ const lastIndex = str.lastIndexOf(delimiter);
26
+ if (lastIndex === -1) {
27
+ return [str]; // No delimiter found
28
+ }
29
+ const firstPart = str.slice(0, lastIndex);
30
+ const secondPart = str.slice(lastIndex + delimiter.length);
31
+ return [firstPart, secondPart];
32
+ }
33
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,GAAW;IACrD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,qCAAqC;QACrC,KAAK,CAAC,QAAQ,CAAC;aACZ,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,0BAA0B;aAC9D,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;gBACtB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,wCAAwC;gBAC1E,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C;QAC5E,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,SAAiB;IACxD,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE7C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;IACrC,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE3D,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,50 @@
1
+ declare const _default: {
2
+ important: string;
3
+ content: string[];
4
+ safelist: string[];
5
+ plugins: never[];
6
+ theme: {
7
+ fontFamily: {
8
+ sans: string[];
9
+ };
10
+ extend: {
11
+ colors: {
12
+ wordpress: string;
13
+ wpforeground: string;
14
+ wpaccent: string;
15
+ easy: string;
16
+ green: string;
17
+ yellow: string;
18
+ purple: string;
19
+ black: string;
20
+ grey: string;
21
+ darkgrey: string;
22
+ };
23
+ backgroundImage: {
24
+ 'blockbite-logo': string;
25
+ };
26
+ aspectRatio: {
27
+ '4/3': string;
28
+ '16/9': string;
29
+ '21/9': string;
30
+ '3/4': string;
31
+ '1/1': string;
32
+ '5/4': string;
33
+ '16/10': string;
34
+ '2/1': string;
35
+ };
36
+ scale: {
37
+ 10: string;
38
+ 20: string;
39
+ 30: string;
40
+ 40: string;
41
+ 50: string;
42
+ 60: string;
43
+ 70: string;
44
+ 80: string;
45
+ 90: string;
46
+ };
47
+ };
48
+ };
49
+ };
50
+ export default _default;
@@ -0,0 +1,71 @@
1
+ export default {
2
+ important: '.bb_',
3
+ content: ['./src/**/*.{js,jsx,ts,tsx}'],
4
+ safelist: [
5
+ 'aspect-4/3',
6
+ 'aspect-16/9',
7
+ 'aspect-21/9',
8
+ 'aspect-3/4',
9
+ 'aspect-1/1',
10
+ 'aspect-5/4',
11
+ 'aspect-16/10',
12
+ 'aspect-2/1',
13
+ 'scale-10',
14
+ 'scale-20',
15
+ 'scale-30',
16
+ 'scale-40',
17
+ 'scale-50',
18
+ 'scale-60',
19
+ 'scale-70',
20
+ 'scale-80',
21
+ 'scale-90',
22
+ ],
23
+ plugins: [],
24
+ theme: {
25
+ fontFamily: {
26
+ sans: [
27
+ '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif',
28
+ 'sans-serif',
29
+ ],
30
+ },
31
+ extend: {
32
+ colors: {
33
+ wordpress: 'var(--wp-admin-theme-color)',
34
+ wpforeground: 'var(--wp-components-color-foreground, #1e1e1e)',
35
+ wpaccent: 'var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))',
36
+ easy: 'rgb(226, 232, 240)',
37
+ green: '#00f1d1',
38
+ yellow: '#e6e738',
39
+ purple: '#8b00f1',
40
+ black: '#2b2b2a',
41
+ grey: '#e2e8f0',
42
+ darkgrey: '#4a5568',
43
+ },
44
+ backgroundImage: {
45
+ 'blockbite-logo': "url('/public/images/SVG/blockbitetrans-white.svg')",
46
+ },
47
+ aspectRatio: {
48
+ '4/3': '4 / 3',
49
+ '16/9': '16 / 9',
50
+ '21/9': '21 / 9',
51
+ '3/4': '3 / 4',
52
+ '1/1': '1 / 1',
53
+ '5/4': '5 / 4',
54
+ '16/10': '16 / 10',
55
+ '2/1': '2 / 1',
56
+ },
57
+ scale: {
58
+ 10: '0.1',
59
+ 20: '0.2',
60
+ 30: '0.3',
61
+ 40: '0.4',
62
+ 50: '0.5',
63
+ 60: '0.6',
64
+ 70: '0.7',
65
+ 80: '0.8',
66
+ 90: '0.9',
67
+ },
68
+ },
69
+ },
70
+ };
71
+ //# sourceMappingURL=tailwind-editor-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind-editor-config.js","sourceRoot":"","sources":["../src/tailwind-editor-config.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,CAAC,4BAA4B,CAAC;IACvC,QAAQ,EAAE;QACR,YAAY;QACZ,aAAa;QACb,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;KACX;IACD,OAAO,EAAE,EAAE;IACX,KAAK,EAAE;QACL,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,qHAAqH;gBACrH,YAAY;aACb;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,SAAS,EAAE,6BAA6B;gBACxC,YAAY,EAAE,gDAAgD;gBAC9D,QAAQ,EACN,yEAAyE;gBAC3E,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS;aACpB;YACD,eAAe,EAAE;gBACf,gBAAgB,EAAE,oDAAoD;aACvE;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,OAAO;aACf;YACD,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;aACV;SACF;KACF;CACF,CAAC"}
package/dist/ui.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function scrollToSection(elementId: string): void;
package/dist/ui.js ADDED
@@ -0,0 +1,7 @@
1
+ export function scrollToSection(elementId) {
2
+ const element = document.getElementById(elementId);
3
+ if (element) {
4
+ element.scrollIntoView({ behavior: 'smooth' });
5
+ }
6
+ }
7
+ //# sourceMappingURL=ui.js.map
package/dist/ui.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** @type {any} */
2
+ export declare function blockbiteDefaultConfig(defaultConfig: any): any;
@@ -0,0 +1,71 @@
1
+ // @ts-nocheck
2
+ /** @type {any} */
3
+ export function blockbiteDefaultConfig(defaultConfig) {
4
+ const jsRuleIndex = defaultConfig.module.rules.findIndex((rule) => rule.use &&
5
+ Array.isArray(rule.use) &&
6
+ rule.use.find((useEntry) => typeof useEntry === 'object' &&
7
+ useEntry.loader &&
8
+ useEntry.loader.includes('babel-loader')));
9
+ if (jsRuleIndex !== -1) {
10
+ // eslint-disable-next-line no-console
11
+ console.log('>>> Modifying default wp-scripts babel-loader rule for modules: false...');
12
+ const ruleToModify = defaultConfig.module.rules[jsRuleIndex];
13
+ const babelLoaderUseEntry = ruleToModify.use.find((useEntry) => typeof useEntry === 'object' &&
14
+ useEntry.loader &&
15
+ useEntry.loader.includes('babel-loader'));
16
+ if (babelLoaderUseEntry) {
17
+ if (!babelLoaderUseEntry.options)
18
+ babelLoaderUseEntry.options = {};
19
+ if (babelLoaderUseEntry.options.plugins) {
20
+ babelLoaderUseEntry.options.plugins =
21
+ babelLoaderUseEntry.options.plugins.filter((p) => !(Array.isArray(p) && p[0] === 'transform-imports'));
22
+ // eslint-disable-next-line no-console
23
+ console.log('>>> Removed transform-imports plugin if it existed.');
24
+ }
25
+ if (!babelLoaderUseEntry.options.presets)
26
+ babelLoaderUseEntry.options.presets = [];
27
+ const wpPresetIndex = babelLoaderUseEntry.options.presets.findIndex((p) => (Array.isArray(p) &&
28
+ p[0].includes('@wordpress/babel-preset-default')) ||
29
+ (typeof p === 'string' &&
30
+ p.includes('@wordpress/babel-preset-default')));
31
+ if (wpPresetIndex !== -1) {
32
+ const presetEntry = babelLoaderUseEntry.options.presets[wpPresetIndex];
33
+ if (Array.isArray(presetEntry)) {
34
+ if (!presetEntry[1])
35
+ presetEntry[1] = {};
36
+ if (presetEntry[1].modules !== false) {
37
+ presetEntry[1].modules = false;
38
+ // eslint-disable-next-line no-console
39
+ console.log('>>> Set modules: false for existing WP preset array.');
40
+ }
41
+ }
42
+ else {
43
+ babelLoaderUseEntry.options.presets[wpPresetIndex] = [
44
+ presetEntry,
45
+ { modules: false },
46
+ ];
47
+ // eslint-disable-next-line no-console
48
+ console.log('>>> Converted WP preset string to array and set modules: false.');
49
+ }
50
+ }
51
+ else {
52
+ babelLoaderUseEntry.options.presets.push([
53
+ '@wordpress/babel-preset-default',
54
+ { modules: false },
55
+ ]);
56
+ // eslint-disable-next-line no-console
57
+ console.log('>>> Added @wordpress/babel-preset-default with modules: false.');
58
+ }
59
+ }
60
+ else {
61
+ // eslint-disable-next-line no-console
62
+ console.error('>>> Could not find babel-loader entry *within* the identified rule.');
63
+ }
64
+ }
65
+ else {
66
+ // eslint-disable-next-line no-console
67
+ console.error('>>> Could not find default wp-scripts rule using babel-loader.');
68
+ }
69
+ return defaultConfig;
70
+ }
71
+ //# sourceMappingURL=webpack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@blockbite/shared-utils",
3
+ "version": "2.0.0",
4
+ "description": "Blockbite shared JavaScript utilities",
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "main": "./dist/cjs/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/cjs/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ },
18
+ "./*": {
19
+ "import": "./dist/*.js",
20
+ "require": "./dist/cjs/*.js",
21
+ "types": "./dist/*.d.ts"
22
+ }
23
+ },
24
+ "files": [
25
+ "dist/**/*"
26
+ ],
27
+ "keywords": [
28
+ "utilities",
29
+ "helpers",
30
+ "shared"
31
+ ],
32
+ "author": "Merijn van Essen & Tianhe Yang",
33
+ "license": "GPL-2.0-or-later",
34
+ "devDependencies": {
35
+ "typescript": "^5.0.0"
36
+ },
37
+ "peerDependencies": {
38
+ "webpack": "^5.99.6"
39
+ },
40
+ "scripts": {
41
+ "build:esm": "tsc -p tsconfig.json",
42
+ "build:cjs": "tsc -p tsconfig.cjs.json",
43
+ "build": "npm run clean && npm run build:esm && npm run build:cjs",
44
+ "clean": "rm -rf dist"
45
+ }
46
+ }