@k2b/ui 0.18.0 → 0.20.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 +3 -2
- package/dist/browser/actions/ContextMenu.js +3 -1
- package/dist/browser/actions/ContextMenu.js.map +1 -1
- package/dist/browser/actions/Dropdown.js +91 -46
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/FilterChip.js +4 -1
- package/dist/browser/actions/FilterChip.js.map +1 -1
- package/dist/browser/actions/GestureMenu.js +467 -0
- package/dist/browser/actions/GestureMenu.js.map +1 -0
- package/dist/browser/actions/index.js +1 -0
- package/dist/browser/actions/index.js.map +1 -1
- package/dist/browser/chat/ChatComposer.js +1255 -534
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/ChatPrimitives.js +9 -3
- package/dist/browser/chat/ChatPrimitives.js.map +1 -1
- package/dist/browser/chat/ChatTimeline.js +19 -1
- package/dist/browser/chat/ChatTimeline.js.map +1 -1
- package/dist/browser/chat/chat-behavior.js +9 -0
- package/dist/browser/chat/chat-behavior.js.map +1 -1
- package/dist/browser/chat/index.js.map +1 -1
- package/dist/browser/chat/types.js.map +1 -1
- package/dist/browser/content/Calendar.js +579 -533
- package/dist/browser/content/Calendar.js.map +1 -1
- package/dist/browser/content/Lightbox.js +76 -40
- package/dist/browser/content/Lightbox.js.map +1 -1
- package/dist/browser/content/MessageRow.js +2 -2
- package/dist/browser/content/MessageRow.js.map +1 -1
- package/dist/browser/content/PdfPreview.js +146 -79
- package/dist/browser/content/PdfPreview.js.map +1 -1
- package/dist/browser/content/Timeline.js +1038 -0
- package/dist/browser/content/Timeline.js.map +1 -0
- package/dist/browser/content/VideoPlayer.js +29 -9
- package/dist/browser/content/VideoPlayer.js.map +1 -1
- package/dist/browser/content/chart-inspection.js +7 -2
- package/dist/browser/content/chart-inspection.js.map +1 -1
- package/dist/browser/content/index.js +1 -0
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/content/timeline-model.js +579 -0
- package/dist/browser/content/timeline-model.js.map +1 -0
- package/dist/browser/feedback/dialog-core.js +26 -14
- package/dist/browser/feedback/dialog-core.js.map +1 -1
- package/dist/browser/inputs/ChoiceChips.js +66 -0
- package/dist/browser/inputs/ChoiceChips.js.map +1 -0
- package/dist/browser/inputs/ChoiceGroups.js +53 -12
- package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
- package/dist/browser/inputs/FileInputs.js +48 -33
- package/dist/browser/inputs/FileInputs.js.map +1 -1
- package/dist/browser/inputs/SignatureInput.js +558 -0
- package/dist/browser/inputs/SignatureInput.js.map +1 -0
- package/dist/browser/inputs/TextInput.js +13 -1
- package/dist/browser/inputs/TextInput.js.map +1 -1
- package/dist/browser/inputs/emoji/EmojiPicker.js +841 -0
- package/dist/browser/inputs/emoji/EmojiPicker.js.map +1 -0
- package/dist/browser/inputs/emoji/emoji-data.js +1903 -0
- package/dist/browser/inputs/emoji/emoji-data.js.map +1 -0
- package/dist/browser/inputs/emoji/emoji-index.js +209 -0
- package/dist/browser/inputs/emoji/emoji-index.js.map +1 -0
- package/dist/browser/inputs/emoji/emoji-messages.js +64 -0
- package/dist/browser/inputs/emoji/emoji-messages.js.map +1 -0
- package/dist/browser/inputs/index.js +5 -0
- package/dist/browser/inputs/index.js.map +1 -1
- package/dist/browser/inputs/markdown/actions.js +6 -2
- package/dist/browser/inputs/markdown/actions.js.map +1 -1
- package/dist/browser/inputs/markdown/code-zone.js +38 -2
- package/dist/browser/inputs/markdown/code-zone.js.map +1 -1
- package/dist/browser/inputs/signature-messages.js +39 -0
- package/dist/browser/inputs/signature-messages.js.map +1 -0
- package/dist/browser/inputs/signature.js +208 -0
- package/dist/browser/inputs/signature.js.map +1 -0
- package/dist/browser/internal/render-error.js +49 -0
- package/dist/browser/internal/render-error.js.map +1 -0
- package/dist/browser/intl/messages.js +102 -0
- package/dist/browser/intl/messages.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +321 -222
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/FloatingWindow.js +4 -1
- package/dist/browser/layout/FloatingWindow.js.map +1 -1
- package/dist/browser/layout/SidebarItemPreview.js +5 -1
- package/dist/browser/layout/SidebarItemPreview.js.map +1 -1
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/surfaces/ResourceCard.js +212 -0
- package/dist/browser/surfaces/ResourceCard.js.map +1 -0
- package/dist/browser/surfaces/index.js +1 -0
- package/dist/browser/surfaces/index.js.map +1 -1
- package/dist/licenses/emojibase-data.txt +21 -0
- package/dist/ssr/actions/ContextMenu.js +3 -1
- package/dist/ssr/actions/ContextMenu.js.map +1 -1
- package/dist/ssr/actions/Dropdown.js +49 -12
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/FilterChip.js +4 -1
- package/dist/ssr/actions/FilterChip.js.map +1 -1
- package/dist/ssr/actions/GestureMenu.js +411 -0
- package/dist/ssr/actions/GestureMenu.js.map +1 -0
- package/dist/ssr/actions/index.js +1 -0
- package/dist/ssr/actions/index.js.map +1 -1
- package/dist/ssr/chat/ChatComposer.js +767 -214
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/ChatPrimitives.js +9 -3
- package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
- package/dist/ssr/chat/ChatTimeline.js +19 -1
- package/dist/ssr/chat/ChatTimeline.js.map +1 -1
- package/dist/ssr/chat/chat-behavior.js +9 -0
- package/dist/ssr/chat/chat-behavior.js.map +1 -1
- package/dist/ssr/chat/index.js.map +1 -1
- package/dist/ssr/chat/types.js.map +1 -1
- package/dist/ssr/content/Calendar.js +183 -142
- package/dist/ssr/content/Calendar.js.map +1 -1
- package/dist/ssr/content/Lightbox.js +19 -5
- package/dist/ssr/content/Lightbox.js.map +1 -1
- package/dist/ssr/content/MessageRow.js +2 -2
- package/dist/ssr/content/MessageRow.js.map +1 -1
- package/dist/ssr/content/PdfPreview.js +77 -36
- package/dist/ssr/content/PdfPreview.js.map +1 -1
- package/dist/ssr/content/Timeline.js +804 -0
- package/dist/ssr/content/Timeline.js.map +1 -0
- package/dist/ssr/content/VideoPlayer.js +29 -9
- package/dist/ssr/content/VideoPlayer.js.map +1 -1
- package/dist/ssr/content/chart-inspection.js +7 -2
- package/dist/ssr/content/chart-inspection.js.map +1 -1
- package/dist/ssr/content/index.js +1 -0
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/content/timeline-model.js +579 -0
- package/dist/ssr/content/timeline-model.js.map +1 -0
- package/dist/ssr/feedback/dialog-core.js +26 -14
- package/dist/ssr/feedback/dialog-core.js.map +1 -1
- package/dist/ssr/inputs/ChoiceChips.js +66 -0
- package/dist/ssr/inputs/ChoiceChips.js.map +1 -0
- package/dist/ssr/inputs/ChoiceGroups.js +12 -4
- package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
- package/dist/ssr/inputs/FileInputs.js +19 -4
- package/dist/ssr/inputs/FileInputs.js.map +1 -1
- package/dist/ssr/inputs/SignatureInput.js +404 -0
- package/dist/ssr/inputs/SignatureInput.js.map +1 -0
- package/dist/ssr/inputs/TextInput.js +13 -1
- package/dist/ssr/inputs/TextInput.js.map +1 -1
- package/dist/ssr/inputs/emoji/EmojiPicker.js +551 -0
- package/dist/ssr/inputs/emoji/EmojiPicker.js.map +1 -0
- package/dist/ssr/inputs/emoji/emoji-data.js +1903 -0
- package/dist/ssr/inputs/emoji/emoji-data.js.map +1 -0
- package/dist/ssr/inputs/emoji/emoji-index.js +209 -0
- package/dist/ssr/inputs/emoji/emoji-index.js.map +1 -0
- package/dist/ssr/inputs/emoji/emoji-messages.js +64 -0
- package/dist/ssr/inputs/emoji/emoji-messages.js.map +1 -0
- package/dist/ssr/inputs/index.js +5 -0
- package/dist/ssr/inputs/index.js.map +1 -1
- package/dist/ssr/inputs/markdown/actions.js +6 -2
- package/dist/ssr/inputs/markdown/actions.js.map +1 -1
- package/dist/ssr/inputs/markdown/code-zone.js +38 -2
- package/dist/ssr/inputs/markdown/code-zone.js.map +1 -1
- package/dist/ssr/inputs/signature-messages.js +39 -0
- package/dist/ssr/inputs/signature-messages.js.map +1 -0
- package/dist/ssr/inputs/signature.js +208 -0
- package/dist/ssr/inputs/signature.js.map +1 -0
- package/dist/ssr/internal/render-error.js +49 -0
- package/dist/ssr/internal/render-error.js.map +1 -0
- package/dist/ssr/intl/messages.js +102 -0
- package/dist/ssr/intl/messages.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +112 -41
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/FloatingWindow.js +4 -1
- package/dist/ssr/layout/FloatingWindow.js.map +1 -1
- package/dist/ssr/layout/SidebarItemPreview.js +5 -1
- package/dist/ssr/layout/SidebarItemPreview.js.map +1 -1
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/surfaces/ResourceCard.js +115 -0
- package/dist/ssr/surfaces/ResourceCard.js.map +1 -0
- package/dist/ssr/surfaces/index.js +1 -0
- package/dist/ssr/surfaces/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/Dropdown.d.ts +13 -1
- package/dist/types/actions/FilterChip.d.ts +5 -0
- package/dist/types/actions/GestureMenu.d.ts +35 -0
- package/dist/types/actions/index.d.ts +2 -0
- package/dist/types/chat/ChatComposer.d.ts +27 -1
- package/dist/types/chat/chat-behavior.d.ts +15 -0
- package/dist/types/chat/index.d.ts +1 -1
- package/dist/types/chat/types.d.ts +34 -0
- package/dist/types/content/Calendar.d.ts +28 -8
- package/dist/types/content/Lightbox.d.ts +8 -0
- package/dist/types/content/Timeline.d.ts +49 -0
- package/dist/types/content/index.d.ts +4 -2
- package/dist/types/content/timeline-model.d.ts +148 -0
- package/dist/types/feedback/dialog-core.d.ts +1 -1
- package/dist/types/inputs/ChoiceChips.d.ts +20 -0
- package/dist/types/inputs/ChoiceGroups.d.ts +11 -2
- package/dist/types/inputs/FileInputs.d.ts +6 -0
- package/dist/types/inputs/SignatureInput.d.ts +22 -0
- package/dist/types/inputs/emoji/EmojiPicker.d.ts +42 -0
- package/dist/types/inputs/emoji/emoji-data.d.ts +2 -0
- package/dist/types/inputs/emoji/emoji-index.d.ts +109 -0
- package/dist/types/inputs/emoji/emoji-messages.d.ts +30 -0
- package/dist/types/inputs/index.d.ts +10 -0
- package/dist/types/inputs/markdown/actions.d.ts +2 -0
- package/dist/types/inputs/markdown/code-zone.d.ts +7 -0
- package/dist/types/inputs/signature-messages.d.ts +11 -0
- package/dist/types/inputs/signature.d.ts +72 -0
- package/dist/types/internal/render-error.d.ts +13 -0
- package/dist/types/intl/messages.d.ts +51 -0
- package/dist/types/layout/AppWorkspace.d.ts +17 -0
- package/dist/types/layout/SidebarItemPreview.d.ts +2 -0
- package/dist/types/layout/index.d.ts +1 -1
- package/dist/types/surfaces/ResourceCard.d.ts +31 -0
- package/dist/types/surfaces/index.d.ts +2 -0
- package/package.json +6 -5
|
@@ -22,25 +22,30 @@ var _tmpl$ = ["<button type=\"button\" class=\"k2b-app-workspace__resize\" role=
|
|
|
22
22
|
_tmpl$11 = ["<div", "", " class=\"k2b-app-workspace__sidebar-section-content\">", "</div>"],
|
|
23
23
|
_tmpl$12 = ["<h2>", "</h2>"],
|
|
24
24
|
_tmpl$13 = ["<div class=\"k2b-app-workspace__sidebar-item-actions\"", ">", "</div>"],
|
|
25
|
-
_tmpl$14 =
|
|
26
|
-
_tmpl$15 =
|
|
27
|
-
_tmpl$16 = ["<span class=\"k2b-app-workspace__sidebar-
|
|
28
|
-
_tmpl$17 = ["<span class=\"k2b-app-workspace__sidebar-
|
|
29
|
-
_tmpl$18 =
|
|
30
|
-
_tmpl$19 = ["<
|
|
31
|
-
_tmpl$20 = ["<span class=\"k2b-app-workspace__sidebar-item-meta\"
|
|
32
|
-
_tmpl$21 = ["<
|
|
33
|
-
_tmpl$22 = ["<
|
|
34
|
-
_tmpl$23 = ["<span class=\"k2b-app-workspace__sidebar-item-label\"><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>"],
|
|
35
|
-
_tmpl$24 = ["<span class=\"
|
|
36
|
-
_tmpl$25 = ["<
|
|
37
|
-
_tmpl$26 = ["<
|
|
38
|
-
_tmpl$27 = ["<
|
|
39
|
-
_tmpl$28 = ["<
|
|
40
|
-
_tmpl$29 = ["<
|
|
41
|
-
_tmpl$30 = ["<
|
|
42
|
-
_tmpl$31 = ["<div class=\"
|
|
43
|
-
_tmpl$32 = ["<div class=\"", "\">", "</div>"]
|
|
25
|
+
_tmpl$14 = "<span class=\"k2b-app-workspace__sidebar-status-mention\" aria-hidden=\"true\">@</span>",
|
|
26
|
+
_tmpl$15 = "<span class=\"k2b-app-workspace__sidebar-status-muted\" aria-hidden=\"true\"><i class=\"ti ti-bell-off\"></i></span>",
|
|
27
|
+
_tmpl$16 = ["<span class=\"k2b-app-workspace__sidebar-status-count\"", ">", "</span>"],
|
|
28
|
+
_tmpl$17 = ["<span class=\"k2b-app-workspace__sidebar-status\"", ">", "", "<span class=\"k2b-app-workspace__sidebar-status-unread\" aria-hidden=\"true\">", "</span><span class=\"k2b-sr-only\">, ", "</span></span>"],
|
|
29
|
+
_tmpl$18 = "<span class=\"k2b-app-workspace__sidebar-status-dot\"></span>",
|
|
30
|
+
_tmpl$19 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\" aria-hidden=\"true\">", "</span>"],
|
|
31
|
+
_tmpl$20 = ["<span class=\"k2b-app-workspace__sidebar-item-context-meta\">", "</span>"],
|
|
32
|
+
_tmpl$21 = ["<span class=\"k2b-app-workspace__sidebar-item-context\"><span class=\"k2b-app-workspace__sidebar-item-context-label\">", "</span>", "</span>"],
|
|
33
|
+
_tmpl$22 = ["<span class=\"k2b-app-workspace__sidebar-item-description\">", "</span>"],
|
|
34
|
+
_tmpl$23 = ["<span class=\"k2b-app-workspace__sidebar-item-copy\">", "<span class=\"k2b-app-workspace__sidebar-item-label\"", "><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>", "</span>"],
|
|
35
|
+
_tmpl$24 = ["<span class=\"k2b-app-workspace__sidebar-item-meta\"", ">", "</span>"],
|
|
36
|
+
_tmpl$25 = ["<i", "></i>"],
|
|
37
|
+
_tmpl$26 = ["<a", " class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</a>"],
|
|
38
|
+
_tmpl$27 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</button>"],
|
|
39
|
+
_tmpl$28 = ["<span class=\"k2b-app-workspace__sidebar-item-label\"><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>"],
|
|
40
|
+
_tmpl$29 = ["<span class=\"", "\"", ">", "</span>"],
|
|
41
|
+
_tmpl$30 = ["<span class=\"k2b-app-workspace__nav-tree-toggle\" data-k2b-nav-tree-toggle aria-hidden=\"true\"><i class=\"", "\"></i></span>"],
|
|
42
|
+
_tmpl$31 = ["<div class=\"k2b-app-workspace__nav-tree-group\" role=\"group\">", "</div>"],
|
|
43
|
+
_tmpl$32 = ["<div class=\"k2b-app-workspace__nav-tree-node\" role=\"treeitem\"", " style=\"", "\">", "", "</div>"],
|
|
44
|
+
_tmpl$33 = ["<div class=\"", "\" role=\"tree\"", ">", "</div>"],
|
|
45
|
+
_tmpl$34 = ["<div class=\"k2b-app-workspace__sidebar-icon-grid\"", ">", "</div>"],
|
|
46
|
+
_tmpl$35 = ["<i", " aria-hidden=\"true\"></i>"],
|
|
47
|
+
_tmpl$36 = ["<div class=\"", "\" data-k2b-app-workspace", " style=\"", "\">", "</div>"],
|
|
48
|
+
_tmpl$37 = ["<div class=\"", "\">", "</div>"];
|
|
44
49
|
import { Link } from "@k2b/ssr/nav";
|
|
45
50
|
import { children, createContext, createEffect, createMemo, createSignal, createUniqueId, For, mergeProps, onCleanup, onMount, Show, useContext } from "solid-js";
|
|
46
51
|
import { useUiMessages } from "../intl/messages";
|
|
@@ -75,6 +80,11 @@ function ResizeHandle(props) {
|
|
|
75
80
|
return _$ssr(_tmpl$, _$ssrAttribute("aria-label", _$escape(props.label ?? (props.kind === "sidebar" ? messages().resizeNavigation : props.kind === "pane" ? messages().resizeWorkspacePane : props.kind === "detail" ? messages().resizeDetailPanel : messages().resizeBottomDrawer), true), false) + _$ssrAttribute("aria-controls", _$escape(props.controls, true), false) + _$ssrAttribute("aria-orientation", props.kind === "drawer" ? "horizontal" : "vertical", false) + _$ssrAttribute("aria-valuemin", _$escape(props.minSize, true), false) + _$ssrAttribute("aria-valuemax", _$escape(props.maxSize, true), false) + _$ssrAttribute("aria-valuenow", _$escape(props.defaultSize, true), false) + _$ssrAttribute("data-app-workspace-resize", _$escape(props.kind, true), false) + _$ssrAttribute("data-workspace-panel-id", _$escape(props.panelId, true), false) + _$ssrAttribute("data-workspace-resize-edge", _$escape(props.edge, true), false) + _$ssrAttribute("data-workspace-resize-shadow", props.shadow ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-workspace-default-size", _$escape(props.defaultSize, true), false) + _$ssrAttribute("data-workspace-min-size", _$escape(props.minSize, true), false) + _$ssrAttribute("data-workspace-max-size", _$escape(props.maxSize, true), false), _$ssrStyle(props.style));
|
|
76
81
|
}
|
|
77
82
|
|
|
83
|
+
/**
|
|
84
|
+
* Unread state for the trailing `meta` slot. Every mark keeps a fixed width,
|
|
85
|
+
* so the row keeps its height and the label its start in every state.
|
|
86
|
+
*/
|
|
87
|
+
|
|
78
88
|
/** One requested place for an item among its unchanged siblings. */
|
|
79
89
|
|
|
80
90
|
const modeAttrs = mode => mode && mode !== "always" ? {
|
|
@@ -497,6 +507,57 @@ const AppWorkspaceSidebarItemAction = props => mergeProps({
|
|
|
497
507
|
kind: SIDEBAR_ITEM_ACTION
|
|
498
508
|
}, props);
|
|
499
509
|
const AppWorkspaceSidebarItemActions = props => _$ssr(_tmpl$13, _$ssrAttribute("data-visibility", props.visibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(props.children));
|
|
510
|
+
const AppWorkspaceSidebarItemStatus = props => {
|
|
511
|
+
const messages = useUiMessages();
|
|
512
|
+
const count = () => typeof props.unread === "number" && props.unread >= 1 ? Math.floor(props.unread) : 0;
|
|
513
|
+
const dot = () => props.unread === true;
|
|
514
|
+
// The marks are decorative; the row's accessible name gets one phrase instead,
|
|
515
|
+
// which says no more than the "99+" a capped count shows.
|
|
516
|
+
const description = () => [count() > 99 ? messages().sidebarUnreadMany : count() ? messages().sidebarUnread({
|
|
517
|
+
count: count()
|
|
518
|
+
}) : dot() ? messages().sidebarNewActivity : "", props.mention ? messages().sidebarMentioned : "", props.muted ? messages().sidebarMuted : ""].filter(Boolean).join(", ");
|
|
519
|
+
// The unread slot stays reserved at the end, and the marks that change most
|
|
520
|
+
// often sit outermost, so new activity or a mention never moves another mark.
|
|
521
|
+
return _$createComponent(Show, {
|
|
522
|
+
get when() {
|
|
523
|
+
return description();
|
|
524
|
+
},
|
|
525
|
+
get children() {
|
|
526
|
+
return _$ssr(_tmpl$17, _$ssrAttribute("data-unread", count() ? "count" : dot() ? "dot" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
|
|
527
|
+
get when() {
|
|
528
|
+
return props.mention;
|
|
529
|
+
},
|
|
530
|
+
get children() {
|
|
531
|
+
return _$ssr(_tmpl$14);
|
|
532
|
+
}
|
|
533
|
+
})), _$escape(_$createComponent(Show, {
|
|
534
|
+
get when() {
|
|
535
|
+
return props.muted;
|
|
536
|
+
},
|
|
537
|
+
get children() {
|
|
538
|
+
return _$ssr(_tmpl$15);
|
|
539
|
+
}
|
|
540
|
+
})), _$escape(_$createComponent(Show, {
|
|
541
|
+
get when() {
|
|
542
|
+
return count();
|
|
543
|
+
},
|
|
544
|
+
get fallback() {
|
|
545
|
+
return _$createComponent(Show, {
|
|
546
|
+
get when() {
|
|
547
|
+
return dot();
|
|
548
|
+
},
|
|
549
|
+
get children() {
|
|
550
|
+
return _$ssr(_tmpl$18);
|
|
551
|
+
}
|
|
552
|
+
});
|
|
553
|
+
},
|
|
554
|
+
get children() {
|
|
555
|
+
return _$ssr(_tmpl$16, _$ssrAttribute("data-mention", props.mention ? "true" : _$escape(undefined, true), false), count() > 99 ? "99+" : _$escape(count()));
|
|
556
|
+
}
|
|
557
|
+
})), _$escape(description()));
|
|
558
|
+
}
|
|
559
|
+
});
|
|
560
|
+
};
|
|
500
561
|
/** Shared visual and semantic row frame for flat sidebar items and tree items. */
|
|
501
562
|
function AppWorkspaceSidebarRow(props) {
|
|
502
563
|
const className = () => `k2b-app-workspace__sidebar-item ${props.hasActions ? "has-action" : ""} ${props.active ? props.activeClass ?? "is-active" : ""} ${props.class ?? ""}`;
|
|
@@ -618,7 +679,11 @@ function AppWorkspaceSidebarItem(props) {
|
|
|
618
679
|
const label = () => labelSlot()?.children ?? (legacy().length === 1 ? legacy()[0] : legacy());
|
|
619
680
|
const icon = () => iconSlot()?.icon ?? props.icon;
|
|
620
681
|
const iconContent = () => iconSlot()?.children;
|
|
621
|
-
|
|
682
|
+
// Resolved first, so a component that renders nothing, such as a status with
|
|
683
|
+
// nothing to show, leaves no empty slot in the browser either.
|
|
684
|
+
const meta = children(() => metaSlot()?.children ?? props.meta);
|
|
685
|
+
const hasMeta = () => meta.toArray().some(Boolean);
|
|
686
|
+
const metaId = createUniqueId();
|
|
622
687
|
const metaVisibility = () => metaSlot()?.visibility ?? props.metaVisibility;
|
|
623
688
|
const customActions = () => resolvedActions();
|
|
624
689
|
const hasCustomActions = () => Boolean(customActions());
|
|
@@ -628,19 +693,19 @@ function AppWorkspaceSidebarItem(props) {
|
|
|
628
693
|
return iconContent() || icon();
|
|
629
694
|
},
|
|
630
695
|
get children() {
|
|
631
|
-
return _$ssr(_tmpl$
|
|
696
|
+
return _$ssr(_tmpl$19, _$escape(iconContent() ?? _$ssr(_tmpl$25, _$ssrAttribute("class", _$escape(iconClass(icon()), true), false))));
|
|
632
697
|
}
|
|
633
|
-
}), _$ssr(_tmpl$
|
|
698
|
+
}), _$ssr(_tmpl$23, _$escape(_$createComponent(Show, {
|
|
634
699
|
get when() {
|
|
635
700
|
return props.context || props.contextMeta;
|
|
636
701
|
},
|
|
637
702
|
get children() {
|
|
638
|
-
return _$ssr(_tmpl$
|
|
703
|
+
return _$ssr(_tmpl$21, _$escape(props.context), _$escape(_$createComponent(Show, {
|
|
639
704
|
get when() {
|
|
640
705
|
return props.contextMeta;
|
|
641
706
|
},
|
|
642
707
|
get children() {
|
|
643
|
-
return _$ssr(_tmpl$
|
|
708
|
+
return _$ssr(_tmpl$20, _$escape(props.contextMeta));
|
|
644
709
|
}
|
|
645
710
|
})));
|
|
646
711
|
}
|
|
@@ -649,13 +714,15 @@ function AppWorkspaceSidebarItem(props) {
|
|
|
649
714
|
return props.description;
|
|
650
715
|
},
|
|
651
716
|
get children() {
|
|
652
|
-
return _$ssr(_tmpl$
|
|
717
|
+
return _$ssr(_tmpl$22, _$escape(props.description));
|
|
653
718
|
}
|
|
654
719
|
}))), _$createComponent(Show, {
|
|
655
720
|
get when() {
|
|
656
|
-
return
|
|
721
|
+
return hasMeta();
|
|
657
722
|
},
|
|
658
|
-
children
|
|
723
|
+
get children() {
|
|
724
|
+
return _$ssr(_tmpl$24, _$ssrAttribute("id", props.preview?.trigger === "row" ? _$escape(metaId, true) : _$escape(undefined, true), false) + _$ssrAttribute("data-visibility", metaVisibility() === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(meta()));
|
|
725
|
+
}
|
|
659
726
|
})];
|
|
660
727
|
const singleAction = () => {
|
|
661
728
|
const label = () => actionSlot()?.label ?? props.actionLabel ?? messages().rowAction;
|
|
@@ -669,7 +736,7 @@ function AppWorkspaceSidebarItem(props) {
|
|
|
669
736
|
actionSlot()?.onSelect?.(event);
|
|
670
737
|
props.onActionClick?.(event);
|
|
671
738
|
};
|
|
672
|
-
const content = () => actionSlot()?.children ?? _$ssr(_tmpl$
|
|
739
|
+
const content = () => actionSlot()?.children ?? _$ssr(_tmpl$25, _$ssrAttribute("class", _$escape(iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots"), true), false));
|
|
673
740
|
return _$createComponent(Show, {
|
|
674
741
|
get when() {
|
|
675
742
|
return Boolean(actionSlot() || props.actionIcon);
|
|
@@ -680,10 +747,10 @@ function AppWorkspaceSidebarItem(props) {
|
|
|
680
747
|
return _$memo(() => !!actionSlot()?.href)() && !actionSlot()?.disabled;
|
|
681
748
|
},
|
|
682
749
|
get fallback() {
|
|
683
|
-
return _$ssr(_tmpl$
|
|
750
|
+
return _$ssr(_tmpl$27, _$ssrAttribute("disabled", actionSlot()?.disabled, true) + _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
|
|
684
751
|
},
|
|
685
752
|
get children() {
|
|
686
|
-
return _$ssr(_tmpl$
|
|
753
|
+
return _$ssr(_tmpl$26, _$ssrAttribute("href", _$escape(actionSlot()?.href, true), false), _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
|
|
687
754
|
}
|
|
688
755
|
});
|
|
689
756
|
}
|
|
@@ -706,6 +773,9 @@ function AppWorkspaceSidebarItem(props) {
|
|
|
706
773
|
get viewportSize() {
|
|
707
774
|
return preview().viewportSize;
|
|
708
775
|
},
|
|
776
|
+
get describedBy() {
|
|
777
|
+
return hasMeta() ? metaId : undefined;
|
|
778
|
+
},
|
|
709
779
|
get onOpenChange() {
|
|
710
780
|
return preview().onOpenChange;
|
|
711
781
|
},
|
|
@@ -984,21 +1054,21 @@ const AppWorkspaceNavTree = props => {
|
|
|
984
1054
|
get ["data-k2b-nav-tree-toggle"]() {
|
|
985
1055
|
return usesIconDisclosure() ? "" : undefined;
|
|
986
1056
|
}
|
|
987
|
-
}, () => iconAccessibility(item.iconLabel)), _$ssr(_tmpl$
|
|
1057
|
+
}, () => iconAccessibility(item.iconLabel)), _$ssr(_tmpl$25, _$ssrAttribute("class", _$escape(iconClass(rowIcon()), true), false)), false);
|
|
988
1058
|
}
|
|
989
|
-
}), _$ssr(_tmpl$
|
|
1059
|
+
}), _$ssr(_tmpl$28, _$escape(item.label)), _$createComponent(Show, {
|
|
990
1060
|
get when() {
|
|
991
1061
|
return item.meta !== undefined;
|
|
992
1062
|
},
|
|
993
1063
|
get children() {
|
|
994
|
-
return _$ssr(_tmpl$
|
|
1064
|
+
return _$ssr(_tmpl$29, `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`, _$ssrAttribute("data-visibility", item.metaVisibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(item.meta));
|
|
995
1065
|
}
|
|
996
1066
|
}), _$createComponent(Show, {
|
|
997
1067
|
get when() {
|
|
998
1068
|
return _$memo(() => !!hasChildren())() && !usesIconDisclosure();
|
|
999
1069
|
},
|
|
1000
1070
|
get children() {
|
|
1001
|
-
return _$ssr(_tmpl$
|
|
1071
|
+
return _$ssr(_tmpl$30, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`);
|
|
1002
1072
|
}
|
|
1003
1073
|
})];
|
|
1004
1074
|
const row = () => _$createComponent(AppWorkspaceSidebarRow, {
|
|
@@ -1104,12 +1174,12 @@ const AppWorkspaceNavTree = props => {
|
|
|
1104
1174
|
endDrag();
|
|
1105
1175
|
requestMove(target.move, false);
|
|
1106
1176
|
};
|
|
1107
|
-
return _$ssr(_tmpl$
|
|
1177
|
+
return _$ssr(_tmpl$32, _$ssrAttribute("aria-level", _$escape(depth, true) + 1, false) + _$ssrAttribute("aria-setsize", _$escape(siblings().length, true), false) + _$ssrAttribute("aria-posinset", _$escape(place(), true) + 1, false) + _$ssrAttribute("aria-selected", _$escape(selected(), true), false) + _$ssrAttribute("aria-expanded", hasChildren() ? _$escape(isExpanded(item.id), true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-disabled", item.disabled ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("tabindex", item.disabled ? -1 : tabStopId() === item.id ? 0 : -1, false) + _$ssrAttribute("draggable", movable() ? _$escape(true, true) : _$escape(undefined, true), false) + _$ssrAttribute("data-k2b-nav-tree-id", _$escape(item.id, true), false) + _$ssrAttribute("data-k2b-nav-tree-parent-id", _$escape(parentId, true), false) + _$ssrAttribute("data-k2b-nav-tree-dragging", dragged()?.id === item.id ? "" : _$escape(undefined, true), false) + _$ssrAttribute("data-k2b-nav-tree-drop", dropTarget()?.id === item.id ? _$escape(dropTarget().side, true) : _$escape(undefined, true), false), _$ssrStyleProperty("--k2b-nav-tree-depth:", _$escape(String(props.indented === false ? 0 : depth), true)), _$escape(row()), _$escape(_$createComponent(Show, {
|
|
1108
1178
|
get when() {
|
|
1109
1179
|
return _$memo(() => !!hasChildren())() && isExpanded(item.id);
|
|
1110
1180
|
},
|
|
1111
1181
|
get children() {
|
|
1112
|
-
return _$ssr(_tmpl$
|
|
1182
|
+
return _$ssr(_tmpl$31, _$escape(renderItems(nested, depth + 1, item.id)));
|
|
1113
1183
|
}
|
|
1114
1184
|
})));
|
|
1115
1185
|
}
|
|
@@ -1134,7 +1204,7 @@ const AppWorkspaceNavTree = props => {
|
|
|
1134
1204
|
doc?.removeEventListener("pointermove", forgetDrag, true);
|
|
1135
1205
|
});
|
|
1136
1206
|
});
|
|
1137
|
-
return _$ssr(_tmpl$
|
|
1207
|
+
return _$ssr(_tmpl$33, `k2b-app-workspace__nav-tree ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.ariaLabel, true), false), _$escape(renderItems(roots, 0)));
|
|
1138
1208
|
};
|
|
1139
1209
|
AppWorkspaceNavTree.Item = AppWorkspaceNavTreeItem;
|
|
1140
1210
|
const AppWorkspaceSidebarIconGrid = props => _$ssrElement("section", _$mergeProps({
|
|
@@ -1146,9 +1216,9 @@ const AppWorkspaceSidebarIconGrid = props => _$ssrElement("section", _$mergeProp
|
|
|
1146
1216
|
return props.title;
|
|
1147
1217
|
},
|
|
1148
1218
|
children: title => _$ssr(_tmpl$12, _$escape(title()))
|
|
1149
|
-
})), _$ssr(_tmpl$
|
|
1219
|
+
})), _$ssr(_tmpl$34, _$ssrAttribute("data-columns", _$escape(props.columns ?? 2, true), false), _$escape(props.children))], false);
|
|
1150
1220
|
const AppWorkspaceSidebarIconAction = props => {
|
|
1151
|
-
const content = _$ssr(_tmpl$
|
|
1221
|
+
const content = _$ssr(_tmpl$35, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
|
|
1152
1222
|
const attrs = () => ({
|
|
1153
1223
|
class: `k2b-app-workspace__sidebar-icon-action ${props.active ? "is-active" : ""}`,
|
|
1154
1224
|
title: props.label,
|
|
@@ -1214,7 +1284,7 @@ const AppWorkspace = props => {
|
|
|
1214
1284
|
return props.resizable !== false;
|
|
1215
1285
|
},
|
|
1216
1286
|
get children() {
|
|
1217
|
-
return _$ssr(_tmpl$
|
|
1287
|
+
return _$ssr(_tmpl$36, `k2b-app-workspace ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-mobile-surface", _$escape(props.mobileSurface, true), false) + _$ssrAttribute("data-sidebar-collapsed", initialLayoutState()?.sidebarCollapsed === undefined ? _$escape(undefined, true) : _$escape(String(initialLayoutState()?.sidebarCollapsed), true), false) + _$ssrAttribute("data-workspace-resizable", props.resizable === false ? "false" : "true", false), _$ssrStyle(appWorkspaceLayoutStyle(initialLayoutState())), _$escape(props.children));
|
|
1218
1288
|
}
|
|
1219
1289
|
});
|
|
1220
1290
|
};
|
|
@@ -1226,7 +1296,7 @@ AppWorkspace.LayoutStateProvider = props => _$createComponent(LayoutStateContext
|
|
|
1226
1296
|
return props.children;
|
|
1227
1297
|
}
|
|
1228
1298
|
});
|
|
1229
|
-
AppWorkspace.Content = props => _$ssr(_tmpl$
|
|
1299
|
+
AppWorkspace.Content = props => _$ssr(_tmpl$37, `k2b-app-workspace__content ${_$escape(props.class ?? "", true)}`, _$escape(props.children));
|
|
1230
1300
|
AppWorkspace.Main = AppWorkspaceMain;
|
|
1231
1301
|
AppWorkspace.MainPane = AppWorkspaceMainPane;
|
|
1232
1302
|
AppWorkspace.Detail = AppWorkspaceDetail;
|
|
@@ -1242,6 +1312,7 @@ AppWorkspace.SidebarItemLabel = AppWorkspaceSidebarItemLabel;
|
|
|
1242
1312
|
AppWorkspace.SidebarItemMeta = AppWorkspaceSidebarItemMeta;
|
|
1243
1313
|
AppWorkspace.SidebarItemAction = AppWorkspaceSidebarItemAction;
|
|
1244
1314
|
AppWorkspace.SidebarItemActions = AppWorkspaceSidebarItemActions;
|
|
1315
|
+
AppWorkspace.SidebarItemStatus = AppWorkspaceSidebarItemStatus;
|
|
1245
1316
|
AppWorkspace.NavTree = AppWorkspaceNavTree;
|
|
1246
1317
|
AppWorkspace.SidebarIconGrid = AppWorkspaceSidebarIconGrid;
|
|
1247
1318
|
AppWorkspace.SidebarIconAction = AppWorkspaceSidebarIconAction;
|