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,75 @@
<script>import { createEventDispatcher, setContext } from "svelte";
import RecursiveTreeViewItem from "./RecursiveTreeViewItem.svelte";
export let selection = false;
export let multiple = false;
export let relational = false;
export let nodes = [];
export let expandedNodes = [];
export let disabledNodes = [];
export let checkedNodes = [];
export let indeterminateNodes = [];
export let width = "w-full";
export let spacing = "space-y-1";
export let open = false;
export let disabled = false;
export let padding = "py-4 px-4";
export let indent = "ml-4";
export let hover = "hover:variant-soft";
export let rounded = "rounded-container-token";
export let caretOpen = "rotate-180";
export let caretClosed = "";
export let hyphenOpacity = "opacity-10";
export let regionSummary = "";
export let regionSymbol = "";
export let regionChildren = "";
export let labelledby = "";
setContext("open", open);
setContext("selection", selection);
setContext("multiple", multiple);
setContext("relational", relational);
setContext("disabled", disabled);
setContext("padding", padding);
setContext("indent", indent);
setContext("hover", hover);
setContext("rounded", rounded);
setContext("caretOpen", caretOpen);
setContext("caretClosed", caretClosed);
setContext("hyphenOpacity", hyphenOpacity);
setContext("regionSummary", regionSummary);
setContext("regionSymbol", regionSymbol);
setContext("regionChildren", regionChildren);
const dispatch = createEventDispatcher();
function onClick(event) {
dispatch("click", {
id: event.detail.id
});
}
function onToggle(event) {
dispatch("toggle", {
id: event.detail.id
});
}
$:
classesBase = `${width} ${spacing} ${$$props.class ?? ""}`;
</script>
<div
class="tree {classesBase}"
data-testid="tree"
role="tree"
aria-multiselectable={multiple}
aria-label={labelledby}
aria-disabled={disabled}
>
{#if nodes && nodes.length > 0}
<RecursiveTreeViewItem
{nodes}
bind:expandedNodes
bind:disabledNodes
bind:checkedNodes
bind:indeterminateNodes
on:click={onClick}
on:toggle={onToggle}
/>
{/if}
</div>

View File

@ -0,0 +1,67 @@
import { SvelteComponentTyped } from "svelte";
import type { TreeViewNode } from '../../index.js';
declare const __propDef: {
props: {
[x: string]: any;
/** Enable tree-view selection.*/
selection?: boolean | undefined;
/** Enable selection of multiple items.*/
multiple?: boolean | undefined;
/** Enable relational checking.*/
relational?: boolean | undefined;
/** Provide data-driven nodes.*/
nodes?: TreeViewNode[] | undefined;
/** provides id's of expanded nodes*/
expandedNodes?: string[] | undefined;
/** provides id's of disabled nodes*/
disabledNodes?: string[] | undefined;
/** provides id's of checked nodes*/
checkedNodes?: string[] | undefined;
/** provides id's of indeterminate nodes*/
indeterminateNodes?: string[] | undefined;
/** Provide classes to set the tree width.*/
width?: string | undefined;
/** Provide classes to set the vertical spacing between items.*/
spacing?: string | undefined;
/** Set open by default on load.*/
open?: boolean | undefined;
/** Set the tree disabled state*/
disabled?: boolean | undefined;
/** Provide classes to set the tree item padding styles.*/
padding?: string | undefined;
/** Provide classes to set the tree children indentation*/
indent?: string | undefined;
/** Provide classes to set the tree item hover styles.*/
hover?: string | undefined;
/** Provide classes to set the tree item rounded styles.*/
rounded?: string | undefined;
/** Set the rotation of the item caret in the open state.*/
caretOpen?: string | undefined;
/** Set the rotation of the item caret in the closed state.*/
caretClosed?: string | undefined;
hyphenOpacity?: string | undefined;
/** Provide arbitrary classes to the tree item summary region.*/
regionSummary?: string | undefined;
/** Provide arbitrary classes to the symbol icon region.*/
regionSymbol?: string | undefined;
/** Provide arbitrary classes to the children region.*/
regionChildren?: string | undefined;
/** Provide the ARIA labelledby value.*/
labelledby?: string | undefined;
};
events: {
/** {{id:string}} click - Fires on tree item click*/
click: CustomEvent<any>;
/** {{id:string}} toggle - Fires on tree item toggle*/
toggle: CustomEvent<any>;
} & {
[evt: string]: CustomEvent<any>;
};
slots: {};
};
export type RecursiveTreeViewProps = typeof __propDef.props;
export type RecursiveTreeViewEvents = typeof __propDef.events;
export type RecursiveTreeViewSlots = typeof __propDef.slots;
export default class RecursiveTreeView extends SvelteComponentTyped<RecursiveTreeViewProps, RecursiveTreeViewEvents, RecursiveTreeViewSlots> {
}
export {};

View File

@ -0,0 +1,140 @@
<script>import TreeViewItem from "./TreeViewItem.svelte";
import RecursiveTreeViewItem from "./RecursiveTreeViewItem.svelte";
import { createEventDispatcher, getContext, onMount, tick } from "svelte";
export let nodes = [];
export let expandedNodes = [];
export let disabledNodes = [];
export let checkedNodes = [];
export let indeterminateNodes = [];
let selection = getContext("selection");
let multiple = getContext("multiple");
let relational = getContext("relational");
let tempCheckedNodes = [];
let group;
let name = "";
const dispatch = createEventDispatcher();
function toggleNode(node, open) {
if (!node.children?.length)
return;
if (open) {
if (!expandedNodes.includes(node.id)) {
expandedNodes.push(node.id);
expandedNodes = expandedNodes;
}
} else {
if (expandedNodes.includes(node.id)) {
expandedNodes.splice(expandedNodes.indexOf(node.id), 1);
expandedNodes = expandedNodes;
}
}
}
function checkNode(node, checked, indeterminate) {
if (checked) {
if (!checkedNodes.includes(node.id)) {
checkedNodes.push(node.id);
checkedNodes = checkedNodes;
}
if (!indeterminate && indeterminateNodes.includes(node.id)) {
indeterminateNodes.splice(indeterminateNodes.indexOf(node.id), 1);
indeterminateNodes = indeterminateNodes;
}
} else {
if (checkedNodes.includes(node.id)) {
checkedNodes.splice(checkedNodes.indexOf(node.id), 1);
checkedNodes = checkedNodes;
}
if (indeterminate && !indeterminateNodes.includes(node.id)) {
indeterminateNodes.push(node.id);
indeterminateNodes = indeterminateNodes;
} else if (!indeterminate && indeterminateNodes.includes(node.id)) {
indeterminateNodes.splice(indeterminateNodes.indexOf(node.id), 1);
indeterminateNodes = indeterminateNodes;
}
}
}
tempCheckedNodes = [...checkedNodes];
onMount(async () => {
if (selection) {
name = String(Math.random());
if (group === void 0) {
if (multiple) {
group = [];
nodes.forEach((node) => {
if (checkedNodes.includes(node.id) && Array.isArray(group))
group.push(node.id);
});
group = group;
} else if (!nodes.some((node) => checkedNodes.includes(node.id))) {
group = "";
}
}
if (!relational)
treeItems = [];
checkedNodes = [];
await tick();
checkedNodes = [...tempCheckedNodes];
}
});
export let treeItems = [];
let children = [];
</script>
{#if nodes && nodes.length > 0}
{#each nodes as node, i}
<TreeViewItem
bind:this={treeItems[i]}
bind:children={children[i]}
bind:group
bind:name
bind:value={node.id}
hideLead={!node.lead}
hideChildren={!node.children || node.children.length === 0}
open={expandedNodes.includes(node.id)}
disabled={disabledNodes.includes(node.id)}
checked={checkedNodes.includes(node.id)}
indeterminate={indeterminateNodes.includes(node.id)}
on:toggle={(e) => toggleNode(node, e.detail.open)}
on:groupChange={(e) => checkNode(node, e.detail.checked, e.detail.indeterminate)}
on:click={() =>
dispatch('click', {
id: node.id
})}
on:toggle={() => {
dispatch('toggle', {
id: node.id
});
}}
>
{#if typeof node.content === 'string'}
{@html node.content}
{:else}
<svelte:component this={node.content} {...node.contentProps} />
{/if}
<svelte:fragment slot="lead">
{#if typeof node.lead === 'string'}
{@html node.lead}
{:else}
<svelte:component this={node.lead} {...node.leadProps} />
{/if}
</svelte:fragment>
<svelte:fragment slot="children">
<RecursiveTreeViewItem
nodes={node.children}
bind:expandedNodes
bind:disabledNodes
bind:checkedNodes
bind:indeterminateNodes
bind:treeItems={children[i]}
on:click={(e) =>
dispatch('click', {
id: e.detail.id
})}
on:toggle={(e) =>
dispatch('toggle', {
id: e.detail.id
})}
/>
</svelte:fragment>
</TreeViewItem>
{/each}
{/if}

View File

@ -0,0 +1,38 @@
import { SvelteComponentTyped } from "svelte";
import TreeViewItem from './TreeViewItem.svelte';
import type { TreeViewNode } from './types.js';
declare const __propDef: {
props: {
/** Provide data-driven nodes. */ nodes?: TreeViewNode[] | undefined;
/**
* provides id's of expanded nodes
* @type {string[]}
*/ expandedNodes?: string[] | undefined;
/**
* provides id's of disabled nodes
* @type {string[]}
*/ disabledNodes?: string[] | undefined;
/**
* provides id's of checked nodes
* @type {string[]}
*/ checkedNodes?: string[] | undefined;
/**
* provides id's of indeterminate nodes
* @type {string[]}
*/ indeterminateNodes?: string[] | undefined;
treeItems?: TreeViewItem[] | undefined;
};
events: {
click: CustomEvent<any>;
toggle: CustomEvent<any>;
} & {
[evt: string]: CustomEvent<any>;
};
slots: {};
};
export type RecursiveTreeViewItemProps = typeof __propDef.props;
export type RecursiveTreeViewItemEvents = typeof __propDef.events;
export type RecursiveTreeViewItemSlots = typeof __propDef.slots;
export default class RecursiveTreeViewItem extends SvelteComponentTyped<RecursiveTreeViewItemProps, RecursiveTreeViewItemEvents, RecursiveTreeViewItemSlots> {
}
export {};

View File

@ -0,0 +1,68 @@
<script>import { setContext } from "svelte";
export let selection = false;
export let multiple = false;
export let width = "w-full";
export let spacing = "space-y-1";
export let open = false;
export let disabled = false;
export let padding = "py-4 px-4";
export let indent = "ml-4";
export let hover = "hover:variant-soft";
export let rounded = "rounded-container-token";
export let caretOpen = "rotate-180";
export let caretClosed = "";
export let hyphenOpacity = "opacity-10";
export let regionSummary = "";
export let regionSymbol = "";
export let regionChildren = "";
export let labelledby = "";
export function expandAll() {
const detailsElements = tree.querySelectorAll("details.tree-item");
detailsElements.forEach((details) => {
if (!details.open) {
const summary = details.querySelector("summary.tree-item-summary");
if (summary)
summary.click();
}
});
}
export function collapseAll() {
const detailsElements = tree.querySelectorAll("details.tree-item");
detailsElements.forEach((details) => {
if (details.open) {
const summary = details.querySelector("summary.tree-item-summary");
if (summary)
summary.click();
}
});
}
setContext("open", open);
setContext("selection", selection);
setContext("multiple", multiple);
setContext("disabled", disabled);
setContext("padding", padding);
setContext("indent", indent);
setContext("hover", hover);
setContext("rounded", rounded);
setContext("caretOpen", caretOpen);
setContext("caretClosed", caretClosed);
setContext("hyphenOpacity", hyphenOpacity);
setContext("regionSummary", regionSummary);
setContext("regionSymbol", regionSymbol);
setContext("regionChildren", regionChildren);
$:
classesBase = `${width} ${spacing} ${$$props.class ?? ""}`;
let tree;
</script>
<div
bind:this={tree}
class="tree {classesBase}"
data-testid="tree"
role="tree"
aria-multiselectable={multiple}
aria-label={labelledby}
aria-disabled={disabled}
>
<slot />
</div>

View File

@ -0,0 +1,55 @@
import { SvelteComponentTyped } from "svelte";
declare const __propDef: {
props: {
[x: string]: any;
/** Enable tree-view selection.*/
selection?: boolean | undefined;
/** Enable selection of multiple items.*/
multiple?: boolean | undefined;
/** Provide classes to set the tree width.*/
width?: string | undefined;
/** Provide classes to set the vertical spacing between items.*/
spacing?: string | undefined;
/** Set open by default on load.*/
open?: boolean | undefined;
/** Set the tree disabled state*/
disabled?: boolean | undefined;
/** Provide classes to set the tree item padding styles.*/
padding?: string | undefined;
/** Provide classes to set the tree children indentation*/
indent?: string | undefined;
/** Provide classes to set the tree item hover styles.*/
hover?: string | undefined;
/** Provide classes to set the tree item rounded styles.*/
rounded?: string | undefined;
/** Set the rotation of the item caret in the open state.*/
caretOpen?: string | undefined;
/** Set the rotation of the item caret in the closed state.*/
caretClosed?: string | undefined;
hyphenOpacity?: string | undefined;
/** Provide arbitrary classes to the tree item summary region.*/
regionSummary?: string | undefined;
/** Provide arbitrary classes to the symbol icon region.*/
regionSymbol?: string | undefined;
/** Provide arbitrary classes to the children region.*/
regionChildren?: string | undefined;
/** Provide the ARIA labelledby value.*/
labelledby?: string | undefined;
expandAll?: (() => void) | undefined;
collapseAll?: (() => void) | undefined;
};
events: {
[evt: string]: CustomEvent<any>;
};
slots: {
default: {};
};
};
export type TreeViewProps = typeof __propDef.props;
export type TreeViewEvents = typeof __propDef.events;
export type TreeViewSlots = typeof __propDef.slots;
export default class TreeView extends SvelteComponentTyped<TreeViewProps, TreeViewEvents, TreeViewSlots> {
get expandAll(): () => void;
get collapseAll(): () => void;
}
export {};

View File

@ -0,0 +1,323 @@
<!-- To access props and events using reference -->
<svelte:options accessors />
<script>import { getContext, createEventDispatcher, onMount } from "svelte";
export let group = void 0;
export let name = void 0;
export let value = void 0;
export let checked = false;
export let children = [];
export let spacing = "space-x-4";
export let open = getContext("open");
export let selection = getContext("selection");
export let multiple = getContext("multiple");
export let disabled = getContext("disabled");
export let indeterminate = false;
export let padding = getContext("padding");
export let indent = getContext("indent");
export let hover = getContext("hover");
export let rounded = getContext("rounded");
export let caretOpen = getContext("caretOpen");
export let caretClosed = getContext("caretClosed");
export let hyphenOpacity = getContext("hyphenOpacity");
export let regionSummary = getContext("regionSummary");
export let regionSymbol = getContext("regionSymbol");
export let regionChildren = getContext("regionChildren");
export let hideLead = false;
export let hideChildren = false;
let treeItem;
let childrenDiv;
function onSummaryClick(event) {
if (disabled)
event.preventDefault();
}
$:
if (multiple)
updateCheckbox(group, indeterminate);
$:
if (multiple)
updateGroup(checked, indeterminate);
$:
if (!multiple)
updateRadio(group);
$:
if (!multiple)
updateRadioGroup(checked);
let initUpdate = true;
function updateCheckbox(group2, indeterminate2) {
if (!Array.isArray(group2))
return;
checked = group2.indexOf(value) >= 0;
dispatch("groupChange", { checked, indeterminate: indeterminate2 });
dispatch("childChange");
if (initUpdate) {
onParentChange();
initUpdate = false;
}
}
function updateGroup(checked2, indeterminate2) {
if (!Array.isArray(group))
return;
const index = group.indexOf(value);
if (checked2) {
if (index < 0) {
group.push(value);
group = group;
onParentChange();
}
} else {
if (index >= 0) {
group.splice(index, 1);
group = group;
onParentChange();
}
}
}
function updateRadio(group2) {
checked = group2 === value;
dispatch("groupChange", { checked, indeterminate: false });
if (group2)
dispatch("childChange");
}
function updateRadioGroup(checked2) {
if (checked2 && group !== value)
group = value;
else if (!checked2 && group === value)
group = "";
}
function onChildValueChange() {
if (multiple) {
if (!Array.isArray(group))
return;
const childrenValues = children.map((c) => c.value);
const childrenGroup = children[0].group;
const index = group.indexOf(value);
if (children.some((c) => c.indeterminate)) {
indeterminate = true;
if (index >= 0) {
group.splice(index, 1);
group = group;
}
} else if (childrenValues.every((c) => Array.isArray(childrenGroup) && childrenGroup.includes(c))) {
indeterminate = false;
if (index < 0) {
group.push(value);
group = group;
}
} else if (childrenValues.some((c) => Array.isArray(childrenGroup) && childrenGroup.includes(c))) {
indeterminate = true;
if (index >= 0) {
group.splice(index, 1);
group = group;
}
} else {
indeterminate = false;
if (index >= 0) {
group.splice(index, 1);
group = group;
}
}
} else {
if (group !== value && children.some((c) => c.checked)) {
group = value;
} else if (group === value && !children.some((c) => c.checked)) {
group = "";
}
}
dispatch("childChange");
}
export function onParentChange() {
if (!multiple || !children || children.length === 0)
return;
if (!Array.isArray(group))
return;
const index = group.indexOf(value);
const checkChild = (child) => {
if (!child || !Array.isArray(child.group))
return;
child.indeterminate = false;
if (child.group.indexOf(child.value) < 0) {
child.group.push(child.value);
child.group = child.group;
}
};
const uncheckChild = (child) => {
if (!child || !Array.isArray(child.group))
return;
child.indeterminate = false;
const childIndex = child.group.indexOf(child.value);
if (childIndex >= 0) {
child.group.splice(childIndex, 1);
child.group = child.group;
}
};
children.forEach((child) => {
if (!child)
return;
index >= 0 ? checkChild(child) : uncheckChild(child);
child.onParentChange();
});
}
$:
if (!multiple && group !== void 0) {
if (group !== value) {
children.forEach((child) => {
if (child)
child.group = "";
});
}
}
const dispatch = createEventDispatcher();
$:
dispatch("toggle", { open });
$:
children.forEach((child) => {
if (child)
child.$on("childChange", onChildValueChange);
});
function onKeyDown(event) {
function getRootTree() {
let currentElement = treeItem;
while (currentElement !== null) {
if (currentElement.classList.contains("tree"))
return currentElement;
currentElement = currentElement.parentElement;
}
return void 0;
}
let rootTree = void 0;
let lastVisibleElement = null;
switch (event.code) {
case "ArrowRight":
if (!open)
open = true;
else if ($$slots.children && !hideChildren) {
const child = childrenDiv.querySelector("details>summary");
if (child)
child.focus();
}
break;
case "ArrowLeft":
if (open)
open = false;
else {
const parent = treeItem.parentElement?.parentElement;
if (parent && parent.tagName === "DETAILS")
parent.querySelector("summary")?.focus();
}
break;
case "Home":
event.preventDefault();
rootTree = getRootTree();
if (rootTree)
rootTree?.querySelector("summary")?.focus();
break;
case "End":
event.preventDefault();
rootTree = getRootTree();
if (rootTree) {
const detailsElements = rootTree?.querySelectorAll("details");
if (!detailsElements)
return;
for (let i = detailsElements.length - 1; i >= 0; i--) {
const details = detailsElements[i];
if (details.parentElement?.classList?.contains("tree") || details.parentElement?.parentElement?.getAttribute("open") !== null) {
lastVisibleElement = details;
break;
} else if (details.parentElement?.parentElement?.tagName !== "details") {
lastVisibleElement = details.parentElement.parentElement;
break;
}
}
if (lastVisibleElement) {
const summary = lastVisibleElement.querySelector("summary");
if (summary)
summary.focus();
}
}
break;
}
}
const cBase = "";
const cSummary = "list-none [&::-webkit-details-marker]:hidden flex items-center cursor-pointer";
const cSymbol = "fill-current w-3 text-center transition-transform duration-[200ms]";
const cChildren = "";
const cDisabled = "opacity-50 !cursor-not-allowed";
$:
classesCaretState = open && $$slots.children && !hideChildren ? caretOpen : caretClosed;
$:
classesDisabled = disabled ? cDisabled : "";
$:
classesBase = `${cBase} ${$$props.class ?? ""}`;
$:
classesSummary = `${cSummary} ${classesDisabled} ${spacing} ${rounded} ${padding} ${hover} ${regionSummary}`;
$:
classesSymbol = `${cSymbol} ${classesCaret} ${regionSymbol}`;
$:
classesCaret = `${classesCaretState}`;
$:
classesHyphen = `${hyphenOpacity}`;
$:
classesChildren = `${cChildren} ${indent} ${regionChildren}`;
</script>
<details bind:this={treeItem} bind:open class="tree-item {classesBase}" data-testid="tree-item" aria-disabled={disabled}>
<summary
class="tree-item-summary {classesSummary}"
role="treeitem"
aria-selected={selection ? checked : undefined}
aria-expanded={$$slots.children ? open : undefined}
on:click={onSummaryClick}
on:click
on:keydown={onKeyDown}
on:keydown
on:keyup
>
<!-- Symbol -->
<div class="tree-summary-symbol {classesSymbol}">
{#if $$slots.children && !hideChildren}
<!-- SVG Caret -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
<path
d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"
/>
</svg>
{:else}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="w-3 {classesHyphen}">
<path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z" />
</svg>
{/if}
</div>
<!-- Selection -->
{#if selection && name && group !== undefined}
{#if multiple}
<input
class="checkbox tree-item-checkbox"
type="checkbox"
{name}
{value}
bind:checked
bind:indeterminate
on:change={onParentChange}
/>
{:else}
<input class="radio tree-item-radio" type="radio" bind:group {name} {value} />
{/if}
{/if}
<!-- Slot: Lead -->
{#if $$slots.lead && !hideLead}
<div class="tree-item-lead">
<slot name="lead" />
</div>
{/if}
<!-- Slot: Content -->
<div class="tree-item-content">
<slot />
</div>
</summary>
<div bind:this={childrenDiv} class="tree-item-children {classesChildren}" role="group">
<slot name="children" />
</div>
</details>

View File

@ -0,0 +1,145 @@
import { SvelteComponentTyped } from "svelte";
import type { TreeViewItem } from '../../index.js';
declare const __propDef: {
props: {
[x: string]: any;
/** Set the radio group binding value.*/
group?: unknown;
/** Set a unique name value for the input.*/
name?: string | undefined;
/** Set the input's value.*/
value?: unknown;
/** Set the input's check state*/
checked?: boolean | undefined;
/** Provide children references to support relational checking.*/
children?: TreeViewItem[] | undefined;
/** Provide classes to set the horizontal spacing.*/
spacing?: string | undefined;
/** Set open by default on load.*/
open?: boolean | undefined;
/** Enable tree-view selection*/
selection?: boolean | undefined;
/** Enable selection of multiple items.*/
multiple?: boolean | undefined;
/** Set the tree item disabled state*/
disabled?: boolean | undefined;
/** Set the check state to indeterminate(-).*/
indeterminate?: boolean | undefined;
/** Provide classes to set the tree item padding styles.*/
padding?: string | undefined;
/** Provide classes to set the tree children indentation*/
indent?: string | undefined;
/** Provide classes to set the tree item hover styles.*/
hover?: string | undefined;
/** Provide classes to set the tree item rounded styles.*/
rounded?: string | undefined;
/** Set the rotation of the item caret in the open state.*/
caretOpen?: string | undefined;
/** Set the rotation of the item caret in the closed state.*/
caretClosed?: string | undefined;
hyphenOpacity?: string | undefined;
/** Provide arbitrary classes to the tree item summary region.*/
regionSummary?: string | undefined;
/** Provide arbitrary classes to the symbol icon region.*/
regionSymbol?: string | undefined;
/** Provide arbitrary classes to the children region.*/
regionChildren?: string | undefined;
/** Don't use this prop, workaround until svelte implements conditional slots*/
hideLead?: boolean | undefined;
/** Don't use this prop, workaround until svelte implements conditional slots*/
hideChildren?: boolean | undefined;
onParentChange?: (() => void) | undefined;
};
events: {
click: MouseEvent;
keydown: KeyboardEvent;
keyup: KeyboardEvent;
toggle: CustomEvent<any>;
} & {
[evt: string]: CustomEvent<any>;
};
slots: {
lead: {};
default: {};
children: {};
};
};
export type TreeViewItemProps = typeof __propDef.props;
export type TreeViewItemEvents = typeof __propDef.events;
export type TreeViewItemSlots = typeof __propDef.slots;
export default class TreeViewItem extends SvelteComponentTyped<TreeViewItemProps, TreeViewItemEvents, TreeViewItemSlots> {
get onParentChange(): () => void;
get group(): unknown;
/**accessor*/
set group(_: unknown);
get name(): string | undefined;
/**accessor*/
set name(_: string | undefined);
get value(): unknown;
/**accessor*/
set value(_: unknown);
get checked(): boolean | undefined;
/**accessor*/
set checked(_: boolean | undefined);
get children(): TreeViewItem[] | undefined;
/**accessor*/
set children(_: TreeViewItem[] | undefined);
get spacing(): string | undefined;
/**accessor*/
set spacing(_: string | undefined);
get open(): boolean | undefined;
/**accessor*/
set open(_: boolean | undefined);
get selection(): boolean | undefined;
/**accessor*/
set selection(_: boolean | undefined);
get multiple(): boolean | undefined;
/**accessor*/
set multiple(_: boolean | undefined);
get disabled(): boolean | undefined;
/**accessor*/
set disabled(_: boolean | undefined);
get indeterminate(): boolean | undefined;
/**accessor*/
set indeterminate(_: boolean | undefined);
get padding(): string | undefined;
/**accessor*/
set padding(_: string | undefined);
get indent(): string | undefined;
/**accessor*/
set indent(_: string | undefined);
get hover(): string | undefined;
/**accessor*/
set hover(_: string | undefined);
get rounded(): string | undefined;
/**accessor*/
set rounded(_: string | undefined);
get caretOpen(): string | undefined;
/**accessor*/
set caretOpen(_: string | undefined);
get caretClosed(): string | undefined;
/**accessor*/
set caretClosed(_: string | undefined);
get hyphenOpacity(): string | undefined;
/**accessor*/
set hyphenOpacity(_: string | undefined);
get regionSummary(): string | undefined;
/**accessor*/
set regionSummary(_: string | undefined);
get regionSymbol(): string | undefined;
/**accessor*/
set regionSymbol(_: string | undefined);
get regionChildren(): string | undefined;
/**accessor*/
set regionChildren(_: string | undefined);
get hideLead(): boolean | undefined;
/**accessor*/
set hideLead(_: boolean | undefined);
get hideChildren(): boolean | undefined;
/**accessor*/
set hideChildren(_: boolean | undefined);
get undefined(): any;
/**accessor*/
set undefined(_: any);
}
export {};

View File

@ -0,0 +1,17 @@
import type { ComponentType } from 'svelte';
export interface TreeViewNode {
/** Nodes Unique ID */
id: string;
/** Main content. accepts HTML or svelte component. */
content: string | ComponentType;
/** Main content props. only used when the Content is a svelte component. */
contentProps?: object;
/** Lead content. accepts HTML or svelte component. */
lead?: string | ComponentType;
/** lead props. only used when the Lead is a svelte component. */
leadProps?: object;
/** children nodes. */
children?: TreeViewNode[];
/** Set the input's value. */
value?: unknown;
}

View File

@ -0,0 +1 @@
export {};