@quaffui/quaff 0.1.0-prealpha → 0.1.0-prealpha11
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/components/avatar/QAvatar.svelte +8 -7
- package/dist/components/avatar/QAvatar.svelte.d.ts +4 -4
- package/dist/components/avatar/docs.d.ts +1 -1
- package/dist/components/avatar/index.scss +4 -1
- package/dist/components/avatar/props.d.ts +2 -2
- package/dist/components/avatar/props.js +1 -1
- package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +4 -4
- package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +4 -4
- package/dist/components/breadcrumbs/docs.d.ts +1 -1
- package/dist/components/button/QBtn.svelte +23 -9
- package/dist/components/button/QBtn.svelte.d.ts +6 -5
- package/dist/components/button/docs.d.ts +1 -1
- package/dist/components/button/docs.props.js +8 -0
- package/dist/components/button/index.scss +23 -3
- package/dist/components/button/props.d.ts +7 -2
- package/dist/components/card/QCard.svelte +1 -1
- package/dist/components/card/QCard.svelte.d.ts +4 -4
- package/dist/components/card/QCardActions.svelte +1 -1
- package/dist/components/card/QCardActions.svelte.d.ts +5 -5
- package/dist/components/card/QCardSection.svelte +1 -1
- package/dist/components/card/QCardSection.svelte.d.ts +4 -4
- package/dist/components/card/docs.props.js +1 -1
- package/dist/components/card/index.scss +4 -1
- package/dist/components/card/props.d.ts +1 -1
- package/dist/components/checkbox/QCheckbox.svelte.d.ts +4 -4
- package/dist/components/checkbox/index.scss +4 -0
- package/dist/components/chip/QChip.svelte +8 -2
- package/dist/components/chip/QChip.svelte.d.ts +4 -4
- package/dist/components/chip/docs.d.ts +1 -1
- package/dist/components/chip/docs.props.js +3 -3
- package/dist/components/chip/index.scss +4 -1
- package/dist/components/chip/props.d.ts +2 -2
- package/dist/components/codeBlock/QCodeBlock.svelte +8 -9
- package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +5 -7
- package/dist/components/dialog/QDialog.svelte +34 -20
- package/dist/components/dialog/QDialog.svelte.d.ts +4 -5
- package/dist/components/dialog/docs.d.ts +1 -1
- package/dist/components/dialog/docs.props.js +10 -2
- package/dist/components/dialog/index.scss +150 -3
- package/dist/components/drawer/QDrawer.svelte +57 -40
- package/dist/components/drawer/QDrawer.svelte.d.ts +5 -4
- package/dist/components/drawer/docs.d.ts +1 -1
- package/dist/components/drawer/index.scss +14 -9
- package/dist/components/drawer/props.d.ts +2 -2
- package/dist/components/footer/QFooter.svelte +18 -4
- package/dist/components/footer/QFooter.svelte.d.ts +6 -6
- package/dist/components/footer/docs.d.ts +1 -1
- package/dist/components/footer/index.scss +23 -0
- package/dist/components/footer/props.d.ts +4 -4
- package/dist/components/header/QHeader.svelte +28 -0
- package/dist/components/header/QHeader.svelte.d.ts +24 -0
- package/dist/components/header/props.d.ts +15 -0
- package/dist/components/header/props.js +1 -0
- package/dist/components/icon/QIcon.svelte +11 -13
- package/dist/components/icon/QIcon.svelte.d.ts +8 -8
- package/dist/components/icon/docs.d.ts +1 -1
- package/dist/components/icon/docs.props.js +1 -1
- package/dist/components/icon/index.scss +63 -6
- package/dist/components/icon/props.d.ts +6 -6
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.js +3 -1
- package/dist/components/input/QInput.svelte.d.ts +10 -10
- package/dist/components/input/docs.d.ts +1 -1
- package/dist/components/input/props.d.ts +7 -7
- package/dist/components/layout/QLayout.svelte.d.ts +11 -11
- package/dist/components/layout/docs.d.ts +1 -1
- package/dist/components/layout/index.scss +93 -76
- package/dist/components/layout/props.d.ts +7 -7
- package/dist/components/list/QItem.svelte +1 -1
- package/dist/components/list/QItem.svelte.d.ts +9 -9
- package/dist/components/list/QItemSection.svelte.d.ts +5 -5
- package/dist/components/list/QList.svelte.d.ts +10 -17
- package/dist/components/list/docs.d.ts +2 -0
- package/dist/components/list/docs.js +11 -0
- package/dist/components/list/docs.props.js +1 -1
- package/dist/components/list/index.scss +7 -0
- package/dist/components/list/props.d.ts +12 -12
- package/dist/components/private/ContextReseter.svelte.d.ts +2 -2
- package/dist/components/private/QApi.svelte +25 -22
- package/dist/components/private/QApi.svelte.d.ts +2 -2
- package/dist/components/private/QDocs.svelte +38 -10
- package/dist/components/private/QDocs.svelte.d.ts +3 -3
- package/dist/components/private/QDocsSection.svelte +2 -2
- package/dist/components/private/QDocsSection.svelte.d.ts +2 -2
- package/dist/components/progress/QCircularProgress.svelte +4 -3
- package/dist/components/progress/QCircularProgress.svelte.d.ts +7 -7
- package/dist/components/progress/QLinearProgress.svelte +8 -2
- package/dist/components/progress/QLinearProgress.svelte.d.ts +6 -6
- package/dist/components/progress/docs.d.ts +2 -0
- package/dist/components/progress/docs.js +11 -0
- package/dist/components/progress/docs.props.d.ts +8 -0
- package/dist/components/progress/docs.props.js +42 -0
- package/dist/components/progress/index.scss +15 -0
- package/dist/components/progress/props.d.ts +30 -13
- package/dist/components/progress/props.js +1 -7
- package/dist/components/radio/QRadio.svelte.d.ts +6 -6
- package/dist/components/radio/docs.d.ts +1 -1
- package/dist/components/radio/props.d.ts +3 -3
- package/dist/components/railbar/QRailbar.svelte +48 -29
- package/dist/components/railbar/QRailbar.svelte.d.ts +7 -7
- package/dist/components/railbar/docs.d.ts +2 -0
- package/dist/components/railbar/docs.js +11 -0
- package/dist/components/railbar/index.scss +39 -0
- package/dist/components/railbar/props.d.ts +13 -5
- package/dist/components/railbar/props.js +1 -7
- package/dist/components/select/QSelect.svelte +6 -4
- package/dist/components/select/QSelect.svelte.d.ts +7 -7
- package/dist/components/select/docs.d.ts +1 -1
- package/dist/components/select/docs.props.js +2 -2
- package/dist/components/select/index.scss +8 -2
- package/dist/components/select/props.d.ts +4 -4
- package/dist/components/select/props.js +0 -1
- package/dist/components/separator/QSeparator.svelte +1 -1
- package/dist/components/separator/QSeparator.svelte.d.ts +9 -9
- package/dist/components/separator/docs.d.ts +2 -0
- package/dist/components/separator/docs.js +11 -0
- package/dist/components/separator/props.d.ts +10 -10
- package/dist/components/table/QTable.svelte.d.ts +5 -5
- package/dist/components/table/docs.d.ts +1 -1
- package/dist/components/table/props.d.ts +1 -1
- package/dist/components/tabs/QTab.svelte +45 -17
- package/dist/components/tabs/QTab.svelte.d.ts +5 -7
- package/dist/components/tabs/QTabs.svelte +3 -7
- package/dist/components/tabs/QTabs.svelte.d.ts +6 -6
- package/dist/components/tabs/docs.d.ts +2 -0
- package/dist/components/tabs/docs.js +11 -0
- package/dist/components/tabs/docs.props.js +3 -11
- package/dist/components/tabs/index.scss +40 -9
- package/dist/components/tabs/props.d.ts +2 -2
- package/dist/components/toggle/QToggle.svelte.d.ts +4 -4
- package/dist/components/toggle/docs.d.ts +1 -1
- package/dist/components/toggle/props.d.ts +1 -1
- package/dist/components/toggle/props.js +1 -1
- package/dist/components/toolbar/QToolbar.svelte +6 -22
- package/dist/components/toolbar/QToolbar.svelte.d.ts +8 -6
- package/dist/components/toolbar/QToolbarTitle.svelte +10 -0
- package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +22 -0
- package/dist/components/toolbar/docs.d.ts +2 -0
- package/dist/components/toolbar/docs.js +11 -0
- package/dist/components/toolbar/docs.props.d.ts +8 -0
- package/dist/components/toolbar/docs.props.js +10 -0
- package/dist/components/toolbar/index.scss +35 -0
- package/dist/components/toolbar/props.d.ts +23 -4
- package/dist/components/toolbar/props.js +1 -6
- package/dist/components/tooltip/QTooltip.svelte +3 -5
- package/dist/components/tooltip/QTooltip.svelte.d.ts +5 -5
- package/dist/components/tooltip/docs.d.ts +2 -0
- package/dist/components/tooltip/docs.js +11 -0
- package/dist/components/tooltip/index.scss +77 -2
- package/dist/components/tooltip/props.d.ts +1 -1
- package/dist/composables/use-align.js +17 -6
- package/dist/composables/use-router-link.js +0 -1
- package/dist/composables/use-size.d.ts +8 -10
- package/dist/composables/use-size.js +24 -12
- package/dist/css/flex.scss +41 -0
- package/dist/css/fonts.scss +4 -0
- package/dist/css/grid.scss +1 -16
- package/dist/css/index.css +1 -0
- package/dist/css/index.scss +5 -23
- package/dist/css/mixins/field.scss +3 -1
- package/dist/css/mixins/menu.scss +3 -1
- package/dist/css/mixins.scss +5 -4
- package/dist/css/ripple.scss +42 -0
- package/dist/css/states.scss +9 -4
- package/dist/css/theme/bridge.scss +15 -0
- package/dist/css/theme/elevate.scss +57 -0
- package/dist/css/theme/page.scss +16 -0
- package/dist/css/theme/palette.scss +647 -0
- package/dist/css/theme/reset.scss +40 -0
- package/dist/css/theme/theme.dark.scss +1 -0
- package/dist/css/theme/theme.light.scss +1 -0
- package/dist/css/theme/theme.scss +6 -0
- package/dist/css/theme/typography.scss +111 -0
- package/dist/css/variables-sass.scss +16 -0
- package/dist/global.d.ts +0 -1
- package/dist/helpers/ripple.d.ts +10 -0
- package/dist/helpers/ripple.js +79 -0
- package/dist/helpers/version.d.ts +2 -0
- package/dist/helpers/version.js +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/stores/QTheme.d.ts +3 -3
- package/dist/stores/QTheme.js +22 -15
- package/dist/stores/Quaff.d.ts +6 -5
- package/dist/stores/Quaff.js +2 -1
- package/dist/utils/dom.d.ts +8 -0
- package/dist/utils/dom.js +71 -0
- package/dist/utils/events.d.ts +13 -0
- package/dist/utils/events.js +13 -0
- package/dist/utils/props.d.ts +1 -1
- package/dist/utils/props.js +1 -1
- package/dist/utils/types.d.ts +3 -0
- package/dist/utils/types.json +1 -1
- package/dist/utils/watchable.d.ts +1 -0
- package/package.json +34 -28
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
html {
|
|
2
|
+
font-size: var(--size);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
body {
|
|
6
|
+
font-family: var(--font);
|
|
7
|
+
font-size: 0.875rem;
|
|
8
|
+
line-height: 1.25;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
h1,
|
|
12
|
+
h2,
|
|
13
|
+
h3,
|
|
14
|
+
h4,
|
|
15
|
+
h5,
|
|
16
|
+
h6 {
|
|
17
|
+
font-weight: 400;
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
margin-bottom: 0.5rem;
|
|
21
|
+
line-height: normal;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
* + h1,
|
|
25
|
+
* + h2,
|
|
26
|
+
* + h3,
|
|
27
|
+
* + h4,
|
|
28
|
+
* + h5,
|
|
29
|
+
* + h6 {
|
|
30
|
+
margin-top: 1rem;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
h1 {
|
|
34
|
+
font-size: 3.5625rem;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
h2 {
|
|
38
|
+
font-size: 2.8125rem;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
h3 {
|
|
42
|
+
font-size: 2.25rem;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
h4 {
|
|
46
|
+
font-size: 2rem;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
h5 {
|
|
50
|
+
font-size: 1.75rem;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
h6 {
|
|
54
|
+
font-size: 1.5rem;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
h1.small {
|
|
58
|
+
font-size: 3.0625rem;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
h2.small {
|
|
62
|
+
font-size: 2.3125rem;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
h3.small {
|
|
66
|
+
font-size: 1.75rem;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
h4.small {
|
|
70
|
+
font-size: 1.5rem;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
h5.small {
|
|
74
|
+
font-size: 1.25rem;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
h6.small {
|
|
78
|
+
font-size: 1rem;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
h1.large {
|
|
82
|
+
font-size: 4.0625rem;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
h2.large {
|
|
86
|
+
font-size: 3.3125rem;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
h3.large {
|
|
90
|
+
font-size: 2.75rem;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
h4.large {
|
|
94
|
+
font-size: 2.5rem;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
h5.large {
|
|
98
|
+
font-size: 2.25rem;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
h6.large {
|
|
102
|
+
font-size: 2rem;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
p {
|
|
106
|
+
margin: 0.5rem 0;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.text-center {
|
|
110
|
+
text-align: center;
|
|
111
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Grid variables
|
|
2
|
+
$grid-columns: 12;
|
|
3
|
+
$gutter-xs: 4px;
|
|
4
|
+
$gutter-sm: 8px;
|
|
5
|
+
$gutter-md: 16px;
|
|
6
|
+
$gutter-lg: 24px;
|
|
7
|
+
$gutter-xl: 48px;
|
|
8
|
+
|
|
9
|
+
// Responsive breakpoints
|
|
10
|
+
$breakpoints: (
|
|
11
|
+
xs: 0px,
|
|
12
|
+
sm: 600px,
|
|
13
|
+
md: 960px,
|
|
14
|
+
lg: 1280px,
|
|
15
|
+
xl: 1920px,
|
|
16
|
+
);
|
package/dist/global.d.ts
CHANGED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
const triggerEvents = ["pointerdown", "touchstart", "keydown"];
|
|
2
|
+
const cancelEvents = ["mouseleave", "dragleave", "touchmove", "touchcancel", "pointerup", "keyup"];
|
|
3
|
+
export function ripple(el, options = {}) {
|
|
4
|
+
function addClasses(center) {
|
|
5
|
+
let shouldBeCentered = center || options.center;
|
|
6
|
+
if (!el.classList.contains("q-ripple--effect")) {
|
|
7
|
+
el.classList.add("q-ripple--effect");
|
|
8
|
+
}
|
|
9
|
+
if (!shouldBeCentered && el.classList.contains("q-ripple--center")) {
|
|
10
|
+
el.classList.remove("q-ripple--center");
|
|
11
|
+
}
|
|
12
|
+
shouldBeCentered && el.classList.add("q-ripple--center");
|
|
13
|
+
}
|
|
14
|
+
function setOptions(options) {
|
|
15
|
+
if (options.duration && options.duration < 0) {
|
|
16
|
+
options.duration = undefined;
|
|
17
|
+
}
|
|
18
|
+
if (options.color) {
|
|
19
|
+
el.style.setProperty("--ripple-color", options.color);
|
|
20
|
+
}
|
|
21
|
+
if (options.duration) {
|
|
22
|
+
el.style.setProperty("--ripple-duration", `${options.duration}ms`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
addClasses();
|
|
26
|
+
setOptions(options);
|
|
27
|
+
function createRipple(e, center) {
|
|
28
|
+
if (el.hasAttribute("aria-disabled"))
|
|
29
|
+
return;
|
|
30
|
+
if (e instanceof KeyboardEvent) {
|
|
31
|
+
if (!["Enter", "Space"].includes(e.code) || e.repeat) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
e.preventDefault();
|
|
35
|
+
const click = new PointerEvent("pointerdown");
|
|
36
|
+
createRipple(click, true);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
addClasses(center);
|
|
40
|
+
const rect = el.getBoundingClientRect();
|
|
41
|
+
const clientX = window.TouchEvent && e instanceof TouchEvent
|
|
42
|
+
? e.touches[0].clientX
|
|
43
|
+
: e.clientX;
|
|
44
|
+
const clientY = window.TouchEvent && e instanceof TouchEvent
|
|
45
|
+
? e.touches[0].clientY
|
|
46
|
+
: e.clientY;
|
|
47
|
+
const x = clientX - rect.left > el.offsetWidth / 2 ? 0 : el.offsetWidth;
|
|
48
|
+
const y = clientY - rect.top > el.offsetHeight / 2 ? 0 : el.offsetHeight;
|
|
49
|
+
const radius = Math.hypot(x - (clientX - rect.left), y - (clientY - rect.top));
|
|
50
|
+
const ripple = document.createElement("div");
|
|
51
|
+
ripple.classList.add("q-ripple");
|
|
52
|
+
ripple.style.left = `${clientX - rect.left - radius}px`;
|
|
53
|
+
ripple.style.top = `${clientY - rect.top - radius}px`;
|
|
54
|
+
ripple.style.width = ripple.style.height = `${radius * 2}px`;
|
|
55
|
+
el.appendChild(ripple);
|
|
56
|
+
function removeRipple() {
|
|
57
|
+
if (ripple === null)
|
|
58
|
+
return;
|
|
59
|
+
ripple.style.opacity = "0";
|
|
60
|
+
setTimeout(() => {
|
|
61
|
+
ripple.remove();
|
|
62
|
+
}, options.duration || 1000);
|
|
63
|
+
cancelEvents.forEach((event) => el.removeEventListener(event, removeRipple));
|
|
64
|
+
}
|
|
65
|
+
cancelEvents.forEach((event) => el.addEventListener(event, removeRipple));
|
|
66
|
+
}
|
|
67
|
+
triggerEvents.forEach((event) => el.addEventListener(event, createRipple, { passive: event === "touchstart" }));
|
|
68
|
+
return {
|
|
69
|
+
destroy() {
|
|
70
|
+
triggerEvents.forEach((event) => {
|
|
71
|
+
el.removeEventListener(event, createRipple);
|
|
72
|
+
});
|
|
73
|
+
},
|
|
74
|
+
update(newOptions) {
|
|
75
|
+
options = newOptions;
|
|
76
|
+
setOptions(newOptions);
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default "0.1.0-prealpha11";
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from "
|
|
1
|
+
export * from "./components";
|
|
2
|
+
export { Quaff } from "./stores/Quaff.js";
|
package/dist/index.js
CHANGED
package/dist/stores/QTheme.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="svelte" />
|
|
1
2
|
interface IMaterialDynamicColorsThemeColorFormatted {
|
|
2
3
|
primary: string;
|
|
3
4
|
"on-primary": string;
|
|
@@ -33,9 +34,8 @@ interface IMaterialDynamicColorsThemeFormatted {
|
|
|
33
34
|
}
|
|
34
35
|
type CSSDynamicColor = `${keyof IMaterialDynamicColorsThemeColorFormatted}-${keyof IMaterialDynamicColorsThemeFormatted}`;
|
|
35
36
|
export declare const QTheme: {
|
|
36
|
-
subscribe: (this: void, run: import("svelte/store").Subscriber<Record<"error-dark" | "error-light" | "outline-dark" | "outline-light" | "primary-dark" | "primary-light" | "secondary-dark" | "secondary-light" | "tertiary-dark" | "tertiary-light" | "surface-dark" | "surface-light" | "surface-variant-dark" | "surface-variant-light" | "on-primary-dark" | "on-primary-light" | "primary-container-dark" | "primary-container-light" | "on-primary-container-dark" | "on-primary-container-light" | "on-secondary-dark" | "on-secondary-light" | "secondary-container-dark" | "secondary-container-light" | "on-secondary-container-dark" | "on-secondary-container-light" | "on-tertiary-dark" | "on-tertiary-light" | "tertiary-container-dark" | "tertiary-container-light" | "on-tertiary-container-dark" | "on-tertiary-container-light" | "error-container-dark" | "error-container-light" | "on-error-dark" | "on-error-light" | "on-error-container-dark" | "on-error-container-light" | "background-dark" | "background-light" | "on-background-dark" | "on-background-light" | "on-surface-dark" | "on-surface-light" | "on-surface-variant-dark" | "on-surface-variant-light" | "inverse-on-surface-dark" | "inverse-on-surface-light" | "inverse-surface-dark" | "inverse-surface-light" | "inverse-primary-dark" | "inverse-primary-light" | "shadow-dark" | "shadow-light", string>>, invalidate?: (
|
|
37
|
-
|
|
37
|
+
subscribe: (this: void, run: import("svelte/store").Subscriber<Record<"error-dark" | "error-light" | "outline-dark" | "outline-light" | "primary-dark" | "primary-light" | "secondary-dark" | "secondary-light" | "tertiary-dark" | "tertiary-light" | "surface-dark" | "surface-light" | "surface-variant-dark" | "surface-variant-light" | "on-primary-dark" | "on-primary-light" | "primary-container-dark" | "primary-container-light" | "on-primary-container-dark" | "on-primary-container-light" | "on-secondary-dark" | "on-secondary-light" | "secondary-container-dark" | "secondary-container-light" | "on-secondary-container-dark" | "on-secondary-container-light" | "on-tertiary-dark" | "on-tertiary-light" | "tertiary-container-dark" | "tertiary-container-light" | "on-tertiary-container-dark" | "on-tertiary-container-light" | "error-container-dark" | "error-container-light" | "on-error-dark" | "on-error-light" | "on-error-container-dark" | "on-error-container-light" | "background-dark" | "background-light" | "on-background-dark" | "on-background-light" | "on-surface-dark" | "on-surface-light" | "on-surface-variant-dark" | "on-surface-variant-light" | "inverse-on-surface-dark" | "inverse-on-surface-light" | "inverse-surface-dark" | "inverse-surface-light" | "inverse-primary-dark" | "inverse-primary-light" | "shadow-dark" | "shadow-light", string>>, invalidate?: import("svelte/store").Invalidator<Record<"error-dark" | "error-light" | "outline-dark" | "outline-light" | "primary-dark" | "primary-light" | "secondary-dark" | "secondary-light" | "tertiary-dark" | "tertiary-light" | "surface-dark" | "surface-light" | "surface-variant-dark" | "surface-variant-light" | "on-primary-dark" | "on-primary-light" | "primary-container-dark" | "primary-container-light" | "on-primary-container-dark" | "on-primary-container-light" | "on-secondary-dark" | "on-secondary-light" | "secondary-container-dark" | "secondary-container-light" | "on-secondary-container-dark" | "on-secondary-container-light" | "on-tertiary-dark" | "on-tertiary-light" | "tertiary-container-dark" | "tertiary-container-light" | "on-tertiary-container-dark" | "on-tertiary-container-light" | "error-container-dark" | "error-container-light" | "on-error-dark" | "on-error-light" | "on-error-container-dark" | "on-error-container-light" | "background-dark" | "background-light" | "on-background-dark" | "on-background-light" | "on-surface-dark" | "on-surface-light" | "on-surface-variant-dark" | "on-surface-variant-light" | "inverse-on-surface-dark" | "inverse-on-surface-light" | "inverse-surface-dark" | "inverse-surface-light" | "inverse-primary-dark" | "inverse-primary-light" | "shadow-dark" | "shadow-light", string>> | undefined) => import("svelte/store").Unsubscriber;
|
|
38
|
+
setTheme: (from: string) => Promise<void>;
|
|
38
39
|
updateThemeColor: (color: CSSDynamicColor, newValue: string) => void;
|
|
39
|
-
apply: () => void;
|
|
40
40
|
};
|
|
41
41
|
export {};
|
package/dist/stores/QTheme.js
CHANGED
|
@@ -2,7 +2,15 @@ import { writable } from "svelte/store";
|
|
|
2
2
|
import materialDynamicColors from "material-dynamic-colors";
|
|
3
3
|
import { convertCase } from "../utils/string";
|
|
4
4
|
import QColors from "../utils/colors";
|
|
5
|
+
function extractColorFromCssVar(cssVar) {
|
|
6
|
+
const rootStyles = getComputedStyle(document.documentElement);
|
|
7
|
+
const varName = cssVar.replace(/var\(([a-z0-9-]+)\)/, "$1");
|
|
8
|
+
return rootStyles.getPropertyValue(varName).trim();
|
|
9
|
+
}
|
|
5
10
|
async function prepareThemeColors(from) {
|
|
11
|
+
if (from.startsWith("var(")) {
|
|
12
|
+
from = extractColorFromCssVar(from);
|
|
13
|
+
}
|
|
6
14
|
let theme = await materialDynamicColors(from);
|
|
7
15
|
//@ts-ignore
|
|
8
16
|
const themeColors = {};
|
|
@@ -17,20 +25,9 @@ async function prepareThemeColors(from) {
|
|
|
17
25
|
}
|
|
18
26
|
return themeColors;
|
|
19
27
|
}
|
|
20
|
-
/* const defaultThemeColors = await prepareThemeColors("/cocktail.jpg"); */
|
|
21
|
-
const defaultThemeColors = await prepareThemeColors("#3499E7");
|
|
22
28
|
function themeBuilder() {
|
|
23
|
-
const { subscribe, set, update } = writable(
|
|
24
|
-
|
|
25
|
-
let newTheme = await prepareThemeColors(from);
|
|
26
|
-
set(newTheme);
|
|
27
|
-
};
|
|
28
|
-
const updateThemeColor = (color, newValue) => {
|
|
29
|
-
update(($themeColors) => {
|
|
30
|
-
$themeColors[color] = newValue;
|
|
31
|
-
return $themeColors;
|
|
32
|
-
});
|
|
33
|
-
};
|
|
29
|
+
const { subscribe, set, update } = writable({});
|
|
30
|
+
prepareThemeColors("#3499E7").then((res) => set(res));
|
|
34
31
|
const apply = () => {
|
|
35
32
|
let root = document.documentElement;
|
|
36
33
|
if (root === null)
|
|
@@ -43,11 +40,21 @@ function themeBuilder() {
|
|
|
43
40
|
return $themeColors;
|
|
44
41
|
});
|
|
45
42
|
};
|
|
43
|
+
const updateThemeColor = (color, newValue) => {
|
|
44
|
+
update(($themeColors) => {
|
|
45
|
+
$themeColors[color] = newValue;
|
|
46
|
+
return $themeColors;
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const setTheme = async (from) => {
|
|
50
|
+
let newTheme = await prepareThemeColors(from);
|
|
51
|
+
set(newTheme);
|
|
52
|
+
apply();
|
|
53
|
+
};
|
|
46
54
|
return {
|
|
47
55
|
subscribe,
|
|
48
|
-
|
|
56
|
+
setTheme,
|
|
49
57
|
updateThemeColor,
|
|
50
|
-
apply,
|
|
51
58
|
};
|
|
52
59
|
}
|
|
53
60
|
export const QTheme = themeBuilder();
|
package/dist/stores/Quaff.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
/// <reference types="svelte" />
|
|
1
2
|
/// <reference types="@sveltejs/kit" />
|
|
2
3
|
export declare const quaffStore: {
|
|
3
4
|
subscribe: (this: void, run: import("svelte/store").Subscriber<{
|
|
4
5
|
version: string;
|
|
5
6
|
dark: boolean;
|
|
6
|
-
}>, invalidate?: (
|
|
7
|
+
}>, invalidate?: import("svelte/store").Invalidator<{
|
|
7
8
|
version: string;
|
|
8
9
|
dark: boolean;
|
|
9
|
-
} | undefined) =>
|
|
10
|
+
}> | undefined) => import("svelte/store").Unsubscriber;
|
|
10
11
|
setDarkMode: (newVal: boolean) => void;
|
|
11
12
|
toggleDarkMode: () => void;
|
|
12
13
|
};
|
|
@@ -22,10 +23,10 @@ export declare const Quaff: import("svelte/store").Readable<{
|
|
|
22
23
|
quaff: (this: void, run: import("svelte/store").Subscriber<{
|
|
23
24
|
version: string;
|
|
24
25
|
dark: boolean;
|
|
25
|
-
}>, invalidate?: (
|
|
26
|
+
}>, invalidate?: import("svelte/store").Invalidator<{
|
|
26
27
|
version: string;
|
|
27
28
|
dark: boolean;
|
|
28
|
-
} | undefined) =>
|
|
29
|
-
page: (this: void, run: import("svelte/store").Subscriber<import("@sveltejs/kit").Page<Record<string, string>, string | null>>, invalidate?: (
|
|
29
|
+
}> | undefined) => import("svelte/store").Unsubscriber;
|
|
30
|
+
page: (this: void, run: import("svelte/store").Subscriber<import("@sveltejs/kit").Page<Record<string, string>, string | null>>, invalidate?: import("svelte/store").Invalidator<import("@sveltejs/kit").Page<Record<string, string>, string | null>> | undefined) => import("svelte/store").Unsubscriber;
|
|
30
31
|
};
|
|
31
32
|
}>;
|
package/dist/stores/Quaff.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { writable, derived } from "svelte/store";
|
|
2
2
|
import { page } from "$app/stores";
|
|
3
|
+
import version from "../helpers/version";
|
|
3
4
|
function quaff() {
|
|
4
5
|
const { subscribe, set, update } = writable({
|
|
5
|
-
version
|
|
6
|
+
version,
|
|
6
7
|
dark: false,
|
|
7
8
|
//TODO lang: {},
|
|
8
9
|
//TODO? iconSet: {},
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Direction } from "./events";
|
|
2
|
+
export declare function getParentElement(el: HTMLElement): HTMLElement;
|
|
3
|
+
export declare function getAllChildren(el: HTMLElement): HTMLElement[];
|
|
4
|
+
export declare function isFocusable(el: HTMLElement): boolean;
|
|
5
|
+
export declare function getFocusableChildren<T extends HTMLElement>(el: T): T[];
|
|
6
|
+
export declare function getClosestFocusableChild(el: HTMLElement): HTMLElement;
|
|
7
|
+
export declare function getClosestFocusableSibling<T extends HTMLElement>(el: T, direction: Direction): HTMLElement;
|
|
8
|
+
export declare function getClosestFocusableBlock(el: HTMLElement, direction: Direction): HTMLElement;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export function getParentElement(el) {
|
|
2
|
+
let parent = el.parentNode;
|
|
3
|
+
while (parent && parent.nodeType !== 1) {
|
|
4
|
+
parent = parent.parentNode;
|
|
5
|
+
}
|
|
6
|
+
return parent;
|
|
7
|
+
}
|
|
8
|
+
export function getAllChildren(el) {
|
|
9
|
+
return Array.from(el.querySelectorAll("*"));
|
|
10
|
+
}
|
|
11
|
+
// Focus utils
|
|
12
|
+
const focusableElements = ':is(a, button, input, [tabindex]:not([tabindex="-1"])):not([disabled], [aria-disabled="true"])';
|
|
13
|
+
export function isFocusable(el) {
|
|
14
|
+
return (el.offsetWidth > 0 &&
|
|
15
|
+
el.offsetHeight > 0 &&
|
|
16
|
+
(el.style.opacity === "" || +el.style.opacity > 0) &&
|
|
17
|
+
el.style.display !== "none" &&
|
|
18
|
+
el.tabIndex >= 0);
|
|
19
|
+
}
|
|
20
|
+
export function getFocusableChildren(el) {
|
|
21
|
+
return Array.from(el.querySelectorAll(focusableElements));
|
|
22
|
+
}
|
|
23
|
+
export function getClosestFocusableChild(el) {
|
|
24
|
+
let children = Array.from(el.querySelectorAll(focusableElements));
|
|
25
|
+
const focusableChildren = children.filter(isFocusable);
|
|
26
|
+
return focusableChildren[0] || null;
|
|
27
|
+
}
|
|
28
|
+
export function getClosestFocusableSibling(el, direction) {
|
|
29
|
+
const parent = getParentElement(el);
|
|
30
|
+
const allSiblings = Array.from(parent.childNodes);
|
|
31
|
+
let filtered = allSiblings.filter(isFocusable);
|
|
32
|
+
const indexOfEl = filtered.indexOf(el);
|
|
33
|
+
if (direction === "next") {
|
|
34
|
+
const i = indexOfEl + 1 === filtered.length ? 0 : indexOfEl + 1;
|
|
35
|
+
if (filtered[i].hasAttribute("aria-current")) {
|
|
36
|
+
// The target element is active, it shouldn't have focus
|
|
37
|
+
return i + 1 === filtered.length ? filtered[0] : filtered[i + 1];
|
|
38
|
+
}
|
|
39
|
+
return filtered[i];
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const i = indexOfEl - 1 === -1 ? filtered.length - 1 : indexOfEl - 1;
|
|
43
|
+
if (filtered[i].hasAttribute("aria-current")) {
|
|
44
|
+
// The target element is active, it shouldn't have focus
|
|
45
|
+
return i - 1 === -1 ? filtered.at(-1) : filtered[i - 1];
|
|
46
|
+
}
|
|
47
|
+
return filtered[i];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export function getClosestFocusableBlock(el, direction) {
|
|
51
|
+
let parent = getParentElement(el);
|
|
52
|
+
let parentFocusableChildren = getFocusableChildren(parent);
|
|
53
|
+
function getNextFocusableBlock(parentBlock) {
|
|
54
|
+
const grandParent = getParentElement(parentBlock);
|
|
55
|
+
const grandParentChildren = getAllChildren(grandParent);
|
|
56
|
+
const indexOfEl = grandParentChildren.indexOf(el);
|
|
57
|
+
const sliced = direction === "next"
|
|
58
|
+
? grandParentChildren.slice(indexOfEl)
|
|
59
|
+
: grandParentChildren.slice(0, indexOfEl);
|
|
60
|
+
const filtered = sliced.filter((element) => isFocusable(element) && !parentFocusableChildren.includes(element));
|
|
61
|
+
if (!filtered.length) {
|
|
62
|
+
return getNextFocusableBlock(grandParent);
|
|
63
|
+
}
|
|
64
|
+
return direction === "next" ? filtered[0] : filtered.at(-1);
|
|
65
|
+
}
|
|
66
|
+
let targetBlock = getNextFocusableBlock(parent);
|
|
67
|
+
if (targetBlock.hasAttribute("aria-current")) {
|
|
68
|
+
targetBlock = getClosestFocusableSibling(targetBlock, direction);
|
|
69
|
+
}
|
|
70
|
+
return targetBlock;
|
|
71
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type Direction = "previous" | "next";
|
|
2
|
+
export declare function isActivationKey(e: KeyboardEvent): e is KeyboardEvent & {
|
|
3
|
+
code: "Enter" | "Space";
|
|
4
|
+
};
|
|
5
|
+
export declare function isArrowKey(e: KeyboardEvent): e is KeyboardEvent & {
|
|
6
|
+
code: "ArrowUp" | "ArrowDown" | "ArrowLeft" | "ArrowRight";
|
|
7
|
+
};
|
|
8
|
+
export declare function isTabKey(e: KeyboardEvent): e is KeyboardEvent & {
|
|
9
|
+
code: "Tab";
|
|
10
|
+
};
|
|
11
|
+
export declare function getDirection(e: KeyboardEvent & {
|
|
12
|
+
code: "ArrowUp" | "ArrowDown" | "ArrowLeft" | "ArrowRight";
|
|
13
|
+
}): Direction;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Keyboard events
|
|
2
|
+
export function isActivationKey(e) {
|
|
3
|
+
return e.code === "Enter" || e.code === "Space";
|
|
4
|
+
}
|
|
5
|
+
export function isArrowKey(e) {
|
|
6
|
+
return e.code.startsWith("Arrow");
|
|
7
|
+
}
|
|
8
|
+
export function isTabKey(e) {
|
|
9
|
+
return e.code === "Tab";
|
|
10
|
+
}
|
|
11
|
+
export function getDirection(e) {
|
|
12
|
+
return ["ArrowDown", "ArrowRight"].includes(e.code) ? "next" : "previous";
|
|
13
|
+
}
|
package/dist/utils/props.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function createStyles(styleObj: Record<string, string | number | null | undefined>, userStyles?: string): string | null;
|
|
1
|
+
export declare function createStyles(styleObj: Record<string, string | number | boolean | null | undefined>, userStyles?: string): string | null;
|
|
2
2
|
interface CreateClassesOptions {
|
|
3
3
|
component?: string;
|
|
4
4
|
element?: string;
|
package/dist/utils/props.js
CHANGED
|
@@ -3,7 +3,7 @@ export function createStyles(styleObj, userStyles) {
|
|
|
3
3
|
const stylesArray = Object.entries(styleObj);
|
|
4
4
|
const toJoin = [];
|
|
5
5
|
for (let [styleName, styleVal] of stylesArray) {
|
|
6
|
-
if (styleVal === undefined || styleVal === null) {
|
|
6
|
+
if (styleVal === undefined || styleVal === null || styleVal === false) {
|
|
7
7
|
continue;
|
|
8
8
|
}
|
|
9
9
|
styleName = convertCase(styleName, "camel", "kebab");
|
package/dist/utils/types.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ export interface NativeProps {
|
|
|
3
3
|
userStyles?: string;
|
|
4
4
|
}
|
|
5
5
|
export declare const NativePropsDefaults: NativeProps;
|
|
6
|
+
export type QuaffSizes = "xs" | "sm" | "md" | "lg" | "xl";
|
|
7
|
+
export type CssUnit = "px" | "%" | "em" | "ex" | "ch" | "rem" | "vw" | "vh" | "vmin" | "vmax";
|
|
8
|
+
export type CssValue = `${number}${CssUnit}`;
|
|
6
9
|
export interface QComponentDocs {
|
|
7
10
|
name: string;
|
|
8
11
|
description: string;
|
package/dist/utils/types.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"QAvatarShapeOptions":"type QAvatarShapeOptions =\
|
|
1
|
+
{"QAvatarShapeOptions":"type QAvatarShapeOptions =\n | \"circle\"\n | \"rounded\"\n | \"top-round\"\n | \"left-round\"\n | \"right-round\"\n | \"bottom-round\"\n | \"top-left-round\"\n | \"top-right-round\"\n | \"bottom-left-round\"\n | \"bottom-right-round\"","QAvatarSizeOptions":"type QAvatarSizeOptions = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | string","QBreadcrumbsGutterOptions":"type QBreadcrumbsGutterOptions = \"none\" | \"sm\" | \"md\" | \"lg\"","QLayoutEvents":"type QLayoutEvents = \"resize\" | \"scroll\" | \"scrollHeight\"","QSelectOption":"type QSelectOption = string | { label: string, value: string }","QItemSectionTypes":"type QItemSectionTypes =\n | \"thumbnail\"\n | \"video\"\n | \"avatar\"\n | \"toggle\"\n | \"icon\"\n | \"trailingIcon\"\n | \"trailingText\"\n | \"content\"","QBtnSizeOptions":"type QBtnSizeOptions = \"sm\" | \"md\" | \"lg\" | \"xl\"","QDialogPositionOptions":"type QDialogPositionOptions = \"default\" | \"top\" | \"right\" | \"bottom\" | \"left\"","QDrawerSideOptions":"type QDrawerSideOptions = \"left\" | \"right\"","QDrawerBehaviorOptions":"type QDrawerBehaviorOptions = \"default\" | \"desktop\" | \"mobile\"","QIconSizeOptions":"type QIconSizeOptions = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | string | number","QIconTypeOptions":"type QIconTypeOptions = \"outlined\" | \"sharp\" | \"rounded\"","QLayoutViewOptions":"type QLayoutViewOptions = `${\"l\"|\"h\"}${\"h\"|\"H\"}${\"r\"|\"h\"} ${\"l\"|\"L\"}${\"p\"}${\"r\"|\"R\"} ${\"l\"|\"f\"}${\"f\"|\"F\"}${\"r\"|\"f\"}`","QTableColumn":"type QTableColumn = {\n name: string\n required?: boolean;\n label: string;\n align?: \"left\" | \"center\" | \"right\";\n field: string | ((row: QTableRow) => string);\n format?: (val: string) => string;\n sortable?: boolean;\n sort?: (a: string, b: string) => number;\n};","QTableRow":"type QTableRow = {\n [key: string]: string | number\n};","QTableSort":"type QTableSort = {\n columnField: string | ((row: QTableRow) => string)\n type: \"asc\" | \"desc\";\n} | null;","QCardFillColors":"type QCardFillColors = \"primary\" | \"secondary\" | \"tertiary\"","QChipSizeOptions":"type QChipSizeOptions = \"sm\" | \"md\" | \"lg\"","QTabsVariants":"type QTabsVariants = \"primary\" | \"secondary\" | \"vertical\""}
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quaffui/quaff",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-prealpha11",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "vite dev",
|
|
6
6
|
"open": "vite dev --open",
|
|
7
|
-
"build": "vite build && npm run package",
|
|
7
|
+
"build": "vite build && npm run package && npm run build:css",
|
|
8
|
+
"build:css": "vite build --config vite.config.scss.ts",
|
|
8
9
|
"preview": "vite preview",
|
|
9
10
|
"package": "svelte-kit sync && svelte-package && publint",
|
|
10
|
-
"prepublishOnly": "npm run
|
|
11
|
+
"prepublishOnly": "npm run build",
|
|
11
12
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
12
13
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
13
14
|
"test:unit": "vitest",
|
|
@@ -20,7 +21,8 @@
|
|
|
20
21
|
".": {
|
|
21
22
|
"types": "./dist/index.d.ts",
|
|
22
23
|
"svelte": "./dist/index.js"
|
|
23
|
-
}
|
|
24
|
+
},
|
|
25
|
+
"./css/*": "./dist/css/*"
|
|
24
26
|
},
|
|
25
27
|
"files": [
|
|
26
28
|
"dist",
|
|
@@ -28,39 +30,43 @@
|
|
|
28
30
|
"!dist/**/*.spec.*"
|
|
29
31
|
],
|
|
30
32
|
"peerDependencies": {
|
|
31
|
-
"svelte": "^
|
|
33
|
+
"svelte": "^4.0.0"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
34
|
-
"@
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"@
|
|
36
|
+
"@fontsource/material-symbols-outlined": "^5.0.6",
|
|
37
|
+
"@fontsource/material-symbols-rounded": "^5.0.6",
|
|
38
|
+
"@fontsource/material-symbols-sharp": "^5.0.6",
|
|
39
|
+
"@fontsource/roboto": "^5.0.7",
|
|
40
|
+
"@sveltejs/adapter-auto": "^2.1.0",
|
|
41
|
+
"@sveltejs/kit": "^1.22.4",
|
|
42
|
+
"@sveltejs/package": "^2.2.0",
|
|
43
|
+
"@types/node": "^20.4.6",
|
|
38
44
|
"@types/prettier": "^2.7.3",
|
|
39
45
|
"@types/prismjs": "^1.26.0",
|
|
40
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
41
|
-
"@typescript-eslint/parser": "^
|
|
42
|
-
"eslint": "^8.
|
|
43
|
-
"eslint-config-prettier": "^8.
|
|
44
|
-
"eslint-plugin-svelte": "^2.
|
|
45
|
-
"prettier": "^
|
|
46
|
-
"prettier-plugin-svelte": "^
|
|
47
|
-
"publint": "^0.
|
|
48
|
-
"sass": "^1.
|
|
49
|
-
"svelte": "^
|
|
50
|
-
"svelte-check": "^3.
|
|
46
|
+
"@typescript-eslint/eslint-plugin": "^6.2.1",
|
|
47
|
+
"@typescript-eslint/parser": "^6.2.1",
|
|
48
|
+
"eslint": "^8.46.0",
|
|
49
|
+
"eslint-config-prettier": "^8.9.0",
|
|
50
|
+
"eslint-plugin-svelte": "^2.32.4",
|
|
51
|
+
"prettier": "^3.0.0",
|
|
52
|
+
"prettier-plugin-svelte": "^3.0.3",
|
|
53
|
+
"publint": "^0.2.0",
|
|
54
|
+
"sass": "^1.64.2",
|
|
55
|
+
"svelte": "^4.1.2",
|
|
56
|
+
"svelte-check": "^3.4.6",
|
|
51
57
|
"ts-node": "^10.9.1",
|
|
52
|
-
"tslib": "^2.
|
|
53
|
-
"typescript": "^5.
|
|
54
|
-
"vite": "^4.
|
|
55
|
-
"vitest": "^0.
|
|
58
|
+
"tslib": "^2.6.1",
|
|
59
|
+
"typescript": "^5.1.6",
|
|
60
|
+
"vite": "^4.4.8",
|
|
61
|
+
"vitest": "^0.34.1"
|
|
56
62
|
},
|
|
57
63
|
"svelte": "./dist/index.js",
|
|
58
64
|
"types": "./dist/index.d.ts",
|
|
59
65
|
"type": "module",
|
|
60
66
|
"dependencies": {
|
|
61
|
-
"beercss": "^3.2.
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
67
|
+
"beercss": "^3.2.13",
|
|
68
|
+
"highlight.js": "^11.8.0",
|
|
69
|
+
"material-dynamic-colors": "^1.0.1",
|
|
70
|
+
"svelte-highlight": "^7.3.0"
|
|
65
71
|
}
|
|
66
72
|
}
|