rune-lab 0.4.6 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/RuneProvider.svelte.d.ts +12 -20
- package/dist/i18n/message-resolver.test.d.ts +1 -0
- package/dist/i18n/messages.d.ts +2 -0
- package/dist/i18n/messages.js +7 -0
- package/dist/i18n/paraglide/README.md +29 -12
- package/dist/i18n/paraglide/messages/_index.js +0 -18
- package/dist/i18n/paraglide/runtime.js +98 -12
- package/dist/i18n/paraglide/server.js +57 -18
- package/dist/kernel/src/persistence/drivers.test.d.ts +1 -0
- package/dist/kernel/src/persistence/provider.test.d.ts +1 -0
- package/dist/kernel/src/registry/registry.test.d.ts +1 -0
- package/dist/mod.js +1 -1
- package/dist/runes/layout/src/AppSettingSelector.svelte +5 -10
- package/dist/runes/layout/src/AppSettingSelector.svelte.d.ts +35 -21
- package/dist/runes/layout/src/ConnectedNavigationPanel.svelte +4 -2
- package/dist/runes/layout/src/ConnectedNavigationPanel.svelte.d.ts +13 -19
- package/dist/runes/layout/src/ConnectedWorkspaceStrip.svelte +4 -2
- package/dist/runes/layout/src/ConnectedWorkspaceStrip.svelte.d.ts +12 -19
- package/dist/runes/layout/src/ContentArea.svelte.d.ts +7 -19
- package/dist/runes/layout/src/DetailPanel.svelte.d.ts +6 -19
- package/dist/runes/layout/src/Icon.svelte +5 -1
- package/dist/runes/layout/src/Icon.svelte.d.ts +6 -16
- package/dist/runes/layout/src/LanguageSelector.svelte +2 -2
- package/dist/runes/layout/src/LanguageSelector.svelte.d.ts +11 -19
- package/dist/runes/layout/src/NavigationPanel.svelte +11 -9
- package/dist/runes/layout/src/NavigationPanel.svelte.d.ts +16 -19
- package/dist/runes/layout/src/ResourceSelector.svelte +22 -21
- package/dist/runes/layout/src/ResourceSelector.svelte.d.ts +52 -18
- package/dist/runes/layout/src/ThemeSelector.svelte +2 -2
- package/dist/runes/layout/src/ThemeSelector.svelte.d.ts +11 -19
- package/dist/runes/layout/src/WorkspaceLayout.svelte.d.ts +7 -20
- package/dist/runes/layout/src/WorkspaceStrip.svelte +8 -6
- package/dist/runes/layout/src/WorkspaceStrip.svelte.d.ts +10 -19
- package/dist/runes/layout/src/language.svelte.js +1 -1
- package/dist/runes/layout/src/theme.svelte.js +1 -1
- package/dist/runes/palettes/src/commands/CommandPalette.svelte +5 -1
- package/dist/runes/palettes/src/commands/CommandPalette.svelte.d.ts +5 -19
- package/dist/runes/palettes/src/notifications/NotificationBell.svelte.d.ts +7 -20
- package/dist/runes/palettes/src/notifications/Toaster.svelte.d.ts +30 -15
- package/dist/runes/palettes/src/notifications/bridge.d.ts +1 -1
- package/dist/runes/palettes/src/notifications/bridge.js +1 -1
- package/dist/runes/palettes/src/shortcuts/ShortcutPalette.svelte.d.ts +10 -25
- package/dist/runes/plugins/money/src/CurrencySelector.svelte +2 -2
- package/dist/runes/plugins/money/src/CurrencySelector.svelte.d.ts +11 -19
- package/dist/runes/plugins/money/src/MoneyDisplay.svelte.d.ts +36 -19
- package/dist/runes/plugins/money/src/MoneyInput.svelte.d.ts +7 -20
- package/dist/runes/plugins/money/src/currency.svelte.js +6 -2
- package/dist/runes/plugins/money/src/currency.test.d.ts +1 -0
- package/dist/runes/plugins/money/src/exchange-rate.test.d.ts +1 -0
- package/dist/runes/plugins/money/src/money-primitive.test.d.ts +1 -0
- package/dist/runes/plugins/money/src/money.test.d.ts +1 -0
- package/dist/runes/plugins/money/src/strategies.test.d.ts +1 -0
- package/package.json +7 -12
- package/LICENSE +0 -21
- package/README.md +0 -314
- package/dist/i18n/paraglide/messages/active_toasts.js +0 -101
- package/dist/i18n/paraglide/messages/api_status.js +0 -101
- package/dist/i18n/paraglide/messages/app_info.js +0 -101
- package/dist/i18n/paraglide/messages/appearance.js +0 -101
- package/dist/i18n/paraglide/messages/commands_label.js +0 -101
- package/dist/i18n/paraglide/messages/current_currency.js +0 -101
- package/dist/i18n/paraglide/messages/current_language.js +0 -101
- package/dist/i18n/paraglide/messages/current_theme.js +0 -101
- package/dist/i18n/paraglide/messages/currently_in_queue.js +0 -101
- package/dist/i18n/paraglide/messages/extended_controls.js +0 -101
- package/dist/i18n/paraglide/messages/live_store_dashboard.js +0 -101
- package/dist/i18n/paraglide/messages/localization.js +0 -101
- package/dist/i18n/paraglide/messages/name_label.js +0 -101
- package/dist/i18n/paraglide/messages/real_time_monitor_desc.js +0 -101
- package/dist/i18n/paraglide/messages/registered_in_registry.js +0 -101
- package/dist/i18n/paraglide/messages/state_label.js +0 -101
- package/dist/i18n/paraglide/messages/url_label.js +0 -101
- package/dist/i18n/paraglide/messages/version_label.js +0 -101
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
props: Record<string, never>;
|
|
4
|
-
events: {
|
|
5
|
-
[evt: string]: CustomEvent<any>;
|
|
6
|
-
};
|
|
7
|
-
slots: {};
|
|
8
|
-
exports?: {};
|
|
9
|
-
bindings?: string;
|
|
10
|
-
};
|
|
11
|
-
export type CommandPaletteProps = typeof __propDef.props;
|
|
12
|
-
export type CommandPaletteEvents = typeof __propDef.events;
|
|
13
|
-
export type CommandPaletteSlots = typeof __propDef.slots;
|
|
14
|
-
export default class CommandPalette extends SvelteComponentTyped<
|
|
15
|
-
CommandPaletteProps,
|
|
16
|
-
CommandPaletteEvents,
|
|
17
|
-
CommandPaletteSlots
|
|
18
|
-
> {
|
|
1
|
+
interface Props {
|
|
2
|
+
shortcutKey?: string;
|
|
19
3
|
}
|
|
20
|
-
|
|
4
|
+
declare const CommandPalette: import("svelte").Component<Props, {}, "">;
|
|
5
|
+
type CommandPalette = ReturnType<typeof CommandPalette>;
|
|
6
|
+
export default CommandPalette;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
1
|
export interface NotificationBellProps {
|
|
3
2
|
/** Number of unread notifications (badge hides when 0) */
|
|
4
3
|
unreadCount?: number;
|
|
@@ -7,22 +6,10 @@ export interface NotificationBellProps {
|
|
|
7
6
|
/** Enable shake animation to draw attention */
|
|
8
7
|
animate?: boolean;
|
|
9
8
|
}
|
|
10
|
-
declare const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
bindings?: string;
|
|
18
|
-
};
|
|
19
|
-
type NotificationBellProps_ = typeof __propDef.props;
|
|
20
|
-
export type NotificationBellEvents = typeof __propDef.events;
|
|
21
|
-
export type NotificationBellSlots = typeof __propDef.slots;
|
|
22
|
-
export default class NotificationBell extends SvelteComponentTyped<
|
|
23
|
-
NotificationBellProps_,
|
|
24
|
-
NotificationBellEvents,
|
|
25
|
-
NotificationBellSlots
|
|
26
|
-
> {
|
|
27
|
-
}
|
|
28
|
-
export {};
|
|
9
|
+
declare const NotificationBell: import("svelte").Component<
|
|
10
|
+
NotificationBellProps,
|
|
11
|
+
{},
|
|
12
|
+
""
|
|
13
|
+
>;
|
|
14
|
+
type NotificationBell = ReturnType<typeof NotificationBell>;
|
|
15
|
+
export default NotificationBell;
|
|
@@ -1,17 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
interface $$__sveltets_2_IsomorphicComponent<
|
|
2
|
+
Props extends Record<string, any> = any,
|
|
3
|
+
Events extends Record<string, any> = any,
|
|
4
|
+
Slots extends Record<string, any> = any,
|
|
5
|
+
Exports = {},
|
|
6
|
+
Bindings = string,
|
|
7
|
+
> {
|
|
8
|
+
new (
|
|
9
|
+
options: import("svelte").ComponentConstructorOptions<Props>,
|
|
10
|
+
): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
11
|
+
$$bindings?: Bindings;
|
|
12
|
+
} & Exports;
|
|
13
|
+
(internal: unknown, props: {
|
|
14
|
+
$$events?: Events;
|
|
15
|
+
$$slots?: Slots;
|
|
16
|
+
}): Exports & {
|
|
17
|
+
$set?: any;
|
|
18
|
+
$on?: any;
|
|
6
19
|
};
|
|
7
|
-
|
|
8
|
-
exports?: {};
|
|
9
|
-
bindings?: string;
|
|
10
|
-
};
|
|
11
|
-
export type ToasterProps = typeof __propDef.props;
|
|
12
|
-
export type ToasterEvents = typeof __propDef.events;
|
|
13
|
-
export type ToasterSlots = typeof __propDef.slots;
|
|
14
|
-
export default class Toaster
|
|
15
|
-
extends SvelteComponentTyped<ToasterProps, ToasterEvents, ToasterSlots> {
|
|
20
|
+
z_$$bindings?: Bindings;
|
|
16
21
|
}
|
|
17
|
-
|
|
22
|
+
declare const Toaster: $$__sveltets_2_IsomorphicComponent<
|
|
23
|
+
Record<string, never>,
|
|
24
|
+
{
|
|
25
|
+
[evt: string]: CustomEvent<any>;
|
|
26
|
+
},
|
|
27
|
+
{},
|
|
28
|
+
{},
|
|
29
|
+
string
|
|
30
|
+
>;
|
|
31
|
+
type Toaster = InstanceType<typeof Toaster>;
|
|
32
|
+
export default Toaster;
|
|
@@ -21,7 +21,7 @@ export declare function wire(store: ToastStore): void;
|
|
|
21
21
|
*
|
|
22
22
|
* @example
|
|
23
23
|
* ```ts
|
|
24
|
-
* import { createToastBridge } from "
|
|
24
|
+
* import { createToastBridge } from "rune-lab";
|
|
25
25
|
* const { notify } = createToastBridge();
|
|
26
26
|
*
|
|
27
27
|
* notify("Logged in successfully", "success");
|
|
@@ -35,7 +35,7 @@ export function wire(store) {
|
|
|
35
35
|
*
|
|
36
36
|
* @example
|
|
37
37
|
* ```ts
|
|
38
|
-
* import { createToastBridge } from "
|
|
38
|
+
* import { createToastBridge } from "rune-lab";
|
|
39
39
|
* const { notify } = createToastBridge();
|
|
40
40
|
*
|
|
41
41
|
* notify("Logged in successfully", "success");
|
|
@@ -1,25 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
open
|
|
5
|
-
close
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports?: {};
|
|
12
|
-
bindings?: string;
|
|
13
|
-
};
|
|
14
|
-
export type ShortcutPaletteProps = typeof __propDef.props;
|
|
15
|
-
export type ShortcutPaletteEvents = typeof __propDef.events;
|
|
16
|
-
export type ShortcutPaletteSlots = typeof __propDef.slots;
|
|
17
|
-
export default class ShortcutPalette extends SvelteComponentTyped<
|
|
18
|
-
ShortcutPaletteProps,
|
|
19
|
-
ShortcutPaletteEvents,
|
|
20
|
-
ShortcutPaletteSlots
|
|
21
|
-
> {
|
|
22
|
-
get open(): () => void;
|
|
23
|
-
get close(): () => void;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
|
1
|
+
declare const ShortcutPalette: import("svelte").Component<
|
|
2
|
+
Record<string, never>,
|
|
3
|
+
{
|
|
4
|
+
open: () => void;
|
|
5
|
+
close: () => void;
|
|
6
|
+
},
|
|
7
|
+
""
|
|
8
|
+
>;
|
|
9
|
+
type ShortcutPalette = ReturnType<typeof ShortcutPalette>;
|
|
10
|
+
export default ShortcutPalette;
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
filterKeys={codes}
|
|
23
23
|
{onchange}
|
|
24
24
|
>
|
|
25
|
-
{#snippet triggerLabel(active)}
|
|
25
|
+
{#snippet triggerLabel(active: any)}
|
|
26
26
|
<div class="flex items-center gap-2">
|
|
27
27
|
<span class="font-bold">{active.symbol}</span>
|
|
28
28
|
</div>
|
|
29
29
|
{/snippet}
|
|
30
30
|
|
|
31
|
-
{#snippet item(c)}
|
|
31
|
+
{#snippet item(c: any)}
|
|
32
32
|
<button
|
|
33
33
|
class="flex items-center gap-3 w-full"
|
|
34
34
|
onclick={() => {
|
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
[evt: string]: CustomEvent<any>;
|
|
6
|
-
};
|
|
7
|
-
slots: {};
|
|
8
|
-
exports?: {};
|
|
9
|
-
bindings?: string;
|
|
1
|
+
type $$ComponentProps = {
|
|
2
|
+
codes?: string[];
|
|
3
|
+
current?: string;
|
|
4
|
+
onchange?: (value: string) => void;
|
|
10
5
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
> {
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
6
|
+
declare const CurrencySelector: import("svelte").Component<
|
|
7
|
+
$$ComponentProps,
|
|
8
|
+
{},
|
|
9
|
+
"current"
|
|
10
|
+
>;
|
|
11
|
+
type CurrencySelector = ReturnType<typeof CurrencySelector>;
|
|
12
|
+
export default CurrencySelector;
|
|
@@ -1,20 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { type ISO4217Code, MoneyPrimitive } from "./mod.js";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
/** Amount in minor or major units (see unit prop) */
|
|
4
|
+
amount?: number | null | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* MoneyPrimitive instance. When provided, amount, currency, and unit
|
|
7
|
+
* are derived from the primitive. Takes precedence over raw amount.
|
|
8
|
+
*/
|
|
9
|
+
money?: MoneyPrimitive;
|
|
10
|
+
/**
|
|
11
|
+
* Whether the amount is in 'major' (e.g., pesos) or 'minor' (e.g., centavos) units.
|
|
12
|
+
* @deprecated Use `money` prop with MoneyPrimitive instead.
|
|
13
|
+
* Defaults to 'minor' for backward compatibility.
|
|
14
|
+
*/
|
|
15
|
+
unit?: "major" | "minor";
|
|
16
|
+
/** String to display if amount is null, undefined, or NaN. Defaults to "—" */
|
|
17
|
+
fallback?: string;
|
|
18
|
+
/** Override currency code (defaults to CurrencyStore.current) */
|
|
19
|
+
currency?: ISO4217Code | string;
|
|
20
|
+
/** The currency the amount is stored in (e.g. MXN) */
|
|
21
|
+
sourceCurrency?: ISO4217Code | string;
|
|
22
|
+
/** Show the original currency as a label */
|
|
23
|
+
showSourceCurrency?: boolean;
|
|
24
|
+
/** Fallback text if conversion is needed but rates are missing */
|
|
25
|
+
noRatesFallback?: string;
|
|
26
|
+
/** Override locale (defaults to LanguageStore.current) */
|
|
27
|
+
locale?: string;
|
|
28
|
+
/** Use compact notation (e.g., $1.2M) */
|
|
29
|
+
compact?: boolean;
|
|
10
30
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
> {
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
31
|
+
declare const MoneyDisplay: import("svelte").Component<
|
|
32
|
+
$$ComponentProps,
|
|
33
|
+
{},
|
|
34
|
+
""
|
|
35
|
+
>;
|
|
36
|
+
type MoneyDisplay = ReturnType<typeof MoneyDisplay>;
|
|
37
|
+
export default MoneyDisplay;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
1
|
import type { ISO4217Code } from "./mod.js";
|
|
3
2
|
import { MoneyPrimitive } from "./mod.js";
|
|
4
3
|
export interface MoneyInputProps {
|
|
@@ -30,22 +29,10 @@ export interface MoneyInputProps {
|
|
|
30
29
|
/** Input disabled state */
|
|
31
30
|
disabled?: boolean;
|
|
32
31
|
}
|
|
33
|
-
declare const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
bindings?: string;
|
|
41
|
-
};
|
|
42
|
-
type MoneyInputProps_ = typeof __propDef.props;
|
|
43
|
-
export type MoneyInputEvents = typeof __propDef.events;
|
|
44
|
-
export type MoneyInputSlots = typeof __propDef.slots;
|
|
45
|
-
export default class MoneyInput extends SvelteComponentTyped<
|
|
46
|
-
MoneyInputProps_,
|
|
47
|
-
MoneyInputEvents,
|
|
48
|
-
MoneyInputSlots
|
|
49
|
-
> {
|
|
50
|
-
}
|
|
51
|
-
export {};
|
|
32
|
+
declare const MoneyInput: import("svelte").Component<
|
|
33
|
+
MoneyInputProps,
|
|
34
|
+
{},
|
|
35
|
+
"amount"
|
|
36
|
+
>;
|
|
37
|
+
type MoneyInput = ReturnType<typeof MoneyInput>;
|
|
38
|
+
export default MoneyInput;
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "../../../../kernel/src/mod.js";
|
|
5
5
|
import { registerCurrency } from "./mod.js";
|
|
6
6
|
import { createMessageResolver } from "../../../../i18n/message-resolver.js";
|
|
7
|
-
import
|
|
7
|
+
import { m } from "../../../../i18n/messages.js";
|
|
8
8
|
/**
|
|
9
9
|
* Resolver to get the display name of a currency in the current locale
|
|
10
10
|
*/
|
|
@@ -76,8 +76,12 @@ function convertAmount(amount, fromCode, toCode) {
|
|
|
76
76
|
export const currencyStore = Object.assign(baseStore, {
|
|
77
77
|
addCurrency,
|
|
78
78
|
convertAmount,
|
|
79
|
-
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(currencyStore, "canConvert", {
|
|
81
|
+
get() {
|
|
80
82
|
return !!_exchangeRateStore?.hasRates;
|
|
81
83
|
},
|
|
84
|
+
enumerable: true,
|
|
85
|
+
configurable: true,
|
|
82
86
|
});
|
|
83
87
|
export { getCurrencyStore };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rune-lab",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"description": "Modern toolkit for Svelte 5 Runes applications.",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"readme": "./README.md",
|
|
7
6
|
"license": "MIT",
|
|
8
7
|
"author": "Fernando Bryan Reza Campos",
|
|
9
8
|
"repository": {
|
|
@@ -21,24 +20,20 @@
|
|
|
21
20
|
"dist"
|
|
22
21
|
],
|
|
23
22
|
"peerDependencies": {
|
|
24
|
-
"svelte": "npm:svelte"
|
|
25
|
-
"@sveltejs/kit": "npm:@sveltejs/kit",
|
|
26
|
-
"@inlang/paraglide-js": "npm:@inlang/paraglide-js"
|
|
23
|
+
"svelte": "npm:svelte"
|
|
27
24
|
},
|
|
28
25
|
"dependencies": {
|
|
29
26
|
"esm-env": "npm:esm-env",
|
|
30
|
-
"
|
|
27
|
+
"@inlang/paraglide-js": "npm:@inlang/paraglide-js",
|
|
31
28
|
"daisyui": "npm:daisyui",
|
|
29
|
+
"hotkeys-js": "npm:hotkeys-js",
|
|
32
30
|
"dinero.js": "npm:dinero.js"
|
|
33
31
|
},
|
|
34
32
|
"devDependencies": {
|
|
35
|
-
"@sveltejs/kit": "npm:@sveltejs/kit",
|
|
36
|
-
"typescript": "npm:typescript@5.9.3",
|
|
37
|
-
"vite": "npm:vite",
|
|
38
33
|
"vite-plus": "npm:vite-plus",
|
|
39
|
-
"
|
|
34
|
+
"svelte": "npm:svelte",
|
|
35
|
+
"@sveltejs/package": "npm:@sveltejs/package@^2.5.7",
|
|
40
36
|
"@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte",
|
|
41
|
-
"@sveltejs/adapter-static": "npm:@sveltejs/adapter-static",
|
|
42
37
|
"jsdom": "npm:jsdom",
|
|
43
38
|
"@testing-library/jest-dom": "npm:@testing-library/jest-dom"
|
|
44
39
|
},
|
|
@@ -55,4 +50,4 @@
|
|
|
55
50
|
"dist/**",
|
|
56
51
|
"**/*.test.ts"
|
|
57
52
|
]
|
|
58
|
-
}
|
|
53
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Fernando Bryan Reza Campos
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|