@luna-park/design 1.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 (130) hide show
  1. package/eslint.config.js +9 -0
  2. package/histoire.config.ts +60 -0
  3. package/package.json +71 -0
  4. package/public/favicon_rc.png +0 -0
  5. package/src/app.ts +9 -0
  6. package/src/assets/controls/mouse.svg +54 -0
  7. package/src/assets/logo_neon.svg +18 -0
  8. package/src/assets/logo_rc_color.svg +54 -0
  9. package/src/assets/logo_rc_square_blue.svg +16 -0
  10. package/src/assets/logo_square_blue.svg +17 -0
  11. package/src/assets/logo_square_white.svg +17 -0
  12. package/src/assets/logo_text_white.svg +32 -0
  13. package/src/assets/stars.svg +66 -0
  14. package/src/components/breadcrumb/LBreadLink.vue +40 -0
  15. package/src/components/breadcrumb/LBreadcrumb.story.vue +29 -0
  16. package/src/components/breadcrumb/LBreadcrumb.vue +54 -0
  17. package/src/components/breadcrumb/type.ts +6 -0
  18. package/src/components/context/LContextMenu.story.vue +73 -0
  19. package/src/components/context/LContextMenu.vue +24 -0
  20. package/src/components/context/LContextMenuElement.vue +54 -0
  21. package/src/components/context/LContextMenuWrapper.vue +55 -0
  22. package/src/components/context/LContextOption.story.vue +18 -0
  23. package/src/components/context/LContextOption.vue +160 -0
  24. package/src/components/context/LContextWrapper.story.vue +11 -0
  25. package/src/components/context/LContextWrapper.vue +60 -0
  26. package/src/components/context/store.ts +62 -0
  27. package/src/components/context/type.ts +27 -0
  28. package/src/components/dialog/LDialogAlert.vue +38 -0
  29. package/src/components/dialog/LDialogConfirm.vue +45 -0
  30. package/src/components/dialog/LDialogInjector.story.vue +41 -0
  31. package/src/components/dialog/LDialogInjector.vue +40 -0
  32. package/src/components/dialog/LDialogPrompt.vue +67 -0
  33. package/src/components/dialog/LDialogWrapper.vue +66 -0
  34. package/src/components/dialog/lib.ts +50 -0
  35. package/src/components/dialog/store.ts +32 -0
  36. package/src/components/floating/LFloating.story.vue +35 -0
  37. package/src/components/floating/LFloating.vue +362 -0
  38. package/src/components/form/LAutoComplete.vue +13 -0
  39. package/src/components/form/LAutoInput.story.vue +43 -0
  40. package/src/components/form/LAutoInput.vue +101 -0
  41. package/src/components/form/LButton.story.vue +147 -0
  42. package/src/components/form/LButton.vue +227 -0
  43. package/src/components/form/LCheckbox.story.vue +13 -0
  44. package/src/components/form/LCheckbox.vue +70 -0
  45. package/src/components/form/LColorInput.story.vue +28 -0
  46. package/src/components/form/LColorInput.vue +101 -0
  47. package/src/components/form/LImageInput.story.vue +28 -0
  48. package/src/components/form/LImageInput.vue +75 -0
  49. package/src/components/form/LInfo.story.vue +22 -0
  50. package/src/components/form/LInfo.vue +44 -0
  51. package/src/components/form/LInput.story.vue +150 -0
  52. package/src/components/form/LInput.vue +493 -0
  53. package/src/components/form/LInputDateFloating.vue +61 -0
  54. package/src/components/form/LInputNumber.story.vue +58 -0
  55. package/src/components/form/LProgress.story.vue +49 -0
  56. package/src/components/form/LProgress.vue +77 -0
  57. package/src/components/form/LSelect.story.vue +67 -0
  58. package/src/components/form/LSelect.vue +142 -0
  59. package/src/components/form/LSwitch.story.vue +15 -0
  60. package/src/components/form/LSwitch.vue +79 -0
  61. package/src/components/form/LTextarea.story.vue +29 -0
  62. package/src/components/form/LTextarea.vue +151 -0
  63. package/src/components/form/color-picker/LColorAlpha.vue +129 -0
  64. package/src/components/form/color-picker/LColorHue.vue +109 -0
  65. package/src/components/form/color-picker/LColorModels.vue +223 -0
  66. package/src/components/form/color-picker/LColorPicker.story.vue +44 -0
  67. package/src/components/form/color-picker/LColorPicker.vue +105 -0
  68. package/src/components/form/color-picker/LColorShade.vue +114 -0
  69. package/src/components/form/color-picker/LImagePicker.vue +477 -0
  70. package/src/components/form/dropdown/LDropdown.story.vue +123 -0
  71. package/src/components/form/dropdown/LDropdown.vue +483 -0
  72. package/src/components/form/dropdown/LDropdownOption.vue +224 -0
  73. package/src/components/form/dropdown/LDropdownSelection.vue +76 -0
  74. package/src/components/form/dropdown/types.ts +15 -0
  75. package/src/components/form/emoji-picker/LEmojiList.vue +54 -0
  76. package/src/components/form/emoji-picker/LEmojiListCategory.vue +92 -0
  77. package/src/components/form/emoji-picker/LEmojiPicker.story.vue +32 -0
  78. package/src/components/form/emoji-picker/LEmojiPicker.vue +55 -0
  79. package/src/components/form/emoji-picker/LEmojiSelect.story.vue +22 -0
  80. package/src/components/form/emoji-picker/LEmojiSelect.vue +51 -0
  81. package/src/components/form/icon-picker/LIconList.vue +100 -0
  82. package/src/components/form/icon-picker/LIconMaterial.vue +43 -0
  83. package/src/components/form/icon-picker/LIconPicker.story.vue +39 -0
  84. package/src/components/form/icon-picker/LIconPicker.vue +92 -0
  85. package/src/components/form/icon-picker/LIconSelect.story.vue +25 -0
  86. package/src/components/form/icon-picker/LIconSelect.vue +91 -0
  87. package/src/components/icons/LControls.story.vue +92 -0
  88. package/src/components/icons/LKeyIcon.vue +66 -0
  89. package/src/components/icons/LMouseIcon.vue +85 -0
  90. package/src/components/icons/LShortcut.story.vue +12 -0
  91. package/src/components/icons/LShortcut.vue +45 -0
  92. package/src/components/layout/LResizer.story.vue +89 -0
  93. package/src/components/layout/LResizer.vue +138 -0
  94. package/src/components/misc/LIcon.vue +34 -0
  95. package/src/components/misc/LLineLoader.story.vue +18 -0
  96. package/src/components/misc/LLineLoader.vue +52 -0
  97. package/src/components/misc/LLoading.story.vue +14 -0
  98. package/src/components/misc/LLoading.vue +28 -0
  99. package/src/components/misc/LStarsBackground.story.vue +16 -0
  100. package/src/components/misc/LStarsBackground.vue +121 -0
  101. package/src/components/navigation/LElementsPagination.vue +75 -0
  102. package/src/components/navigation/LPagination.story.vue +57 -0
  103. package/src/components/navigation/LPagination.vue +125 -0
  104. package/src/components/table/LCell.vue +37 -0
  105. package/src/components/table/LLine.vue +24 -0
  106. package/src/components/table/LTable.story.vue +35 -0
  107. package/src/components/table/LTable.vue +21 -0
  108. package/src/components/toasts/LContainer.story.vue +47 -0
  109. package/src/components/toasts/LContainer.vue +140 -0
  110. package/src/components/toasts/LToast.story.vue +47 -0
  111. package/src/components/toasts/LToast.vue +30 -0
  112. package/src/components/toasts/LToastInjector.vue +54 -0
  113. package/src/components/toasts/requests.ts +46 -0
  114. package/src/components/toasts/store.ts +45 -0
  115. package/src/components/utils/LVirtualElement.vue +36 -0
  116. package/src/components/utils/LVirtualScroller.story.vue +62 -0
  117. package/src/components/utils/LVirtualScroller.vue +105 -0
  118. package/src/components/utils/virtual.ts +6 -0
  119. package/src/env.d.ts +9 -0
  120. package/src/histoire.setup.ts +8 -0
  121. package/src/icons.ts +8 -0
  122. package/src/index.ts +58 -0
  123. package/src/style/colors.scss +152 -0
  124. package/src/style/fonts.scss +45 -0
  125. package/src/style/index.scss +64 -0
  126. package/src/style/layout.scss +3 -0
  127. package/src/style/lengths.scss +21 -0
  128. package/src/style/scrollbar.scss +27 -0
  129. package/tsconfig.json +34 -0
  130. package/vite.config.ts +68 -0
@@ -0,0 +1,9 @@
1
+ import lpConfigVue from "@luna-park/eslint-config/vue";
2
+ import tseslint from "typescript-eslint";
3
+
4
+ export default tseslint.config(
5
+ {
6
+ ignores: ["**/dist/*"]
7
+ },
8
+ ...lpConfigVue
9
+ );
@@ -0,0 +1,60 @@
1
+ import { defineConfig } from "histoire";
2
+ import { HstVue } from "@histoire/plugin-vue";
3
+
4
+ export default defineConfig({
5
+ plugins: [
6
+ HstVue()
7
+ ],
8
+ setupFile: `/src/histoire.setup.ts`,
9
+ theme: {
10
+ title: "Rollercoaster",
11
+ colors: {
12
+ gray: {
13
+ 100: "#ffffff",
14
+ 200: "#e3e7f5",
15
+ 300: "#b3bcd7",
16
+ 400: "#7e8cb6",
17
+ 50: "#ffffff",
18
+ 500: "#54618a",
19
+ 600: "#2b375a",
20
+ 700: "#293451",
21
+ 750: "#262e45",
22
+ 800: "#232b41",
23
+ 850: "#1e2533",
24
+ 900: "#1e2533",
25
+ 950: "#1e2533"
26
+ },
27
+ primary: {
28
+ 100: "#b9dfff",
29
+ 200: "#8dc9ff",
30
+ 300: "#6dbcff",
31
+ 400: "#47aaff",
32
+ 50: "#ddefff",
33
+ 500: "#2d9eff",
34
+ 600: "#008cff",
35
+ 700: "#008cff",
36
+ 800: "#0072c9",
37
+ 900: "#00529a"
38
+ }
39
+ },
40
+ favicon: "favicon_rc.png",
41
+ logo: {
42
+ dark: "/src/assets/logo_rc_color.svg",
43
+ square: "/src/assets/logo_rc_square_blue.svg"
44
+ }
45
+ },
46
+ tree: {
47
+ file: ({ path }) => {
48
+ const splitPath = path.split("/");
49
+ splitPath.shift();
50
+ splitPath.shift();
51
+ splitPath[splitPath.length - 1] = splitPath.at(-1).split(".")[0];
52
+ return splitPath;
53
+ }
54
+ },
55
+ vite: {
56
+ server: {
57
+ port: 1980
58
+ }
59
+ }
60
+ });
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@luna-park/design",
3
+ "version": "1.0.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "require": "./dist/index.umd.cjs",
10
+ "import": "./dist/index.js"
11
+ },
12
+ "./index.css": "./dist/index.css"
13
+ },
14
+ "main": "./dist/index.umd.cjs",
15
+ "module": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "dependencies": {
18
+ "@material/web": "^2.4.1",
19
+ "symbol-db": "^1.0.2"
20
+ },
21
+ "devDependencies": {
22
+ "@floating-ui/vue": "^1.1.9",
23
+ "@fortawesome/fontawesome-svg-core": "^7.1.0",
24
+ "@fortawesome/free-brands-svg-icons": "^7.1.0",
25
+ "@fortawesome/pro-regular-svg-icons": "^6.7.2",
26
+ "@fortawesome/pro-solid-svg-icons": "^6.7.2",
27
+ "@fortawesome/vue-fontawesome": "^3.1.3",
28
+ "@histoire/plugin-vue": "1.0.0-beta.1",
29
+ "@laynezh/vite-plugin-lib-assets": "^2.1.3",
30
+ "@luna-park/eslint-config": "^1.0.2",
31
+ "@types/node": "^25.0.10",
32
+ "@vitejs/plugin-vue": "^6.0.3",
33
+ "@vueuse/core": "^14.1.0",
34
+ "eslint": "^9.39.2",
35
+ "globals": "^17.1.0",
36
+ "histoire": "1.0.0-beta.1",
37
+ "pinia": "^3.0.4",
38
+ "rollup-plugin-visualizer": "^6.0.5",
39
+ "synth-color": "^1.1.5",
40
+ "typescript": "^5.9.3",
41
+ "typescript-eslint": "^8.54.0",
42
+ "vite": "^7.3.1",
43
+ "vite-plugin-dts": "4.5.4",
44
+ "vite-plugin-static-copy": "^3.1.6",
45
+ "vue": "^3.5.27",
46
+ "@luna-park/utils": "^2.0.0"
47
+ },
48
+ "peerDependencies": {
49
+ "@floating-ui/vue": "^0.2.0",
50
+ "@fortawesome/fontawesome-svg-core": "^6.2.0",
51
+ "@fortawesome/free-brands-svg-icons": "^6.2.0",
52
+ "@fortawesome/pro-regular-svg-icons": "^6.2.0",
53
+ "@fortawesome/pro-solid-svg-icons": "^6.2.0",
54
+ "@fortawesome/vue-fontawesome": "^3.0.2",
55
+ "@material/web": "^1.1.1",
56
+ "@vueuse/core": "^10.11.0",
57
+ "pinia": "^3.0.2",
58
+ "symbol-db": "^1.0.1",
59
+ "synth-color": "^1.1.2",
60
+ "uuid": "^9.0.0",
61
+ "vue": "^3.5.13",
62
+ "@luna-park/search": "^1.0.0",
63
+ "@luna-park/utils": "^2.0.0"
64
+ },
65
+ "scripts": {
66
+ "build": "vite build",
67
+ "build:story": "histoire build",
68
+ "dev": "vite build --watch",
69
+ "dev:story": "histoire dev"
70
+ }
71
+ }
Binary file
package/src/app.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { App } from "vue";
2
+ import { createPinia } from "pinia";
3
+
4
+ export function initApp(app: App) {
5
+ const pinia = createPinia();
6
+ app.use(pinia);
7
+
8
+ return { pinia };
9
+ }
@@ -0,0 +1,54 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 15 19"
3
+ style="enable-background:new 0 0 15 19;" xml:space="preserve">
4
+ <style type="text/css">
5
+ .st0{fill:#FFFFFF;}
6
+ .st1{fill:currentColor;}
7
+ </style>
8
+ <path id="mouse" class="st0" d="M7.5,3C3,3,3,5.5,3,8.5c0,1.8,0.3,3.5,0.9,4.8C4.7,15.1,6,16,7.5,16c3.1,0,4.5-3.8,4.5-7.5C12,5.5,12,3,7.5,3z
9
+ M8,4.3C8,4.1,8.1,4,8.3,4c2.2,0.2,2.6,1.2,2.7,3H9.2C9.1,7,9,6.9,9,6.8V6.5c0-0.6-0.3-1.1-0.9-1.4C8.1,5.1,8,5,8,4.9V4.3z M7.5,6
10
+ C7.8,6,8,6.2,8,6.5v2C8,8.8,7.8,9,7.5,9S7,8.8,7,8.5v-2C7,6.2,7.2,6,7.5,6z M6.7,4C6.9,4,7,4.1,7,4.3v0.6C7,5,6.9,5.1,6.9,5.1
11
+ C6.3,5.4,6,5.9,6,6.5v0.2C6,6.9,5.9,7,5.8,7H4.3C4.1,7,4,6.9,4,6.7C4.2,5.1,4.7,4.2,6.7,4z M11,8.5c0,1.6-0.3,3.3-0.8,4.4
12
+ C9.5,14.3,8.6,15,7.5,15C4.7,15,4,10.9,4,8.5V8.2C4,8.1,4.1,8,4.2,8h1.5C5.9,8,6,8.1,6,8.2v0.2C6,9.2,6.6,9.9,7.4,10
13
+ C8.2,10.1,9,9.4,9,8.5V8.2C9,8.1,9.1,8,9.2,8h1.5C10.9,8,11,8.1,11,8.2V8.5z"/>
14
+ <g id="right">
15
+ <path class="st1" d="M11,7H9.2C9.1,7,9,6.9,9,6.8V6.5c0-0.6-0.3-1.1-0.9-1.4C8.1,5.1,8,5,8,4.9V4.3C8,4.1,8.1,4,8.3,4
16
+ C10.5,4.2,10.9,5.2,11,7z"/>
17
+ <path class="st1" d="M10.5,1.5C10.2,1.5,10,1.7,10,2c0,0.2,0.1,0.4,0.3,0.5c0.9,0.4,1.6,0.9,2,1.7c0.1,0.2,0.2,0.3,0.2,0.5
18
+ C12.6,4.9,12.8,5,13,5h0c0.3,0,0.6-0.4,0.5-0.7c-0.1-0.2-0.2-0.4-0.3-0.7c-0.6-1-1.4-1.7-2.5-2.1C10.6,1.5,10.6,1.5,10.5,1.5
19
+ L10.5,1.5z"/>
20
+ </g>
21
+ <path id="double-right" class="st1" d="M12,0.8L12,0.8c0,0.2,0.1,0.3,0.2,0.4c0.6,0.4,1.2,0.9,1.6,1.6C13.9,2.9,14.1,3,14.2,3h0c0.4,0,0.6-0.4,0.4-0.8
22
+ c-0.5-0.8-1.2-1.4-1.9-1.9C12.4,0.1,12,0.4,12,0.8z"/>
23
+ <g id="left">
24
+ <path class="st1" d="M7,4.3v0.6C7,5,6.9,5.1,6.9,5.1C6.3,5.4,6,5.9,6,6.5v0.2C6,6.9,5.9,7,5.8,7H4.3C4.1,7,4,6.9,4,6.7
25
+ C4.2,5.1,4.7,4.2,6.7,4C6.9,4,7,4.1,7,4.3z"/>
26
+ <path class="st1" d="M4.5,1.5c-0.1,0-0.1,0-0.2,0C3.2,2,2.4,2.7,1.8,3.7C1.7,3.9,1.6,4.1,1.5,4.3C1.4,4.6,1.6,5,2,5h0
27
+ c0.2,0,0.4-0.1,0.5-0.3c0.1-0.2,0.2-0.4,0.2-0.5c0.4-0.8,1.1-1.3,2-1.7C4.9,2.4,5,2.2,5,2C5,1.7,4.8,1.5,4.5,1.5L4.5,1.5z"/>
28
+ </g>
29
+ <path id="double-left" class="st1" d="M3,0.8L3,0.8C3,1,2.9,1.1,2.8,1.2C2.1,1.6,1.6,2.2,1.2,2.8C1.1,2.9,0.9,3,0.8,3h0C0.4,3,0.1,2.6,0.4,2.2
30
+ c0.5-0.8,1.2-1.4,1.9-1.9C2.6,0.1,3,0.4,3,0.8z"/>
31
+ <g id="move">
32
+ <path class="st1" d="M13.3,8.2c-0.1,0-0.3,0.1-0.3,0.3v2c0,0.1,0.1,0.3,0.3,0.3c0.1,0,0.1,0,0.1-0.1l1.3-1c0.1-0.1,0.1-0.3,0-0.4
33
+ l-1.3-1C13.4,8.3,13.3,8.2,13.3,8.2L13.3,8.2z"/>
34
+ <path class="st1" d="M7.5,0.2c-0.1,0-0.2,0-0.2,0.1l-1,1.3C6.2,1.8,6.3,2,6.5,2h2c0.2,0,0.3-0.2,0.2-0.4l-1-1.3
35
+ C7.6,0.2,7.6,0.2,7.5,0.2L7.5,0.2z"/>
36
+ <path class="st1" d="M1.7,8.2c-0.1,0-0.1,0-0.1,0.1l-1.3,1c-0.1,0.1-0.1,0.3,0,0.4l1.3,1c0,0,0.1,0.1,0.1,0.1
37
+ c0.1,0,0.3-0.1,0.3-0.3v-2C2,8.4,1.9,8.2,1.7,8.2L1.7,8.2z"/>
38
+ <path class="st1" d="M8.5,17h-2c-0.2,0-0.3,0.2-0.2,0.4l1,1.3c0,0.1,0.1,0.1,0.2,0.1s0.2,0,0.2-0.1l1-1.3C8.8,17.2,8.7,17,8.5,17
39
+ L8.5,17z"/>
40
+ </g>
41
+ <path id="mouse-scroll" class="st0" d="M9.7,3.3c0.1,0.3,0.1,0.7,0,1c0,0,0,0,0,0c1,0.4,1.3,1.3,1.4,2.7H9.2C9.1,7,9,6.9,9,6.8V6.5
42
+ c0-0.6-0.3-1.1-0.9-1.4C8.1,5.1,8,5.1,8,5H7c0,0.1-0.1,0.1-0.1,0.1C6.3,5.4,6,5.9,6,6.5v0.2C6,6.9,5.9,7,5.8,7H4.3
43
+ C4.1,7,4,6.9,4,6.7c0.1-1.2,0.4-2,1.3-2.4c0,0,0,0,0,0c-0.2-0.3-0.2-0.7,0-1C3,4,3,6.1,3,8.5c0,1.8,0.3,3.5,0.9,4.8
44
+ C4.7,15.1,6,16,7.5,16c3.1,0,4.5-3.8,4.5-7.5C12,6.1,12,4,9.7,3.3z M7,6.5C7,6.2,7.2,6,7.5,6S8,6.2,8,6.5v2C8,8.8,7.8,9,7.5,9
45
+ S7,8.8,7,8.5V6.5z M11,8.5c0,1.6-0.3,3.3-0.8,4.4C9.5,14.3,8.6,15,7.5,15C4.7,15,4,10.9,4,8.5V8.2C4,8.1,4.1,8,4.2,8h1.5
46
+ C5.9,8,6,8.1,6,8.2v0.2C6,9.2,6.6,9.9,7.4,10C8.2,10.1,9,9.4,9,8.5V8.2C9,8.1,9.1,8,9.2,8h1.5C10.9,8,11,8.1,11,8.2V8.5z"/>
47
+ <path id="scroll" class="st1" d="M8,6.5v2C8,8.8,7.8,9,7.5,9S7,8.8,7,8.5v-2C7,6.2,7.2,6,7.5,6S8,6.2,8,6.5z"/>
48
+ <g id="scroll-arrow">
49
+ <path class="st1" d="M8.5,11h-2c-0.2,0-0.3,0.2-0.2,0.4l1,1.3c0,0.1,0.1,0.1,0.2,0.1s0.2,0,0.2-0.1l1-1.3C8.8,11.2,8.7,11,8.5,11
50
+ L8.5,11z"/>
51
+ <path class="st1" d="M7.5,2.2c-0.1,0-0.2,0-0.2,0.1l-1,1.3C6.2,3.8,6.3,4,6.5,4h2c0.2,0,0.3-0.2,0.2-0.4l-1-1.3
52
+ C7.6,2.2,7.6,2.2,7.5,2.2L7.5,2.2z"/>
53
+ </g>
54
+ </svg>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 27.5.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 320 320" style="enable-background:new 0 0 320 320;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:none;stroke:#FFFFFF;stroke-width:8;stroke-miterlimit:10;}
7
+ </style>
8
+ <g>
9
+ <path class="st0" d="M300.9,150c0.4,6.7-7.4,10.2-12,5.7l-62.2-62.5c-36.7-36.7-96.4-36.7-133.1,0l-62.5,62.5
10
+ c-4.6,4.6-12.4,1.1-12-5.7c2.5-35.7,18.4-70.6,48-96.4c53-46.3,133.1-46.3,186.1,0C282.5,79.3,298.4,114.3,300.9,150z"/>
11
+ <path class="st0" d="M89.4,181.1v88.3c0,5.7-6.4,9.2-11.3,5.7c-6.4-4.6-12.4-9.5-18-15.2c-10.2-10.2-18.7-21.9-25.4-34.3
12
+ c-1.4-2.8-0.7-6,1.4-8.1l41.3-41.3C81.6,171.5,89.4,174.7,89.4,181.1z"/>
13
+ <path class="st0" d="M183.7,123.5V293c0,3.5-2.8,6.7-6.4,7.1c-11.3,1.4-23,1.4-34.3,0c-3.5-0.4-6.4-3.5-6.4-7.1V123.5
14
+ c0-2.8,1.8-5.3,4.2-6.4c12.4-5.7,26.5-5.7,38.5,0C181.9,118.2,183.7,120.7,183.7,123.5z"/>
15
+ <path class="st0" d="M284,217.1c2.1,2.1,2.8,5.3,1.4,8.1c-6.4,12.4-14.8,24-25.4,34.3c-5.7,5.7-11.7,10.9-18,15.2
16
+ c-4.6,3.2-11.3,0-11.3-5.7v-87.9c0-6.4,7.8-9.5,12-4.9L284,217.1z"/>
17
+ </g>
18
+ </svg>
@@ -0,0 +1,54 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 25.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 1000 200" style="enable-background:new 0 0 1000 200;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#FFFFFF;}
7
+ .st1{fill:#008CFF;}
8
+ </style>
9
+ <path class="st0" d="M382.1,126.5v12c0,1.1-0.9,2-2,2h-22c-13.3,0-24-10.7-24-24v-54c0-1.1,0.9-2,2-2h12c1.1,0,2,0.9,2,2v54
10
+ c0,4.4,3.6,8,8,8h22C381.3,124.5,382.1,125.4,382.1,126.5z"/>
11
+ <path class="st0" d="M322.1,126.5v12c0,1.1-0.9,2-2,2h-22c-13.3,0-24-10.7-24-24v-54c0-1.1,0.9-2,2-2h12c1.1,0,2,0.9,2,2v54
12
+ c0,4.4,3.6,8,8,8h22C321.3,124.5,322.1,125.4,322.1,126.5z"/>
13
+ <path class="st0" d="M410.1,78.5v12c0,1.1,0.9,2,2,2h28c1.1,0,2,0.9,2,2v12c0,1.1-0.9,2-2,2h-28c-1.1,0-2,0.9-2,2v6c0,4.4,3.6,8,8,8
14
+ h22c1.1,0,2,0.9,2,2v12c0,1.1-0.9,2-2,2h-22c-13.3,0-24-10.7-24-24v-54c0-1.1,0.9-2,2-2h44c1.1,0,2,0.9,2,2v12c0,1.1-0.9,2-2,2h-28
15
+ C411,76.5,410.1,77.4,410.1,78.5z"/>
16
+ <path class="st0" d="M234.1,60.5c-13.2,0-24,10.7-24,24v32c0,13.2,10.8,24,24,24s24-10.8,24-24v-32
17
+ C258.1,71.2,247.4,60.5,234.1,60.5z M234.1,124.5c-4.4,0-8-3.6-8-8v-32c0-4.4,3.6-8,8-8s8,3.6,8,8v32
18
+ C242.1,120.9,238.6,124.5,234.1,124.5z"/>
19
+ <path class="st0" d="M498.7,103.2l7,35c0.2,1.2-0.7,2.4-2,2.4h-11.9c-1,0-1.8-0.7-2-1.6l-5.8-28.9c-0.2-0.9-1-1.5-1.9-1.5
20
+ c0,0,0,0,0,0h-6c-1.1,0-2,0.9-2,2v28c0,1.1-0.9,2-2,2h-12c-1.1,0-2-0.9-2-2v-44c0-1.1,0.9-2,2-2l21.7,0c4.3,0,8-3.2,8.3-7.5
21
+ c0.3-4.7-3.4-8.5-8-8.5h-22c-1.1,0-2-0.9-2-2v-12c0-1.1,0.9-2,2-2l21.4,0c13.4,0,24.6,10.7,24.6,24.1c0,6.5-2.7,12.4-6.9,16.8
22
+ C498.8,101.8,498.5,102.5,498.7,103.2z"/>
23
+ <path class="st0" d="M186.7,103.2l7,35c0.2,1.2-0.7,2.4-2,2.4h-11.9c-1,0-1.8-0.7-2-1.6l-5.8-28.9c-0.2-0.9-1-1.5-1.9-1.5
24
+ c0,0,0,0,0,0h-6c-1.1,0-2,0.9-2,2v28c0,1.1-0.9,2-2,2h-12c-1.1,0-2-0.9-2-2v-44c0-1.1,0.9-2,2-2l21.7,0c4.3,0,8-3.2,8.3-7.5
25
+ c0.3-4.7-3.4-8.5-8-8.5h-22c-1.1,0-2-0.9-2-2v-12c0-1.1,0.9-2,2-2l21.4,0c13.4,0,24.6,10.7,24.6,24.1c0,6.5-2.7,12.4-6.9,16.8
26
+ C186.8,101.8,186.5,102.5,186.7,103.2z"/>
27
+ <path class="st0" d="M546.1,116.5c0,8.8,7.2,16,16,16h22c1.1,0,2,0.9,2,2v4c0,1.1-0.9,2-2,2h-22c-13.3,0-24-10.7-24-24v-32
28
+ c0-13.3,10.7-24,24-24h22c1.1,0,2,0.9,2,2v4c0,1.1-0.9,2-2,2h-22c-8.8,0-16,7.2-16,16V116.5z"/>
29
+ <path class="st0" d="M626.1,60.5c-13.2,0-24,10.7-24,24v32c0,13.2,10.8,24,24,24s24-10.8,24-24v-32
30
+ C650.1,71.2,639.4,60.5,626.1,60.5z M642.1,116.5c0,8.8-7.2,16-16,16s-16-7.2-16-16v-32c0-8.8,7.2-16,16-16s16,7.2,16,16V116.5z"/>
31
+ <path class="st0" d="M838.1,62.5v4c0,1.1-0.9,2-2,2h-16c-1.1,0-2,0.9-2,2v68c0,1.1-0.9,2-2,2h-4c-1.1,0-2-0.9-2-2v-68
32
+ c0-1.1-0.9-2-2-2h-16c-1.1,0-2-0.9-2-2v-4c0-1.1,0.9-2,2-2h44C837.3,60.5,838.1,61.4,838.1,62.5z"/>
33
+ <path class="st0" d="M958.7,103.2l7,35c0.2,1.2-0.7,2.4-2,2.4h-3.9c-1,0-1.8-0.7-2-1.6l-6-30c-0.2-1.2-1.4-1.9-2.6-1.5
34
+ c-2.2,0.7-4.6,1.1-7.1,1.1h-14c-1.1,0-2,0.9-2,2v28c0,1.1-0.9,2-2,2h-4c-1.1,0-2-0.9-2-2v-36c0-1.1,0.9-2,2-2h21.6
35
+ c8.6,0,16-6.6,16.4-15.2c0.4-9.2-6.9-16.8-16-16.8h-22c-1.1,0-2-0.9-2-2v-4c0-1.1,0.9-2,2-2l21.4,0c13.2,0,24.6,10.8,24.6,24.1
36
+ c0,6.5-2.7,12.4-6.9,16.8C958.8,101.8,958.5,102.5,958.7,103.2z"/>
37
+ <path class="st0" d="M707.3,140.5h-3.9c-1,0-1.8-0.7-2-1.6l-11.7-58.6c-0.4-2.1-3.5-2.1-3.9,0L674,138.9c-0.2,0.9-1,1.6-2,1.6h-3.9
38
+ c-1.3,0-2.2-1.2-2-2.4l15.2-76c0.2-0.9,1-1.6,2-1.6h8.7c1,0,1.8,0.7,2,1.6l15.2,76C709.5,139.3,708.5,140.5,707.3,140.5z"/>
39
+ <path class="st0" d="M734.2,83.2c0.4,7.5,6.8,13.3,14.4,13.3h3.6c3.8,0,7.3,0.9,10.4,2.6c7,3.8,11.7,11.2,11.6,19.7
40
+ c-0.2,12.1-10.4,21.6-22.5,21.6h-23.5c-1.1,0-2-0.9-2-2v-4c0-1.1,0.9-2,2-2h23.6c7.5,0,14-5.8,14.4-13.3c0.4-8-6-14.7-14-14.7h-4
41
+ c-3.8,0-7.3-0.9-10.4-2.6c-7-3.8-11.7-11.2-11.6-19.7c0.2-12.1,10.4-21.6,22.5-21.6l23.5,0c1.1,0,2,0.9,2,2v4c0,1.1-0.9,2-2,2h-24
42
+ C740.2,68.5,733.8,75.1,734.2,83.2z"/>
43
+ <path class="st0" d="M862.1,70.5v24c0,1.1,0.9,2,2,2h36c1.1,0,2,0.9,2,2v4c0,1.1-0.9,2-2,2h-36c-1.1,0-2,0.9-2,2v10
44
+ c0,8.8,7.2,16,16,16h22c1.1,0,2,0.9,2,2v4c0,1.1-0.9,2-2,2h-22c-13.3,0-24-10.7-24-24v-54c0-1.1,0.9-2,2-2h44c1.1,0,2,0.9,2,2v4
45
+ c0,1.1-0.9,2-2,2h-36C863,68.5,862.1,69.4,862.1,70.5z"/>
46
+ <g>
47
+ <circle class="st1" cx="74.8" cy="100.5" r="13.3"/>
48
+ <path class="st1" d="M104.6,127.2c-7.3,8.2-18,13.3-29.8,13.3s-22.5-5.1-29.8-13.3H104.6z"/>
49
+ <path class="st1" d="M114.8,100.5c0,4.7-0.8,9.2-2.3,13.3H97.9c2.3-3.9,3.6-8.5,3.6-13.3c0-14.7-11.9-26.7-26.7-26.7
50
+ s-26.7,11.9-26.7,26.7c0,4.9,1.3,9.4,3.6,13.3H37.1c-1.5-4.2-2.3-8.7-2.3-13.3c0-22.1,17.9-40,40-40S114.8,78.4,114.8,100.5z"/>
51
+ <circle class="st1" cx="74.8" cy="100.5" r="13.3"/>
52
+ <circle class="st1" cx="74.8" cy="100.5" r="13.3"/>
53
+ </g>
54
+ </svg>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 25.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#008CFF;}
7
+ </style>
8
+ <g>
9
+ <circle class="st0" cx="50.5" cy="50.5" r="13.3"/>
10
+ <path class="st0" d="M80.3,77.2c-7.3,8.2-18,13.3-29.8,13.3S28,85.4,20.7,77.2H80.3z"/>
11
+ <path class="st0" d="M90.5,50.5c0,4.7-0.8,9.2-2.3,13.3H73.6c2.3-3.9,3.6-8.5,3.6-13.3c0-14.7-11.9-26.7-26.7-26.7
12
+ S23.8,35.8,23.8,50.5c0,4.9,1.3,9.4,3.6,13.3H12.8c-1.5-4.2-2.3-8.7-2.3-13.3c0-22.1,17.9-40,40-40S90.5,28.4,90.5,50.5z"/>
13
+ <circle class="st0" cx="50.5" cy="50.5" r="13.3"/>
14
+ <circle class="st0" cx="50.5" cy="50.5" r="13.3"/>
15
+ </g>
16
+ </svg>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3
+ viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
4
+ <style type="text/css">
5
+ .st0{fill:#2E79F5;}
6
+ </style>
7
+ <g>
8
+ <path class="st0" d="M89.9,47.2c0.1,1.9-2.1,2.9-3.4,1.6L68.9,31.1c-10.4-10.4-27.3-10.4-37.7,0L13.5,48.8
9
+ c-1.3,1.3-3.5,0.3-3.4-1.6c0.7-10.1,5.2-20,13.6-27.3c15-13.1,37.7-13.1,52.7,0C84.7,27.2,89.2,37.1,89.9,47.2z"/>
10
+ <path class="st0" d="M30,56v25c0,1.6-1.8,2.6-3.2,1.6c-1.8-1.3-3.5-2.7-5.1-4.3c-2.9-2.9-5.3-6.2-7.2-9.7c-0.4-0.8-0.2-1.7,0.4-2.3
11
+ l11.7-11.7C27.8,53.3,30,54.2,30,56z"/>
12
+ <path class="st0" d="M56.7,39.7v48c0,1-0.8,1.9-1.8,2c-3.2,0.4-6.5,0.4-9.7,0c-1-0.1-1.8-1-1.8-2v-48c0-0.8,0.5-1.5,1.2-1.8
13
+ c3.5-1.6,7.5-1.6,10.9,0C56.2,38.2,56.7,38.9,56.7,39.7z"/>
14
+ <path class="st0" d="M85.1,66.2c0.6,0.6,0.8,1.5,0.4,2.3c-1.8,3.5-4.2,6.8-7.2,9.7c-1.6,1.6-3.3,3.1-5.1,4.3
15
+ c-1.3,0.9-3.2,0-3.2-1.6V56c0-1.8,2.2-2.7,3.4-1.4L85.1,66.2z"/>
16
+ </g>
17
+ </svg>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3
+ viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
4
+ <style type="text/css">
5
+ .st0{fill:#FFFFFF;}
6
+ </style>
7
+ <g>
8
+ <path class="st0" d="M89.9,47.2c0.1,1.9-2.1,2.9-3.4,1.6L68.9,31.1c-10.4-10.4-27.3-10.4-37.7,0L13.5,48.8
9
+ c-1.3,1.3-3.5,0.3-3.4-1.6c0.7-10.1,5.2-20,13.6-27.3c15-13.1,37.7-13.1,52.7,0C84.7,27.2,89.2,37.1,89.9,47.2z"/>
10
+ <path class="st0" d="M30,56v25c0,1.6-1.8,2.6-3.2,1.6c-1.8-1.3-3.5-2.7-5.1-4.3c-2.9-2.9-5.3-6.2-7.2-9.7c-0.4-0.8-0.2-1.7,0.4-2.3
11
+ l11.7-11.7C27.8,53.3,30,54.2,30,56z"/>
12
+ <path class="st0" d="M56.7,39.7v48c0,1-0.8,1.9-1.8,2c-3.2,0.4-6.5,0.4-9.7,0c-1-0.1-1.8-1-1.8-2v-48c0-0.8,0.5-1.5,1.2-1.8
13
+ c3.5-1.6,7.5-1.6,10.9,0C56.2,38.2,56.7,38.9,56.7,39.7z"/>
14
+ <path class="st0" d="M85.1,66.2c0.6,0.6,0.8,1.5,0.4,2.3c-1.8,3.5-4.2,6.8-7.2,9.7c-1.6,1.6-3.3,3.1-5.1,4.3
15
+ c-1.3,0.9-3.2,0-3.2-1.6V56c0-1.8,2.2-2.7,3.4-1.4L85.1,66.2z"/>
16
+ </g>
17
+ </svg>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3
+ viewBox="0 0 483.2 79.9" style="enable-background:new 0 0 483.2 79.9;" xml:space="preserve">
4
+ <style type="text/css">
5
+ .st0{fill:#FFFFFF;}
6
+ </style>
7
+ <g>
8
+ <g>
9
+ <path class="st0" d="M316,23.5c0.2,13.4-11.1,24.5-24.5,24.5H278c-1.1,0-2,0.9-2,2v28c0,1.1-0.9,2-2,2h-4c-1.1,0-2-0.9-2-2V42
10
+ c0-1.1,0.9-2,2-2h21.6c8.6,0,16-6.6,16.4-15.2c0.4-9.2-6.9-16.8-16-16.8h-22c-1.1,0-2-0.9-2-2V2c0-1.1,0.9-2,2-2h22
11
+ C305.1-0.1,315.7,10.4,316,23.5z"/>
12
+ <path class="st0" d="M420.5,42.6l7,35c0.2,1.2-0.7,2.4-2,2.4h-3.9c-1,0-1.8-0.7-2-1.6l-6-30c-0.2-1.2-1.4-1.9-2.6-1.5
13
+ c-2.2,0.7-4.6,1.1-7.1,1.1h-14c-1.1,0-2,0.9-2,2v28c0,1.1-0.9,2-2,2h-4c-1.1,0-2-0.9-2-2V42c0-1.1,0.9-2,2-2h21.6
14
+ c8.6,0,16-6.6,16.4-15.2c0.4-9.2-6.9-16.8-16-16.8h-22c-1.1,0-2-0.9-2-2V2c0-1.1,0.9-2,2-2h21.4c13.2,0,24.6,10.8,24.6,24.1
15
+ c0,6.5-2.7,12.4-6.9,16.8C420.6,41.2,420.4,41.9,420.5,42.6z"/>
16
+ <path class="st0" d="M361.5,79.9h-3.9c-1,0-1.8-0.7-2-1.6l-11.7-58.6c-0.4-2.1-3.5-2.1-3.9,0l-11.7,58.6c-0.2,0.9-1,1.6-2,1.6
17
+ h-3.9c-1.3,0-2.2-1.2-2-2.4l15.2-76c0.2-0.9,1-1.6,2-1.6h8.7c1,0,1.8,0.7,2,1.6l15.2,76C363.7,78.8,362.8,79.9,361.5,79.9z"/>
18
+ <path class="st0" d="M465.5,33.6l17.6,44c0.4,1.1-0.4,2.3-1.6,2.3h-6.3c-0.7,0-1.3-0.4-1.6-1.1l-13-32.4c-0.5-1.3-2.4-1.4-3.1-0.2
19
+ l-5.3,9.3c-0.1,0.3-0.2,0.5-0.2,0.8v21.8c0,0.9-0.8,1.7-1.7,1.7h-4.6c-0.9,0-1.7-0.8-1.7-1.7V1.6c0-0.9,0.8-1.7,1.7-1.7h4.6
20
+ c0.9,0,1.7,0.8,1.7,1.7V32c0,1.7,2.3,2.4,3.2,0.8l0,0l5.9-10.3l12.4-21.7c0.3-0.5,0.9-0.9,1.5-0.9h6.1c1.3,0,2.1,1.4,1.5,2.5
21
+ l-17,29.7C465.3,32.6,465.3,33.2,465.5,33.6z"/>
22
+ <path class="st0" d="M48,65.9v12c0,1.1-0.9,2-2,2H24c-13.3,0-24-10.7-24-24v-54c0-1.1,0.9-2,2-2h12c1.1,0,2,0.9,2,2v54
23
+ c0,4.4,3.6,8,8,8h22C47.1,63.9,48,64.8,48,65.9z"/>
24
+ <path class="st0" d="M108,1.9v53.5c0,13.4-11,24.8-24.5,24.5C70.5,79.7,60,69,60,55.9v-54c0-1.1,0.9-2,2-2h12c1.1,0,2,0.9,2,2
25
+ v53.7c0,4.3,3.2,8,7.5,8.3c4.7,0.3,8.5-3.4,8.5-8v-54c0-1.1,0.9-2,2-2h12C107.1-0.1,108,0.8,108,1.9z"/>
26
+ <path class="st0" d="M172,23.9v54c0,1.1-0.9,2-2,2h-12c-1.1,0-2-0.9-2-2v-54c0-4.4-3.6-8-8-8h-6c-1.1,0-2,0.9-2,2v60
27
+ c0,1.1-0.9,2-2,2h-12c-1.1,0-2-0.9-2-2v-76c0-1.1,0.9-2,2-2h22C161.2-0.1,172,10.7,172,23.9z"/>
28
+ <path class="st0" d="M233.5,79.9h-11.9c-1,0-1.8-0.7-2-1.6l-5.7-28.6c-0.4-2.1-3.5-2.1-3.9,0l-5.7,28.6c-0.2,0.9-1,1.6-2,1.6
29
+ h-11.9c-1.3,0-2.2-1.2-2-2.4l15.2-76c0.2-0.9,1-1.6,2-1.6h12.7c1,0,1.8,0.7,2,1.6l15.2,76C235.7,78.8,234.8,79.9,233.5,79.9z"/>
30
+ </g>
31
+ </g>
32
+ </svg>
@@ -0,0 +1,66 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" style="fill: #ffffff;" viewBox="0 0 2000 2000">
2
+ <circle cx="724" cy="1382" r="2"/>
3
+ <circle cx="803" cy="1283" r="2"/>
4
+ <circle cx="66" cy="325" r="2"/>
5
+ <circle cx="1843" cy="942" r="2"/>
6
+ <circle cx="200" cy="1732" r="2"/>
7
+ <circle cx="1067" cy="1133" r="2"/>
8
+ <circle cx="845" cy="1873" r="2"/>
9
+ <circle cx="401" cy="1933" r="2"/>
10
+ <circle cx="97" cy="927" r="2"/>
11
+ <circle cx="1189" cy="1464" r="2"/>
12
+ <circle cx="1480" cy="813" r="2"/>
13
+ <circle cx="1122" cy="881" r="2"/>
14
+ <circle cx="820" cy="1858" r="2"/>
15
+ <circle cx="10" cy="615" r="2"/>
16
+ <circle cx="1754" cy="870" r="2"/>
17
+ <circle cx="732" cy="1915" r="2"/>
18
+ <circle cx="1693" cy="179" r="2"/>
19
+ <circle cx="665" cy="774" r="2"/>
20
+ <circle cx="1042" cy="194" r="2"/>
21
+ <circle cx="1898" cy="270" r="2"/>
22
+ <circle cx="1498" cy="1067" r="2"/>
23
+ <circle cx="1563" cy="426" r="2"/>
24
+ <circle cx="230" cy="1990" r="2"/>
25
+ <circle cx="576" cy="1606" r="2"/>
26
+ <circle cx="1764" cy="1726" r="2"/>
27
+ <circle cx="111" cy="549" r="2"/>
28
+ <circle cx="375" cy="902" r="2"/>
29
+ <circle cx="117" cy="1078" r="2"/>
30
+ <circle cx="806" cy="1650" r="2"/>
31
+ <circle cx="1192" cy="558" r="2"/>
32
+ <circle cx="121" cy="1147" r="2"/>
33
+ <circle cx="118" cy="159" r="2"/>
34
+ <circle cx="513" cy="624" r="2"/>
35
+ <circle cx="389" cy="2" r="2"/>
36
+ <circle cx="1863" cy="397" r="2"/>
37
+ <circle cx="20" cy="1208" r="2"/>
38
+ <circle cx="1888" cy="489" r="2"/>
39
+ <circle cx="1966" cy="2" r="2"/>
40
+ <circle cx="661" cy="1410" r="2"/>
41
+ <circle cx="1463" cy="1789" r="2"/>
42
+ <circle cx="1339" cy="643" r="2"/>
43
+ <circle cx="1590" cy="453" r="2"/>
44
+ <circle cx="1902" cy="1415" r="2"/>
45
+ <circle cx="1386" cy="746" r="2"/>
46
+ <circle cx="1714" cy="1304" r="2"/>
47
+ <circle cx="1811" cy="981" r="2"/>
48
+ <circle cx="1719" cy="1247" r="2"/>
49
+ <circle cx="1882" cy="18" r="2"/>
50
+ <circle cx="93" cy="516" r="2"/>
51
+ <circle cx="287" cy="1613" r="2"/>
52
+ <circle cx="149" cy="222" r="2"/>
53
+ <circle cx="793" cy="212" r="2"/>
54
+ <circle cx="326" cy="906" r="2"/>
55
+ <circle cx="759" cy="1237" r="2"/>
56
+ <circle cx="1053" cy="780" r="2"/>
57
+ <circle cx="1067" cy="1925" r="2"/>
58
+ <circle cx="323" cy="193" r="2"/>
59
+ <circle cx="781" cy="1799" r="2"/>
60
+ <circle cx="774" cy="860" r="2"/>
61
+ <circle cx="857" cy="811" r="2"/>
62
+ <circle cx="93" cy="1445" r="2"/>
63
+ <circle cx="195" cy="242" r="2"/>
64
+ <circle cx="1557" cy="36" r="2"/>
65
+ <circle cx="374" cy="401" r="2"/>
66
+ </svg>
@@ -0,0 +1,40 @@
1
+ <template>
2
+ <div
3
+ class="bread-link"
4
+ :class="{'last':isLast}"
5
+ @click="navigate"
6
+ >
7
+ {{ link.name }}
8
+ </div>
9
+ </template>
10
+
11
+
12
+ <script setup lang="ts">
13
+ import { TBreadLink } from "@/components/breadcrumb/type";
14
+ const props = defineProps<{
15
+ isLast?: boolean;
16
+ link: TBreadLink;
17
+ }>();
18
+ function navigate() {
19
+ if (props.isLast) {
20
+ return;
21
+ }
22
+ props.link.navigate?.();
23
+ }
24
+ </script>
25
+
26
+ <style scoped>
27
+ .bread-link {
28
+ font-weight: 600;
29
+ text-transform: capitalize;
30
+ color: var(--color-content-lite);
31
+ &:not(.last) {
32
+ color: var(--color-primary);
33
+ cursor: pointer;
34
+ transition: var(--transition-fast);
35
+ &:hover {
36
+ color: var(--color-content);
37
+ }
38
+ }
39
+ }
40
+ </style>
@@ -0,0 +1,29 @@
1
+ <template>
2
+ <Story :layout="{ type: 'single', iframe: false }">
3
+ <Variant title="standard">
4
+ <LBreadcrumb :links="links" />
5
+ </Variant>
6
+ <Variant title="with slot">
7
+ <LBreadcrumb :links="links">
8
+ My custom slot
9
+ </LBreadcrumb>
10
+ </Variant>
11
+ </Story>
12
+ </template>
13
+
14
+ <script setup lang="ts">
15
+ import LBreadcrumb from "@/components/breadcrumb/LBreadcrumb.vue";
16
+ import { TBreadcrumb } from "@/components/breadcrumb/type";
17
+
18
+ const links = [
19
+ {
20
+ name: "Test A"
21
+ },
22
+ {
23
+ name: "Test B"
24
+ },
25
+ {
26
+ name: "Test C"
27
+ }
28
+ ] satisfies TBreadcrumb;
29
+ </script>
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <div class="breadcrumb">
3
+ <div class="thread">
4
+ <template
5
+ v-for="(link,key) of links"
6
+ :key="key"
7
+ >
8
+ <LBreadLink
9
+ :is-last="isLast(key)"
10
+ :link="link"
11
+ />
12
+ <div class="separator">
13
+ /
14
+ </div>
15
+ </template>
16
+ </div>
17
+ <slot />
18
+ </div>
19
+ </template>
20
+
21
+
22
+ <script setup lang="ts">
23
+ import { TBreadcrumb } from "@/components/breadcrumb/type";
24
+ import LBreadLink from "@/components/breadcrumb/LBreadLink.vue";
25
+
26
+ const props = defineProps<{
27
+ links: TBreadcrumb;
28
+ }>();
29
+ const isLast = (key: number) => key === (props.links.length - 1);
30
+ </script>
31
+
32
+ <style scoped>
33
+ .breadcrumb {
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: space-between;
37
+ background: var(--color-background-0);
38
+ border-radius: var(--length-radius-m);
39
+ padding: var(--length-s);
40
+
41
+ .thread {
42
+ display: flex;
43
+ gap: var(--length-xs);
44
+
45
+ .separator {
46
+ color: var(--color-content-liter);
47
+
48
+ &:last-of-type {
49
+ display: none;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ </style>
@@ -0,0 +1,6 @@
1
+ export type TBreadLink = {
2
+ name: string;
3
+ navigate?: (() => void);
4
+ };
5
+
6
+ export type TBreadcrumb = Array<TBreadLink>
@@ -0,0 +1,73 @@
1
+ <template>
2
+ <Story :layout="{ type: 'single', iframe: false }">
3
+ <LContextMenu :elements="elements" />
4
+ </Story>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { faBox, faCopy, faCut, faFolder, faPaste, faPen, faPlus, faTrash } from "@fortawesome/pro-solid-svg-icons";
9
+ import { EMenuElementType } from "@/components/context/type";
10
+ import LContextMenu from "@/components/context/LContextMenu.vue";
11
+
12
+ const elements = [
13
+ {
14
+ name: "New",
15
+ type: EMenuElementType.category,
16
+ children: [{
17
+ name: "Folder",
18
+ type: EMenuElementType.item,
19
+ disabled: true,
20
+ icon: faFolder,
21
+ onClick: () => {
22
+ console.log("Copy");
23
+ }
24
+ },
25
+ {
26
+ name: "Script",
27
+ type: EMenuElementType.item,
28
+ icon: faBox
29
+ },
30
+ {
31
+ name: "Script",
32
+ type: EMenuElementType.item,
33
+ icon: faBox
34
+ },
35
+ {
36
+ name: "Script",
37
+ type: EMenuElementType.item,
38
+ icon: faBox
39
+ }],
40
+ icon: faPlus
41
+ }, {
42
+ name: "Cut",
43
+ type: EMenuElementType.item,
44
+ disabled: true,
45
+ icon: faCut,
46
+ separator: true,
47
+ shortcut: "Ctrl + X"
48
+ }, {
49
+ name: "Copy",
50
+ type: EMenuElementType.item,
51
+ disabled: true,
52
+ icon: faCopy,
53
+ shortcut: "Ctrl + C"
54
+ }, {
55
+ name: "Paste",
56
+ type: EMenuElementType.item,
57
+ disabled: true,
58
+ icon: faPaste,
59
+ shortcut: "Ctrl + V"
60
+ }, {
61
+ name: "Rename",
62
+ type: EMenuElementType.item,
63
+ icon: faPen,
64
+ separator: true,
65
+ shortcut: "F2"
66
+ }, {
67
+ name: "Delete",
68
+ type: EMenuElementType.item,
69
+ icon: faTrash,
70
+ shortcut: "Del"
71
+ }
72
+ ];
73
+ </script>