@jjlmoya/utils-chrono 1.11.0 → 1.16.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 (88) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +6 -0
  3. package/src/entries.ts +10 -1
  4. package/src/tests/locale_completeness.test.ts +1 -1
  5. package/src/tests/tool_validation.test.ts +1 -1
  6. package/src/tool/gmt-world-timer/bibliography.astro +11 -0
  7. package/src/tool/gmt-world-timer/bibliography.ts +7 -0
  8. package/src/tool/gmt-world-timer/client.ts +250 -0
  9. package/src/tool/gmt-world-timer/component.astro +13 -0
  10. package/src/tool/gmt-world-timer/components/GmtPanel.astro +18 -0
  11. package/src/tool/gmt-world-timer/entry.ts +34 -0
  12. package/src/tool/gmt-world-timer/gmt-world-timer.css +239 -0
  13. package/src/tool/gmt-world-timer/helpers.ts +28 -0
  14. package/src/tool/gmt-world-timer/i18n/de.ts +72 -0
  15. package/src/tool/gmt-world-timer/i18n/en.ts +72 -0
  16. package/src/tool/gmt-world-timer/i18n/es.ts +72 -0
  17. package/src/tool/gmt-world-timer/i18n/fr.ts +72 -0
  18. package/src/tool/gmt-world-timer/i18n/id.ts +72 -0
  19. package/src/tool/gmt-world-timer/i18n/it.ts +72 -0
  20. package/src/tool/gmt-world-timer/i18n/ja.ts +72 -0
  21. package/src/tool/gmt-world-timer/i18n/ko.ts +72 -0
  22. package/src/tool/gmt-world-timer/i18n/nl.ts +72 -0
  23. package/src/tool/gmt-world-timer/i18n/pl.ts +72 -0
  24. package/src/tool/gmt-world-timer/i18n/pt.ts +72 -0
  25. package/src/tool/gmt-world-timer/i18n/ru.ts +72 -0
  26. package/src/tool/gmt-world-timer/i18n/sv.ts +72 -0
  27. package/src/tool/gmt-world-timer/i18n/tr.ts +72 -0
  28. package/src/tool/gmt-world-timer/i18n/zh.ts +72 -0
  29. package/src/tool/gmt-world-timer/index.ts +11 -0
  30. package/src/tool/gmt-world-timer/seo.astro +11 -0
  31. package/src/tool/perpetual-calendar/bibliography.astro +16 -0
  32. package/src/tool/perpetual-calendar/bibliography.ts +16 -0
  33. package/src/tool/perpetual-calendar/calendar.ts +24 -0
  34. package/src/tool/perpetual-calendar/client.ts +98 -0
  35. package/src/tool/perpetual-calendar/component.astro +17 -0
  36. package/src/tool/perpetual-calendar/components/CalendarPanel.astro +49 -0
  37. package/src/tool/perpetual-calendar/dial.ts +176 -0
  38. package/src/tool/perpetual-calendar/entry.ts +48 -0
  39. package/src/tool/perpetual-calendar/helpers.ts +49 -0
  40. package/src/tool/perpetual-calendar/i18n/de.ts +85 -0
  41. package/src/tool/perpetual-calendar/i18n/en.ts +102 -0
  42. package/src/tool/perpetual-calendar/i18n/es.ts +85 -0
  43. package/src/tool/perpetual-calendar/i18n/fr.ts +85 -0
  44. package/src/tool/perpetual-calendar/i18n/id.ts +85 -0
  45. package/src/tool/perpetual-calendar/i18n/it.ts +85 -0
  46. package/src/tool/perpetual-calendar/i18n/ja.ts +85 -0
  47. package/src/tool/perpetual-calendar/i18n/ko.ts +85 -0
  48. package/src/tool/perpetual-calendar/i18n/nl.ts +85 -0
  49. package/src/tool/perpetual-calendar/i18n/pl.ts +85 -0
  50. package/src/tool/perpetual-calendar/i18n/pt.ts +85 -0
  51. package/src/tool/perpetual-calendar/i18n/ru.ts +85 -0
  52. package/src/tool/perpetual-calendar/i18n/sv.ts +85 -0
  53. package/src/tool/perpetual-calendar/i18n/tr.ts +85 -0
  54. package/src/tool/perpetual-calendar/i18n/zh.ts +85 -0
  55. package/src/tool/perpetual-calendar/index.ts +11 -0
  56. package/src/tool/perpetual-calendar/perpetual-calendar.css +181 -0
  57. package/src/tool/perpetual-calendar/seo.astro +16 -0
  58. package/src/tool/perpetual-calendar/state.ts +26 -0
  59. package/src/tool/tourbillon-visualizer/bibliography.astro +11 -0
  60. package/src/tool/tourbillon-visualizer/bibliography.ts +7 -0
  61. package/src/tool/tourbillon-visualizer/client.ts +122 -0
  62. package/src/tool/tourbillon-visualizer/component.astro +126 -0
  63. package/src/tool/tourbillon-visualizer/components/TourbillonPanel.astro +66 -0
  64. package/src/tool/tourbillon-visualizer/entry.ts +51 -0
  65. package/src/tool/tourbillon-visualizer/helpers.ts +35 -0
  66. package/src/tool/tourbillon-visualizer/i18n/de.ts +96 -0
  67. package/src/tool/tourbillon-visualizer/i18n/en.ts +96 -0
  68. package/src/tool/tourbillon-visualizer/i18n/es.ts +96 -0
  69. package/src/tool/tourbillon-visualizer/i18n/fr.ts +96 -0
  70. package/src/tool/tourbillon-visualizer/i18n/id.ts +96 -0
  71. package/src/tool/tourbillon-visualizer/i18n/it.ts +96 -0
  72. package/src/tool/tourbillon-visualizer/i18n/ja.ts +96 -0
  73. package/src/tool/tourbillon-visualizer/i18n/ko.ts +96 -0
  74. package/src/tool/tourbillon-visualizer/i18n/nl.ts +96 -0
  75. package/src/tool/tourbillon-visualizer/i18n/pl.ts +96 -0
  76. package/src/tool/tourbillon-visualizer/i18n/pt.ts +96 -0
  77. package/src/tool/tourbillon-visualizer/i18n/ru.ts +96 -0
  78. package/src/tool/tourbillon-visualizer/i18n/sv.ts +96 -0
  79. package/src/tool/tourbillon-visualizer/i18n/tr.ts +96 -0
  80. package/src/tool/tourbillon-visualizer/i18n/zh.ts +96 -0
  81. package/src/tool/tourbillon-visualizer/index.ts +11 -0
  82. package/src/tool/tourbillon-visualizer/renderer/base.ts +78 -0
  83. package/src/tool/tourbillon-visualizer/renderer/cage.ts +115 -0
  84. package/src/tool/tourbillon-visualizer/renderer/esc.ts +160 -0
  85. package/src/tool/tourbillon-visualizer/seo.astro +11 -0
  86. package/src/tool/tourbillon-visualizer/state.ts +21 -0
  87. package/src/tool/tourbillon-visualizer/tourbillon.ts +9 -0
  88. package/src/tools.ts +6 -0
@@ -0,0 +1,21 @@
1
+ let _ctx: CanvasRenderingContext2D;
2
+ let _isDark = true;
3
+ let _ff = 'system-ui, sans-serif';
4
+
5
+ export function getC() { return _ctx; }
6
+ export function isD() { return _isDark; }
7
+ export function ff() { return _ff; }
8
+
9
+ export function setCtx(c: CanvasRenderingContext2D) {
10
+ _ctx = c;
11
+ _ff = getComputedStyle(document.body).fontFamily || _ff;
12
+ }
13
+
14
+ export function detT() {
15
+ const b = getComputedStyle(document.body).backgroundColor;
16
+ _isDark = !b || b === 'rgba(0, 0, 0, 0)' || b === 'transparent' ? true : parseInt(b.replace(/[^\d,]/g, '').split(',')[0]) < 128;
17
+ }
18
+
19
+ export function cl(h: string, l: string) { return _isDark ? h : l; }
20
+
21
+ export const W = 700, H = 700, CX = 350, CY = 350;
@@ -0,0 +1,9 @@
1
+ export const BEAT_RATES = {
2
+ 18000: { hz: 2.5, rpm: 20, bph: 18000 },
3
+ 28800: { hz: 4, rpm: 32, bph: 28800 },
4
+ 36000: { hz: 5, rpm: 40, bph: 36000 },
5
+ };
6
+
7
+ export function calc(b: number): { hz: number; rpm: number; bph: number } {
8
+ return BEAT_RATES[b as keyof typeof BEAT_RATES] || BEAT_RATES[28800];
9
+ }
package/src/tools.ts CHANGED
@@ -18,6 +18,9 @@ import { STRAP_LENGTH_CALCULATOR_TOOL } from './tool/strap-length-calculator';
18
18
  import { TELEMETER_CALCULATOR_TOOL } from './tool/telemeter-calculator';
19
19
  import { SIDEREAL_TIME_TRACKER_TOOL } from './tool/sidereal-time-tracker';
20
20
  import { GEAR_TRAIN_EXPLORER_TOOL } from './tool/gear-train-explorer';
21
+ import { PERPETUAL_CALENDAR_TOOL } from './tool/perpetual-calendar';
22
+ import { TOURBILLON_VISUALIZER_TOOL } from './tool/tourbillon-visualizer';
23
+ import { GMT_WORLD_TIMER_TOOL } from './tool/gmt-world-timer';
21
24
 
22
25
  export const ALL_TOOLS: ToolDefinition[] = [
23
26
  WATCH_ACCURACY_TRACKER_TOOL,
@@ -38,6 +41,9 @@ export const ALL_TOOLS: ToolDefinition[] = [
38
41
  TELEMETER_CALCULATOR_TOOL,
39
42
  SIDEREAL_TIME_TRACKER_TOOL,
40
43
  GEAR_TRAIN_EXPLORER_TOOL,
44
+ PERPETUAL_CALENDAR_TOOL,
45
+ TOURBILLON_VISUALIZER_TOOL,
46
+ GMT_WORLD_TIMER_TOOL,
41
47
  ];
42
48
 
43
49