@k2b/ui 0.29.0 → 0.31.0
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/README.md +2 -2
- package/dist/base.css +2 -2
- package/dist/browser/actions/Dropdown.js +6 -3
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/FilterChip.js +137 -7
- package/dist/browser/actions/FilterChip.js.map +1 -1
- package/dist/browser/actions/SegmentedControl.js +5 -9
- package/dist/browser/actions/SegmentedControl.js.map +1 -1
- package/dist/browser/actions/SpotlightSearch.js +6 -3
- package/dist/browser/actions/SpotlightSearch.js.map +1 -1
- package/dist/browser/actions/Tabs.js +5 -2
- package/dist/browser/actions/Tabs.js.map +1 -1
- package/dist/browser/actions/Toolbar.js +2 -0
- package/dist/browser/actions/Toolbar.js.map +1 -1
- package/dist/browser/actions/ViewTabs.js +294 -0
- package/dist/browser/actions/ViewTabs.js.map +1 -0
- package/dist/browser/actions/filter-messages.js +6 -2
- package/dist/browser/actions/filter-messages.js.map +1 -1
- package/dist/browser/actions/index.js +2 -1
- package/dist/browser/actions/index.js.map +1 -1
- package/dist/browser/chat/ChatComposer.js +1108 -604
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/ChatDecision.js +146 -84
- package/dist/browser/chat/ChatDecision.js.map +1 -1
- package/dist/browser/chat/ChatPrimitives.js +292 -159
- package/dist/browser/chat/ChatPrimitives.js.map +1 -1
- package/dist/browser/chat/chat-messages.js +8 -0
- package/dist/browser/chat/chat-messages.js.map +1 -1
- package/dist/browser/chat/command-search.js +26 -15
- package/dist/browser/chat/command-search.js.map +1 -1
- package/dist/browser/chat/index.js +4 -2
- package/dist/browser/chat/index.js.map +1 -1
- package/dist/browser/content/Calendar.js +143 -116
- package/dist/browser/content/Calendar.js.map +1 -1
- package/dist/browser/content/CalendarWeekView.js +291 -266
- package/dist/browser/content/CalendarWeekView.js.map +1 -1
- package/dist/browser/content/DataTable.js +224 -155
- package/dist/browser/content/DataTable.js.map +1 -1
- package/dist/browser/content/MapAttribution.js +27 -0
- package/dist/browser/content/MapAttribution.js.map +1 -0
- package/dist/browser/content/MapView.js +553 -0
- package/dist/browser/content/MapView.js.map +1 -0
- package/dist/browser/content/MapViewFrame.js +395 -0
- package/dist/browser/content/MapViewFrame.js.map +1 -0
- package/dist/browser/content/data-table-messages.js +4 -2
- package/dist/browser/content/data-table-messages.js.map +1 -1
- package/dist/browser/content/index.js +5 -0
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/content/map-palette.js +39 -0
- package/dist/browser/content/map-palette.js.map +1 -0
- package/dist/browser/content/map-style.js +276 -0
- package/dist/browser/content/map-style.js.map +1 -0
- package/dist/browser/content/map-view-geometry.js +269 -0
- package/dist/browser/content/map-view-geometry.js.map +1 -0
- package/dist/browser/content/map-view-live.js +28 -0
- package/dist/browser/content/map-view-live.js.map +1 -0
- package/dist/browser/content/map-view-messages.js +53 -0
- package/dist/browser/content/map-view-messages.js.map +1 -0
- package/dist/browser/content/map-view-types.js +2 -0
- package/dist/browser/content/map-view-types.js.map +1 -0
- package/dist/browser/content/map-view-worker.js +10 -0
- package/dist/browser/feedback/MovedHint.js +197 -0
- package/dist/browser/feedback/MovedHint.js.map +1 -0
- package/dist/browser/feedback/dialog-core.js +85 -9
- package/dist/browser/feedback/dialog-core.js.map +1 -1
- package/dist/browser/feedback/index.js +1 -0
- package/dist/browser/feedback/index.js.map +1 -1
- package/dist/browser/feedback/prompts.js +6 -1
- package/dist/browser/feedback/prompts.js.map +1 -1
- package/dist/browser/inputs/DatePicker.js +337 -212
- package/dist/browser/inputs/DatePicker.js.map +1 -1
- package/dist/browser/inputs/date-picker.js +59 -5
- package/dist/browser/inputs/date-picker.js.map +1 -1
- package/dist/browser/intl/messages.js +12 -0
- package/dist/browser/intl/messages.js.map +1 -1
- package/dist/browser/intl/weekend.js +39 -0
- package/dist/browser/intl/weekend.js.map +1 -0
- package/dist/browser/layout/AppOverview.js +0 -1
- package/dist/browser/layout/AppOverview.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +701 -476
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/PageTitle.js +3 -2
- package/dist/browser/layout/PageTitle.js.map +1 -1
- package/dist/browser/layout/SettingsModal.js +2 -2
- package/dist/browser/layout/SettingsModal.js.map +1 -1
- package/dist/browser/layout/SidebarSwitcher.js +13 -12
- package/dist/browser/layout/SidebarSwitcher.js.map +1 -1
- package/dist/browser/layout/TabBar.js +1 -1
- package/dist/browser/layout/TabBar.js.map +1 -1
- package/dist/browser/layout/app-host-width.js +44 -0
- package/dist/browser/layout/app-host-width.js.map +1 -0
- package/dist/browser/layout/app-workspace-controller.js +331 -45
- package/dist/browser/layout/app-workspace-controller.js.map +1 -1
- package/dist/browser/layout/app-workspace-width.js +26 -0
- package/dist/browser/layout/app-workspace-width.js.map +1 -0
- package/dist/browser/layout/index.js +2 -1
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/surfaces/Placeholder.js +36 -13
- package/dist/browser/surfaces/Placeholder.js.map +1 -1
- package/dist/licenses/maplibre-gl.txt +116 -0
- package/dist/ssr/actions/Dropdown.js +5 -2
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/FilterChip.js +59 -7
- package/dist/ssr/actions/FilterChip.js.map +1 -1
- package/dist/ssr/actions/SegmentedControl.js +1 -2
- package/dist/ssr/actions/SegmentedControl.js.map +1 -1
- package/dist/ssr/actions/SpotlightSearch.js +2 -2
- package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
- package/dist/ssr/actions/Tabs.js +2 -2
- package/dist/ssr/actions/Tabs.js.map +1 -1
- package/dist/ssr/actions/Toolbar.js +2 -0
- package/dist/ssr/actions/Toolbar.js.map +1 -1
- package/dist/ssr/actions/ViewTabs.js +211 -0
- package/dist/ssr/actions/ViewTabs.js.map +1 -0
- package/dist/ssr/actions/filter-messages.js +6 -2
- package/dist/ssr/actions/filter-messages.js.map +1 -1
- package/dist/ssr/actions/index.js +2 -1
- package/dist/ssr/actions/index.js.map +1 -1
- package/dist/ssr/chat/ChatComposer.js +546 -131
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/ChatDecision.js +44 -19
- package/dist/ssr/chat/ChatDecision.js.map +1 -1
- package/dist/ssr/chat/ChatPrimitives.js +95 -24
- package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
- package/dist/ssr/chat/chat-messages.js +8 -0
- package/dist/ssr/chat/chat-messages.js.map +1 -1
- package/dist/ssr/chat/command-search.js +26 -15
- package/dist/ssr/chat/command-search.js.map +1 -1
- package/dist/ssr/chat/index.js +4 -2
- package/dist/ssr/chat/index.js.map +1 -1
- package/dist/ssr/content/Calendar.js +109 -100
- package/dist/ssr/content/Calendar.js.map +1 -1
- package/dist/ssr/content/CalendarWeekView.js +42 -28
- package/dist/ssr/content/CalendarWeekView.js.map +1 -1
- package/dist/ssr/content/DataTable.js +78 -31
- package/dist/ssr/content/DataTable.js.map +1 -1
- package/dist/ssr/content/MapAttribution.js +19 -0
- package/dist/ssr/content/MapAttribution.js.map +1 -0
- package/dist/ssr/content/MapView.js +474 -0
- package/dist/ssr/content/MapView.js.map +1 -0
- package/dist/ssr/content/MapViewFrame.js +193 -0
- package/dist/ssr/content/MapViewFrame.js.map +1 -0
- package/dist/ssr/content/data-table-messages.js +4 -2
- package/dist/ssr/content/data-table-messages.js.map +1 -1
- package/dist/ssr/content/index.js +5 -0
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/content/map-palette.js +39 -0
- package/dist/ssr/content/map-palette.js.map +1 -0
- package/dist/ssr/content/map-style.js +276 -0
- package/dist/ssr/content/map-style.js.map +1 -0
- package/dist/ssr/content/map-view-geometry.js +269 -0
- package/dist/ssr/content/map-view-geometry.js.map +1 -0
- package/dist/ssr/content/map-view-live.js +1 -0
- package/dist/ssr/content/map-view-messages.js +53 -0
- package/dist/ssr/content/map-view-messages.js.map +1 -0
- package/dist/ssr/content/map-view-types.js +2 -0
- package/dist/ssr/content/map-view-types.js.map +1 -0
- package/dist/ssr/feedback/MovedHint.js +166 -0
- package/dist/ssr/feedback/MovedHint.js.map +1 -0
- package/dist/ssr/feedback/dialog-core.js +85 -9
- package/dist/ssr/feedback/dialog-core.js.map +1 -1
- package/dist/ssr/feedback/index.js +1 -0
- package/dist/ssr/feedback/index.js.map +1 -1
- package/dist/ssr/feedback/prompts.js +6 -1
- package/dist/ssr/feedback/prompts.js.map +1 -1
- package/dist/ssr/inputs/DatePicker.js +138 -69
- package/dist/ssr/inputs/DatePicker.js.map +1 -1
- package/dist/ssr/inputs/date-picker.js +59 -5
- package/dist/ssr/inputs/date-picker.js.map +1 -1
- package/dist/ssr/intl/messages.js +12 -0
- package/dist/ssr/intl/messages.js.map +1 -1
- package/dist/ssr/intl/weekend.js +39 -0
- package/dist/ssr/intl/weekend.js.map +1 -0
- package/dist/ssr/layout/AppOverview.js +0 -1
- package/dist/ssr/layout/AppOverview.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +216 -44
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/PageTitle.js +3 -2
- package/dist/ssr/layout/PageTitle.js.map +1 -1
- package/dist/ssr/layout/SettingsModal.js +2 -2
- package/dist/ssr/layout/SettingsModal.js.map +1 -1
- package/dist/ssr/layout/SidebarSwitcher.js +13 -12
- package/dist/ssr/layout/SidebarSwitcher.js.map +1 -1
- package/dist/ssr/layout/TabBar.js +1 -1
- package/dist/ssr/layout/TabBar.js.map +1 -1
- package/dist/ssr/layout/app-host-width.js +44 -0
- package/dist/ssr/layout/app-host-width.js.map +1 -0
- package/dist/ssr/layout/app-workspace-controller.js +331 -45
- package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
- package/dist/ssr/layout/app-workspace-width.js +26 -0
- package/dist/ssr/layout/app-workspace-width.js.map +1 -0
- package/dist/ssr/layout/index.js +2 -1
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/surfaces/Placeholder.js +24 -7
- package/dist/ssr/surfaces/Placeholder.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/Dropdown.d.ts +4 -0
- package/dist/types/actions/FilterChip.d.ts +22 -0
- package/dist/types/actions/ViewTabs.d.ts +30 -0
- package/dist/types/actions/filter-messages.d.ts +2 -0
- package/dist/types/actions/index.d.ts +4 -2
- package/dist/types/chat/ChatComposer.d.ts +52 -0
- package/dist/types/chat/ChatDecision.d.ts +18 -2
- package/dist/types/chat/ChatPrimitives.d.ts +10 -0
- package/dist/types/chat/chat-messages.d.ts +4 -0
- package/dist/types/chat/command-search.d.ts +2 -0
- package/dist/types/chat/index.d.ts +9 -8
- package/dist/types/content/DataTable.d.ts +3 -0
- package/dist/types/content/MapAttribution.d.ts +6 -0
- package/dist/types/content/MapView.d.ts +5 -0
- package/dist/types/content/MapViewFrame.d.ts +31 -0
- package/dist/types/content/data-table-messages.d.ts +1 -0
- package/dist/types/content/index.d.ts +6 -0
- package/dist/types/content/map-palette.d.ts +58 -0
- package/dist/types/content/map-style.d.ts +29 -0
- package/dist/types/content/map-view-geometry.d.ts +55 -0
- package/dist/types/content/map-view-live.d.ts +2 -0
- package/dist/types/content/map-view-messages.d.ts +21 -0
- package/dist/types/content/map-view-types.d.ts +61 -0
- package/dist/types/feedback/MovedHint.d.ts +25 -0
- package/dist/types/feedback/dialog-core.d.ts +6 -2
- package/dist/types/feedback/index.d.ts +2 -0
- package/dist/types/feedback/prompts.d.ts +2 -0
- package/dist/types/inputs/DatePicker.d.ts +7 -0
- package/dist/types/inputs/date-picker.d.ts +25 -1
- package/dist/types/intl/messages.d.ts +6 -0
- package/dist/types/intl/weekend.d.ts +12 -0
- package/dist/types/layout/AppWorkspace.d.ts +48 -8
- package/dist/types/layout/app-host-width.d.ts +6 -0
- package/dist/types/layout/app-workspace-width.d.ts +13 -0
- package/dist/types/layout/index.d.ts +3 -2
- package/dist/types/surfaces/Placeholder.d.ts +2 -1
- package/map-glyphs/IBM Plex Sans Medium/0-255.pbf +0 -0
- package/map-glyphs/IBM Plex Sans Medium/1024-1279.pbf +0 -0
- package/map-glyphs/IBM Plex Sans Medium/256-511.pbf +0 -0
- package/map-glyphs/IBM Plex Sans Medium/512-767.pbf +0 -0
- package/map-glyphs/IBM Plex Sans Medium/768-1023.pbf +0 -0
- package/map-glyphs/IBM Plex Sans Medium/7680-7935.pbf +0 -0
- package/map-glyphs/IBM Plex Sans Medium/8192-8447.pbf +0 -0
- package/map-glyphs/IBM Plex Sans Medium/8448-8703.pbf +0 -0
- package/map-glyphs/IBM Plex Sans Medium/8704-8959.pbf +0 -0
- package/map-glyphs/OFL.txt +93 -0
- package/package.json +11 -6
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
import { type TooltipPlacement } from "./tooltip-position";
|
|
3
|
+
export type MovedHintAction = {
|
|
4
|
+
label: string;
|
|
5
|
+
href: string;
|
|
6
|
+
onClick?: never;
|
|
7
|
+
} | {
|
|
8
|
+
label: string;
|
|
9
|
+
onClick: () => void;
|
|
10
|
+
href?: never;
|
|
11
|
+
};
|
|
12
|
+
export type MovedHintProps = {
|
|
13
|
+
/** The owner decides this on the server, so a dismissed hint never renders again. */
|
|
14
|
+
open: boolean;
|
|
15
|
+
/** Called once per open period when the person closes the hint or uses its action. */
|
|
16
|
+
onDismiss: () => void;
|
|
17
|
+
/** Render the hint directly after this element to preserve keyboard order. */
|
|
18
|
+
target: () => HTMLElement | undefined;
|
|
19
|
+
/** Short text naming the new place. */
|
|
20
|
+
children: JSX.Element;
|
|
21
|
+
action: MovedHintAction;
|
|
22
|
+
placement?: TooltipPlacement;
|
|
23
|
+
class?: string;
|
|
24
|
+
};
|
|
25
|
+
export declare function MovedHint(props: MovedHintProps): JSX.Element;
|
|
@@ -10,9 +10,12 @@ export type OpenDialogOptions = {
|
|
|
10
10
|
ariaLabel?: string;
|
|
11
11
|
/**
|
|
12
12
|
* Add a same-URL history entry while the dialog is open, so the browser's or the phone's Back closes the dialog
|
|
13
|
-
* instead of leaving the page.
|
|
13
|
+
* instead of leaving the page. Normally closing the dialog removes the entry again; the returned promise settles after that.
|
|
14
14
|
* With the Navigation API, same-URL traversals between this core's entries and the page do not reach application popstate listeners.
|
|
15
15
|
* Without it, only the synthetic Back on close is suppressed.
|
|
16
|
+
* Island disposal closes every open dialog immediately and forgets its marker without traversing history.
|
|
17
|
+
* The same-URL entry remains for the router to replace and counts as a page entry for later dialogs.
|
|
18
|
+
* A traversal that `@k2b/ssr/nav` hides from popstate listeners reaches this core through `ssr:nav-popstate`.
|
|
16
19
|
*/
|
|
17
20
|
history?: boolean;
|
|
18
21
|
};
|
|
@@ -46,7 +49,8 @@ export declare const dialogCore: DialogCore;
|
|
|
46
49
|
/**
|
|
47
50
|
* Internal: transient UI shares dialogs' Back handling without exposing another public dialog capability.
|
|
48
51
|
* Same-URL traversals are suppressed with the Navigation API; without it, only the synthetic Back on release is suppressed.
|
|
52
|
+
* Release during island disposal forgets the marker without traversing; the router may replace the remaining entry.
|
|
49
53
|
*/
|
|
50
54
|
export declare const holdDialogHistory: (onBack: () => void) => (() => void);
|
|
51
|
-
/** Internal: waits until
|
|
55
|
+
/** Internal: waits until released holders have left history or were forgotten during island disposal. */
|
|
52
56
|
export declare const dialogHistorySettled: () => Promise<void>;
|
|
@@ -10,6 +10,8 @@ export type { InstallGuideProps } from "./InstallGuide";
|
|
|
10
10
|
export { default as InstallGuide } from "./InstallGuide";
|
|
11
11
|
export type { InstallationPlatform, InstallPrompt } from "./install";
|
|
12
12
|
export { createInstallPrompt, installationPlatform } from "./install";
|
|
13
|
+
export type { MovedHintAction, MovedHintProps } from "./MovedHint";
|
|
14
|
+
export { MovedHint } from "./MovedHint";
|
|
13
15
|
export type { ConfirmOptions, DialogOptions, FieldSchema, PromptFieldBase, PromptSearchInput, PromptSearchItem, PromptSearchOptions, } from "./prompts";
|
|
14
16
|
export { createFormState, DialogHeader, prompts } from "./prompts";
|
|
15
17
|
export type { TooltipAnchorProps, TooltipPlacement, TooltipProps, TooltipTriggerProps } from "./Tooltip";
|
|
@@ -94,6 +94,8 @@ export type FieldSchema = (PromptFieldBase<string> & {
|
|
|
94
94
|
}) | (PromptFieldBase<string> & {
|
|
95
95
|
type: "datetime";
|
|
96
96
|
dateOnly?: boolean;
|
|
97
|
+
/** A date whose time is optional, as `DateTimePicker`'s `optionalTime`. */
|
|
98
|
+
optionalTime?: boolean;
|
|
97
99
|
}) | {
|
|
98
100
|
type: "info";
|
|
99
101
|
content: string | JSX.Element | (() => JSX.Element);
|
|
@@ -28,6 +28,13 @@ export type DatePickerProps = DatePickerBaseProps<string | null> & {
|
|
|
28
28
|
export type DateTimePickerProps = DatePickerBaseProps<string | null> & {
|
|
29
29
|
/** Trigger content for a set value, for example the date and time with a relative hint. */
|
|
30
30
|
renderValue?: (value: string) => JSX.Element;
|
|
31
|
+
/**
|
|
32
|
+
* The time is optional: the value is a date key such as `2026-10-24` until **Add time** adds one, then a date-time
|
|
33
|
+
* like without this option. Removing the time returns to the date key.
|
|
34
|
+
*/
|
|
35
|
+
optionalTime?: boolean;
|
|
36
|
+
/** The time a new value starts with, `09:00` by default. */
|
|
37
|
+
defaultTime?: string;
|
|
31
38
|
};
|
|
32
39
|
export type DateRangePickerProps = DatePickerBaseProps<DateRangeValue> & {
|
|
33
40
|
withTime?: boolean;
|
|
@@ -30,7 +30,10 @@ export declare const monthDate: (year: number, month: number, context?: DateCont
|
|
|
30
30
|
* or repeats midnight, the day starts at its first existing instant.
|
|
31
31
|
*/
|
|
32
32
|
export declare const msUntilNextDay: (now: Date, context?: DateContext) => number;
|
|
33
|
+
/** Whether `value` is a date key such as `2026-10-24`, a date without a time. */
|
|
34
|
+
export declare const isDateKey: (value: string) => boolean;
|
|
33
35
|
export declare const parseDateValue: (value: string | null | undefined, context?: DateContext) => Date;
|
|
36
|
+
/** A date key names a calendar day, so it is formatted at noon UTC in UTC: no runtime or picker zone can move it. */
|
|
34
37
|
export declare const displayDate: (value: string | null | undefined, context?: DateContext) => string;
|
|
35
38
|
export declare const dateTimeInput: (value: string | null | undefined, context?: DateContext) => string;
|
|
36
39
|
export declare const splitDateTime: (value: string | null | undefined, context?: DateContext) => {
|
|
@@ -43,7 +46,28 @@ export declare const formatDateTimeValue: (value: string | null | undefined, con
|
|
|
43
46
|
export declare const normalizeTimeInput: (value: string) => string;
|
|
44
47
|
export declare const filterTimeInput: (value: string) => string;
|
|
45
48
|
export declare const orderedRange: (start: string, end: string) => DateRangeValue;
|
|
46
|
-
|
|
49
|
+
/**
|
|
50
|
+
* The range a click picks. A click starts a complete one-day range on its day, and it becomes the anchor; the next
|
|
51
|
+
* click on another day extends the range from the anchor, whichever side it lies on. A click on the anchor keeps the
|
|
52
|
+
* one-day range. After an extension, the next click starts a new one-day range.
|
|
53
|
+
*/
|
|
54
|
+
export declare const pickRangeDay: (range: DateRangeValue, anchor: string | null, day: string) => {
|
|
55
|
+
range: DateRangeValue;
|
|
56
|
+
anchor: string | null;
|
|
57
|
+
};
|
|
58
|
+
/** The anchor that the next click extends from: only while the range is still the one-day range of its click. */
|
|
59
|
+
export declare const rangeAnchor: (range: DateRangeValue, anchor: string | null) => string | null;
|
|
60
|
+
/** The range shown while the pointer or focus rests on `preview`: the extension that a click there would pick. */
|
|
61
|
+
export declare const previewRange: (range: DateRangeValue, anchor: string | null, preview: string | null) => DateRangeValue;
|
|
47
62
|
export declare const inRange: (day: string, range: DateRangeValue) => boolean;
|
|
48
63
|
export declare const isRangeEdge: (day: string, range: DateRangeValue) => boolean;
|
|
49
64
|
export declare const formatDateOnlyRangeDuration: (range: DateRangeValue, context?: DateContext) => string;
|
|
65
|
+
/**
|
|
66
|
+
* The weekend bands of a week row: one band per run of adjacent weekend columns, as a zero-based start column and a
|
|
67
|
+
* number of columns. Saturday and Sunday in a week from Monday are one band of two; in a week from Sunday they are
|
|
68
|
+
* two bands at both ends.
|
|
69
|
+
*/
|
|
70
|
+
export declare const weekendBands: (weekend: readonly boolean[]) => {
|
|
71
|
+
start: number;
|
|
72
|
+
span: number;
|
|
73
|
+
}[];
|
|
@@ -25,12 +25,16 @@ declare const uiMessages: import("@k2b/stdlib").Catalog<{
|
|
|
25
25
|
nothingToShow: string;
|
|
26
26
|
no: string;
|
|
27
27
|
options: string;
|
|
28
|
+
more: string;
|
|
29
|
+
moreViews: string;
|
|
28
30
|
pickDate: string;
|
|
29
31
|
previousMonth: string;
|
|
30
32
|
previousYear: string;
|
|
31
33
|
nextMonth: string;
|
|
32
34
|
nextYear: string;
|
|
33
35
|
retry: string;
|
|
36
|
+
tryAgain: string;
|
|
37
|
+
movedHintDismiss: string;
|
|
34
38
|
reset: string;
|
|
35
39
|
required: string;
|
|
36
40
|
delete: string;
|
|
@@ -56,6 +60,8 @@ declare const uiMessages: import("@k2b/stdlib").Catalog<{
|
|
|
56
60
|
month: string;
|
|
57
61
|
year: string;
|
|
58
62
|
allDay: string;
|
|
63
|
+
addTime: string;
|
|
64
|
+
removeTime: string;
|
|
59
65
|
previous: string;
|
|
60
66
|
next: string;
|
|
61
67
|
cancel: string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The weekend days of `locale` as JavaScript day numbers (0 for Sunday): Saturday and Sunday in Germany, Friday and
|
|
3
|
+
* Saturday in Israel. The days come from the engine's Intl week data where it has them, otherwise Saturday and Sunday.
|
|
4
|
+
* Without a locale the answer is Saturday and Sunday too, so a server render and the browser agree.
|
|
5
|
+
*/
|
|
6
|
+
export declare const weekendDays: (locale: string | undefined) => ReadonlySet<number>;
|
|
7
|
+
/** The day of the week of a date key such as `2026-10-24`, as a JavaScript day number (0 for Sunday). */
|
|
8
|
+
export declare const dayOfWeekOfKey: (key: string) => number;
|
|
9
|
+
/** Whether the day of `key` is a weekend day of `locale`. */
|
|
10
|
+
export declare const isWeekendKey: (key: string, locale: string | undefined) => boolean;
|
|
11
|
+
/** Whether column `index` of a week that starts on `firstDayOfWeek` (0 for Sunday, 1 for Monday) is a weekend day. */
|
|
12
|
+
export declare const isWeekendColumn: (index: number, firstDayOfWeek: number, locale: string | undefined) => boolean;
|
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
import { type LinkNavigateEvent, type NavigationScrollMode } from "@k2b/ssr/nav";
|
|
2
2
|
import { type JSX } from "solid-js";
|
|
3
3
|
import { type AppWorkspaceLayoutState } from "./app-workspace-state";
|
|
4
|
+
import { type AppWorkspaceWidthShare } from "./app-workspace-width";
|
|
4
5
|
import type { ScrollAreaProps } from "./ScrollArea";
|
|
5
6
|
import { type AppWorkspaceSidebarSwitcherProps } from "./SidebarSwitcher";
|
|
7
|
+
export type { AppWorkspaceWidthShare } from "./app-workspace-width";
|
|
8
|
+
export type AppWorkspaceHeadProps = {
|
|
9
|
+
/** View tabs, usually a ViewTabs. */
|
|
10
|
+
views?: JSX.Element;
|
|
11
|
+
/** Filter chips, usually FilterChip elements. */
|
|
12
|
+
filters?: JSX.Element;
|
|
13
|
+
/** Any filter is active: shows Reset and the quiet result count. */
|
|
14
|
+
filtered?: boolean;
|
|
15
|
+
/** Reset target while filtered: a URL (works without JavaScript) and/or a callback. */
|
|
16
|
+
resetHref?: string;
|
|
17
|
+
onReset?: () => void;
|
|
18
|
+
/** Quiet result count shown only while filtered; CSS drops it first when space is short. */
|
|
19
|
+
count?: JSX.Element;
|
|
20
|
+
/** Secondary actions at the end of the row. Never a filled button. */
|
|
21
|
+
actions?: JSX.Element;
|
|
22
|
+
/** The one filled primary action. Below 48rem it becomes a round icon button beside the host's bottom bar. */
|
|
23
|
+
primary?: {
|
|
24
|
+
label: string;
|
|
25
|
+
icon: string;
|
|
26
|
+
href?: string;
|
|
27
|
+
onClick?: (event: MouseEvent) => void;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
6
30
|
export type AppWorkspaceProps = {
|
|
7
31
|
children: JSX.Element;
|
|
8
32
|
class?: string;
|
|
@@ -40,6 +64,14 @@ export type AppWorkspaceMainProps = {
|
|
|
40
64
|
class?: string;
|
|
41
65
|
/** `"content"` centers the children as one reading column with the shared page width on large screens. */
|
|
42
66
|
width?: "full" | "content";
|
|
67
|
+
/**
|
|
68
|
+
* The width in px or a workspace width share that Main keeps beside the sidebar and an open Detail,
|
|
69
|
+
* from 48rem (768 px); at least the default 320. A Detail that does not fit
|
|
70
|
+
* beside it waits behind the head's Details button, and from 64rem of host
|
|
71
|
+
* width a sidebar that does not fit becomes the overlay. CSS decides, so
|
|
72
|
+
* the server renders the first frame.
|
|
73
|
+
*/
|
|
74
|
+
minWidth?: number | AppWorkspaceWidthShare;
|
|
43
75
|
mobilePane?: string;
|
|
44
76
|
/** Levels in DOM order, shallowest first. The URL selects the deepest level by id. */
|
|
45
77
|
level?: string;
|
|
@@ -63,7 +95,7 @@ export type AppWorkspaceMainPaneProps = {
|
|
|
63
95
|
open?: boolean;
|
|
64
96
|
resizable?: boolean;
|
|
65
97
|
resizeShadow?: boolean;
|
|
66
|
-
defaultSize?: number;
|
|
98
|
+
defaultSize?: number | AppWorkspaceWidthShare;
|
|
67
99
|
minSize?: number;
|
|
68
100
|
maxSize?: number;
|
|
69
101
|
class?: string;
|
|
@@ -75,6 +107,12 @@ export type AppWorkspaceDetailWidth = "sm" | "md" | "lg" | "xl";
|
|
|
75
107
|
export type AppWorkspaceDetailProps = {
|
|
76
108
|
children: JSX.Element;
|
|
77
109
|
open: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Whether choosing an item in Main opens this Detail as the drawer while it waits.
|
|
112
|
+
* Set false when Main itself shows the chosen item, such as a reader beside a list:
|
|
113
|
+
* the drawer then opens only from Details or from a toggle in Main.
|
|
114
|
+
*/
|
|
115
|
+
openOnChoice?: boolean;
|
|
78
116
|
id: string;
|
|
79
117
|
class?: string;
|
|
80
118
|
width?: AppWorkspaceDetailWidth;
|
|
@@ -85,12 +123,11 @@ export type AppWorkspaceDetailProps = {
|
|
|
85
123
|
minWidth?: number;
|
|
86
124
|
maxWidth?: number;
|
|
87
125
|
/**
|
|
88
|
-
* Closes the
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* overlaying it as a drawer.
|
|
126
|
+
* Closes the column with Escape, or the phone sheet with a downward drag.
|
|
127
|
+
* Server-rendered panels mark their close control with
|
|
128
|
+
* `data-workspace-detail-close` instead; those gestures click it.
|
|
129
|
+
* Escape and a rightward touch swipe park an open waiting drawer without
|
|
130
|
+
* calling onClose, so its Details button can open it again.
|
|
94
131
|
*/
|
|
95
132
|
onClose?: () => void;
|
|
96
133
|
/**
|
|
@@ -249,7 +286,7 @@ export type AppWorkspaceSidebarItemIconProps = {
|
|
|
249
286
|
};
|
|
250
287
|
export type AppWorkspaceSidebarItemLabelProps = {
|
|
251
288
|
children: JSX.Element;
|
|
252
|
-
/** False keeps one line
|
|
289
|
+
/** False keeps one line that fades out; rows wrap long labels onto a second line by default. */
|
|
253
290
|
marquee?: boolean;
|
|
254
291
|
};
|
|
255
292
|
export type AppWorkspaceSidebarItemMetaProps = {
|
|
@@ -360,8 +397,11 @@ export type AppWorkspaceNavTreeItemProps = {
|
|
|
360
397
|
type AppWorkspaceNavTreeComponent = ((props: AppWorkspaceNavTreeProps) => JSX.Element) & {
|
|
361
398
|
Item: (props: AppWorkspaceNavTreeItemProps) => JSX.Element;
|
|
362
399
|
};
|
|
400
|
+
/** The Detail region's DOM id, for application controls that target it with aria-controls. */
|
|
401
|
+
export declare const appWorkspaceDetailElementId: (id: string) => string;
|
|
363
402
|
type AppWorkspaceComponent = ((props: AppWorkspaceProps) => JSX.Element) & {
|
|
364
403
|
LayoutStateProvider: (props: AppWorkspaceLayoutStateProviderProps) => JSX.Element;
|
|
404
|
+
Head: (props: AppWorkspaceHeadProps) => JSX.Element;
|
|
365
405
|
Content: (props: AppWorkspaceContentProps) => JSX.Element;
|
|
366
406
|
Main: (props: AppWorkspaceMainProps) => JSX.Element;
|
|
367
407
|
MainPane: (props: AppWorkspaceMainPaneProps) => JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Watches whether workspace chrome has at least `minRem` of app host width.
|
|
3
|
+
* CSS for the same chrome uses `@container k2b-app-area (min-width: …)`.
|
|
4
|
+
* Call with a mounted element; the returned function stops all observation.
|
|
5
|
+
*/
|
|
6
|
+
export declare function watchAppHostWidth(element: Element, minRem: number, update: (matches: boolean) => void): () => void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** A width that follows the workspace's own border-box width: clamp(min, share × workspace width + offset, max), in px. */
|
|
2
|
+
export type AppWorkspaceWidthShare = {
|
|
3
|
+
share: number;
|
|
4
|
+
offset?: number;
|
|
5
|
+
min: number;
|
|
6
|
+
max: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const isAppWorkspaceWidthShare: (value: unknown) => value is AppWorkspaceWidthShare;
|
|
9
|
+
export declare const appWorkspaceWidthToken: (value: number | AppWorkspaceWidthShare) => string;
|
|
10
|
+
export declare const readAppWorkspaceWidth: (token: string | undefined) => number | AppWorkspaceWidthShare | undefined;
|
|
11
|
+
export declare const resolveAppWorkspaceWidth: (value: number | AppWorkspaceWidthShare, workspaceWidth: number) => number;
|
|
12
|
+
export declare const appWorkspaceWidthCss: (value: number | AppWorkspaceWidthShare, width: string) => string;
|
|
13
|
+
export declare const appWorkspaceInverseWidthCss: (value: AppWorkspaceWidthShare, width: string) => string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export type { AppOverviewCardsProps, AppOverviewEmptyStateProps, AppOverviewPanelProps, AppOverviewProps, } from "./AppOverview";
|
|
2
2
|
export { default as AppOverview } from "./AppOverview";
|
|
3
|
-
export type { AppWorkspaceBottomDrawerHeight, AppWorkspaceBottomDrawerProps, AppWorkspaceContentProps, AppWorkspaceDetailProps, AppWorkspaceDetailWidth, AppWorkspaceMainPaneProps, AppWorkspaceMainProps, AppWorkspaceNavTreeItemProps, AppWorkspaceNavTreeMove, AppWorkspaceNavTreeProps, AppWorkspaceProps, AppWorkspaceSidebarAccessoryVisibility, AppWorkspaceSidebarBodyProps, AppWorkspaceSidebarIconActionProps, AppWorkspaceSidebarIconActionTone, AppWorkspaceSidebarIconGridProps, AppWorkspaceSidebarItemActionProps, AppWorkspaceSidebarItemActionsProps, AppWorkspaceSidebarItemIconProps, AppWorkspaceSidebarItemLabelProps, AppWorkspaceSidebarItemMetaProps, AppWorkspaceSidebarItemProps, AppWorkspaceSidebarItemStatusProps, AppWorkspaceSidebarItemTone, AppWorkspaceSidebarProps, AppWorkspaceSidebarSectionProps, AppWorkspaceSidebarVisibility, } from "./AppWorkspace";
|
|
4
|
-
export { default as AppWorkspace } from "./AppWorkspace";
|
|
3
|
+
export type { AppWorkspaceBottomDrawerHeight, AppWorkspaceBottomDrawerProps, AppWorkspaceContentProps, AppWorkspaceDetailProps, AppWorkspaceDetailWidth, AppWorkspaceHeadProps, AppWorkspaceMainPaneProps, AppWorkspaceMainProps, AppWorkspaceNavTreeItemProps, AppWorkspaceNavTreeMove, AppWorkspaceNavTreeProps, AppWorkspaceProps, AppWorkspaceSidebarAccessoryVisibility, AppWorkspaceSidebarBodyProps, AppWorkspaceSidebarIconActionProps, AppWorkspaceSidebarIconActionTone, AppWorkspaceSidebarIconGridProps, AppWorkspaceSidebarItemActionProps, AppWorkspaceSidebarItemActionsProps, AppWorkspaceSidebarItemIconProps, AppWorkspaceSidebarItemLabelProps, AppWorkspaceSidebarItemMetaProps, AppWorkspaceSidebarItemProps, AppWorkspaceSidebarItemStatusProps, AppWorkspaceSidebarItemTone, AppWorkspaceSidebarProps, AppWorkspaceSidebarSectionProps, AppWorkspaceSidebarVisibility, AppWorkspaceWidthShare, } from "./AppWorkspace";
|
|
4
|
+
export { appWorkspaceDetailElementId, default as AppWorkspace } from "./AppWorkspace";
|
|
5
|
+
export { watchAppHostWidth } from "./app-host-width";
|
|
5
6
|
export type { AppWorkspaceControllerOptions } from "./app-workspace-controller";
|
|
6
7
|
export { installAppWorkspaceController, parkWorkspaceDetailDrawers } from "./app-workspace-controller";
|
|
7
8
|
export type { AppWorkspaceLayoutState, AppWorkspaceResizeKind, } from "./app-workspace-state";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type JSX } from "solid-js";
|
|
2
2
|
export type PlaceholderAlign = "center" | "left";
|
|
3
3
|
export type PlaceholderSurface = "none" | "paper";
|
|
4
|
-
export type PlaceholderState = "empty" | "loading" | "error";
|
|
4
|
+
export type PlaceholderState = "empty" | "no-results" | "no-access" | "loading" | "error";
|
|
5
5
|
/** `compact` stacks inside a section, `inline` is one row in a list or sidebar, `panel` fills a work area. */
|
|
6
6
|
export type PlaceholderVariant = "compact" | "inline" | "panel";
|
|
7
7
|
export type PlaceholderProps = {
|
|
@@ -9,6 +9,7 @@ export type PlaceholderProps = {
|
|
|
9
9
|
description?: JSX.Element;
|
|
10
10
|
icon?: string;
|
|
11
11
|
action?: JSX.Element;
|
|
12
|
+
onRetry?: () => void;
|
|
12
13
|
align?: PlaceholderAlign;
|
|
13
14
|
surface?: PlaceholderSurface;
|
|
14
15
|
state?: PlaceholderState;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2019 IBM Corp. All rights reserved. IBMPlexSans-Italic[wdth,wght].ttf: Copyright 2019 IBM Corp. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
http://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@k2b/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"description": "Production-ready components for SolidJS applications.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,10 +31,12 @@
|
|
|
31
31
|
"browser": "./dist/browser/chart-inspection.js",
|
|
32
32
|
"default": "./dist/browser/chart-inspection.js"
|
|
33
33
|
},
|
|
34
|
-
"./package.json": "./package.json"
|
|
34
|
+
"./package.json": "./package.json",
|
|
35
|
+
"./map-glyphs/*": "./map-glyphs/*"
|
|
35
36
|
},
|
|
36
37
|
"files": [
|
|
37
38
|
"dist",
|
|
39
|
+
"map-glyphs",
|
|
38
40
|
"README.md"
|
|
39
41
|
],
|
|
40
42
|
"scripts": {
|
|
@@ -50,19 +52,20 @@
|
|
|
50
52
|
"dependencies": {
|
|
51
53
|
"@fontsource/ibm-plex-mono": "5.3.0",
|
|
52
54
|
"@fontsource/ibm-plex-sans": "5.3.0",
|
|
53
|
-
"@k2b/stdlib": "0.
|
|
55
|
+
"@k2b/stdlib": "0.30.0",
|
|
54
56
|
"@tabler/icons-webfont": "3.48.0",
|
|
57
|
+
"maplibre-gl": "6.14.0",
|
|
55
58
|
"marked": "18.0.14",
|
|
56
59
|
"qr-scanner": "1.4.2"
|
|
57
60
|
},
|
|
58
61
|
"peerDependencies": {
|
|
59
|
-
"@k2b/ssr": "^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0 || ^0.17.0",
|
|
62
|
+
"@k2b/ssr": "^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0 || ^0.17.0 || ^0.18.0 || ^0.19.0",
|
|
60
63
|
"solid-js": "^1.9.10"
|
|
61
64
|
},
|
|
62
65
|
"devDependencies": {
|
|
63
66
|
"@babel/core": "8.0.6",
|
|
64
67
|
"@babel/preset-typescript": "8.0.1",
|
|
65
|
-
"@k2b/ssr": "0.
|
|
68
|
+
"@k2b/ssr": "0.19.0",
|
|
66
69
|
"@types/babel__core": "7.20.5",
|
|
67
70
|
"@types/bun": "1.4.2",
|
|
68
71
|
"axe-core": "4.11.0",
|
|
@@ -76,7 +79,9 @@
|
|
|
76
79
|
"solid-js": "1.9.15",
|
|
77
80
|
"tailwindcss": "4.3.3",
|
|
78
81
|
"typescript": "7.0.2",
|
|
79
|
-
"@typescript/typescript6": "6.0.2"
|
|
82
|
+
"@typescript/typescript6": "6.0.2",
|
|
83
|
+
"@maplibre/maplibre-gl-style-spec": "26.4.4",
|
|
84
|
+
"fontnik": "0.7.7"
|
|
80
85
|
},
|
|
81
86
|
"publishConfig": {
|
|
82
87
|
"access": "public"
|