diff --git a/panels/Elite_Dangerous/index.html b/panels/Elite_Dangerous/index.html new file mode 100644 index 0000000..2d230d9 --- /dev/null +++ b/panels/Elite_Dangerous/index.html @@ -0,0 +1,913 @@ + + + + + + Document + + + +
+
+ + +
+

Maps

+
+
+ + + + + + + + + + + + + System +
+
+ + + + Galaxy +
+
+
+ +
+

Frame Shift Drive

+ +
+ Toggle FSD +
+ +
+
+ Super Cruise +
+
+ Hyper Space +
+
+
+ +
+
+

Mode

+ Analysis +
+
+
+
+
+ Combat +
+
+

Hardpoints

+ Retract +
+
+
+
+
+ Deploy +
+
+
+
+
+

Panels

+
+
+ External +
+
+ Comms +
+
+ Roles +
+
+ Internal +
+
+
+
+
+

Scanner

+
+
+ FSS +
+
+ Discovery +
+
+
+
+
+ Route: + Next System +
+
+
+
+ Speed: + 0% +
+
+
+
+

Fighters

+
+
+
+
+ + + + + Attack +
+
+ + + + + + + + + + + + + Engage +
+
+
+
+ + + + + + Defend +
+
+ + + + + + + + + + + + + + + + + Hold +
+
+
+
+ + + + + + + Follow +
+
+ + + + Recall +
+
+
+ +
+
+
+ Wingman + #1 +
+
+ Wingman + #2 +
+
+ Wingman + #3 +
+
+
+
+
+ +
+

Counter Measures

+
+
+ Heatsink +
+
+ Chaff +
+
+ ECM +
+
+ Shieldcell +
+
+
+
+ +
+
+

Flight Assist

+
+
+
+
+
+
+
+
+ Off + On +
+
+
+ Rotational Correction +
+
+
+ +
+
+

Lights

+
+
+
+
+
+
+ Off + On +
+
+
+

Night Vis.

+
+
+
+
+
+
+ Off + On +
+
+
+
+
+

Silent Running

+
+
+
+
+
+
+ Off + On +
+
+
+
+ + + + + JETTISON CARGO +
+
+
+ +
+
+ + + + + + + + + + + CAMERA +
+ +
+
+ + + + + +
+

Camera

+
+
+ + + + + + + Camera Suite +
+ +
+
+ + + + + +
+ + Previous + + Camera +
+
+
+
+ + Next + + Camera +
+ + + + + +
+
+
+ + + + + + + + + + + + Free Camera +
+
+
+ Position + #1 +
+
+ Position + #2 +
+
+
+
+
+
+
+
+
+ +
+
+
+
+ + + + diff --git a/panels/Elite_Dangerous/input.css b/panels/Elite_Dangerous/input.css new file mode 100644 index 0000000..6056744 --- /dev/null +++ b/panels/Elite_Dangerous/input.css @@ -0,0 +1,253 @@ +@import url(https://fonts.bunny.net/css?family=orbitron:400,600,800); +@layer theme, utilities; +@import "tailwindcss/theme.css" layer(theme); +@import "tailwindcss/utilities.css" layer(utilities); + +@layer theme { + /* :root { + } */ +} + +html, +body, +#panel-html__body { + @apply relative; +} + +#panel-html__body { + --font-sans: "Orbitron", sans-serif; + @apply font-sans text-sm font-light tracking-wide bg-gray-900 text-slate-50 size-full; + + * { + box-sizing: border-box; + } +} + +.group-left, +.group-middle, +.group-right { + @apply grid gap-2 h-fit; +} + +.ed-panel { + @apply w-full p-2 border h-fit rounded-b-xl; + + h3, + h4 { + @apply m-0 mb-1 font-extralight; + } + + h3 { + @apply text-base; + } + + h4 { + @apply text-sm; + } + + &.pnl__blue { + @apply border-sky-300 bg-sky-500/30; + + h3, + h4 { + @apply text-sky-100; + + text-shadow: 0 0 0.2em var(--color-sky-300); + } + } + + &.pnl__yellow { + @apply border-amber-300 bg-amber-500/30; + + h3, + h4 { + @apply text-amber-100; + + text-shadow: 0 0 0.2em var(--color-amber-300); + } + } + + &.pnl__orange { + @apply border-orange-300 bg-orange-500/30; + + h3, + h4 { + @apply text-orange-100; + + text-shadow: 0 0 0.2em var(--color-orange-300); + } + } + + &.pnl__red { + @apply border-rose-300 bg-rose-500/30; + + h3, + h4 { + @apply text-rose-100; + + text-shadow: 0 0 0.2em var(--color-rose-400); + } + } + + &.pnl__white { + @apply border-white bg-white/20; + + h3, + h4 { + @apply text-white; + + text-shadow: 0 0 0.2em var(--color-white); + } + } +} + +.ed-button { + @apply flex items-center justify-center px-4 py-2 text-base text-center rounded-lg border-3; + + svg { + @apply block !size-5; + } + + &.btn__vertical { + @apply flex-col; + } + + &.btn__filled { + @apply text-gray-900; + } + + &.btn__orange { + @apply text-orange-100 border-orange-400 bg-orange-500/50; + + &.btn__filled { + @apply bg-orange-400; + } + } + + &.btn__yellow { + @apply text-orange-100 border-amber-400 bg-amber-500/50; + + &.btn__filled { + @apply bg-amber-400; + } + } + + &.btn__blue { + @apply border-sky-400 bg-sky-500/50 text-sky-100; + + &.btn__filled { + @apply bg-sky-500; + } + } + + &.btn__red { + @apply border-rose-500 bg-rose-600/50 text-rose-100; + + &.btn__filled { + @apply bg-rose-600; + } + } + + &.btn__white { + @apply border-white bg-white/30; + + &.btn__filled { + @apply bg-white; + } + } +} + +.ed-button-group__horizontal { + @apply grid divide-x; + + .ed-button { + @apply rounded-none; + + &:first-child { + @apply rounded-l-lg; + } + + &:last-child { + @apply rounded-r-lg; + } + } +} + +.ed-button-group__vertical { + @apply grid divide-y; + + .ed-button { + @apply rounded-none; + + &:first-child { + @apply rounded-t-lg; + } + + &:last-child { + @apply rounded-b-lg; + } + } +} + +.ed-toggle { + .toggle__wrapper { + @apply relative p-1.5 border-2 rounded-full size-full; + } + + .toggle__indicator { + @apply absolute transition rounded-full aspect-square; + } + + &.toggle__horizontal { + @apply w-20 h-12; + + .toggle__indicator { + @apply left-1.5 translate-x-0 h-[calc(100%-.75rem)]; + } + + &[active] .toggle__indicator { + @apply translate-x-full; + } + } + + &.toggle__vertical { + @apply w-12 h-20; + + .toggle__indicator { + @apply top-1.5 translate-y-0 w-[calc(100%-.75rem)]; + } + &[active] .toggle__indicator { + @apply translate-y-full; + } + } +} + +dialog[open] { + @apply absolute -translate-x-1/2 -translate-y-1/2 bg-transparent border-0 outline-0 top-1/2 left-1/2; + @apply backdrop:absolute backdrop:bg-black/50; + + .dialog__close { + @apply absolute text-white top-3 right-3; + } +} + +#clock { + @apply relative flex pr-16 text-3xl w-fit; + + i { + @apply pl-1 not-italic; + } + + .hours-minutes, + .seconds { + @apply flex gap-1; + } + + span { + @apply inline-block w-[.75em] text-center; + } + + sup { + @apply absolute right-0 w-16 pl-2 text-lg text-left opacity-80; + } +} diff --git a/panels/Elite_Dangerous/output.css b/panels/Elite_Dangerous/output.css new file mode 100644 index 0000000..4446c1f --- /dev/null +++ b/panels/Elite_Dangerous/output.css @@ -0,0 +1,688 @@ +/*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */ +@import url(https://fonts.bunny.net/css?family=orbitron:400,600,800); +@layer properties; +@layer theme, utilities; +@layer theme { + :root, :host { + --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', + 'Noto Color Emoji'; + --color-red-400: oklch(70.4% 0.191 22.216); + --color-red-500: oklch(63.7% 0.237 25.331); + --color-red-600: oklch(57.7% 0.245 27.325); + --color-orange-100: oklch(95.4% 0.038 75.164); + --color-orange-300: oklch(83.7% 0.128 66.29); + --color-orange-400: oklch(75% 0.183 55.934); + --color-orange-500: oklch(70.5% 0.213 47.604); + --color-amber-100: oklch(96.2% 0.059 95.617); + --color-amber-300: oklch(87.9% 0.169 91.605); + --color-amber-400: oklch(82.8% 0.189 84.429); + --color-amber-500: oklch(76.9% 0.188 70.08); + --color-lime-400: oklch(84.1% 0.238 128.85); + --color-lime-600: oklch(64.8% 0.2 131.684); + --color-sky-100: oklch(95.1% 0.026 236.824); + --color-sky-300: oklch(82.8% 0.111 230.318); + --color-sky-400: oklch(74.6% 0.16 232.661); + --color-sky-500: oklch(68.5% 0.169 237.323); + --color-sky-600: oklch(58.8% 0.158 241.966); + --color-sky-900: oklch(39.1% 0.09 240.876); + --color-rose-100: oklch(94.1% 0.03 12.58); + --color-rose-300: oklch(81% 0.117 11.638); + --color-rose-400: oklch(71.2% 0.194 13.428); + --color-rose-500: oklch(64.5% 0.246 16.439); + --color-rose-600: oklch(58.6% 0.253 17.585); + --color-slate-50: oklch(98.4% 0.003 247.858); + --color-slate-950: oklch(12.9% 0.042 264.695); + --color-gray-800: oklch(27.8% 0.033 256.848); + --color-gray-900: oklch(21% 0.034 264.665); + --color-black: #000; + --color-white: #fff; + --spacing: 0.25rem; + --text-xs: 0.75rem; + --text-xs--line-height: calc(1 / 0.75); + --text-sm: 0.875rem; + --text-sm--line-height: calc(1.25 / 0.875); + --text-base: 1rem; + --text-base--line-height: calc(1.5 / 1); + --text-lg: 1.125rem; + --text-lg--line-height: calc(1.75 / 1.125); + --text-3xl: 1.875rem; + --text-3xl--line-height: calc(2.25 / 1.875); + --font-weight-extralight: 200; + --font-weight-light: 300; + --tracking-wide: 0.025em; + --radius-lg: 0.5rem; + --radius-xl: 0.75rem; + --default-transition-duration: 150ms; + --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } +} +@layer utilities { + .absolute { + position: absolute; + } + .relative { + position: relative; + } + .inset-0 { + inset: calc(var(--spacing) * 0); + } + .right-0 { + right: calc(var(--spacing) * 0); + } + .bottom-full { + bottom: 100%; + } + .m-0 { + margin: calc(var(--spacing) * 0); + } + .mt-4 { + margin-top: calc(var(--spacing) * 4); + } + .flex { + display: flex; + } + .grid { + display: grid; + } + .aspect-square { + aspect-ratio: 1 / 1; + } + .size-8 { + width: calc(var(--spacing) * 8); + height: calc(var(--spacing) * 8); + } + .size-16 { + width: calc(var(--spacing) * 16); + height: calc(var(--spacing) * 16); + } + .size-full { + width: 100%; + height: 100%; + } + .h-28 { + height: calc(var(--spacing) * 28); + } + .h-full { + height: 100%; + } + .\!w-fit { + width: fit-content !important; + } + .w-28 { + width: calc(var(--spacing) * 28); + } + .w-fit { + width: fit-content; + } + .w-full { + width: 100%; + } + .grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .grid-cols-\[1fr_2fr\] { + grid-template-columns: 1fr 2fr; + } + .grid-cols-\[1fr_2fr_1fr\] { + grid-template-columns: 1fr 2fr 1fr; + } + .grid-cols-\[2fr_1fr\] { + grid-template-columns: 2fr 1fr; + } + .grid-cols-\[3fr_1fr_1fr\] { + grid-template-columns: 3fr 1fr 1fr; + } + .grid-rows-3 { + grid-template-rows: repeat(3, minmax(0, 1fr)); + } + .flex-col { + flex-direction: column; + } + .items-center { + align-items: center; + } + .items-end { + align-items: flex-end; + } + .\!justify-start { + justify-content: flex-start !important; + } + .justify-between { + justify-content: space-between; + } + .justify-center { + justify-content: center; + } + .justify-end { + justify-content: flex-end; + } + .justify-items-center { + justify-items: center; + } + .gap-2 { + gap: calc(var(--spacing) * 2); + } + .divide-x { + :where(& > :not(:last-child)) { + --tw-divide-x-reverse: 0; + border-inline-style: var(--tw-border-style); + border-inline-start-width: calc(1px * var(--tw-divide-x-reverse)); + border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); + } + } + .rounded-full { + border-radius: calc(infinity * 1px); + } + .\!rounded-tl-none { + border-top-left-radius: 0 !important; + } + .\!rounded-tr-none { + border-top-right-radius: 0 !important; + } + .\!rounded-b-none { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; + } + .border-3 { + border-style: var(--tw-border-style); + border-width: 3px; + } + .border-lime-600 { + border-color: var(--color-lime-600); + } + .border-red-500 { + border-color: var(--color-red-500); + } + .border-red-600 { + border-color: var(--color-red-600); + } + .border-sky-600 { + border-color: var(--color-sky-600); + } + .border-white { + border-color: var(--color-white); + } + .\!bg-sky-900 { + background-color: var(--color-sky-900) !important; + } + .bg-lime-400 { + background-color: var(--color-lime-400); + } + .bg-lime-400\/30 { + background-color: color-mix(in srgb, oklch(84.1% 0.238 128.85) 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-lime-400) 30%, transparent); + } + } + .bg-red-400 { + background-color: var(--color-red-400); + } + .bg-red-400\/30 { + background-color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-red-400) 30%, transparent); + } + } + .bg-red-500\/80 { + background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 80%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-red-500) 80%, transparent); + } + } + .bg-sky-400 { + background-color: var(--color-sky-400); + } + .bg-sky-400\/30 { + background-color: color-mix(in srgb, oklch(74.6% 0.16 232.661) 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-sky-400) 30%, transparent); + } + } + .bg-slate-950 { + background-color: var(--color-slate-950); + } + .bg-white { + background-color: var(--color-white); + } + .bg-white\/30 { + background-color: color-mix(in srgb, #fff 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-white) 30%, transparent); + } + } + .\!p-0 { + padding: calc(var(--spacing) * 0) !important; + } + .\!p-4 { + padding: calc(var(--spacing) * 4) !important; + } + .p-2 { + padding: calc(var(--spacing) * 2); + } + .\!px-2 { + padding-inline: calc(var(--spacing) * 2) !important; + } + .\!pt-8 { + padding-top: calc(var(--spacing) * 8) !important; + } + .text-center { + text-align: center; + } + .text-left { + text-align: left; + } + .text-right { + text-align: right; + } + .text-base { + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)); + } + .text-xs { + font-size: var(--text-xs); + line-height: var(--tw-leading, var(--text-xs--line-height)); + } + .\!text-gray-800 { + color: var(--color-gray-800) !important; + } + .text-red-400 { + color: var(--color-red-400); + } + .text-white { + color: var(--color-white); + } + .opacity-80 { + opacity: 80%; + } + .opacity-90 { + opacity: 90%; + } +} +@layer theme; +html, body, #panel-html__body { + position: relative; +} +#panel-html__body { + --font-sans: "Orbitron", sans-serif; + width: 100%; + height: 100%; + background-color: var(--color-gray-900); + font-family: var(--font-sans); + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + --tw-font-weight: var(--font-weight-light); + font-weight: var(--font-weight-light); + --tw-tracking: var(--tracking-wide); + letter-spacing: var(--tracking-wide); + color: var(--color-slate-50); + * { + box-sizing: border-box; + } +} +.group-left, .group-middle, .group-right { + display: grid; + height: fit-content; + gap: calc(var(--spacing) * 2); +} +.ed-panel { + height: fit-content; + width: 100%; + border-bottom-right-radius: var(--radius-xl); + border-bottom-left-radius: var(--radius-xl); + border-style: var(--tw-border-style); + border-width: 1px; + padding: calc(var(--spacing) * 2); + h3, h4 { + margin: calc(var(--spacing) * 0); + margin-bottom: calc(var(--spacing) * 1); + --tw-font-weight: var(--font-weight-extralight); + font-weight: var(--font-weight-extralight); + } + h3 { + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)); + } + h4 { + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + } + &.pnl__blue { + border-color: var(--color-sky-300); + background-color: color-mix(in srgb, oklch(68.5% 0.169 237.323) 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-sky-500) 30%, transparent); + } + h3, h4 { + color: var(--color-sky-100); + text-shadow: 0 0 0.2em var(--color-sky-300); + } + } + &.pnl__yellow { + border-color: var(--color-amber-300); + background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-amber-500) 30%, transparent); + } + h3, h4 { + color: var(--color-amber-100); + text-shadow: 0 0 0.2em var(--color-amber-300); + } + } + &.pnl__orange { + border-color: var(--color-orange-300); + background-color: color-mix(in srgb, oklch(70.5% 0.213 47.604) 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-orange-500) 30%, transparent); + } + h3, h4 { + color: var(--color-orange-100); + text-shadow: 0 0 0.2em var(--color-orange-300); + } + } + &.pnl__red { + border-color: var(--color-rose-300); + background-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-rose-500) 30%, transparent); + } + h3, h4 { + color: var(--color-rose-100); + text-shadow: 0 0 0.2em var(--color-rose-400); + } + } + &.pnl__white { + border-color: var(--color-white); + background-color: color-mix(in srgb, #fff 20%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-white) 20%, transparent); + } + h3, h4 { + color: var(--color-white); + text-shadow: 0 0 0.2em var(--color-white); + } + } +} +.ed-button { + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--radius-lg); + border-style: var(--tw-border-style); + border-width: 3px; + padding-inline: calc(var(--spacing) * 4); + padding-block: calc(var(--spacing) * 2); + text-align: center; + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)); + svg { + display: block; + width: calc(var(--spacing) * 5) !important; + height: calc(var(--spacing) * 5) !important; + } + &.btn__vertical { + flex-direction: column; + } + &.btn__filled { + color: var(--color-gray-900); + } + &.btn__orange { + border-color: var(--color-orange-400); + background-color: color-mix(in srgb, oklch(70.5% 0.213 47.604) 50%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-orange-500) 50%, transparent); + } + color: var(--color-orange-100); + &.btn__filled { + background-color: var(--color-orange-400); + } + } + &.btn__yellow { + border-color: var(--color-amber-400); + background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 50%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent); + } + color: var(--color-orange-100); + &.btn__filled { + background-color: var(--color-amber-400); + } + } + &.btn__blue { + border-color: var(--color-sky-400); + background-color: color-mix(in srgb, oklch(68.5% 0.169 237.323) 50%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-sky-500) 50%, transparent); + } + color: var(--color-sky-100); + &.btn__filled { + background-color: var(--color-sky-500); + } + } + &.btn__red { + border-color: var(--color-rose-500); + background-color: color-mix(in srgb, oklch(58.6% 0.253 17.585) 50%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-rose-600) 50%, transparent); + } + color: var(--color-rose-100); + &.btn__filled { + background-color: var(--color-rose-600); + } + } + &.btn__white { + border-color: var(--color-white); + background-color: color-mix(in srgb, #fff 30%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-white) 30%, transparent); + } + &.btn__filled { + background-color: var(--color-white); + } + } +} +.ed-button-group__horizontal { + display: grid; + :where(& > :not(:last-child)) { + --tw-divide-x-reverse: 0; + border-inline-style: var(--tw-border-style); + border-inline-start-width: calc(1px * var(--tw-divide-x-reverse)); + border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); + } + .ed-button { + border-radius: 0; + &:first-child { + border-top-left-radius: var(--radius-lg); + border-bottom-left-radius: var(--radius-lg); + } + &:last-child { + border-top-right-radius: var(--radius-lg); + border-bottom-right-radius: var(--radius-lg); + } + } +} +.ed-button-group__vertical { + display: grid; + :where(& > :not(:last-child)) { + --tw-divide-y-reverse: 0; + border-bottom-style: var(--tw-border-style); + border-top-style: var(--tw-border-style); + border-top-width: calc(1px * var(--tw-divide-y-reverse)); + border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); + } + .ed-button { + border-radius: 0; + &:first-child { + border-top-left-radius: var(--radius-lg); + border-top-right-radius: var(--radius-lg); + } + &:last-child { + border-bottom-right-radius: var(--radius-lg); + border-bottom-left-radius: var(--radius-lg); + } + } +} +.ed-toggle { + .toggle__wrapper { + position: relative; + width: 100%; + height: 100%; + border-radius: calc(infinity * 1px); + border-style: var(--tw-border-style); + border-width: 2px; + padding: calc(var(--spacing) * 1.5); + } + .toggle__indicator { + position: absolute; + aspect-ratio: 1 / 1; + border-radius: calc(infinity * 1px); + transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + &.toggle__horizontal { + height: calc(var(--spacing) * 12); + width: calc(var(--spacing) * 20); + .toggle__indicator { + left: calc(var(--spacing) * 1.5); + height: calc(100% - .75rem); + --tw-translate-x: calc(var(--spacing) * 0); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + &[active] .toggle__indicator { + --tw-translate-x: 100%; + translate: var(--tw-translate-x) var(--tw-translate-y); + } + } + &.toggle__vertical { + height: calc(var(--spacing) * 20); + width: calc(var(--spacing) * 12); + .toggle__indicator { + top: calc(var(--spacing) * 1.5); + width: calc(100% - .75rem); + --tw-translate-y: calc(var(--spacing) * 0); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + &[active] .toggle__indicator { + --tw-translate-y: 100%; + translate: var(--tw-translate-x) var(--tw-translate-y); + } + } +} +dialog[open] { + position: absolute; + top: calc(1/2 * 100%); + left: calc(1/2 * 100%); + --tw-translate-x: calc(calc(1/2 * 100%) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + --tw-translate-y: calc(calc(1/2 * 100%) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + border-style: var(--tw-border-style); + border-width: 0px; + background-color: transparent; + outline-style: var(--tw-outline-style); + outline-width: 0px; + &::backdrop { + background-color: color-mix(in srgb, #000 50%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-black) 50%, transparent); + } + } + .dialog__close { + position: absolute; + top: calc(var(--spacing) * 3); + right: calc(var(--spacing) * 3); + color: var(--color-white); + } +} +#clock { + position: relative; + display: flex; + width: fit-content; + padding-right: calc(var(--spacing) * 16); + font-size: var(--text-3xl); + line-height: var(--tw-leading, var(--text-3xl--line-height)); + i { + padding-left: calc(var(--spacing) * 1); + font-style: normal; + } + .hours-minutes, .seconds { + display: flex; + gap: calc(var(--spacing) * 1); + } + span { + display: inline-block; + width: .75em; + text-align: center; + } + sup { + position: absolute; + right: calc(var(--spacing) * 0); + width: calc(var(--spacing) * 16); + padding-left: calc(var(--spacing) * 2); + text-align: left; + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)); + opacity: 80%; + } +} +@property --tw-divide-x-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-border-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@property --tw-font-weight { + syntax: "*"; + inherits: false; +} +@property --tw-tracking { + syntax: "*"; + inherits: false; +} +@property --tw-divide-y-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-x { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-y { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-z { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-outline-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@layer properties { + @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) { + *, ::before, ::after, ::backdrop { + --tw-divide-x-reverse: 0; + --tw-border-style: solid; + --tw-font-weight: initial; + --tw-tracking: initial; + --tw-divide-y-reverse: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-translate-z: 0; + --tw-outline-style: solid; + } + } +} diff --git a/panels/Elite_Dangerous/package-lock.json b/panels/Elite_Dangerous/package-lock.json new file mode 100644 index 0000000..1fb3ab8 --- /dev/null +++ b/panels/Elite_Dangerous/package-lock.json @@ -0,0 +1,974 @@ +{ + "name": "test_panel", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "test_panel", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "@tailwindcss/cli": "^4.1.2", + "tailwindcss": "^4.1.2" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/cli": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/cli/-/cli-4.1.4.tgz", + "integrity": "sha512-gP05Qihh+cZ2FqD5fa0WJXx3KEk2YWUYv/RBKAyiOg0V4vYVDr/xlLc0sacpnVEXM45BVUR9U2hsESufYs6YTA==", + "dev": true, + "dependencies": { + "@parcel/watcher": "^2.5.1", + "@tailwindcss/node": "4.1.4", + "@tailwindcss/oxide": "4.1.4", + "enhanced-resolve": "^5.18.1", + "mri": "^1.2.0", + "picocolors": "^1.1.1", + "tailwindcss": "4.1.4" + }, + "bin": { + "tailwindcss": "dist/index.mjs" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.4.tgz", + "integrity": "sha512-MT5118zaiO6x6hNA04OWInuAiP1YISXql8Z+/Y8iisV5nuhM8VXlyhRuqc2PEviPszcXI66W44bCIk500Oolhw==", + "dev": true, + "dependencies": { + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.29.2", + "tailwindcss": "4.1.4" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.4.tgz", + "integrity": "sha512-p5wOpXyOJx7mKh5MXh5oKk+kqcz8T+bA3z/5VWWeQwFrmuBItGwz8Y2CHk/sJ+dNb9B0nYFfn0rj/cKHZyjahQ==", + "dev": true, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.4", + "@tailwindcss/oxide-darwin-arm64": "4.1.4", + "@tailwindcss/oxide-darwin-x64": "4.1.4", + "@tailwindcss/oxide-freebsd-x64": "4.1.4", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.4", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.4", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.4", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.4", + "@tailwindcss/oxide-linux-x64-musl": "4.1.4", + "@tailwindcss/oxide-wasm32-wasi": "4.1.4", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.4", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.4" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.4.tgz", + "integrity": "sha512-xMMAe/SaCN/vHfQYui3fqaBDEXMu22BVwQ33veLc8ep+DNy7CWN52L+TTG9y1K397w9nkzv+Mw+mZWISiqhmlA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.4.tgz", + "integrity": "sha512-JGRj0SYFuDuAGilWFBlshcexev2hOKfNkoX+0QTksKYq2zgF9VY/vVMq9m8IObYnLna0Xlg+ytCi2FN2rOL0Sg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.4.tgz", + "integrity": "sha512-sdDeLNvs3cYeWsEJ4H1DvjOzaGios4QbBTNLVLVs0XQ0V95bffT3+scptzYGPMjm7xv4+qMhCDrkHwhnUySEzA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.4.tgz", + "integrity": "sha512-VHxAqxqdghM83HslPhRsNhHo91McsxRJaEnShJOMu8mHmEj9Ig7ToHJtDukkuLWLzLboh2XSjq/0zO6wgvykNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.4.tgz", + "integrity": "sha512-OTU/m/eV4gQKxy9r5acuesqaymyeSCnsx1cFto/I1WhPmi5HDxX1nkzb8KYBiwkHIGg7CTfo/AcGzoXAJBxLfg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.4.tgz", + "integrity": "sha512-hKlLNvbmUC6z5g/J4H+Zx7f7w15whSVImokLPmP6ff1QqTVE+TxUM9PGuNsjHvkvlHUtGTdDnOvGNSEUiXI1Ww==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.4.tgz", + "integrity": "sha512-X3As2xhtgPTY/m5edUtddmZ8rCruvBvtxYLMw9OsZdH01L2gS2icsHRwxdU0dMItNfVmrBezueXZCHxVeeb7Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.4.tgz", + "integrity": "sha512-2VG4DqhGaDSmYIu6C4ua2vSLXnJsb/C9liej7TuSO04NK+JJJgJucDUgmX6sn7Gw3Cs5ZJ9ZLrnI0QRDOjLfNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.4.tgz", + "integrity": "sha512-v+mxVgH2kmur/X5Mdrz9m7TsoVjbdYQT0b4Z+dr+I4RvreCNXyCFELZL/DO0M1RsidZTrm6O1eMnV6zlgEzTMQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.4.tgz", + "integrity": "sha512-2TLe9ir+9esCf6Wm+lLWTMbgklIjiF0pbmDnwmhR9MksVOq+e8aP3TSsXySnBDDvTTVd/vKu1aNttEGj3P6l8Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.0", + "@emnapi/runtime": "^1.4.0", + "@emnapi/wasi-threads": "^1.0.1", + "@napi-rs/wasm-runtime": "^0.2.8", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.4.tgz", + "integrity": "sha512-VlnhfilPlO0ltxW9/BgfLI5547PYzqBMPIzRrk4W7uupgCt8z6Trw/tAj6QUtF2om+1MH281Pg+HHUJoLesmng==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.4.tgz", + "integrity": "sha512-+7S63t5zhYjslUGb8NcgLpFXD+Kq1F/zt5Xv5qTv7HaFTG/DHyHD9GA6ieNAxhgyA4IcKa/zy7Xx4Oad2/wuhw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/lightningcss": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", + "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.29.2", + "lightningcss-darwin-x64": "1.29.2", + "lightningcss-freebsd-x64": "1.29.2", + "lightningcss-linux-arm-gnueabihf": "1.29.2", + "lightningcss-linux-arm64-gnu": "1.29.2", + "lightningcss-linux-arm64-musl": "1.29.2", + "lightningcss-linux-x64-gnu": "1.29.2", + "lightningcss-linux-x64-musl": "1.29.2", + "lightningcss-win32-arm64-msvc": "1.29.2", + "lightningcss-win32-x64-msvc": "1.29.2" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", + "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", + "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", + "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", + "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", + "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", + "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", + "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", + "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", + "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", + "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss/node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.4.tgz", + "integrity": "sha512-1ZIUqtPITFbv/DxRmDr5/agPqJwF69d24m9qmM1939TJehgY539CtzeZRjbLt5G6fSy/7YqqYsfvoTEw9xUI2A==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + } + } +} diff --git a/panels/Elite_Dangerous/package.json b/panels/Elite_Dangerous/package.json new file mode 100644 index 0000000..cf85d0c --- /dev/null +++ b/panels/Elite_Dangerous/package.json @@ -0,0 +1,16 @@ +{ + "name": "test_panel", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "dev": "npx tailwindcss -i ./input.css -o ./output.css --watch" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "@tailwindcss/cli": "^4.1.2", + "tailwindcss": "^4.1.2" + } +} diff --git a/panels/Elite_Dangerous/panel.json b/panels/Elite_Dangerous/panel.json new file mode 100644 index 0000000..54ebe8c --- /dev/null +++ b/panels/Elite_Dangerous/panel.json @@ -0,0 +1,48 @@ +{ + "dir": "", + "name": "Elite Dangerous", + "description": "A Semi Realistic button panel for Elite Dangerous, made by JaxxMoss.", + "aspectRatio": "16/10", + "macros": { + "CM__Chaff": "ED-CM-Chaff", + "CM__ECM": "ED-CM-ECM", + "CM__Heatsink": "ED-CM-Heat_Sink", + "CM__Shieldcell": "ED-CM-Schield_Cell", + "Camera__Pos1": "ED-Camera-Position1", + "Camera__Pos2": "ED-Camera-Position2", + "Camera__Suite": "ED-Camera-Suite", + "Comms__panel": "ED-Comms_Panel", + "External__panel": "ED-External_Panel", + "FSD__toggle": "ED-Toggle_FSD", + "Fighter__engage": "ED-Fighter-Engage", + "Fighter__hold": "ED-Fighter-Hold", + "Fighter__recall": "ED-Fighter-Recall", + "Fighter__wingman1": "ED-Fighter-Wingman1", + "Fighter__wingman2": "ED-Fighter-Wingman2", + "Fighter__wingman3": "ED-Fighter-Wingman3", + "Fighter_attack": "ED-Fighter-Attack", + "Fighter_defend": "ED-Fighter-Defend", + "Fighter_follow": "ED-Fighter-Follow", + "FlightAssist__toggle": "ED-Flight_Assist", + "Free__Camera": "ED-Camera-Free", + "Galaxy__map": "ED-Galaxy_Map", + "Hardpoints__toggle": "ED-Hardpoints_Switch", + "Hyper__Space": "ED-Hyperspace", + "Internal__panel": "ED-Internal_Panel", + "Jettison__Cargo": "ED-Jettison_Cargo", + "Lights__toggle": "ED-Flight_Assist", + "Mode__toggle": "ED-Mode_Switch", + "Next__Camera": "ED-Camera-Next", + "NightVis__toggle": "ED-Night_Vision", + "Previous__Camera": "ED-Camera-Previous", + "Roles__panel": "ED-Roles_Panel", + "Rotational__Correction": "ED-Rotational_Correction", + "Route__NextSystem": "ED-Route_Next_System", + "Scanner__DiscScan": "ED-Scanner_Discovery", + "Scanner__FSS": "ED-Scanner-FSS", + "SilentRunning__toggle": "ED-Silent_Running", + "Speed_0percent": "ED-0percent_Speed", + "Super__Cruise": "ED-Super_Cruise", + "System__map": "ED-System_Map" + } +} diff --git a/panels/Elite_Dangerous/tailwind.config.js b/panels/Elite_Dangerous/tailwind.config.js new file mode 100644 index 0000000..2c1a5aa --- /dev/null +++ b/panels/Elite_Dangerous/tailwind.config.js @@ -0,0 +1,17 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "./index.html", // Ensure this path is correct + ], + theme: { + extend: {}, + }, + safelist: [ + { + pattern: /^(border|bg)-(blue|red|sky|orange|lime)-(200|400|300\/40)$/, + }, + ], + plugins: [], + preflight: false, + mode: "jit", +};