feat: docker compose maybe

This commit is contained in:
2023-11-13 16:10:04 -05:00
parent 180b261e40
commit b625ccd8d6
8031 changed files with 2182966 additions and 0 deletions

View File

@ -0,0 +1,30 @@
<script>import { setContext } from "svelte";
export let display = "inline-flex";
export let background = "bg-surface-200-700-token";
export let border = "border-token border-surface-400-500-token";
export let spacing = "";
export let rounded = "rounded-token";
export let padding = "px-4 py-1";
export let active = "variant-filled";
export let hover = "hover:variant-soft";
export let color = "";
export let fill = "";
export let regionLabel = "";
export let labelledby = "";
setContext("rounded", rounded);
setContext("padding", padding);
setContext("active", active);
setContext("hover", hover);
setContext("color", color);
setContext("fill", fill);
setContext("regionLabel", regionLabel);
const cBase = "p-1";
$:
spacing = `${display.includes("flex-col") ? "" : "space-x-1"}`;
$:
classesBase = `${cBase} ${display} ${background} ${border} ${spacing} ${rounded} ${$$props.class ?? ""}`;
</script>
<div class="radio-group {classesBase}" data-testid="radio-group" role="radiogroup" aria-labelledby={labelledby}>
<slot />
</div>

View File

@ -0,0 +1,42 @@
import { SvelteComponentTyped } from "svelte";
declare const __propDef: {
props: {
[x: string]: any;
/** Provide display classes. Set `flex` to stretch full width.*/
display?: string | undefined;
/** Provide classes to set the base background color.*/
background?: string | undefined;
/** Provide classes to set the border styles.*/
border?: string | undefined;
/** Provide classes horizontal spacing between items.*/
spacing?: string | undefined;
/** Provide classes to set the border radius.*/
rounded?: string | undefined;
/** Provide classes to set the RadioItem padding.*/
padding?: string | undefined;
/** Provide classes to set the active item color.*/
active?: string | undefined;
/** Provide classes to set the hover style.*/
hover?: string | undefined;
/** Provide classes to set the highlighted text color.*/
color?: string | undefined;
/** Provide classes to set the highlighted SVG fill color.*/
fill?: string | undefined;
/** Provide classes for the label region.*/
regionLabel?: string | undefined;
/** Provide the ARIA labelledby value.*/
labelledby?: string | undefined;
};
events: {
[evt: string]: CustomEvent<any>;
};
slots: {
default: {};
};
};
export type RadioGroupProps = typeof __propDef.props;
export type RadioGroupEvents = typeof __propDef.events;
export type RadioGroupSlots = typeof __propDef.slots;
export default class RadioGroup extends SvelteComponentTyped<RadioGroupProps, RadioGroupEvents, RadioGroupSlots> {
}
export {};

View File

@ -0,0 +1,61 @@
<script>import { getContext } from "svelte";
export let group;
export let name;
export let value;
export let title = "";
export let label = "";
export let rounded = getContext("rounded");
export let padding = getContext("padding");
export let active = getContext("active");
export let hover = getContext("hover");
export let color = getContext("color");
export let fill = getContext("fill");
export let regionLabel = getContext("regionLabel");
const cBase = "flex-auto";
const cWrapper = "text-base text-center cursor-pointer";
const cDisabled = "opacity-50 cursor-not-allowed";
let elemInput;
function onKeyDown(event) {
if (["Enter", "Space"].includes(event.code)) {
event.preventDefault();
elemInput.click();
}
}
$:
checked = value === group;
$:
classesActive = checked ? `${active} ${color} ${fill}` : hover;
$:
classesDisabled = $$props.disabled ? cDisabled : "";
$:
classsBase = `${cBase}`;
$:
classesWrapper = `${cWrapper} ${padding} ${rounded} ${classesActive} ${classesDisabled} ${$$props.class ?? ""}`;
function prunedRestProps() {
delete $$restProps.class;
return $$restProps;
}
</script>
<label class="radio-label {classsBase} {regionLabel}">
<!-- A11y attributes are not allowed on <label> -->
<div
class="radio-item {classesWrapper}"
data-testid="radio-item"
role="radio"
aria-checked={checked}
aria-label={label}
tabindex="0"
{title}
on:keydown={onKeyDown}
on:keydown
on:keyup
on:keypress
>
<!-- NOTE: Don't use `hidden` as it prevents `required` from operating -->
<div class="h-0 w-0 overflow-hidden">
<input bind:this={elemInput} type="radio" bind:group {name} {value} {...prunedRestProps()} tabindex="-1" on:click on:change />
</div>
<slot />
</div>
</label>

View File

@ -0,0 +1,41 @@
import { SvelteComponentTyped } from "svelte";
declare const __propDef: {
props: {
[x: string]: any;
/** Set the radio group binding value.*/
group: any;
/** Set a unique name value for the input.*/
name: string;
/** Set the input's value.*/
value: any;
/** Set the hover title.*/
title?: string | undefined;
/** Defines a semantic ARIA label.*/
label?: string | undefined;
rounded?: string | undefined;
padding?: string | undefined;
active?: string | undefined;
hover?: string | undefined;
color?: string | undefined;
fill?: string | undefined;
regionLabel?: string | undefined;
};
events: {
keydown: KeyboardEvent;
keyup: KeyboardEvent;
keypress: KeyboardEvent;
click: MouseEvent;
change: Event;
} & {
[evt: string]: CustomEvent<any>;
};
slots: {
default: {};
};
};
export type RadioItemProps = typeof __propDef.props;
export type RadioItemEvents = typeof __propDef.events;
export type RadioItemSlots = typeof __propDef.slots;
export default class RadioItem extends SvelteComponentTyped<RadioItemProps, RadioItemEvents, RadioItemSlots> {
}
export {};