@k2b/ui 0.32.0 → 0.34.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/dist/base.css +14 -1
- package/dist/browser/actions/ContextMenu.js +13 -0
- package/dist/browser/actions/ContextMenu.js.map +1 -1
- package/dist/browser/actions/Dropdown.js +173 -102
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/FilterChip.js +113 -56
- package/dist/browser/actions/FilterChip.js.map +1 -1
- package/dist/browser/actions/SelectionToolbar.js +129 -0
- package/dist/browser/actions/SelectionToolbar.js.map +1 -0
- package/dist/browser/actions/filter-messages.js +26 -2
- package/dist/browser/actions/filter-messages.js.map +1 -1
- package/dist/browser/actions/index.js +1 -0
- package/dist/browser/actions/index.js.map +1 -1
- package/dist/browser/actions/menu-rows.js +23 -3
- package/dist/browser/actions/menu-rows.js.map +1 -1
- package/dist/browser/actions/menu-sheet.js +2 -7
- package/dist/browser/actions/menu-sheet.js.map +1 -1
- package/dist/browser/charts.js +6 -0
- package/dist/browser/charts.js.map +1 -0
- package/dist/browser/chat/ChatComposer.js +616 -421
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/chat-messages.js +18 -0
- package/dist/browser/chat/chat-messages.js.map +1 -1
- package/dist/browser/chat/composer-document.js +19 -0
- package/dist/browser/chat/composer-document.js.map +1 -1
- package/dist/browser/chat/index.js.map +1 -1
- package/dist/browser/content/Calendar.js +39 -29
- package/dist/browser/content/Calendar.js.map +1 -1
- package/dist/browser/content/CalendarDayView.js +159 -165
- package/dist/browser/content/CalendarDayView.js.map +1 -1
- package/dist/browser/content/Chart.js +8 -0
- package/dist/browser/content/Chart.js.map +1 -1
- package/dist/browser/content/FileGrid.js +231 -9
- package/dist/browser/content/FileGrid.js.map +1 -1
- package/dist/browser/content/FileTypeIcon.js +15 -0
- package/dist/browser/content/FileTypeIcon.js.map +1 -1
- package/dist/browser/content/FileView.js +11 -4
- package/dist/browser/content/FileView.js.map +1 -1
- package/dist/browser/content/MessageRow.js +627 -343
- package/dist/browser/content/MessageRow.js.map +1 -1
- package/dist/browser/content/ReactionBar.js +20 -1
- package/dist/browser/content/ReactionBar.js.map +1 -1
- package/dist/browser/content/calendar-day-scroll.js +4 -3
- package/dist/browser/content/calendar-day-scroll.js.map +1 -1
- package/dist/browser/content/chart-bar.js +476 -0
- package/dist/browser/content/chart-bar.js.map +1 -0
- package/dist/browser/content/file-list-messages.js +52 -0
- package/dist/browser/content/file-list-messages.js.map +1 -0
- package/dist/browser/content/index.js +2 -2
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/feedback/Tooltip.js +31 -14
- package/dist/browser/feedback/Tooltip.js.map +1 -1
- package/dist/browser/feedback/dialog-core.js +6 -0
- package/dist/browser/feedback/dialog-core.js.map +1 -1
- package/dist/browser/inputs/ChoiceList.js +178 -0
- package/dist/browser/inputs/ChoiceList.js.map +1 -0
- package/dist/browser/inputs/ChoiceSlider.js +314 -0
- package/dist/browser/inputs/ChoiceSlider.js.map +1 -0
- package/dist/browser/inputs/ChoiceTiles.js +135 -0
- package/dist/browser/inputs/ChoiceTiles.js.map +1 -0
- package/dist/browser/inputs/ColorChoices.js +120 -0
- package/dist/browser/inputs/ColorChoices.js.map +1 -0
- package/dist/browser/inputs/QrScanner.js +95 -13
- package/dist/browser/inputs/QrScanner.js.map +1 -1
- package/dist/browser/inputs/TextInput.js +19 -14
- package/dist/browser/inputs/TextInput.js.map +1 -1
- package/dist/browser/inputs/index.js +4 -0
- package/dist/browser/inputs/index.js.map +1 -1
- package/dist/browser/inputs/qr-messages.js +2 -0
- package/dist/browser/inputs/qr-messages.js.map +1 -1
- package/dist/browser/internal/radio-keys.js +13 -0
- package/dist/browser/internal/radio-keys.js.map +1 -0
- package/dist/browser/intl/shortcut-messages.js +4 -0
- package/dist/browser/intl/shortcut-messages.js.map +1 -1
- package/dist/browser/intl/shortcut.js +4 -0
- package/dist/browser/intl/shortcut.js.map +1 -1
- package/dist/browser/layout/AnchoredPopover.js +180 -0
- package/dist/browser/layout/AnchoredPopover.js.map +1 -0
- package/dist/browser/layout/AppWorkspace.js +684 -532
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/DetailPanel.js +443 -333
- package/dist/browser/layout/DetailPanel.js.map +1 -1
- package/dist/browser/layout/MobileShell.js +231 -42
- package/dist/browser/layout/MobileShell.js.map +1 -1
- package/dist/browser/layout/Settings.js +283 -175
- package/dist/browser/layout/Settings.js.map +1 -1
- package/dist/browser/layout/SidebarRailHint.js +79 -0
- package/dist/browser/layout/SidebarRailHint.js.map +1 -0
- package/dist/browser/layout/SidebarSwitcher.js +79 -66
- package/dist/browser/layout/SidebarSwitcher.js.map +1 -1
- package/dist/browser/layout/TabBar.js +18 -4
- package/dist/browser/layout/TabBar.js.map +1 -1
- package/dist/browser/layout/app-workspace-controller.js +11 -4
- package/dist/browser/layout/app-workspace-controller.js.map +1 -1
- package/dist/browser/layout/detail-panel-messages.js +4 -2
- package/dist/browser/layout/detail-panel-messages.js.map +1 -1
- package/dist/browser/layout/index.js +3 -1
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/layout/scroll-fade.js +32 -5
- package/dist/browser/layout/scroll-fade.js.map +1 -1
- package/dist/browser/layout/settings-messages.js +26 -2
- package/dist/browser/layout/settings-messages.js.map +1 -1
- package/dist/browser/surfaces/Avatar.js +2 -14
- package/dist/browser/surfaces/Avatar.js.map +1 -1
- package/dist/browser/surfaces/DotStrip.js +70 -0
- package/dist/browser/surfaces/DotStrip.js.map +1 -0
- package/dist/browser/surfaces/NoticeCard.js +46 -30
- package/dist/browser/surfaces/NoticeCard.js.map +1 -1
- package/dist/browser/surfaces/ProgressRing.js +3 -0
- package/dist/browser/surfaces/ProgressRing.js.map +1 -1
- package/dist/browser/surfaces/ResourceCard.js +125 -68
- package/dist/browser/surfaces/ResourceCard.js.map +1 -1
- package/dist/browser/surfaces/index.js +2 -0
- package/dist/browser/surfaces/index.js.map +1 -1
- package/dist/browser/surfaces/person-color.js +18 -0
- package/dist/browser/surfaces/person-color.js.map +1 -0
- package/dist/browser/surfaces/resource-messages.js +8 -4
- package/dist/browser/surfaces/resource-messages.js.map +1 -1
- package/dist/browser/widgets/Widget.js +3 -2
- package/dist/browser/widgets/Widget.js.map +1 -1
- package/dist/ssr/actions/ContextMenu.js +9 -0
- package/dist/ssr/actions/ContextMenu.js.map +1 -1
- package/dist/ssr/actions/Dropdown.js +65 -31
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/FilterChip.js +67 -16
- package/dist/ssr/actions/FilterChip.js.map +1 -1
- package/dist/ssr/actions/SelectionToolbar.js +104 -0
- package/dist/ssr/actions/SelectionToolbar.js.map +1 -0
- package/dist/ssr/actions/filter-messages.js +26 -2
- package/dist/ssr/actions/filter-messages.js.map +1 -1
- package/dist/ssr/actions/index.js +1 -0
- package/dist/ssr/actions/index.js.map +1 -1
- package/dist/ssr/actions/menu-rows.js +23 -3
- package/dist/ssr/actions/menu-rows.js.map +1 -1
- package/dist/ssr/actions/menu-sheet.js +2 -7
- package/dist/ssr/actions/menu-sheet.js.map +1 -1
- package/dist/ssr/charts.js +6 -0
- package/dist/ssr/charts.js.map +1 -0
- package/dist/ssr/chat/ChatComposer.js +184 -76
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/chat-messages.js +18 -0
- package/dist/ssr/chat/chat-messages.js.map +1 -1
- package/dist/ssr/chat/composer-document.js +19 -0
- package/dist/ssr/chat/composer-document.js.map +1 -1
- package/dist/ssr/chat/index.js.map +1 -1
- package/dist/ssr/content/Calendar.js +40 -31
- package/dist/ssr/content/Calendar.js.map +1 -1
- package/dist/ssr/content/CalendarDayView.js +40 -48
- package/dist/ssr/content/CalendarDayView.js.map +1 -1
- package/dist/ssr/content/Chart.js +8 -0
- package/dist/ssr/content/Chart.js.map +1 -1
- package/dist/ssr/content/FileGrid.js +132 -5
- package/dist/ssr/content/FileGrid.js.map +1 -1
- package/dist/ssr/content/FileTypeIcon.js +15 -0
- package/dist/ssr/content/FileTypeIcon.js.map +1 -1
- package/dist/ssr/content/FileView.js +11 -4
- package/dist/ssr/content/FileView.js.map +1 -1
- package/dist/ssr/content/MessageRow.js +274 -91
- package/dist/ssr/content/MessageRow.js.map +1 -1
- package/dist/ssr/content/ReactionBar.js +20 -1
- package/dist/ssr/content/ReactionBar.js.map +1 -1
- package/dist/ssr/content/calendar-day-scroll.js +4 -3
- package/dist/ssr/content/calendar-day-scroll.js.map +1 -1
- package/dist/ssr/content/chart-bar.js +476 -0
- package/dist/ssr/content/chart-bar.js.map +1 -0
- package/dist/ssr/content/file-list-messages.js +52 -0
- package/dist/ssr/content/file-list-messages.js.map +1 -0
- package/dist/ssr/content/index.js +2 -2
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/feedback/Tooltip.js +31 -14
- package/dist/ssr/feedback/Tooltip.js.map +1 -1
- package/dist/ssr/feedback/dialog-core.js +6 -0
- package/dist/ssr/feedback/dialog-core.js.map +1 -1
- package/dist/ssr/inputs/ChoiceList.js +95 -0
- package/dist/ssr/inputs/ChoiceList.js.map +1 -0
- package/dist/ssr/inputs/ChoiceSlider.js +191 -0
- package/dist/ssr/inputs/ChoiceSlider.js.map +1 -0
- package/dist/ssr/inputs/ChoiceTiles.js +61 -0
- package/dist/ssr/inputs/ChoiceTiles.js.map +1 -0
- package/dist/ssr/inputs/ColorChoices.js +60 -0
- package/dist/ssr/inputs/ColorChoices.js.map +1 -0
- package/dist/ssr/inputs/QrScanner.js +89 -10
- package/dist/ssr/inputs/QrScanner.js.map +1 -1
- package/dist/ssr/inputs/TextInput.js +17 -2
- package/dist/ssr/inputs/TextInput.js.map +1 -1
- package/dist/ssr/inputs/index.js +4 -0
- package/dist/ssr/inputs/index.js.map +1 -1
- package/dist/ssr/inputs/qr-messages.js +2 -0
- package/dist/ssr/inputs/qr-messages.js.map +1 -1
- package/dist/ssr/internal/radio-keys.js +13 -0
- package/dist/ssr/internal/radio-keys.js.map +1 -0
- package/dist/ssr/intl/shortcut-messages.js +4 -0
- package/dist/ssr/intl/shortcut-messages.js.map +1 -1
- package/dist/ssr/intl/shortcut.js +4 -0
- package/dist/ssr/intl/shortcut.js.map +1 -1
- package/dist/ssr/layout/AnchoredPopover.js +142 -0
- package/dist/ssr/layout/AnchoredPopover.js.map +1 -0
- package/dist/ssr/layout/AppWorkspace.js +287 -141
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/DetailPanel.js +181 -108
- package/dist/ssr/layout/DetailPanel.js.map +1 -1
- package/dist/ssr/layout/MobileShell.js +118 -24
- package/dist/ssr/layout/MobileShell.js.map +1 -1
- package/dist/ssr/layout/Settings.js +122 -45
- package/dist/ssr/layout/Settings.js.map +1 -1
- package/dist/ssr/layout/SidebarRailHint.js +79 -0
- package/dist/ssr/layout/SidebarRailHint.js.map +1 -0
- package/dist/ssr/layout/SidebarSwitcher.js +13 -3
- package/dist/ssr/layout/SidebarSwitcher.js.map +1 -1
- package/dist/ssr/layout/TabBar.js +11 -3
- package/dist/ssr/layout/TabBar.js.map +1 -1
- package/dist/ssr/layout/app-workspace-controller.js +11 -4
- package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
- package/dist/ssr/layout/detail-panel-messages.js +4 -2
- package/dist/ssr/layout/detail-panel-messages.js.map +1 -1
- package/dist/ssr/layout/index.js +3 -1
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/layout/scroll-fade.js +32 -5
- package/dist/ssr/layout/scroll-fade.js.map +1 -1
- package/dist/ssr/layout/settings-messages.js +26 -2
- package/dist/ssr/layout/settings-messages.js.map +1 -1
- package/dist/ssr/surfaces/Avatar.js +2 -14
- package/dist/ssr/surfaces/Avatar.js.map +1 -1
- package/dist/ssr/surfaces/DotStrip.js +31 -0
- package/dist/ssr/surfaces/DotStrip.js.map +1 -0
- package/dist/ssr/surfaces/NoticeCard.js +21 -12
- package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
- package/dist/ssr/surfaces/ProgressRing.js +3 -0
- package/dist/ssr/surfaces/ProgressRing.js.map +1 -1
- package/dist/ssr/surfaces/ResourceCard.js +40 -15
- package/dist/ssr/surfaces/ResourceCard.js.map +1 -1
- package/dist/ssr/surfaces/index.js +2 -0
- package/dist/ssr/surfaces/index.js.map +1 -1
- package/dist/ssr/surfaces/person-color.js +18 -0
- package/dist/ssr/surfaces/person-color.js.map +1 -0
- package/dist/ssr/surfaces/resource-messages.js +8 -4
- package/dist/ssr/surfaces/resource-messages.js.map +1 -1
- package/dist/ssr/widgets/Widget.js +3 -2
- package/dist/ssr/widgets/Widget.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/ContextMenu.d.ts +5 -0
- package/dist/types/actions/Dropdown.d.ts +19 -0
- package/dist/types/actions/FilterChip.d.ts +11 -0
- package/dist/types/actions/SelectionToolbar.d.ts +38 -0
- package/dist/types/actions/filter-messages.d.ts +12 -0
- package/dist/types/actions/index.d.ts +2 -0
- package/dist/types/actions/menu-rows.d.ts +7 -2
- package/dist/types/charts.d.ts +5 -0
- package/dist/types/chat/ChatComposer.d.ts +28 -0
- package/dist/types/chat/chat-messages.d.ts +9 -0
- package/dist/types/chat/composer-document.d.ts +5 -0
- package/dist/types/chat/index.d.ts +1 -1
- package/dist/types/content/Calendar.d.ts +7 -0
- package/dist/types/content/Chart.d.ts +2 -1
- package/dist/types/content/FileGrid.d.ts +43 -3
- package/dist/types/content/FileTypeIcon.d.ts +10 -0
- package/dist/types/content/FileView.d.ts +5 -1
- package/dist/types/content/MessageRow.d.ts +66 -2
- package/dist/types/content/calendar-day-scroll.d.ts +2 -1
- package/dist/types/content/chart-bar.d.ts +60 -0
- package/dist/types/content/file-list-messages.d.ts +24 -0
- package/dist/types/content/index.d.ts +4 -4
- package/dist/types/feedback/Tooltip.d.ts +8 -2
- package/dist/types/feedback/dialog-core.d.ts +3 -0
- package/dist/types/inputs/ChoiceList.d.ts +28 -0
- package/dist/types/inputs/ChoiceSlider.d.ts +36 -0
- package/dist/types/inputs/ChoiceTiles.d.ts +25 -0
- package/dist/types/inputs/ColorChoices.d.ts +19 -0
- package/dist/types/inputs/index.d.ts +8 -0
- package/dist/types/inputs/qr-messages.d.ts +1 -0
- package/dist/types/internal/radio-keys.d.ts +5 -0
- package/dist/types/intl/shortcut-messages.d.ts +2 -0
- package/dist/types/layout/AnchoredPopover.d.ts +31 -0
- package/dist/types/layout/AppWorkspace.d.ts +12 -0
- package/dist/types/layout/DetailPanel.d.ts +17 -0
- package/dist/types/layout/MobileShell.d.ts +55 -5
- package/dist/types/layout/Settings.d.ts +22 -0
- package/dist/types/layout/SidebarRailHint.d.ts +26 -0
- package/dist/types/layout/TabBar.d.ts +5 -0
- package/dist/types/layout/detail-panel-messages.d.ts +1 -0
- package/dist/types/layout/index.d.ts +5 -3
- package/dist/types/layout/scroll-fade.d.ts +5 -0
- package/dist/types/layout/settings-messages.d.ts +12 -0
- package/dist/types/surfaces/DotStrip.d.ts +22 -0
- package/dist/types/surfaces/NoticeCard.d.ts +3 -0
- package/dist/types/surfaces/ProgressRing.d.ts +2 -1
- package/dist/types/surfaces/ResourceCard.d.ts +9 -0
- package/dist/types/surfaces/index.d.ts +4 -1
- package/dist/types/surfaces/person-color.d.ts +10 -0
- package/dist/types/surfaces/resource-messages.d.ts +2 -0
- package/dist/types/widgets/Widget.d.ts +3 -2
- package/package.json +7 -2
|
@@ -3,16 +3,18 @@ import { createComponent as _$createComponent } from "solid-js/web";
|
|
|
3
3
|
import { ssr as _$ssr } from "solid-js/web";
|
|
4
4
|
import { ssrAttribute as _$ssrAttribute } from "solid-js/web";
|
|
5
5
|
import { escape as _$escape } from "solid-js/web";
|
|
6
|
-
var _tmpl$ = ["<span class=\"
|
|
6
|
+
var _tmpl$ = ["<span class=\"", "\" aria-hidden=\"true\"><i", "></i></span>"],
|
|
7
7
|
_tmpl$2 = ["<span class=\"k2b-resource-card__meta\">", "</span>"],
|
|
8
8
|
_tmpl$3 = ["<span class=\"k2b-resource-card__preview\">", "</span>"],
|
|
9
|
-
_tmpl$4 = ["<span class=\"k2b-resource-card__copy\"
|
|
10
|
-
_tmpl$5 = "<span class=\"k2b-resource-
|
|
11
|
-
_tmpl$6 =
|
|
12
|
-
_tmpl$7 = ["<span class=\"k2b-resource-card__copy\"><span class=\"k2b-resource-
|
|
13
|
-
_tmpl$8 = ["<
|
|
14
|
-
_tmpl$9 = ["<
|
|
15
|
-
_tmpl$0 = ["<
|
|
9
|
+
_tmpl$4 = ["<span class=\"k2b-resource-card__copy\">", "<span class=\"k2b-resource-card__title\">", "</span>", "", "</span>"],
|
|
10
|
+
_tmpl$5 = ["<span class=\"k2b-resource-card__status\">", "</span>"],
|
|
11
|
+
_tmpl$6 = "<span class=\"k2b-resource-card__icon\" aria-hidden=\"true\"></span>",
|
|
12
|
+
_tmpl$7 = ["<span class=\"k2b-resource-card__copy\"><span class=\"k2b-resource-card__bar\" aria-hidden=\"true\"></span><span class=\"k2b-resource-card__bar\" aria-hidden=\"true\"></span><span class=\"k2b-sr-only\">", "</span></span>"],
|
|
13
|
+
_tmpl$8 = ["<span class=\"k2b-resource-card__icon\" aria-hidden=\"true\"><i", "></i></span>"],
|
|
14
|
+
_tmpl$9 = ["<span class=\"k2b-resource-card__copy\"><span class=\"k2b-resource-card__meta\">", "</span><span class=\"k2b-resource-card__label\">", "</span>", "</span>"],
|
|
15
|
+
_tmpl$0 = ["<div", ">", "</div>"],
|
|
16
|
+
_tmpl$1 = ["<a", ">", "</a>"],
|
|
17
|
+
_tmpl$10 = ["<button type=\"button\"", ">", "</button>"];
|
|
16
18
|
import { Match, Show, Switch } from "solid-js";
|
|
17
19
|
import { useUiMessages } from "../intl/messages";
|
|
18
20
|
import { useResourceMessages } from "./resource-messages";
|
|
@@ -22,6 +24,8 @@ import { useResourceMessages } from "./resource-messages";
|
|
|
22
24
|
* why it cannot be shown.
|
|
23
25
|
*/
|
|
24
26
|
|
|
27
|
+
/** The icon chip's colour, from the same palette as `LinkCard`. */
|
|
28
|
+
|
|
25
29
|
const DEFAULT_ICON = "ti ti-file";
|
|
26
30
|
const LINK_PROTOCOLS = new Set(["https:", "http:"]);
|
|
27
31
|
const STATE_ICONS = {
|
|
@@ -64,7 +68,14 @@ export function ResourceCard(props) {
|
|
|
64
68
|
return ok();
|
|
65
69
|
},
|
|
66
70
|
get children() {
|
|
67
|
-
return [_$ssr(_tmpl$, _$ssrAttribute("class", _$escape(props.icon ?? DEFAULT_ICON, true), false)), _$ssr(_tmpl$4, _$escape(
|
|
71
|
+
return [_$ssr(_tmpl$, `k2b-resource-card__icon${props.color ? " k2b-icon-tile" : ""}`, _$ssrAttribute("class", _$escape(props.icon ?? DEFAULT_ICON, true), false)), _$ssr(_tmpl$4, _$escape(_$createComponent(Show, {
|
|
72
|
+
get when() {
|
|
73
|
+
return props.context?.trim();
|
|
74
|
+
},
|
|
75
|
+
get children() {
|
|
76
|
+
return _$ssr(_tmpl$2, _$escape(props.context));
|
|
77
|
+
}
|
|
78
|
+
})), _$escape(title()), _$escape(_$createComponent(Show, {
|
|
68
79
|
get when() {
|
|
69
80
|
return meta();
|
|
70
81
|
},
|
|
@@ -78,20 +89,34 @@ export function ResourceCard(props) {
|
|
|
78
89
|
get children() {
|
|
79
90
|
return _$ssr(_tmpl$3, _$escape(props.preview));
|
|
80
91
|
}
|
|
81
|
-
})))
|
|
92
|
+
}))), _$createComponent(Show, {
|
|
93
|
+
get when() {
|
|
94
|
+
return props.status?.trim();
|
|
95
|
+
},
|
|
96
|
+
get children() {
|
|
97
|
+
return _$ssr(_tmpl$5, _$escape(props.status));
|
|
98
|
+
}
|
|
99
|
+
})];
|
|
82
100
|
}
|
|
83
101
|
}), _$createComponent(Match, {
|
|
84
102
|
get when() {
|
|
85
103
|
return state() === "loading";
|
|
86
104
|
},
|
|
87
105
|
get children() {
|
|
88
|
-
return [_$ssr(_tmpl$
|
|
106
|
+
return [_$ssr(_tmpl$6), _$ssr(_tmpl$7, _$escape(messages().loading))];
|
|
89
107
|
}
|
|
90
108
|
}), _$createComponent(Match, {
|
|
91
109
|
get when() {
|
|
92
110
|
return reason();
|
|
93
111
|
},
|
|
94
|
-
children: reason => [_$ssr(_tmpl
|
|
112
|
+
children: reason => [_$ssr(_tmpl$8, _$ssrAttribute("class", _$escape(STATE_ICONS[reason()], true), false)), _$ssr(_tmpl$9, _$escape(resourceMessages().resourceKind), reason() === "no_access" ? _$escape(resourceMessages().resourceNoAccess) : reason() === "deleted" ? _$escape(resourceMessages().resourceDeleted) : _$escape(resourceMessages().resourceUnavailable), _$escape(_$createComponent(Show, {
|
|
113
|
+
get when() {
|
|
114
|
+
return reason() === "no_access";
|
|
115
|
+
},
|
|
116
|
+
get children() {
|
|
117
|
+
return _$ssr(_tmpl$2, _$escape(resourceMessages().resourceNoAccessHint));
|
|
118
|
+
}
|
|
119
|
+
})))]
|
|
95
120
|
})];
|
|
96
121
|
}
|
|
97
122
|
});
|
|
@@ -105,12 +130,12 @@ export function ResourceCard(props) {
|
|
|
105
130
|
return _$memo(() => !!ok())() && linkUrl(props.href);
|
|
106
131
|
},
|
|
107
132
|
get fallback() {
|
|
108
|
-
return _$ssr(_tmpl$
|
|
133
|
+
return _$ssr(_tmpl$0, _$ssrAttribute("class", _$escape(className(), true), false) + _$ssrAttribute("data-state", _$escape(state(), true), false) + _$ssrAttribute("data-color", ok() ? _$escape(props.color, true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-busy", state() === "loading" ? "true" : _$escape(undefined, true), false), _$escape(content()));
|
|
109
134
|
},
|
|
110
|
-
children: href => _$ssr(_tmpl$
|
|
135
|
+
children: href => _$ssr(_tmpl$1, _$ssrAttribute("class", _$escape(className(), true), false) + _$ssrAttribute("data-state", _$escape(state(), true), false) + _$ssrAttribute("data-color", _$escape(props.color, true), false) + _$ssrAttribute("href", _$escape(href(), true), false), _$escape(content()))
|
|
111
136
|
});
|
|
112
137
|
},
|
|
113
|
-
children: open => _$ssr(_tmpl$
|
|
138
|
+
children: open => _$ssr(_tmpl$10, _$ssrAttribute("class", _$escape(className(), true), false) + _$ssrAttribute("data-state", _$escape(state(), true), false) + _$ssrAttribute("data-color", _$escape(props.color, true), false), _$escape(content()))
|
|
114
139
|
});
|
|
115
140
|
}
|
|
116
141
|
export default ResourceCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["surfaces/ResourceCard.tsx"],"sourcesContent":["import { type JSX, Match, Show, Switch } from \"solid-js\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { useResourceMessages } from \"./resource-messages\";\n\n/**\n * What a card can show of the element it stands for: the element itself, a placeholder while it is being looked up, or\n * why it cannot be shown.\n */\nexport type ResourceCardState = \"ok\" | \"loading\" | \"no_access\" | \"deleted\" | \"unavailable\";\n\nexport type ResourceCardProps = {\n /** Defaults to `\"ok\"`. Every state has the same size, so a card that changes state moves nothing around it. */\n state?: ResourceCardState;\n /** The element's name. Shown only in state `\"ok\"`, as \"Untitled\" when blank, so a card that opens always has a name. */\n title?: string;\n /** Icon class of the element's kind, for example `ti ti-notebook`. Shown only in state `\"ok\"`. */\n icon?: string;\n /** What the element belongs to, for example the application or service. Shown only in state `\"ok\"`. */\n source?: string;\n /** Where the element lives within its source, for example a folder or a project. Shown only in state `\"ok\"`. */\n location?: string;\n /** One line of plain text from the element. Shown only in state `\"ok\"`. */\n preview?: string;\n /** Opens the element, for example in a panel. Takes precedence over `href`. Only in state `\"ok\"`. */\n onOpen?: () => void;\n /** Opens the element. Absolute `https` or `http`, or relative. Only in state `\"ok\"`. */\n href?: string;\n class?: string;\n};\n\nconst DEFAULT_ICON = \"ti ti-file\";\nconst LINK_PROTOCOLS = new Set([\"https:\", \"http:\"]);\nconst STATE_ICONS = { no_access: \"ti ti-lock\", deleted: \"ti ti-trash\", unavailable: \"ti ti-cloud-off\" } as const;\n\n/** A link the card may open: absolute with an allowed scheme, or relative to the page. */\nconst linkUrl = (href: string | undefined): string | undefined => {\n if (!href) return undefined;\n try {\n return LINK_PROTOCOLS.has(new URL(href, \"https://relative.invalid/\").protocol) ? href : undefined;\n } catch {\n return undefined;\n }\n};\n\n/**\n * A card for an element that something refers to, such as a task or a document, with the same size in every state.\n * Outside state `\"ok\"`, it shows none of the element's fields and opens nothing, whatever the caller passes.\n */\nexport function ResourceCard(props: ResourceCardProps): JSX.Element {\n const messages = useUiMessages();\n const resourceMessages = useResourceMessages();\n const state = () => props.state ?? \"ok\";\n const ok = () => state() === \"ok\";\n const title = () => (props.title?.trim() ? props.title : resourceMessages().resourceUntitled);\n const meta = () => [props.source, props.location].filter((part) => part?.trim()).join(\" · \");\n /** Why the element cannot be shown, outside `\"ok\"` and `\"loading\"`. */\n const reason = (): Exclude<ResourceCardState, \"ok\" | \"loading\"> | undefined => {\n const current = state();\n return current === \"ok\" || current === \"loading\" ? undefined : current;\n };\n const className = () => `k2b-resource-card${props.class ? ` ${props.class}` : \"\"}`;\n\n const content = () => (\n <Switch>\n <Match when={ok()}>\n <span class=\"k2b-resource-card__icon\" aria-hidden=\"true\">\n <i class={props.icon ?? DEFAULT_ICON} />\n </span>\n <span class=\"k2b-resource-card__copy\">\n <span class=\"k2b-resource-card__title\">{title()}</span>\n <Show when={meta()}>\n <span class=\"k2b-resource-card__meta\">{meta()}</span>\n </Show>\n <Show when={props.preview?.trim()}>\n <span class=\"k2b-resource-card__preview\">{props.preview}</span>\n </Show>\n </span>\n </Match>\n <Match when={state() === \"loading\"}>\n <span class=\"k2b-resource-card__icon\" aria-hidden=\"true\" />\n <span class=\"k2b-resource-card__copy\">\n <span class=\"k2b-resource-card__bar\" aria-hidden=\"true\" />\n <span class=\"k2b-resource-card__bar\" aria-hidden=\"true\" />\n <span class=\"k2b-sr-only\">{messages().loading}</span>\n </span>\n </Match>\n <Match when={reason()}>\n {(reason) => (\n <>\n <span class=\"k2b-resource-card__icon\" aria-hidden=\"true\">\n <i class={STATE_ICONS[reason()]} />\n </span>\n <span class=\"k2b-resource-card__copy\">\n <span class=\"k2b-resource-card__label\">\n {reason() === \"no_access\"\n ? resourceMessages().resourceNoAccess\n : reason() === \"deleted\"\n ? resourceMessages().resourceDeleted\n : resourceMessages().resourceUnavailable}\n </span>\n </span>\n </>\n )}\n </Match>\n </Switch>\n );\n\n return (\n <Show\n when={ok() && props.onOpen}\n fallback={\n <Show\n when={ok() && linkUrl(props.href)}\n fallback={\n <div class={className()} data-state={state()} aria-busy={state() === \"loading\" ? \"true\" : undefined}>\n {content()}\n </div>\n }\n >\n {(href) => (\n <a class={className()} data-state={state()} href={href()}>\n {content()}\n </a>\n )}\n </Show>\n }\n >\n {(open) => (\n <button type=\"button\" class={className()} data-state={state()} onClick={() => open()()}>\n {content()}\n </button>\n )}\n </Show>\n );\n}\n\nexport default ResourceCard;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["surfaces/ResourceCard.tsx"],"sourcesContent":["import { type JSX, Match, Show, Switch } from \"solid-js\";\nimport { useUiMessages } from \"../intl/messages\";\nimport type { LinkCardColor } from \"./LinkCard\";\nimport { useResourceMessages } from \"./resource-messages\";\n\n/**\n * What a card can show of the element it stands for: the element itself, a placeholder while it is being looked up, or\n * why it cannot be shown.\n */\nexport type ResourceCardState = \"ok\" | \"loading\" | \"no_access\" | \"deleted\" | \"unavailable\";\n\n/** The icon chip's colour, from the same palette as `LinkCard`. */\nexport type ResourceCardColor = LinkCardColor;\n\nexport type ResourceCardProps = {\n /** Defaults to `\"ok\"`. Every state has the same size, so a card that changes state moves nothing around it. */\n state?: ResourceCardState;\n /** The element's name. Shown only in state `\"ok\"`, as \"Untitled\" when blank, so a card that opens always has a name. */\n title?: string;\n /** Icon class of the element's kind, for example `ti ti-notebook`. Shown only in state `\"ok\"`. */\n icon?: string;\n /** Colour of the icon chip, usually one per kind of element. Without it the chip stays neutral. Only in state `\"ok\"`. */\n color?: ResourceCardColor;\n /** One line above the title: what and where the element is, for example \"Task in IT planning · due 30 Oct\". Only in state `\"ok\"`. */\n context?: string;\n /** The element's current state as a short label, for example \"Open\", shown at the end. Only in state `\"ok\"`. */\n status?: string;\n /** What the element belongs to, for example the application or service. Shown only in state `\"ok\"`. */\n source?: string;\n /** Where the element lives within its source, for example a folder or a project. Shown only in state `\"ok\"`. */\n location?: string;\n /** One line of plain text from the element. Shown only in state `\"ok\"`. */\n preview?: string;\n /** Opens the element, for example in a panel. Takes precedence over `href`. Only in state `\"ok\"`. */\n onOpen?: () => void;\n /** Opens the element. Absolute `https` or `http`, or relative. Only in state `\"ok\"`. */\n href?: string;\n class?: string;\n};\n\nconst DEFAULT_ICON = \"ti ti-file\";\nconst LINK_PROTOCOLS = new Set([\"https:\", \"http:\"]);\nconst STATE_ICONS = { no_access: \"ti ti-lock\", deleted: \"ti ti-trash\", unavailable: \"ti ti-cloud-off\" } as const;\n\n/** A link the card may open: absolute with an allowed scheme, or relative to the page. */\nconst linkUrl = (href: string | undefined): string | undefined => {\n if (!href) return undefined;\n try {\n return LINK_PROTOCOLS.has(new URL(href, \"https://relative.invalid/\").protocol) ? href : undefined;\n } catch {\n return undefined;\n }\n};\n\n/**\n * A card for an element that something refers to, such as a task or a document, with the same size in every state.\n * Outside state `\"ok\"`, it shows none of the element's fields and opens nothing, whatever the caller passes.\n */\nexport function ResourceCard(props: ResourceCardProps): JSX.Element {\n const messages = useUiMessages();\n const resourceMessages = useResourceMessages();\n const state = () => props.state ?? \"ok\";\n const ok = () => state() === \"ok\";\n const title = () => (props.title?.trim() ? props.title : resourceMessages().resourceUntitled);\n const meta = () => [props.source, props.location].filter((part) => part?.trim()).join(\" · \");\n /** Why the element cannot be shown, outside `\"ok\"` and `\"loading\"`. */\n const reason = (): Exclude<ResourceCardState, \"ok\" | \"loading\"> | undefined => {\n const current = state();\n return current === \"ok\" || current === \"loading\" ? undefined : current;\n };\n const className = () => `k2b-resource-card${props.class ? ` ${props.class}` : \"\"}`;\n\n const content = () => (\n <Switch>\n <Match when={ok()}>\n <span class={`k2b-resource-card__icon${props.color ? \" k2b-icon-tile\" : \"\"}`} aria-hidden=\"true\">\n <i class={props.icon ?? DEFAULT_ICON} />\n </span>\n <span class=\"k2b-resource-card__copy\">\n <Show when={props.context?.trim()}>\n <span class=\"k2b-resource-card__meta\">{props.context}</span>\n </Show>\n <span class=\"k2b-resource-card__title\">{title()}</span>\n <Show when={meta()}>\n <span class=\"k2b-resource-card__meta\">{meta()}</span>\n </Show>\n <Show when={props.preview?.trim()}>\n <span class=\"k2b-resource-card__preview\">{props.preview}</span>\n </Show>\n </span>\n <Show when={props.status?.trim()}>\n <span class=\"k2b-resource-card__status\">{props.status}</span>\n </Show>\n </Match>\n <Match when={state() === \"loading\"}>\n <span class=\"k2b-resource-card__icon\" aria-hidden=\"true\" />\n <span class=\"k2b-resource-card__copy\">\n <span class=\"k2b-resource-card__bar\" aria-hidden=\"true\" />\n <span class=\"k2b-resource-card__bar\" aria-hidden=\"true\" />\n <span class=\"k2b-sr-only\">{messages().loading}</span>\n </span>\n </Match>\n <Match when={reason()}>\n {(reason) => (\n <>\n <span class=\"k2b-resource-card__icon\" aria-hidden=\"true\">\n <i class={STATE_ICONS[reason()]} />\n </span>\n <span class=\"k2b-resource-card__copy\">\n <span class=\"k2b-resource-card__meta\">{resourceMessages().resourceKind}</span>\n <span class=\"k2b-resource-card__label\">\n {reason() === \"no_access\"\n ? resourceMessages().resourceNoAccess\n : reason() === \"deleted\"\n ? resourceMessages().resourceDeleted\n : resourceMessages().resourceUnavailable}\n </span>\n <Show when={reason() === \"no_access\"}>\n <span class=\"k2b-resource-card__meta\">{resourceMessages().resourceNoAccessHint}</span>\n </Show>\n </span>\n </>\n )}\n </Match>\n </Switch>\n );\n\n return (\n <Show\n when={ok() && props.onOpen}\n fallback={\n <Show\n when={ok() && linkUrl(props.href)}\n fallback={\n <div\n class={className()}\n data-state={state()}\n data-color={ok() ? props.color : undefined}\n aria-busy={state() === \"loading\" ? \"true\" : undefined}\n >\n {content()}\n </div>\n }\n >\n {(href) => (\n <a class={className()} data-state={state()} data-color={props.color} href={href()}>\n {content()}\n </a>\n )}\n </Show>\n }\n >\n {(open) => (\n <button type=\"button\" class={className()} data-state={state()} data-color={props.color} onClick={() => open()()}>\n {content()}\n </button>\n )}\n </Show>\n );\n}\n\nexport default ResourceCard;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Avatar } from "./Avatar";
|
|
2
2
|
export { AvatarStack } from "./AvatarStack";
|
|
3
3
|
export { DescriptionList } from "./DescriptionList";
|
|
4
|
+
export { DotStrip } from "./DotStrip";
|
|
4
5
|
export { LinkCard } from "./LinkCard";
|
|
5
6
|
export { NotFoundState } from "./NotFoundState";
|
|
6
7
|
export { NOTICE_CARD_CLASSES, NoticeCard } from "./NoticeCard";
|
|
@@ -8,6 +9,7 @@ export { Paper } from "./Paper";
|
|
|
8
9
|
export { default as Placeholder } from "./Placeholder";
|
|
9
10
|
export { ProgressBar } from "./ProgressBar";
|
|
10
11
|
export { ProgressRing } from "./ProgressRing";
|
|
12
|
+
export { PERSON_COLORS, personColor } from "./person-color";
|
|
11
13
|
export { ResourceCard } from "./ResourceCard";
|
|
12
14
|
export { Skeleton } from "./Skeleton";
|
|
13
15
|
export { StatCell } from "./StatCell";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["surfaces/index.ts"],"sourcesContent":["export type { AvatarProps, AvatarRing, AvatarShape, AvatarSize } from \"./Avatar\";\nexport { Avatar } from \"./Avatar\";\nexport type { AvatarStackPerson, AvatarStackProps } from \"./AvatarStack\";\nexport { AvatarStack } from \"./AvatarStack\";\nexport type { DescriptionListItem, DescriptionListProps } from \"./DescriptionList\";\nexport { DescriptionList } from \"./DescriptionList\";\nexport type { LinkCardColor, LinkCardProps } from \"./LinkCard\";\nexport { LinkCard } from \"./LinkCard\";\nexport type { NotFoundStateAction, NotFoundStateProps } from \"./NotFoundState\";\nexport { NotFoundState } from \"./NotFoundState\";\nexport type { NoticeCardProps, NoticeGridProps, NoticeTone } from \"./NoticeCard\";\nexport { NOTICE_CARD_CLASSES, NoticeCard } from \"./NoticeCard\";\nexport type { PaperProps, PaperTag } from \"./Paper\";\nexport { Paper } from \"./Paper\";\nexport type {\n PlaceholderAlign,\n PlaceholderProps,\n PlaceholderState,\n PlaceholderSurface,\n PlaceholderVariant,\n} from \"./Placeholder\";\nexport { default as Placeholder } from \"./Placeholder\";\nexport type { ProgressBarProps, ProgressBarTone } from \"./ProgressBar\";\nexport { ProgressBar } from \"./ProgressBar\";\nexport type { ProgressRingProps, ProgressRingTone } from \"./ProgressRing\";\nexport { ProgressRing } from \"./ProgressRing\";\nexport type { ResourceCardProps, ResourceCardState } from \"./ResourceCard\";\nexport { ResourceCard } from \"./ResourceCard\";\nexport { Skeleton, type SkeletonProps } from \"./Skeleton\";\nexport type { StatCellAccent, StatCellProps, StatCellTone } from \"./StatCell\";\nexport { StatCell } from \"./StatCell\";\nexport type {\n StatGridAction,\n StatGridColumns,\n StatGridProps,\n StatGridSize,\n StatGridSurface,\n} from \"./StatGrid\";\nexport { StatGrid } from \"./StatGrid\";\nexport type { StatusBadgeProps, StatusTone } from \"./StatusBadge\";\nexport { StatusBadge } from \"./StatusBadge\";\nexport type { TagProps, TagSize } from \"./Tag\";\nexport { Tag } from \"./Tag\";\n"],"mappings":"AACA,SAAS,MAAM,QAAQ,UAAU;AAEjC,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,eAAe,QAAQ,mBAAmB;AAEnD,SAAS,QAAQ,QAAQ,YAAY;AAErC,SAAS,aAAa,QAAQ,iBAAiB;AAE/C,SAAS,mBAAmB,EAAE,UAAU,QAAQ,cAAc;AAE9D,SAAS,KAAK,QAAQ,SAAS;AAQ/B,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AAEtD,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,YAAY,QAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"names":[],"sources":["surfaces/index.ts"],"sourcesContent":["export type { AvatarProps, AvatarRing, AvatarShape, AvatarSize } from \"./Avatar\";\nexport { Avatar } from \"./Avatar\";\nexport type { AvatarStackPerson, AvatarStackProps } from \"./AvatarStack\";\nexport { AvatarStack } from \"./AvatarStack\";\nexport type { DescriptionListItem, DescriptionListProps } from \"./DescriptionList\";\nexport { DescriptionList } from \"./DescriptionList\";\nexport type { DotStripProps, DotStripTone } from \"./DotStrip\";\nexport { DotStrip } from \"./DotStrip\";\nexport type { LinkCardColor, LinkCardProps } from \"./LinkCard\";\nexport { LinkCard } from \"./LinkCard\";\nexport type { NotFoundStateAction, NotFoundStateProps } from \"./NotFoundState\";\nexport { NotFoundState } from \"./NotFoundState\";\nexport type { NoticeCardProps, NoticeGridProps, NoticeTone } from \"./NoticeCard\";\nexport { NOTICE_CARD_CLASSES, NoticeCard } from \"./NoticeCard\";\nexport type { PaperProps, PaperTag } from \"./Paper\";\nexport { Paper } from \"./Paper\";\nexport type {\n PlaceholderAlign,\n PlaceholderProps,\n PlaceholderState,\n PlaceholderSurface,\n PlaceholderVariant,\n} from \"./Placeholder\";\nexport { default as Placeholder } from \"./Placeholder\";\nexport type { ProgressBarProps, ProgressBarTone } from \"./ProgressBar\";\nexport { ProgressBar } from \"./ProgressBar\";\nexport type { ProgressRingProps, ProgressRingTone } from \"./ProgressRing\";\nexport { ProgressRing } from \"./ProgressRing\";\nexport { PERSON_COLORS, personColor } from \"./person-color\";\nexport type { ResourceCardColor, ResourceCardProps, ResourceCardState } from \"./ResourceCard\";\nexport { ResourceCard } from \"./ResourceCard\";\nexport { Skeleton, type SkeletonProps } from \"./Skeleton\";\nexport type { StatCellAccent, StatCellProps, StatCellTone } from \"./StatCell\";\nexport { StatCell } from \"./StatCell\";\nexport type {\n StatGridAction,\n StatGridColumns,\n StatGridProps,\n StatGridSize,\n StatGridSurface,\n} from \"./StatGrid\";\nexport { StatGrid } from \"./StatGrid\";\nexport type { StatusBadgeProps, StatusTone } from \"./StatusBadge\";\nexport { StatusBadge } from \"./StatusBadge\";\nexport type { TagProps, TagSize } from \"./Tag\";\nexport { Tag } from \"./Tag\";\n"],"mappings":"AACA,SAAS,MAAM,QAAQ,UAAU;AAEjC,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,eAAe,QAAQ,mBAAmB;AAEnD,SAAS,QAAQ,QAAQ,YAAY;AAErC,SAAS,QAAQ,QAAQ,YAAY;AAErC,SAAS,aAAa,QAAQ,iBAAiB;AAE/C,SAAS,mBAAmB,EAAE,UAAU,QAAQ,cAAc;AAE9D,SAAS,KAAK,QAAQ,SAAS;AAQ/B,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AAEtD,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,YAAY,QAAQ,gBAAgB;AAC7C,SAAS,aAAa,EAAE,WAAW,QAAQ,gBAAgB;AAE3D,SAAS,YAAY,QAAQ,gBAAgB;AAC7C,SAAS,QAAQ,QAA4B,YAAY;AAEzD,SAAS,QAAQ,QAAQ,YAAY;AAQrC,SAAS,QAAQ,QAAQ,YAAY;AAErC,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,GAAG,QAAQ,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The colors that stand for a person: the tint behind avatar initials, a collaborator's cursor, and the marks and
|
|
3
|
+
* comments a person leaves. The palette leaves out cyan, which means AI, and yellow, which reads as a text highlight.
|
|
4
|
+
* Several people can share a color, so a person's name always appears next to it.
|
|
5
|
+
*/
|
|
6
|
+
export const PERSON_COLORS = ["#3b82f6", "#6366f1", "#8b5cf6", "#c026d3", "#ec4899", "#e11d48", "#f97316", "#16a34a"];
|
|
7
|
+
|
|
8
|
+
/** The palette index for a name, the order of the `.k2b-avatar[data-tint]` rules. Surrounding spaces do not count. */
|
|
9
|
+
export const personTint = name => {
|
|
10
|
+
const trimmed = name.trim();
|
|
11
|
+
let hash = 0;
|
|
12
|
+
for (let index = 0; index < trimmed.length; index++) hash = hash * 31 + trimmed.charCodeAt(index) >>> 0;
|
|
13
|
+
return hash % PERSON_COLORS.length;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/** A person's color from their display name, the same wherever Cloud shows that person. */
|
|
17
|
+
export const personColor = name => PERSON_COLORS[personTint(name)];
|
|
18
|
+
//# sourceMappingURL=person-color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["surfaces/person-color.ts"],"sourcesContent":["/**\n * The colors that stand for a person: the tint behind avatar initials, a collaborator's cursor, and the marks and\n * comments a person leaves. The palette leaves out cyan, which means AI, and yellow, which reads as a text highlight.\n * Several people can share a color, so a person's name always appears next to it.\n */\nexport const PERSON_COLORS = [\"#3b82f6\", \"#6366f1\", \"#8b5cf6\", \"#c026d3\", \"#ec4899\", \"#e11d48\", \"#f97316\", \"#16a34a\"] as const;\n\n/** The palette index for a name, the order of the `.k2b-avatar[data-tint]` rules. Surrounding spaces do not count. */\nexport const personTint = (name: string): number => {\n const trimmed = name.trim();\n let hash = 0;\n for (let index = 0; index < trimmed.length; index++) hash = (hash * 31 + trimmed.charCodeAt(index)) >>> 0;\n return hash % PERSON_COLORS.length;\n};\n\n/** A person's color from their display name, the same wherever Cloud shows that person. */\nexport const personColor = (name: string): string => PERSON_COLORS[personTint(name)]!;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAU;;AAE9H;AACA,OAAO,MAAM,UAAU,GAAI,IAAY,IAAa;EAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;EAC3B,IAAI,IAAI,GAAG,CAAC;EACZ,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,GAAI,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAM,CAAC;EACzG,OAAO,IAAI,GAAG,aAAa,CAAC,MAAM;AACpC,CAAC;;AAED;AACA,OAAO,MAAM,WAAW,GAAI,IAAY,IAAa,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAE","ignoreList":[]}
|
|
@@ -5,15 +5,19 @@ const resourceMessages = i18n.define({
|
|
|
5
5
|
messages: {
|
|
6
6
|
en: {
|
|
7
7
|
resourceUntitled: "Untitled",
|
|
8
|
-
resourceNoAccess: "
|
|
8
|
+
resourceNoAccess: "Item not available",
|
|
9
9
|
resourceDeleted: "Item deleted",
|
|
10
|
-
resourceUnavailable: "Not available right now"
|
|
10
|
+
resourceUnavailable: "Not available right now",
|
|
11
|
+
resourceKind: "Cloud element",
|
|
12
|
+
resourceNoAccessHint: "You have no access. Title and content stay hidden."
|
|
11
13
|
},
|
|
12
14
|
de: {
|
|
13
15
|
resourceUntitled: "Ohne Titel",
|
|
14
|
-
resourceNoAccess: "
|
|
16
|
+
resourceNoAccess: "Element nicht verfügbar",
|
|
15
17
|
resourceDeleted: "Element gelöscht",
|
|
16
|
-
resourceUnavailable: "Gerade nicht verfügbar"
|
|
18
|
+
resourceUnavailable: "Gerade nicht verfügbar",
|
|
19
|
+
resourceKind: "Cloud-Element",
|
|
20
|
+
resourceNoAccessHint: "Du hast keinen Zugriff. Titel und Inhalt bleiben verborgen."
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["surfaces/resource-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst resourceMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n resourceUntitled: \"Untitled\",\n resourceNoAccess: \"
|
|
1
|
+
{"version":3,"names":[],"sources":["surfaces/resource-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst resourceMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n resourceUntitled: \"Untitled\",\n resourceNoAccess: \"Item not available\",\n resourceDeleted: \"Item deleted\",\n resourceUnavailable: \"Not available right now\",\n resourceKind: \"Cloud element\",\n resourceNoAccessHint: \"You have no access. Title and content stay hidden.\",\n },\n de: {\n resourceUntitled: \"Ohne Titel\",\n resourceNoAccess: \"Element nicht verfügbar\",\n resourceDeleted: \"Element gelöscht\",\n resourceUnavailable: \"Gerade nicht verfügbar\",\n resourceKind: \"Cloud-Element\",\n resourceNoAccessHint: \"Du hast keinen Zugriff. Titel und Inhalt bleiben verborgen.\",\n },\n },\n});\n\nexport type ResourceMessages = ReturnType<(typeof resourceMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const useResourceMessages = (): (() => ResourceMessages) => {\n const locale = useLocale();\n return () => resourceMessages.resolve([locale()]).t;\n};\n\nexport const checkResourceMessages = () => resourceMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;EACnC,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,gBAAgB,EAAE,UAAU;MAC5B,gBAAgB,EAAE,oBAAoB;MACtC,eAAe,EAAE,cAAc;MAC/B,mBAAmB,EAAE,yBAAyB;MAC9C,YAAY,EAAE,eAAe;MAC7B,oBAAoB,EAAE;IACxB,CAAC;IACD,EAAE,EAAE;MACF,gBAAgB,EAAE,YAAY;MAC9B,gBAAgB,EAAE,yBAAyB;MAC3C,eAAe,EAAE,kBAAkB;MACnC,mBAAmB,EAAE,wBAAwB;MAC7C,YAAY,EAAE,eAAe;MAC7B,oBAAoB,EAAE;IACxB;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,mBAAmB,GAAG,MAAgC;EACjE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,OAAO,MAAM,qBAAqB,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC","ignoreList":[]}
|
|
@@ -14,8 +14,9 @@ import { Show } from "solid-js";
|
|
|
14
14
|
import { Paper } from "../surfaces/Paper";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* `standard` is 25rem high and `compact` 14rem; `fill` takes the height its container gives it, such as
|
|
18
|
-
* and `content` has no fixed height. Every size except `content`
|
|
17
|
+
* `standard` is 25rem high and `compact` 14rem; `fill` takes the height and the width its container gives it, such as
|
|
18
|
+
* a grid cell, and does not size itself from its content; `content` has no fixed height. Every size except `content`
|
|
19
|
+
* scrolls body content taller than itself.
|
|
19
20
|
*/
|
|
20
21
|
|
|
21
22
|
function Header(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["widgets/Widget.tsx"],"sourcesContent":["import { type JSX, Show } from \"solid-js\";\nimport { Paper } from \"../surfaces/Paper\";\n\n/**\n * `standard` is 25rem high and `compact` 14rem; `fill` takes the height its container gives it, such as a grid cell
|
|
1
|
+
{"version":3,"names":[],"sources":["widgets/Widget.tsx"],"sourcesContent":["import { type JSX, Show } from \"solid-js\";\nimport { Paper } from \"../surfaces/Paper\";\n\n/**\n * `standard` is 25rem high and `compact` 14rem; `fill` takes the height and the width its container gives it, such as\n * a grid cell, and does not size itself from its content; `content` has no fixed height. Every size except `content`\n * scrolls body content taller than itself.\n */\nexport type WidgetSize = \"content\" | \"compact\" | \"standard\" | \"fill\";\n\nexport type WidgetProps = {\n title: string;\n icon?: string;\n href?: string;\n meta?: string;\n size?: WidgetSize;\n children: JSX.Element;\n};\n\nfunction Header(props: WidgetProps): JSX.Element {\n return (\n <>\n <Show when={props.icon}>\n {(icon) => (\n <span class=\"k2b-widget__icon k2b-icon-tile\" aria-hidden=\"true\">\n <i class={icon()} />\n </span>\n )}\n </Show>\n <span class=\"k2b-widget__heading\">\n <span class=\"k2b-widget__title\">{props.title}</span>\n <Show when={props.meta}>{(meta) => <span class=\"k2b-widget__meta\">{meta()}</span>}</Show>\n </span>\n <Show when={props.href}>\n <i class=\"ti ti-chevron-right k2b-widget__chevron\" aria-hidden=\"true\" />\n </Show>\n </>\n );\n}\n\nexport function Widget(props: WidgetProps): JSX.Element {\n return (\n <Paper class=\"k2b-widget\" data-size={props.size ?? \"standard\"}>\n <Show\n when={props.href}\n fallback={\n <div class=\"k2b-widget__header\">\n <Header {...props} />\n </div>\n }\n >\n {(href) => (\n <a href={href()} class=\"k2b-widget__header\">\n <Header {...props} />\n </a>\n )}\n </Show>\n <div class=\"k2b-widget__body\">{props.children}</div>\n </Paper>\n );\n}\n\nexport default Widget;\n"],"mappings":";;;;;;;;;;;;AAAA,SAAmB,IAAI,QAAQ,UAAU;AACzC,SAAS,KAAK,QAAQ,mBAAmB;;AAEzC;AACA;AACA;AACA;AACA;;AAYA,SAAS,MAAM,CAAC,KAAkB,EAAe;EAC/C,0BAEK,IAAI;IAAA,IAAC,IAAI;MAAA,OAAE,KAAK,CAAC,IAAI;IAAA;IAAA,UAClB,IAAI,oDAEQ,IAAI,CAAC,CAAC;EAEnB,2BAGgC,KAAK,CAAC,KAAK,8BAC3C,IAAI;IAAA,IAAC,IAAI;MAAA,OAAE,KAAK,CAAC,IAAI;IAAA;IAAA,UAAI,IAAI,4BAAqC,IAAI,CAAC,CAAC;EAAQ,wBAElF,IAAI;IAAA,IAAC,IAAI;MAAA,OAAE,KAAK,CAAC,IAAI;IAAA;IAAA;MAAA;IAAA;EAAA;AAK5B;AAEA,OAAO,SAAS,MAAM,CAAC,KAAkB,EAAe;EACtD,yBACG,KAAK;IAAA;IAAA;MAAA,OAA+B,KAAK,CAAC,IAAI,IAAI,UAAU;IAAA;IAAA;MAAA,0BAC1D,IAAI;QAAA,IACH,IAAI;UAAA,OAAE,KAAK,CAAC,IAAI;QAAA;QAAA,IAChB,QAAQ;UAAA,iDAEH,MAAM,EAAK,KAAK;QAAA;QAAA,UAInB,IAAI,mDACK,IAAI,CAAC,CAAC,4CACZ,MAAM,EAAK,KAAK;MAEpB,4BAE4B,KAAK,CAAC,QAAQ;IAAA;EAAA;AAGnD;AAEA,eAAe,MAAM","ignoreList":[]}
|