@zumer/orbit 1.0.0 → 1.2.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.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Juan Martín Muda - ZumerLab
3
+ Copyright (c) 2023 - 2025 Juan Martín Muda - ZumerLab
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -26,11 +26,23 @@ place your ⭐ in Orbit! <a href="https://github.com/zumerlab/orbit/stargazers">
26
26
 
27
27
  **Orbit** is a CSS framework designed for creating radial layouts. It offers simplicity, effectiveness, ease of use, and tremendous versatility for crafting compelling designs. It offers extensive customization options and supports nesting for building intricate designs tailored to your requirements.
28
28
 
29
-
30
29
  ## Why Orbit?
31
30
 
32
31
  Creating radial UIs generally involves using JavaScript or other programming languages to calculate angles, radii, distances, and more. **Orbit** saves you time and effort by enabling you to build these UIs with just CSS.
33
32
 
33
+ ## Features
34
+
35
+ With **Orbit**, you can:
36
+
37
+ - Build any kind of radial UI using predefined CSS classes that do the heavy lifting.
38
+ - Easily compose simple or complex radial designs by combining **Orbit** elements.
39
+ - Use **Orbit** alongside other traditional CSS frameworks.
40
+ - Get started quickly with our detailed documentation, examples, and guides.
41
+
42
+ ## Documentation
43
+
44
+ Learn all about **Orbit** in our [doc site](https://zumerlab.github.io/orbit-docs)!
45
+
34
46
  ## What is radial UI?
35
47
 
36
48
  Radial UI refers to a design paradigm where elements are organized in a circular or radial pattern, diverging from traditional grid-based or linear layouts. This design approach is particularly effective for applications that involve:
@@ -42,32 +54,19 @@ Radial UI refers to a design paradigm where elements are organized in a circular
42
54
  - **Creative art and structures:** mandalas, sci-fi-inspired art, chemical structures
43
55
  - **Interactive interfaces:** watch faces, dynamic controls for games or tools
44
56
 
45
- **Characteristics of radial UI:**
57
+ **Characteristics:**
46
58
 
47
59
  - **Circular layout:** elements are arranged in a circular or curved pattern.
48
60
  - **Center-focused:** the center often serves as a focal point.
49
61
  - **Symmetry:** radial UIs frequently exhibit symmetry, fostering a sense of balance.
50
62
  - **Angular relationships:** elements are positioned at specific angles relative to one another.
51
63
 
52
- **Benefits of radial UI:**
64
+ **Benefits:**
53
65
 
54
66
  - **Aesthetics:** radial designs are visually striking and engaging.
55
67
  - **Intuitive navigation:** circular layouts simplify navigation and reduce cognitive load.
56
68
  - **Space efficiency:** radial UIs make efficient use of available screen, ideal for both compact and expansive interfaces.
57
69
 
58
- ## Features
59
-
60
- With **Orbit**, you can:
61
-
62
- - Build any kind of radial UI using predefined CSS classes that do the heavy lifting.
63
- - Easily compose simple or complex radial designs by combining **Orbit** elements.
64
- - Use **Orbit** alongside other traditional CSS frameworks.
65
- - Get started quickly with our detailed documentation, examples, and guides.
66
-
67
- ## Documentation
68
-
69
- Learn all about **Orbit** in our [doc site](https://zumerlab.github.io/orbit-docs)!
70
-
71
70
  ## Installation
72
71
 
73
72
  **Orbit** comes with just two files: `orbit.css` (or `orbit.min.css`) and `orbit.js` (or `orbit.min.js`).
@@ -128,10 +127,11 @@ Or via CDN:
128
127
  ```html
129
128
  <div class="bigbang">
130
129
  <div class="gravity-spot">
131
- <div class="orbit">
132
- <div class="satellite">1</div>
133
- <div class="satellite">2</div>
134
- <div class="satellite">3</div>
130
+ <div class="orbit-2 range-180 from-180">
131
+ <o-arc shape="circle" class="shrink-50"></o-arc>
132
+ </div>
133
+ <div class="orbit-3 range-270 ">
134
+ <o-arc shape="circle" class="shrink-50"></o-arc>
135
135
  </div>
136
136
  </div>
137
137
  </div>
@@ -155,6 +155,11 @@ There are many ways to **contribute** to **Orbit** development:
155
155
  - [**GitHub discussions**](https://github.com/zumerlab/orbit/discussions): Engage with other contributors, ask questions, and share your experiences.
156
156
  - [**Telegram group**](https://t.me/ZumlyCommunity): Join our Telegram group for real-time discussions and updates.
157
157
 
158
+ ## Special thanks to our contributors
159
+
160
+ <a href="https://github.com/zumerlab/orbit-docs/graphs/contributors">
161
+ <img src="https://contrib.rocks/image?repo=zumerlab/orbit-docs" />
162
+ </a>
158
163
 
159
164
  ## License
160
165
 
package/dist/orbit.css CHANGED
@@ -1,13 +1,13 @@
1
1
 
2
2
  /*
3
3
  * orbit
4
- * v.1.0.0
4
+ * v.1.2.0
5
5
  * Author Juan Martin Muda - Zumerlab
6
6
  * License MIT
7
7
  **/
8
8
  @charset "UTF-8";
9
9
 
10
- /* ../../../../../var/folders/dl/jfswzzq96_7bqvgnhjs47_8w0000gp/T/tmp-71826-jluxOtrlBV0O/orbit/src/orbit.css */
10
+ /* ../../../../../var/folders/dl/jfswzzq96_7bqvgnhjs47_8w0000gp/T/tmp-26480-lsyT2XJtmvqw/orbit/src/orbit.css */
11
11
  .gravity-spot * {
12
12
  box-sizing: border-box;
13
13
  margin: 0;
@@ -1216,35 +1216,10 @@ o-arc {
1216
1216
  border-radius: 50%;
1217
1217
  position: absolute;
1218
1218
  pointer-events: none;
1219
- fill: currentColor;
1220
1219
  width: 100%;
1221
1220
  r: var(--o-radius);
1222
- stroke-width: calc(var(--o-radius) / (var(--o-orbit-number) + var(--o-initial-orbit, 0)) * var(--o-size-ratio, 1));
1223
1221
  transform: rotate(calc(var(--o-from) + var(--o-angle-composite)));
1224
1222
  }
1225
- o-arc[flip]:not([value]),
1226
- o-arc.flip:not([value]) {
1227
- --o-angle-composite: var(--o-angle) * calc(var(--o-orbit-child-number) + 1) * var(--o-direction, 1);
1228
- }
1229
- o-text {
1230
- --o-angle-composite: var(--o-angle) * var(--o-orbit-child-number) * var(--o-direction, 1);
1231
- container-name: otext;
1232
- display: flex;
1233
- justify-content: center;
1234
- align-items: center;
1235
- border-radius: 50%;
1236
- position: absolute;
1237
- pointer-events: none;
1238
- width: 100%;
1239
- fill: currentColor;
1240
- r: var(--o-radius);
1241
- stroke-width: calc(var(--o-radius) / (var(--o-orbit-number) + var(--o-initial-orbit, 0)) * var(--o-size-ratio, 1));
1242
- transform: rotate(calc(var(--o-from) + var(--o-angle-composite)));
1243
- }
1244
- o-text[flip],
1245
- o-text.flip {
1246
- --o-angle-composite: var(--o-angle) * calc(var(--o-orbit-child-number) + 1) * var(--o-direction, 1);
1247
- }
1248
1223
  o-progress {
1249
1224
  container-name: oprogress;
1250
1225
  --o-angle-composite: var(--o-angle) * var(--o-orbit-child-number) * var(--o-direction, 1);
@@ -6130,69 +6105,153 @@ o-arc.gap-29 {
6130
6105
  o-arc.gap-30 {
6131
6106
  --o-gap: 30;
6132
6107
  }
6108
+ .orbit.shrink-0,
6109
+ [class*=orbit-].shrink-0 {
6110
+ --o-orbit-ratio: 0;
6111
+ }
6112
+ .orbit.shrink-5,
6113
+ [class*=orbit-].shrink-5 {
6114
+ --o-orbit-ratio: 0.05;
6115
+ }
6133
6116
  .orbit.shrink-10,
6134
6117
  [class*=orbit-].shrink-10 {
6135
6118
  --o-orbit-ratio: 0.1;
6136
6119
  }
6120
+ .orbit.shrink-15,
6121
+ [class*=orbit-].shrink-15 {
6122
+ --o-orbit-ratio: 0.15;
6123
+ }
6137
6124
  .orbit.shrink-20,
6138
6125
  [class*=orbit-].shrink-20 {
6139
6126
  --o-orbit-ratio: 0.2;
6140
6127
  }
6128
+ .orbit.shrink-25,
6129
+ [class*=orbit-].shrink-25 {
6130
+ --o-orbit-ratio: 0.25;
6131
+ }
6141
6132
  .orbit.shrink-30,
6142
6133
  [class*=orbit-].shrink-30 {
6143
6134
  --o-orbit-ratio: 0.3;
6144
6135
  }
6136
+ .orbit.shrink-35,
6137
+ [class*=orbit-].shrink-35 {
6138
+ --o-orbit-ratio: 0.35;
6139
+ }
6145
6140
  .orbit.shrink-40,
6146
6141
  [class*=orbit-].shrink-40 {
6147
6142
  --o-orbit-ratio: 0.4;
6148
6143
  }
6144
+ .orbit.shrink-45,
6145
+ [class*=orbit-].shrink-45 {
6146
+ --o-orbit-ratio: 0.45;
6147
+ }
6149
6148
  .orbit.shrink-50,
6150
6149
  [class*=orbit-].shrink-50 {
6151
6150
  --o-orbit-ratio: 0.5;
6152
6151
  }
6152
+ .orbit.shrink-55,
6153
+ [class*=orbit-].shrink-55 {
6154
+ --o-orbit-ratio: 0.55;
6155
+ }
6153
6156
  .orbit.shrink-60,
6154
6157
  [class*=orbit-].shrink-60 {
6155
6158
  --o-orbit-ratio: 0.6;
6156
6159
  }
6160
+ .orbit.shrink-65,
6161
+ [class*=orbit-].shrink-65 {
6162
+ --o-orbit-ratio: 0.65;
6163
+ }
6157
6164
  .orbit.shrink-70,
6158
6165
  [class*=orbit-].shrink-70 {
6159
6166
  --o-orbit-ratio: 0.7;
6160
6167
  }
6168
+ .orbit.shrink-75,
6169
+ [class*=orbit-].shrink-75 {
6170
+ --o-orbit-ratio: 0.75;
6171
+ }
6161
6172
  .orbit.shrink-80,
6162
6173
  [class*=orbit-].shrink-80 {
6163
6174
  --o-orbit-ratio: 0.8;
6164
6175
  }
6176
+ .orbit.shrink-85,
6177
+ [class*=orbit-].shrink-85 {
6178
+ --o-orbit-ratio: 0.85;
6179
+ }
6165
6180
  .orbit.shrink-90,
6166
6181
  [class*=orbit-].shrink-90 {
6167
6182
  --o-orbit-ratio: 0.9;
6168
6183
  }
6184
+ .orbit.shrink-95,
6185
+ [class*=orbit-].shrink-95 {
6186
+ --o-orbit-ratio: 0.95;
6187
+ }
6188
+ .orbit.shrink-100,
6189
+ [class*=orbit-].shrink-100 {
6190
+ --o-orbit-ratio: 1;
6191
+ }
6192
+ .shrink-0 {
6193
+ --o-size-ratio: 1 !important;
6194
+ }
6195
+ .shrink-5 {
6196
+ --o-size-ratio: 0.95 !important;
6197
+ }
6169
6198
  .shrink-10 {
6170
6199
  --o-size-ratio: 0.9 !important;
6171
6200
  }
6201
+ .shrink-15 {
6202
+ --o-size-ratio: 0.85 !important;
6203
+ }
6172
6204
  .shrink-20 {
6173
6205
  --o-size-ratio: 0.8 !important;
6174
6206
  }
6207
+ .shrink-25 {
6208
+ --o-size-ratio: 0.75 !important;
6209
+ }
6175
6210
  .shrink-30 {
6176
6211
  --o-size-ratio: 0.7 !important;
6177
6212
  }
6213
+ .shrink-35 {
6214
+ --o-size-ratio: 0.65 !important;
6215
+ }
6178
6216
  .shrink-40 {
6179
6217
  --o-size-ratio: 0.6 !important;
6180
6218
  }
6219
+ .shrink-45 {
6220
+ --o-size-ratio: 0.55 !important;
6221
+ }
6181
6222
  .shrink-50 {
6182
6223
  --o-size-ratio: 0.5 !important;
6183
6224
  }
6225
+ .shrink-55 {
6226
+ --o-size-ratio: 0.45 !important;
6227
+ }
6184
6228
  .shrink-60 {
6185
6229
  --o-size-ratio: 0.4 !important;
6186
6230
  }
6231
+ .shrink-65 {
6232
+ --o-size-ratio: 0.35 !important;
6233
+ }
6187
6234
  .shrink-70 {
6188
6235
  --o-size-ratio: 0.3 !important;
6189
6236
  }
6237
+ .shrink-75 {
6238
+ --o-size-ratio: 0.25 !important;
6239
+ }
6190
6240
  .shrink-80 {
6191
6241
  --o-size-ratio: 0.2 !important;
6192
6242
  }
6243
+ .shrink-85 {
6244
+ --o-size-ratio: 0.15 !important;
6245
+ }
6193
6246
  .shrink-90 {
6194
6247
  --o-size-ratio: 0.1 !important;
6195
6248
  }
6249
+ .shrink-95 {
6250
+ --o-size-ratio: 0.05 !important;
6251
+ }
6252
+ .shrink-100 {
6253
+ --o-size-ratio: 0 !important;
6254
+ }
6196
6255
  .grow-0\.1x {
6197
6256
  --o-size-ratio: 1.1 !important;
6198
6257
  }
@@ -6855,46 +6914,82 @@ o-arc.gap-30 {
6855
6914
  background: currentcolor;
6856
6915
  }
6857
6916
  o-progress {
6858
- --o-color: currentcolor;
6859
- --o-hover-color: unset;
6860
- --o-background-color: transparent;
6917
+ --o-fill: var(--o-gray-light);
6918
+ --o-stroke: var(--o-fill);
6919
+ --o-stroke-width: 1;
6920
+ --o-back-fill: transparent;
6921
+ --o-back-stroke: none;
6922
+ --o-back-stroke-width: 1;
6923
+ }
6924
+ o-progress:hover {
6925
+ --o-fill: var(--o-gray-light);
6926
+ --o-stroke: var(--o-fill);
6927
+ --o-stroke-width: 1;
6928
+ --o-back-fill: transparent;
6929
+ --o-back-stroke: none;
6930
+ --o-back-stroke-width: 1;
6861
6931
  }
6862
6932
  o-arc {
6863
- --o-color: unset;
6864
- --o-hover-color: unset;
6933
+ --o-fill: var(--o-gray-light);
6934
+ --o-stroke: var(--o-fill);
6935
+ --o-stroke-width: 1;
6936
+ }
6937
+ o-arc:hover {
6938
+ --o-fill: var(--o-gray-light);
6939
+ --o-stroke: var(--o-fill);
6940
+ --o-stroke-width: 1;
6865
6941
  }
6866
6942
  .dev-orbit.gravity-spot {
6867
6943
  background: none;
6868
- border: 0.2px dashed var(--o-red-light);
6944
+ border: 1px dashed var(--o-red-light);
6869
6945
  }
6870
6946
  .dev-orbit .gravity-spot {
6871
6947
  background: none;
6872
- border: 0.2px dashed var(--o-red-light);
6948
+ border: 1px dashed var(--o-red-light);
6873
6949
  }
6874
6950
  .dev-orbit .orbit,
6875
6951
  .dev-orbit [class*=orbit-] {
6876
- border: 0.2px solid var(--o-red-light);
6952
+ border: 1px dashed var(--o-red-light);
6877
6953
  }
6878
6954
  .dev-orbit .satellite {
6879
6955
  background-color: transparent;
6880
- border: 1px solid currentColor;
6956
+ border: 1px dashed var(--o-red-light);
6881
6957
  }
6882
6958
  .dev-orbit .vector {
6883
6959
  border: none;
6884
- background: currentColor;
6960
+ background: var(--o-red-light);
6885
6961
  }
6886
6962
  .dev-orbit .side {
6887
6963
  border: none;
6888
- background: currentColor;
6964
+ background: var(--o-red-light);
6889
6965
  }
6890
6966
  .dev-orbit o-progress {
6891
- --o-color: currentColor;
6892
- --o-hover-color: unset;
6893
- --o-background-color: transparent;
6967
+ --o-fill: var(--o-red-lighter);
6968
+ --o-stroke: var(--o-red-lighter);
6969
+ --o-stroke-width: 1;
6970
+ --o-back-fill: var(--o-red-lighter);
6971
+ --o-back-stroke: var(--o-red-lighter);
6972
+ --o-back-stroke-width: 1;
6973
+ fill-opacity: 0.5;
6974
+ }
6975
+ .dev-orbit o-progress:hover {
6976
+ --o-fill: var(--o-red-light);
6977
+ --o-stroke: var(--o-red-light);
6978
+ --o-stroke-width: 2;
6979
+ --o-back-fill: var(--o-red-light);
6980
+ --o-back-stroke: var(--o-red-light);
6981
+ --o-back-stroke-width: 2;
6894
6982
  }
6895
6983
  .dev-orbit o-arc {
6896
- --o-color: currentColor;
6897
- --o-hover-color: unset;
6984
+ --o-fill: var(--o-red-lighter);
6985
+ --o-stroke: var(--o-red-lighter);
6986
+ --o-stroke-width: 1;
6987
+ fill-opacity: 0.5;
6988
+ }
6989
+ .dev-orbit o-arc:hover {
6990
+ --o-fill: var(--o-red-light);
6991
+ --o-stroke: var(--o-red-light);
6992
+ --o-stroke-width: 2;
6898
6993
  }
6899
6994
  .theme-cyan .gravity-spot {
6900
6995
  background: none;
@@ -6917,11 +7012,28 @@ o-arc {
6917
7012
  background: var(--o-cyan);
6918
7013
  }
6919
7014
  .theme-cyan o-progress {
6920
- --o-color: var(--o-cyan);
6921
- --o-hover-color: var(--o-cyan);
6922
- --o-background-color: transparent;
7015
+ --o-fill: var(--o-cyan-light);
7016
+ --o-stroke: var(--o-fill);
7017
+ --o-stroke-width: 1;
7018
+ --o-back-fill: transparent;
7019
+ --o-back-stroke: none;
7020
+ --o-back-stroke-width: 1;
7021
+ }
7022
+ .theme-cyan o-progress:hover {
7023
+ --o-fill: var(--o-cyan-lighter);
7024
+ --o-stroke: var(--o-fill);
7025
+ --o-stroke-width: 2;
7026
+ --o-back-fill: transparent;
7027
+ --o-back-stroke: none;
7028
+ --o-back-stroke-width: 2;
6923
7029
  }
6924
7030
  .theme-cyan o-arc {
6925
- --o-color: var(--o-cyan);
6926
- --o-hover-color: unset;
7031
+ --o-fill: var(--o-cyan-light);
7032
+ --o-stroke: var(--o-fill);
7033
+ --o-stroke-width: 1;
7034
+ }
7035
+ .theme-cyan o-arc:hover {
7036
+ --o-fill: var(--o-cyan-lighter);
7037
+ --o-stroke: var(--o-fill);
7038
+ --o-stroke-width: 2;
6927
7039
  }