@cosmos.gl/graph 2.6.0 → 2.6.1

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 (185) hide show
  1. package/dist/config.d.ts +4 -1
  2. package/dist/helper.d.ts +2 -2
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.js +4949 -14407
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +1 -1690
  7. package/dist/index.min.js.map +1 -1
  8. package/dist/modules/Clusters/index.d.ts +2 -2
  9. package/dist/modules/Drag/index.d.ts +3 -3
  10. package/dist/modules/ForceCenter/index.d.ts +1 -1
  11. package/dist/modules/ForceGravity/index.d.ts +1 -1
  12. package/dist/modules/ForceLink/index.d.ts +1 -1
  13. package/dist/modules/ForceManyBody/index.d.ts +1 -1
  14. package/dist/modules/ForceManyBodyQuadtree/index.d.ts +1 -1
  15. package/dist/modules/ForceMouse/index.d.ts +1 -1
  16. package/dist/modules/GraphData/index.d.ts +1 -1
  17. package/dist/modules/Lines/index.d.ts +2 -2
  18. package/dist/modules/Points/index.d.ts +2 -2
  19. package/dist/modules/Shared/buffer.d.ts +1 -1
  20. package/dist/modules/Store/index.d.ts +1 -1
  21. package/dist/modules/Zoom/index.d.ts +3 -3
  22. package/dist/modules/core-module.d.ts +5 -5
  23. package/package.json +5 -1
  24. package/.eslintrc +0 -147
  25. package/.github/SECURITY.md +0 -19
  26. package/.github/dco.yml +0 -4
  27. package/.github/workflows/github_pages.yml +0 -54
  28. package/.storybook/main.ts +0 -26
  29. package/.storybook/manager-head.html +0 -1
  30. package/.storybook/manager.ts +0 -14
  31. package/.storybook/preview.ts +0 -29
  32. package/.storybook/style.css +0 -3
  33. package/CHARTER.md +0 -69
  34. package/CODE_OF_CONDUCT.md +0 -178
  35. package/CONTRIBUTING.md +0 -22
  36. package/GOVERNANCE.md +0 -21
  37. package/cosmos-2-0-migration-notes.md +0 -98
  38. package/cosmos_awesome.md +0 -96
  39. package/dist/stories/beginners/basic-set-up/data-gen.d.ts +0 -4
  40. package/dist/stories/beginners/basic-set-up/index.d.ts +0 -5
  41. package/dist/stories/beginners/link-hovering/data-generator.d.ts +0 -19
  42. package/dist/stories/beginners/link-hovering/index.d.ts +0 -5
  43. package/dist/stories/beginners/pinned-points/data-gen.d.ts +0 -5
  44. package/dist/stories/beginners/pinned-points/index.d.ts +0 -5
  45. package/dist/stories/beginners/point-labels/data.d.ts +0 -13
  46. package/dist/stories/beginners/point-labels/index.d.ts +0 -9
  47. package/dist/stories/beginners/point-labels/labels.d.ts +0 -8
  48. package/dist/stories/beginners/quick-start.d.ts +0 -5
  49. package/dist/stories/beginners/remove-points/config.d.ts +0 -2
  50. package/dist/stories/beginners/remove-points/data-gen.d.ts +0 -4
  51. package/dist/stories/beginners/remove-points/index.d.ts +0 -5
  52. package/dist/stories/beginners.stories.d.ts +0 -11
  53. package/dist/stories/clusters/polygon-selection/index.d.ts +0 -6
  54. package/dist/stories/clusters/polygon-selection/polygon.d.ts +0 -20
  55. package/dist/stories/clusters/radial.d.ts +0 -5
  56. package/dist/stories/clusters/with-labels.d.ts +0 -6
  57. package/dist/stories/clusters/worm.d.ts +0 -5
  58. package/dist/stories/clusters.stories.d.ts +0 -9
  59. package/dist/stories/create-cluster-labels.d.ts +0 -4
  60. package/dist/stories/create-cosmos.d.ts +0 -16
  61. package/dist/stories/create-story.d.ts +0 -16
  62. package/dist/stories/experiments/full-mesh.d.ts +0 -5
  63. package/dist/stories/experiments/mesh-with-holes.d.ts +0 -5
  64. package/dist/stories/experiments.stories.d.ts +0 -7
  65. package/dist/stories/generate-mesh-data.d.ts +0 -12
  66. package/dist/stories/geospatial/moscow-metro-stations/index.d.ts +0 -15
  67. package/dist/stories/geospatial/moscow-metro-stations/moscow-metro-coords.d.ts +0 -1
  68. package/dist/stories/geospatial/moscow-metro-stations/point-colors.d.ts +0 -1
  69. package/dist/stories/geospatial.stories.d.ts +0 -6
  70. package/dist/stories/shapes/all-shapes/index.d.ts +0 -5
  71. package/dist/stories/shapes/image-example/index.d.ts +0 -5
  72. package/dist/stories/shapes.stories.d.ts +0 -7
  73. package/logo.svg +0 -3
  74. package/rollup.config.js +0 -70
  75. package/src/config.ts +0 -734
  76. package/src/declaration.d.ts +0 -12
  77. package/src/graph/utils/error-message.ts +0 -23
  78. package/src/helper.ts +0 -74
  79. package/src/index.ts +0 -1635
  80. package/src/modules/Clusters/calculate-centermass.frag +0 -9
  81. package/src/modules/Clusters/calculate-centermass.vert +0 -26
  82. package/src/modules/Clusters/force-cluster.frag +0 -39
  83. package/src/modules/Clusters/index.ts +0 -200
  84. package/src/modules/Drag/index.ts +0 -33
  85. package/src/modules/FPSMonitor/css.ts +0 -53
  86. package/src/modules/FPSMonitor/index.ts +0 -28
  87. package/src/modules/ForceCenter/calculate-centermass.frag +0 -9
  88. package/src/modules/ForceCenter/calculate-centermass.vert +0 -18
  89. package/src/modules/ForceCenter/force-center.frag +0 -27
  90. package/src/modules/ForceCenter/index.ts +0 -104
  91. package/src/modules/ForceGravity/force-gravity.frag +0 -27
  92. package/src/modules/ForceGravity/index.ts +0 -33
  93. package/src/modules/ForceLink/force-spring.ts +0 -73
  94. package/src/modules/ForceLink/index.ts +0 -149
  95. package/src/modules/ForceManyBody/calculate-level.frag +0 -9
  96. package/src/modules/ForceManyBody/calculate-level.vert +0 -25
  97. package/src/modules/ForceManyBody/force-centermass.frag +0 -52
  98. package/src/modules/ForceManyBody/force-level.frag +0 -121
  99. package/src/modules/ForceManyBody/index.ts +0 -223
  100. package/src/modules/ForceManyBody/quadtree-frag-shader.ts +0 -90
  101. package/src/modules/ForceManyBodyQuadtree/calculate-level.frag +0 -9
  102. package/src/modules/ForceManyBodyQuadtree/calculate-level.vert +0 -25
  103. package/src/modules/ForceManyBodyQuadtree/index.ts +0 -157
  104. package/src/modules/ForceManyBodyQuadtree/quadtree-frag-shader.ts +0 -93
  105. package/src/modules/ForceMouse/force-mouse.frag +0 -24
  106. package/src/modules/ForceMouse/index.ts +0 -32
  107. package/src/modules/GraphData/index.ts +0 -384
  108. package/src/modules/Lines/draw-curve-line.frag +0 -46
  109. package/src/modules/Lines/draw-curve-line.vert +0 -194
  110. package/src/modules/Lines/geometry.ts +0 -18
  111. package/src/modules/Lines/hovered-line-index.frag +0 -27
  112. package/src/modules/Lines/hovered-line-index.vert +0 -8
  113. package/src/modules/Lines/index.ts +0 -273
  114. package/src/modules/Points/atlas-utils.ts +0 -137
  115. package/src/modules/Points/drag-point.frag +0 -20
  116. package/src/modules/Points/draw-highlighted.frag +0 -16
  117. package/src/modules/Points/draw-highlighted.vert +0 -86
  118. package/src/modules/Points/draw-points.frag +0 -243
  119. package/src/modules/Points/draw-points.vert +0 -127
  120. package/src/modules/Points/fill-sampled-points.frag +0 -9
  121. package/src/modules/Points/fill-sampled-points.vert +0 -29
  122. package/src/modules/Points/find-hovered-point.frag +0 -9
  123. package/src/modules/Points/find-hovered-point.vert +0 -57
  124. package/src/modules/Points/find-points-on-area-selection.frag +0 -48
  125. package/src/modules/Points/find-points-on-polygon-selection.frag +0 -65
  126. package/src/modules/Points/index.ts +0 -968
  127. package/src/modules/Points/track-positions.frag +0 -18
  128. package/src/modules/Points/update-position.frag +0 -37
  129. package/src/modules/Shared/buffer.ts +0 -37
  130. package/src/modules/Shared/clear.frag +0 -7
  131. package/src/modules/Shared/quad.vert +0 -12
  132. package/src/modules/Store/index.ts +0 -173
  133. package/src/modules/Zoom/index.ts +0 -148
  134. package/src/modules/core-module.ts +0 -28
  135. package/src/stories/1. welcome.mdx +0 -81
  136. package/src/stories/2. configuration.mdx +0 -113
  137. package/src/stories/3. api-reference.mdx +0 -591
  138. package/src/stories/beginners/basic-set-up/data-gen.ts +0 -33
  139. package/src/stories/beginners/basic-set-up/index.ts +0 -163
  140. package/src/stories/beginners/basic-set-up/style.css +0 -35
  141. package/src/stories/beginners/link-hovering/data-generator.ts +0 -198
  142. package/src/stories/beginners/link-hovering/index.ts +0 -61
  143. package/src/stories/beginners/link-hovering/style.css +0 -73
  144. package/src/stories/beginners/pinned-points/data-gen.ts +0 -153
  145. package/src/stories/beginners/pinned-points/index.ts +0 -61
  146. package/src/stories/beginners/point-labels/data.ts +0 -73
  147. package/src/stories/beginners/point-labels/index.ts +0 -65
  148. package/src/stories/beginners/point-labels/labels.ts +0 -46
  149. package/src/stories/beginners/point-labels/style.css +0 -16
  150. package/src/stories/beginners/quick-start.ts +0 -50
  151. package/src/stories/beginners/remove-points/config.ts +0 -25
  152. package/src/stories/beginners/remove-points/data-gen.ts +0 -30
  153. package/src/stories/beginners/remove-points/index.ts +0 -92
  154. package/src/stories/beginners/remove-points/style.css +0 -31
  155. package/src/stories/beginners.stories.ts +0 -131
  156. package/src/stories/clusters/polygon-selection/index.ts +0 -51
  157. package/src/stories/clusters/polygon-selection/polygon.ts +0 -143
  158. package/src/stories/clusters/polygon-selection/style.css +0 -8
  159. package/src/stories/clusters/radial.ts +0 -24
  160. package/src/stories/clusters/with-labels.ts +0 -53
  161. package/src/stories/clusters/worm.ts +0 -40
  162. package/src/stories/clusters.stories.ts +0 -77
  163. package/src/stories/create-cluster-labels.ts +0 -50
  164. package/src/stories/create-cosmos.ts +0 -68
  165. package/src/stories/create-story.ts +0 -51
  166. package/src/stories/experiments/full-mesh.ts +0 -13
  167. package/src/stories/experiments/mesh-with-holes.ts +0 -13
  168. package/src/stories/experiments.stories.ts +0 -43
  169. package/src/stories/generate-mesh-data.ts +0 -125
  170. package/src/stories/geospatial/moscow-metro-stations/index.ts +0 -62
  171. package/src/stories/geospatial/moscow-metro-stations/moscow-metro-coords.ts +0 -1
  172. package/src/stories/geospatial/moscow-metro-stations/point-colors.ts +0 -46
  173. package/src/stories/geospatial/moscow-metro-stations/style.css +0 -30
  174. package/src/stories/geospatial.stories.ts +0 -30
  175. package/src/stories/shapes/all-shapes/index.ts +0 -69
  176. package/src/stories/shapes/image-example/icons/box.png +0 -0
  177. package/src/stories/shapes/image-example/icons/lego.png +0 -0
  178. package/src/stories/shapes/image-example/icons/s.png +0 -0
  179. package/src/stories/shapes/image-example/icons/swift.png +0 -0
  180. package/src/stories/shapes/image-example/icons/toolbox.png +0 -0
  181. package/src/stories/shapes/image-example/index.ts +0 -238
  182. package/src/stories/shapes.stories.ts +0 -37
  183. package/src/variables.ts +0 -68
  184. package/tsconfig.json +0 -41
  185. package/vite.config.ts +0 -54
@@ -1,12 +0,0 @@
1
- declare module '*.frag';
2
- declare module '*.vert';
3
- declare module '*.png' {
4
- const content: string
5
- // eslint-disable-next-line import/no-default-export
6
- export default content
7
- }
8
- declare module '*?raw' {
9
- const content: string
10
- // eslint-disable-next-line import/no-default-export
11
- export default content
12
- }
@@ -1,23 +0,0 @@
1
- /**
2
- * Creates and appends an error message element to the container
3
- * @param container The HTML element to append the error message to
4
- * @returns The created error div element
5
- */
6
- export function createWebGLErrorMessage (container: HTMLElement): HTMLDivElement {
7
- const errorDiv = document.createElement('div')
8
- errorDiv.style.cssText = `
9
- color: var(--cosmosgl-error-message-color);
10
- padding: 0em 2em;
11
- position: absolute;
12
- top: 50%; left: 0; right: 0;
13
- transform: translateY(-50%);
14
- z-index: 1000;
15
- font-family: inherit;
16
- font-size: 1rem;
17
- text-align: center;
18
- user-select: none;
19
- `
20
- errorDiv.textContent = 'Sorry, your device or browser does not support the required WebGL features for this visualization'
21
- container.appendChild(errorDiv)
22
- return errorDiv
23
- }
package/src/helper.ts DELETED
@@ -1,74 +0,0 @@
1
- import { color as d3Color } from 'd3-color'
2
- import regl from 'regl'
3
- import DOMPurify from 'dompurify'
4
-
5
- export const isFunction = <T>(a: T): boolean => typeof a === 'function'
6
- export const isArray = <T>(a: unknown | T[]): a is T[] => Array.isArray(a)
7
- export const isObject = <T>(a: T): boolean => (a instanceof Object)
8
- export const isAClassInstance = <T>(a: T): boolean => {
9
- if (a instanceof Object) {
10
- // eslint-disable-next-line @typescript-eslint/ban-types
11
- return (a as T & Object).constructor.name !== 'Function' && (a as T & Object).constructor.name !== 'Object'
12
- } else return false
13
- }
14
- export const isPlainObject = <T>(a: T): boolean => isObject(a) && !isArray(a) && !isFunction(a) && !isAClassInstance(a)
15
-
16
- export function getRgbaColor (value: string | [number, number, number, number]): [number, number, number, number] {
17
- let rgba: [number, number, number, number]
18
- if (isArray(value)) {
19
- rgba = value
20
- } else {
21
- const color = d3Color(value)
22
- const rgb = color?.rgb()
23
- rgba = [rgb?.r || 0, rgb?.g || 0, rgb?.b || 0, color?.opacity ?? 1]
24
- }
25
-
26
- return [
27
- rgba[0] / 255,
28
- rgba[1] / 255,
29
- rgba[2] / 255,
30
- rgba[3],
31
- ]
32
- }
33
-
34
- export function rgbToBrightness (r: number, g: number, b: number): number {
35
- return 0.2126 * r + 0.7152 * g + 0.0722 * b
36
- }
37
-
38
- export function readPixels (reglInstance: regl.Regl, fbo: regl.Framebuffer2D): Float32Array {
39
- let resultPixels = new Float32Array()
40
- reglInstance({ framebuffer: fbo })(() => {
41
- resultPixels = reglInstance.read()
42
- })
43
-
44
- return resultPixels
45
- }
46
-
47
- export function clamp (num: number, min: number, max: number): number {
48
- return Math.min(Math.max(num, min), max)
49
- }
50
-
51
- export function isNumber (value: number | undefined | null | typeof NaN): boolean {
52
- return value !== undefined && value !== null && !Number.isNaN(value)
53
- }
54
-
55
- /**
56
- * Sanitizes HTML content to prevent XSS attacks using DOMPurify
57
- *
58
- * This function is used internally to sanitize HTML content before setting innerHTML,
59
- * such as in attribution text. It uses a safe default configuration that allows
60
- * only common safe HTML elements and attributes.
61
- *
62
- * @param html The HTML string to sanitize
63
- * @param options Optional DOMPurify configuration options to override defaults
64
- * @returns Sanitized HTML string safe for innerHTML usage
65
- */
66
- export function sanitizeHtml (html: string, options?: DOMPurify.Config): string {
67
- return DOMPurify.sanitize(html, {
68
- // Default configuration: allow common safe HTML elements and attributes
69
- ALLOWED_TAGS: ['a', 'b', 'i', 'em', 'strong', 'span', 'div', 'p', 'br'],
70
- ALLOWED_ATTR: ['href', 'target', 'class', 'id', 'style'],
71
- ALLOW_DATA_ATTR: false,
72
- ...options,
73
- })
74
- }