@k2b/ui 0.41.0 → 0.42.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.
Files changed (59) hide show
  1. package/dist/base.css +22 -0
  2. package/dist/browser/actions/Dropdown.js +220 -110
  3. package/dist/browser/actions/Dropdown.js.map +1 -1
  4. package/dist/browser/actions/index.js.map +1 -1
  5. package/dist/browser/actions/menu-search.js +166 -0
  6. package/dist/browser/actions/menu-search.js.map +1 -0
  7. package/dist/browser/actions/menu-sheet.js +107 -13
  8. package/dist/browser/actions/menu-sheet.js.map +1 -1
  9. package/dist/browser/content/CalendarWeekView.js +13 -1
  10. package/dist/browser/content/CalendarWeekView.js.map +1 -1
  11. package/dist/browser/inputs/IconChoices.js +121 -0
  12. package/dist/browser/inputs/IconChoices.js.map +1 -0
  13. package/dist/browser/inputs/index.js +1 -0
  14. package/dist/browser/inputs/index.js.map +1 -1
  15. package/dist/browser/intl/messages.js +6 -0
  16. package/dist/browser/intl/messages.js.map +1 -1
  17. package/dist/browser/layout/AppWorkspace.js +118 -93
  18. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  19. package/dist/browser/text-editor/format.js +11 -7
  20. package/dist/browser/text-editor/format.js.map +1 -1
  21. package/dist/browser/text-editor/table.js +39 -11
  22. package/dist/browser/text-editor/table.js.map +1 -1
  23. package/dist/browser/text-editor.js +1 -1
  24. package/dist/browser/text-editor.js.map +1 -1
  25. package/dist/ssr/actions/Dropdown.js +118 -40
  26. package/dist/ssr/actions/Dropdown.js.map +1 -1
  27. package/dist/ssr/actions/index.js.map +1 -1
  28. package/dist/ssr/actions/menu-search.js +113 -0
  29. package/dist/ssr/actions/menu-search.js.map +1 -0
  30. package/dist/ssr/actions/menu-sheet.js +82 -13
  31. package/dist/ssr/actions/menu-sheet.js.map +1 -1
  32. package/dist/ssr/content/CalendarWeekView.js +13 -1
  33. package/dist/ssr/content/CalendarWeekView.js.map +1 -1
  34. package/dist/ssr/inputs/IconChoices.js +59 -0
  35. package/dist/ssr/inputs/IconChoices.js.map +1 -0
  36. package/dist/ssr/inputs/index.js +1 -0
  37. package/dist/ssr/inputs/index.js.map +1 -1
  38. package/dist/ssr/intl/messages.js +6 -0
  39. package/dist/ssr/intl/messages.js.map +1 -1
  40. package/dist/ssr/layout/AppWorkspace.js +40 -20
  41. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  42. package/dist/ssr/text-editor/format.js +11 -7
  43. package/dist/ssr/text-editor/format.js.map +1 -1
  44. package/dist/ssr/text-editor/table.js +39 -11
  45. package/dist/ssr/text-editor/table.js.map +1 -1
  46. package/dist/ssr/text-editor.js +1 -1
  47. package/dist/ssr/text-editor.js.map +1 -1
  48. package/dist/styles.css +1 -1
  49. package/dist/types/actions/Dropdown.d.ts +34 -3
  50. package/dist/types/actions/index.d.ts +1 -1
  51. package/dist/types/actions/menu-search.d.ts +27 -0
  52. package/dist/types/actions/menu-sheet.d.ts +5 -1
  53. package/dist/types/inputs/IconChoices.d.ts +19 -0
  54. package/dist/types/inputs/index.d.ts +2 -0
  55. package/dist/types/intl/messages.d.ts +3 -0
  56. package/dist/types/layout/AppWorkspace.d.ts +6 -1
  57. package/dist/types/text-editor/table.d.ts +2 -0
  58. package/dist/types/text-editor.d.ts +1 -1
  59. package/package.json +3 -1
@@ -0,0 +1,121 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
+ import { className as _$className } from "solid-js/web";
4
+ import { setProperty as _$setProperty } from "solid-js/web";
5
+ import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
6
+ import { setAttribute as _$setAttribute } from "solid-js/web";
7
+ import { effect as _$effect } from "solid-js/web";
8
+ import { getNextElement as _$getNextElement } from "solid-js/web";
9
+ import { insert as _$insert } from "solid-js/web";
10
+ import { createComponent as _$createComponent } from "solid-js/web";
11
+ import { use as _$use } from "solid-js/web";
12
+ var _tmpl$ = /*#__PURE__*/_$template(`<div class=k2b-icon-choices__group role=radiogroup>`),
13
+ _tmpl$2 = /*#__PURE__*/_$template(`<button type=button role=radio class=k2b-icon-choices__option><i aria-hidden=true>`);
14
+ import { For } from "solid-js";
15
+ import { createFieldMeta, Field, fieldDescribedBy } from "../internal/field";
16
+ import { radioKeyTarget } from "../internal/radio-keys";
17
+ import { resolveMaybeAccessor } from "./field-contract";
18
+ /**
19
+ * A labeled single choice from a few named icons, shown as a row of icon buttons. Use `IconInput` when any icon of the
20
+ * catalogue is allowed.
21
+ */
22
+ export function IconChoices(props) {
23
+ const meta = createFieldMeta(props.id);
24
+ let group;
25
+ const value = () => resolveMaybeAccessor(props.value) ?? null;
26
+ const tabStop = (option, index) => value() === option.value || index === 0 && !props.options.some(candidate => candidate.value === value());
27
+ const choose = (index, focus = false) => {
28
+ const option = props.options[index];
29
+ if (!option || props.disabled) return;
30
+ props.onValueChange?.(option.value);
31
+ props.onValueCommit?.(option.value);
32
+ // The radios in their current DOM order: options may have been reordered since they rendered.
33
+ if (focus) queueMicrotask(() => group?.querySelectorAll('[role="radio"]')[index]?.focus());
34
+ };
35
+ return _$createComponent(Field, {
36
+ meta: meta,
37
+ labelFor: false,
38
+ get ["class"]() {
39
+ return props.class;
40
+ },
41
+ get label() {
42
+ return props.label;
43
+ },
44
+ get description() {
45
+ return props.description;
46
+ },
47
+ get error() {
48
+ return props.error;
49
+ },
50
+ get required() {
51
+ return props.required;
52
+ },
53
+ get disabled() {
54
+ return props.disabled;
55
+ },
56
+ get children() {
57
+ var _el$ = _$getNextElement(_tmpl$);
58
+ var _ref$ = group;
59
+ typeof _ref$ === "function" ? _$use(_ref$, _el$) : group = _el$;
60
+ _$insert(_el$, _$createComponent(For, {
61
+ get each() {
62
+ return props.options;
63
+ },
64
+ children: (option, index) => (() => {
65
+ var _el$2 = _$getNextElement(_tmpl$2),
66
+ _el$3 = _el$2.firstChild;
67
+ _el$2.$$keydown = event => {
68
+ const target = radioKeyTarget(event.key, index(), props.options.length);
69
+ if (target === undefined) return;
70
+ event.preventDefault();
71
+ choose(target, true);
72
+ };
73
+ _el$2.$$click = () => choose(index());
74
+ _$effect(_p$ => {
75
+ var _v$5 = value() === option.value,
76
+ _v$6 = option.label,
77
+ _v$7 = option.label,
78
+ _v$8 = props.disabled,
79
+ _v$9 = tabStop(option, index()) ? 0 : -1,
80
+ _v$0 = option.icon;
81
+ _v$5 !== _p$.e && _$setAttribute(_el$2, "aria-checked", _p$.e = _v$5);
82
+ _v$6 !== _p$.t && _$setAttribute(_el$2, "aria-label", _p$.t = _v$6);
83
+ _v$7 !== _p$.a && _$setAttribute(_el$2, "title", _p$.a = _v$7);
84
+ _v$8 !== _p$.o && _$setProperty(_el$2, "disabled", _p$.o = _v$8);
85
+ _v$9 !== _p$.i && _$setAttribute(_el$2, "tabindex", _p$.i = _v$9);
86
+ _v$0 !== _p$.n && _$className(_el$3, _p$.n = _v$0);
87
+ return _p$;
88
+ }, {
89
+ e: undefined,
90
+ t: undefined,
91
+ a: undefined,
92
+ o: undefined,
93
+ i: undefined,
94
+ n: undefined
95
+ });
96
+ _$runHydrationEvents();
97
+ return _el$2;
98
+ })()
99
+ }));
100
+ _$effect(_p$ => {
101
+ var _v$ = props.label ? undefined : props["aria-label"],
102
+ _v$2 = props.label ? meta.labelId : undefined,
103
+ _v$3 = fieldDescribedBy(meta, props),
104
+ _v$4 = props.disabled ? "true" : undefined;
105
+ _v$ !== _p$.e && _$setAttribute(_el$, "aria-label", _p$.e = _v$);
106
+ _v$2 !== _p$.t && _$setAttribute(_el$, "aria-labelledby", _p$.t = _v$2);
107
+ _v$3 !== _p$.a && _$setAttribute(_el$, "aria-describedby", _p$.a = _v$3);
108
+ _v$4 !== _p$.o && _$setAttribute(_el$, "aria-disabled", _p$.o = _v$4);
109
+ return _p$;
110
+ }, {
111
+ e: undefined,
112
+ t: undefined,
113
+ a: undefined,
114
+ o: undefined
115
+ });
116
+ return _el$;
117
+ }
118
+ });
119
+ }
120
+ _$delegateEvents(["click", "keydown"]);
121
+ //# sourceMappingURL=IconChoices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["inputs/IconChoices.tsx"],"sourcesContent":["import { For, type JSX } from \"solid-js\";\nimport { createFieldMeta, Field, fieldDescribedBy } from \"../internal/field\";\nimport { radioKeyTarget } from \"../internal/radio-keys\";\nimport type { ValueFieldProps } from \"./field-contract\";\nimport { resolveMaybeAccessor } from \"./field-contract\";\n\nexport type IconChoiceOption<T extends string = string> = {\n value: T;\n /** What the icon shows; screen readers and the tooltip use it, so the picture is never the only signal. */\n label: string;\n /** An icon class, such as `ti ti-report`. */\n icon: string;\n};\n\nexport type IconChoicesProps<T extends string = string> = Omit<ValueFieldProps<T | null>, \"onValueChange\" | \"onValueCommit\"> & {\n options: readonly IconChoiceOption<T>[];\n onValueChange?: (value: T) => void;\n onValueCommit?: (value: T) => void;\n};\n\n/**\n * A labeled single choice from a few named icons, shown as a row of icon buttons. Use `IconInput` when any icon of the\n * catalogue is allowed.\n */\nexport function IconChoices<T extends string = string>(props: IconChoicesProps<T>): JSX.Element {\n const meta = createFieldMeta(props.id);\n let group: HTMLDivElement | undefined;\n const value = () => resolveMaybeAccessor(props.value) ?? null;\n const tabStop = (option: IconChoiceOption<T>, index: number) =>\n value() === option.value || (index === 0 && !props.options.some((candidate) => candidate.value === value()));\n const choose = (index: number, focus = false) => {\n const option = props.options[index];\n if (!option || props.disabled) return;\n props.onValueChange?.(option.value);\n props.onValueCommit?.(option.value);\n // The radios in their current DOM order: options may have been reordered since they rendered.\n if (focus) queueMicrotask(() => group?.querySelectorAll<HTMLButtonElement>('[role=\"radio\"]')[index]?.focus());\n };\n return (\n <Field\n meta={meta}\n labelFor={false}\n class={props.class}\n label={props.label}\n description={props.description}\n error={props.error}\n required={props.required}\n disabled={props.disabled}\n >\n <div\n class=\"k2b-icon-choices__group\"\n ref={group}\n role=\"radiogroup\"\n aria-label={props.label ? undefined : props[\"aria-label\"]}\n aria-labelledby={props.label ? meta.labelId : undefined}\n aria-describedby={fieldDescribedBy(meta, props)}\n aria-disabled={props.disabled ? \"true\" : undefined}\n >\n <For each={props.options}>\n {(option, index) => (\n <button\n type=\"button\"\n role=\"radio\"\n class=\"k2b-icon-choices__option\"\n aria-checked={value() === option.value}\n aria-label={option.label}\n title={option.label}\n disabled={props.disabled}\n tabIndex={tabStop(option, index()) ? 0 : -1}\n onClick={() => choose(index())}\n onKeyDown={(event) => {\n const target = radioKeyTarget(event.key, index(), props.options.length);\n if (target === undefined) return;\n event.preventDefault();\n choose(target, true);\n }}\n >\n <i class={option.icon} aria-hidden=\"true\" />\n </button>\n )}\n </For>\n </div>\n </Field>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,7 @@ export { EmojiPicker } from "./emoji/EmojiPicker";
17
17
  export { rememberEmoji } from "./emoji/emoji-index";
18
18
  export { FileDropTarget, fileDropTarget } from "./FileDropTarget";
19
19
  export { FileDropzone, ImageCropper, ImageInput } from "./FileInputs";
20
+ export { IconChoices } from "./IconChoices";
20
21
  export { DEFAULT_ICON_GROUPS, DEFAULT_ICON_OPTIONS } from "./icon-options";
21
22
  export { clampImageCropRect, createCroppedImageCanvas, createCroppedImageDataUrl, getInitialImageCropRect, imageCropRectToPixels, normalizeImageCropRotation, resizeImageCropAroundCenter, rotateImageCropRight } from "./image-crop";
22
23
  export { MultiSelectInput } from "./MultiSelectInput";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["inputs/index.ts"],"sourcesContent":["export type { AutocompleteEditorProps } from \"./AutocompleteEditor\";\nexport { AutocompleteEditor } from \"./AutocompleteEditor\";\nexport type {\n AutocompleteSelectOption,\n AutocompleteSelectProps,\n AutocompleteSelectSearchResult,\n} from \"./AutocompleteSelect\";\nexport { AutocompleteSelect } from \"./AutocompleteSelect\";\nexport type { CheckboxProps } from \"./Checkbox\";\nexport { Checkbox } from \"./Checkbox\";\nexport type { CheckboxCardProps } from \"./CheckboxCard\";\nexport { CheckboxCard } from \"./CheckboxCard\";\nexport type { ChoiceChipOption, ChoiceChipsProps } from \"./ChoiceChips\";\nexport { ChoiceChips } from \"./ChoiceChips\";\nexport type {\n ColorInputProps,\n PinInputProps,\n SliderProps,\n} from \"./ChoiceInputs\";\nexport { ColorInput, PinInput, Slider } from \"./ChoiceInputs\";\nexport type { ChoiceListOption, ChoiceListProps } from \"./ChoiceList\";\nexport { ChoiceList } from \"./ChoiceList\";\nexport type { ChoiceSliderOption, ChoiceSliderProps } from \"./ChoiceSlider\";\nexport { ChoiceSlider } from \"./ChoiceSlider\";\nexport type { ChoiceTileOption, ChoiceTilesProps } from \"./ChoiceTiles\";\nexport { ChoiceTiles } from \"./ChoiceTiles\";\nexport type { ColorChoiceOption, ColorChoicesProps } from \"./ColorChoices\";\nexport { ColorChoices } from \"./ColorChoices\";\nexport type { ComboboxOption, ComboboxProps } from \"./Combobox\";\nexport { Combobox } from \"./Combobox\";\nexport type { ChoiceOption, ChoiceOptionsLoader } from \"./choice\";\nexport type {\n Completion,\n QueryContext,\n SuggestContext,\n Suggestion,\n} from \"./completion\";\nexport { abbreviations } from \"./completion\";\nexport type {\n DatePickerBaseProps,\n DatePickerProps,\n DatePreset,\n DateRangePickerProps,\n DateRangeValue,\n DateTimePickerProps,\n DurationPreset,\n} from \"./DatePicker\";\nexport { DatePicker, DateRangePicker, DateTimePicker } from \"./DatePicker\";\nexport type { DictationController, DictationNotice, DictationOptions, DictationStatus } from \"./dictation/create-dictation\";\nexport { createDictation } from \"./dictation/create-dictation\";\nexport type { DictationBarProps, DictationButtonProps } from \"./dictation/Dictation\";\nexport { DictationBar, DictationButton, dictationBarShown } from \"./dictation/Dictation\";\nexport type {\n DictationAlternative,\n DictationDevice,\n DictationEndReason,\n DictationErrorCode,\n DictationEvent,\n DictationSession,\n DictationSource,\n DictationTarget,\n} from \"./dictation/types\";\nexport type { EmojiPickerPopoverProps, EmojiPickerProps } from \"./emoji/EmojiPicker\";\nexport { EmojiPicker } from \"./emoji/EmojiPicker\";\nexport type { EmojiSkinTone } from \"./emoji/emoji-index\";\nexport { rememberEmoji } from \"./emoji/emoji-index\";\nexport type { FileDropDetails, FileDropOptions, FileDropRejection, FileDropTargetProps } from \"./FileDropTarget\";\nexport { FileDropTarget, fileDropTarget } from \"./FileDropTarget\";\nexport type { FileDropzoneProps, ImageCropperProps, ImageInputProps } from \"./FileInputs\";\nexport { FileDropzone, ImageCropper, ImageInput } from \"./FileInputs\";\nexport type { DateContext, FieldProps, MaybeAccessor, ValueFieldProps } from \"./field-contract\";\nexport { DEFAULT_ICON_GROUPS, DEFAULT_ICON_OPTIONS } from \"./icon-options\";\nexport type {\n ImageCropAspect,\n ImageCropOutput,\n ImageCropRect,\n ImageCropRotation,\n ImageCropSize,\n ImageCropSource,\n ImageCropState,\n} from \"./image-crop\";\nexport {\n clampImageCropRect,\n createCroppedImageCanvas,\n createCroppedImageDataUrl,\n getInitialImageCropRect,\n imageCropRectToPixels,\n normalizeImageCropRotation,\n resizeImageCropAroundCenter,\n rotateImageCropRight,\n} from \"./image-crop\";\nexport type {\n MultiSelectFetchDataFn,\n MultiSelectInputProps,\n MultiSelectOption,\n} from \"./MultiSelectInput\";\nexport { MultiSelectInput } from \"./MultiSelectInput\";\nexport type { MarkdownEditorProps } from \"./markdown/MarkdownEditor\";\nexport { MarkdownEditor } from \"./markdown/MarkdownEditor\";\nexport type { NumberInputProps } from \"./NumberInput\";\nexport { NumberInput } from \"./NumberInput\";\nexport type { QrScannerError, QrScannerProps } from \"./QrScanner\";\nexport { QrScanner } from \"./QrScanner\";\nexport type {\n RichSelectFact,\n RichSelectFooter,\n RichSelectItem,\n RichSelectProps,\n RichSelectSection,\n RichSelectStatus,\n} from \"./RichSelect\";\nexport { RichSelect, RichSelectFacts } from \"./RichSelect\";\nexport type { ChoiceAppearance, SelectGridSize, SelectGroup, SelectOption, SelectProps, SelectSourceOption, SelectView } from \"./Select\";\nexport { Select } from \"./Select\";\nexport type { SelectChipOption, SelectChipProps } from \"./SelectChip\";\nexport { SelectChip } from \"./SelectChip\";\nexport type { SignatureInputProps } from \"./SignatureInput\";\nexport { SignatureInput } from \"./SignatureInput\";\nexport type { IconInputProps, IconOption } from \"./SpecialInputs\";\nexport { IconInput } from \"./SpecialInputs\";\nexport type { SwitchProps } from \"./Switch\";\nexport { Switch } from \"./Switch\";\nexport type { SignaturePngOptions, SignatureValue } from \"./signature\";\nexport { parseSignature, signatureToPng } from \"./signature\";\nexport type { TagEditorItem, TagEditorLabels, TagEditorProps, TagEditorValue } from \"./TagEditor\";\nexport { TagEditor } from \"./TagEditor\";\nexport type { TagsInputProps } from \"./TagsInput\";\nexport { TagsInput } from \"./TagsInput\";\nexport type {\n TemplateEditorLayout,\n TemplateEditorProps,\n TemplatePreviewProps,\n TemplateSampleDataProps,\n TemplateVariable,\n TemplateVariableKind,\n} from \"./TemplateEditor\";\nexport {\n createTemplateEditorPanesLayout,\n TemplateEditor,\n TemplatePreview,\n TemplateSampleData,\n} from \"./TemplateEditor\";\nexport type { TextInputProps } from \"./TextInput\";\nexport { TextInput } from \"./TextInput\";\n"],"mappings":"AACA,SAAS,kBAAkB,QAAQ,sBAAsB;AAMzD,SAAS,kBAAkB,QAAQ,sBAAsB;AAEzD,SAAS,QAAQ,QAAQ,YAAY;AAErC,SAAS,YAAY,QAAQ,gBAAgB;AAE7C,SAAS,WAAW,QAAQ,eAAe;AAM3C,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,gBAAgB;AAE7D,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAS,YAAY,QAAQ,gBAAgB;AAE7C,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,YAAY,QAAQ,gBAAgB;AAE7C,SAAS,QAAQ,QAAQ,YAAY;AAQrC,SAAS,aAAa,QAAQ,cAAc;AAU5C,SAAS,UAAU,EAAE,eAAe,EAAE,cAAc,QAAQ,cAAc;AAE1E,SAAS,eAAe,QAAQ,8BAA8B;AAE9D,SAAS,YAAY,EAAE,eAAe,EAAE,iBAAiB,QAAQ,uBAAuB;AAYxF,SAAS,WAAW,QAAQ,qBAAqB;AAEjD,SAAS,aAAa,QAAQ,qBAAqB;AAEnD,SAAS,cAAc,EAAE,cAAc,QAAQ,kBAAkB;AAEjE,SAAS,YAAY,EAAE,YAAY,EAAE,UAAU,QAAQ,cAAc;AAErE,SAAS,mBAAmB,EAAE,oBAAoB,QAAQ,gBAAgB;AAU1E,SACE,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,QACf,cAAc;AAMrB,SAAS,gBAAgB,QAAQ,oBAAoB;AAErD,SAAS,cAAc,QAAQ,2BAA2B;AAE1D,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,SAAS,QAAQ,aAAa;AASvC,SAAS,UAAU,EAAE,eAAe,QAAQ,cAAc;AAE1D,SAAS,MAAM,QAAQ,UAAU;AAEjC,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAS,cAAc,QAAQ,kBAAkB;AAEjD,SAAS,SAAS,QAAQ,iBAAiB;AAE3C,SAAS,MAAM,QAAQ,UAAU;AAEjC,SAAS,cAAc,EAAE,cAAc,QAAQ,aAAa;AAE5D,SAAS,SAAS,QAAQ,aAAa;AAEvC,SAAS,SAAS,QAAQ,aAAa;AASvC,SACE,+BAA+B,EAC/B,cAAc,EACd,eAAe,EACf,kBAAkB,QACb,kBAAkB;AAEzB,SAAS,SAAS,QAAQ,aAAa","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["inputs/index.ts"],"sourcesContent":["export type { AutocompleteEditorProps } from \"./AutocompleteEditor\";\nexport { AutocompleteEditor } from \"./AutocompleteEditor\";\nexport type {\n AutocompleteSelectOption,\n AutocompleteSelectProps,\n AutocompleteSelectSearchResult,\n} from \"./AutocompleteSelect\";\nexport { AutocompleteSelect } from \"./AutocompleteSelect\";\nexport type { CheckboxProps } from \"./Checkbox\";\nexport { Checkbox } from \"./Checkbox\";\nexport type { CheckboxCardProps } from \"./CheckboxCard\";\nexport { CheckboxCard } from \"./CheckboxCard\";\nexport type { ChoiceChipOption, ChoiceChipsProps } from \"./ChoiceChips\";\nexport { ChoiceChips } from \"./ChoiceChips\";\nexport type {\n ColorInputProps,\n PinInputProps,\n SliderProps,\n} from \"./ChoiceInputs\";\nexport { ColorInput, PinInput, Slider } from \"./ChoiceInputs\";\nexport type { ChoiceListOption, ChoiceListProps } from \"./ChoiceList\";\nexport { ChoiceList } from \"./ChoiceList\";\nexport type { ChoiceSliderOption, ChoiceSliderProps } from \"./ChoiceSlider\";\nexport { ChoiceSlider } from \"./ChoiceSlider\";\nexport type { ChoiceTileOption, ChoiceTilesProps } from \"./ChoiceTiles\";\nexport { ChoiceTiles } from \"./ChoiceTiles\";\nexport type { ColorChoiceOption, ColorChoicesProps } from \"./ColorChoices\";\nexport { ColorChoices } from \"./ColorChoices\";\nexport type { ComboboxOption, ComboboxProps } from \"./Combobox\";\nexport { Combobox } from \"./Combobox\";\nexport type { ChoiceOption, ChoiceOptionsLoader } from \"./choice\";\nexport type {\n Completion,\n QueryContext,\n SuggestContext,\n Suggestion,\n} from \"./completion\";\nexport { abbreviations } from \"./completion\";\nexport type {\n DatePickerBaseProps,\n DatePickerProps,\n DatePreset,\n DateRangePickerProps,\n DateRangeValue,\n DateTimePickerProps,\n DurationPreset,\n} from \"./DatePicker\";\nexport { DatePicker, DateRangePicker, DateTimePicker } from \"./DatePicker\";\nexport type { DictationController, DictationNotice, DictationOptions, DictationStatus } from \"./dictation/create-dictation\";\nexport { createDictation } from \"./dictation/create-dictation\";\nexport type { DictationBarProps, DictationButtonProps } from \"./dictation/Dictation\";\nexport { DictationBar, DictationButton, dictationBarShown } from \"./dictation/Dictation\";\nexport type {\n DictationAlternative,\n DictationDevice,\n DictationEndReason,\n DictationErrorCode,\n DictationEvent,\n DictationSession,\n DictationSource,\n DictationTarget,\n} from \"./dictation/types\";\nexport type { EmojiPickerPopoverProps, EmojiPickerProps } from \"./emoji/EmojiPicker\";\nexport { EmojiPicker } from \"./emoji/EmojiPicker\";\nexport type { EmojiSkinTone } from \"./emoji/emoji-index\";\nexport { rememberEmoji } from \"./emoji/emoji-index\";\nexport type { FileDropDetails, FileDropOptions, FileDropRejection, FileDropTargetProps } from \"./FileDropTarget\";\nexport { FileDropTarget, fileDropTarget } from \"./FileDropTarget\";\nexport type { FileDropzoneProps, ImageCropperProps, ImageInputProps } from \"./FileInputs\";\nexport { FileDropzone, ImageCropper, ImageInput } from \"./FileInputs\";\nexport type { DateContext, FieldProps, MaybeAccessor, ValueFieldProps } from \"./field-contract\";\nexport type { IconChoiceOption, IconChoicesProps } from \"./IconChoices\";\nexport { IconChoices } from \"./IconChoices\";\nexport { DEFAULT_ICON_GROUPS, DEFAULT_ICON_OPTIONS } from \"./icon-options\";\nexport type {\n ImageCropAspect,\n ImageCropOutput,\n ImageCropRect,\n ImageCropRotation,\n ImageCropSize,\n ImageCropSource,\n ImageCropState,\n} from \"./image-crop\";\nexport {\n clampImageCropRect,\n createCroppedImageCanvas,\n createCroppedImageDataUrl,\n getInitialImageCropRect,\n imageCropRectToPixels,\n normalizeImageCropRotation,\n resizeImageCropAroundCenter,\n rotateImageCropRight,\n} from \"./image-crop\";\nexport type {\n MultiSelectFetchDataFn,\n MultiSelectInputProps,\n MultiSelectOption,\n} from \"./MultiSelectInput\";\nexport { MultiSelectInput } from \"./MultiSelectInput\";\nexport type { MarkdownEditorProps } from \"./markdown/MarkdownEditor\";\nexport { MarkdownEditor } from \"./markdown/MarkdownEditor\";\nexport type { NumberInputProps } from \"./NumberInput\";\nexport { NumberInput } from \"./NumberInput\";\nexport type { QrScannerError, QrScannerProps } from \"./QrScanner\";\nexport { QrScanner } from \"./QrScanner\";\nexport type {\n RichSelectFact,\n RichSelectFooter,\n RichSelectItem,\n RichSelectProps,\n RichSelectSection,\n RichSelectStatus,\n} from \"./RichSelect\";\nexport { RichSelect, RichSelectFacts } from \"./RichSelect\";\nexport type { ChoiceAppearance, SelectGridSize, SelectGroup, SelectOption, SelectProps, SelectSourceOption, SelectView } from \"./Select\";\nexport { Select } from \"./Select\";\nexport type { SelectChipOption, SelectChipProps } from \"./SelectChip\";\nexport { SelectChip } from \"./SelectChip\";\nexport type { SignatureInputProps } from \"./SignatureInput\";\nexport { SignatureInput } from \"./SignatureInput\";\nexport type { IconInputProps, IconOption } from \"./SpecialInputs\";\nexport { IconInput } from \"./SpecialInputs\";\nexport type { SwitchProps } from \"./Switch\";\nexport { Switch } from \"./Switch\";\nexport type { SignaturePngOptions, SignatureValue } from \"./signature\";\nexport { parseSignature, signatureToPng } from \"./signature\";\nexport type { TagEditorItem, TagEditorLabels, TagEditorProps, TagEditorValue } from \"./TagEditor\";\nexport { TagEditor } from \"./TagEditor\";\nexport type { TagsInputProps } from \"./TagsInput\";\nexport { TagsInput } from \"./TagsInput\";\nexport type {\n TemplateEditorLayout,\n TemplateEditorProps,\n TemplatePreviewProps,\n TemplateSampleDataProps,\n TemplateVariable,\n TemplateVariableKind,\n} from \"./TemplateEditor\";\nexport {\n createTemplateEditorPanesLayout,\n TemplateEditor,\n TemplatePreview,\n TemplateSampleData,\n} from \"./TemplateEditor\";\nexport type { TextInputProps } from \"./TextInput\";\nexport { TextInput } from \"./TextInput\";\n"],"mappings":"AACA,SAAS,kBAAkB,QAAQ,sBAAsB;AAMzD,SAAS,kBAAkB,QAAQ,sBAAsB;AAEzD,SAAS,QAAQ,QAAQ,YAAY;AAErC,SAAS,YAAY,QAAQ,gBAAgB;AAE7C,SAAS,WAAW,QAAQ,eAAe;AAM3C,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,gBAAgB;AAE7D,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAS,YAAY,QAAQ,gBAAgB;AAE7C,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,YAAY,QAAQ,gBAAgB;AAE7C,SAAS,QAAQ,QAAQ,YAAY;AAQrC,SAAS,aAAa,QAAQ,cAAc;AAU5C,SAAS,UAAU,EAAE,eAAe,EAAE,cAAc,QAAQ,cAAc;AAE1E,SAAS,eAAe,QAAQ,8BAA8B;AAE9D,SAAS,YAAY,EAAE,eAAe,EAAE,iBAAiB,QAAQ,uBAAuB;AAYxF,SAAS,WAAW,QAAQ,qBAAqB;AAEjD,SAAS,aAAa,QAAQ,qBAAqB;AAEnD,SAAS,cAAc,EAAE,cAAc,QAAQ,kBAAkB;AAEjE,SAAS,YAAY,EAAE,YAAY,EAAE,UAAU,QAAQ,cAAc;AAGrE,SAAS,WAAW,QAAQ,eAAe;AAC3C,SAAS,mBAAmB,EAAE,oBAAoB,QAAQ,gBAAgB;AAU1E,SACE,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,QACf,cAAc;AAMrB,SAAS,gBAAgB,QAAQ,oBAAoB;AAErD,SAAS,cAAc,QAAQ,2BAA2B;AAE1D,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,SAAS,QAAQ,aAAa;AASvC,SAAS,UAAU,EAAE,eAAe,QAAQ,cAAc;AAE1D,SAAS,MAAM,QAAQ,UAAU;AAEjC,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAS,cAAc,QAAQ,kBAAkB;AAEjD,SAAS,SAAS,QAAQ,iBAAiB;AAE3C,SAAS,MAAM,QAAQ,UAAU;AAEjC,SAAS,cAAc,EAAE,cAAc,QAAQ,aAAa;AAE5D,SAAS,SAAS,QAAQ,aAAa;AAEvC,SAAS,SAAS,QAAQ,aAAa;AASvC,SACE,+BAA+B,EAC/B,cAAc,EACd,eAAe,EACf,kBAAkB,QACb,kBAAkB;AAEzB,SAAS,SAAS,QAAQ,aAAa","ignoreList":[]}
@@ -48,6 +48,9 @@ const uiMessages = i18n.define({
48
48
  search: "Search...",
49
49
  searchLabel: "Search",
50
50
  searchResults: "Search results",
51
+ searchMatches: ({
52
+ count
53
+ }) => count === 1 ? "1 match" : `${count} matches`,
51
54
  save: "Save",
52
55
  select: "Select...",
53
56
  time: "Time",
@@ -133,6 +136,9 @@ const uiMessages = i18n.define({
133
136
  search: "Suchen...",
134
137
  searchLabel: "Suchen",
135
138
  searchResults: "Suchergebnisse",
139
+ searchMatches: ({
140
+ count
141
+ }) => count === 1 ? "1 Treffer" : `${count} Treffer`,
136
142
  save: "Speichern",
137
143
  select: "Auswählen...",
138
144
  time: "Uhrzeit",
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["intl/messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"./locale\";\n\n/** Common control chrome and date basics; specialized strings live beside their component families. */\nconst uiMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n actions: \"Actions\",\n add: \"Add\",\n apply: \"Apply\",\n all: \"All\",\n calendar: \"Calendar\",\n clear: \"Clear\",\n clearDate: \"Clear date\",\n clearSelection: \"Clear selection\",\n close: \"Close\",\n closeDialog: \"close dialog\",\n copied: \"Copied\",\n copy: \"Copy\",\n couldNotLoadData: \"Could not load this data\",\n datePicker: \"Date picker\",\n datePresets: \"Date presets\",\n download: \"Download\",\n dropdownMenu: \"Dropdown menu\",\n durationPresets: \"Duration presets\",\n loading: \"Loading...\",\n noData: \"No data.\",\n noResults: \"No results\",\n nothingHere: \"Nothing here yet.\",\n nothingToShow: \"Nothing to show.\",\n no: \"No\",\n options: \"Options\",\n more: \"More\",\n moreViews: \"More views\",\n pickDate: \"Pick date\",\n previousMonth: \"Previous month\",\n previousYear: \"Previous year\",\n nextMonth: \"Next month\",\n nextYear: \"Next year\",\n retry: \"Retry\",\n tryAgain: \"Try again\",\n movedHintDismiss: \"Got it\",\n reset: \"Reset\",\n required: \"Required\",\n delete: \"Delete\",\n remove: \"Remove\",\n search: \"Search...\",\n searchLabel: \"Search\",\n searchResults: \"Search results\",\n save: \"Save\",\n select: \"Select...\",\n time: \"Time\",\n timeLabel: ({ label }: { label: string }) => `${label} time`,\n contextMenu: \"Context menu\",\n start: \"Start\",\n end: \"End\",\n today: \"Today\",\n todayDate: ({ date }: { date: string }) => `Today, ${date}`,\n day: \"Day\",\n week: \"Week\",\n month: \"Month\",\n year: \"Year\",\n allDay: \"All day\",\n addTime: \"Add time\",\n removeTime: \"Remove time\",\n previous: \"Previous\",\n next: \"Next\",\n cancel: \"Cancel\",\n code: \"Code\",\n change: \"Change\",\n message: \"Message\",\n dialog: \"Dialog\",\n error: \"Error\",\n info: \"Info\",\n ok: \"OK\",\n success: \"Success\",\n unknown: \"Unknown\",\n name: \"Name\",\n color: \"Color\",\n preview: \"Preview\",\n closeNamed: ({ name }: { name: string }) => `Close ${name}`,\n range: \"Range\",\n edit: \"Edit\",\n yes: \"Yes\",\n },\n de: {\n actions: \"Aktionen\",\n add: \"Hinzufügen\",\n apply: \"Übernehmen\",\n all: \"Alle\",\n calendar: \"Kalender\",\n clear: \"Leeren\",\n clearDate: \"Datum löschen\",\n clearSelection: \"Auswahl löschen\",\n close: \"Schließen\",\n closeDialog: \"Dialog schließen\",\n copied: \"Kopiert\",\n copy: \"Kopieren\",\n couldNotLoadData: \"Diese Daten konnten nicht geladen werden\",\n datePicker: \"Datumsauswahl\",\n datePresets: \"Datumsvorgaben\",\n download: \"Herunterladen\",\n dropdownMenu: \"Dropdown-Menü\",\n durationPresets: \"Dauervorgaben\",\n loading: \"Wird geladen...\",\n noData: \"Keine Daten.\",\n noResults: \"Keine Ergebnisse\",\n nothingHere: \"Noch nichts vorhanden.\",\n nothingToShow: \"Nichts anzuzeigen.\",\n no: \"Nein\",\n options: \"Optionen\",\n more: \"Weitere\",\n moreViews: \"Weitere Ansichten\",\n pickDate: \"Datum auswählen\",\n previousMonth: \"Vorheriger Monat\",\n previousYear: \"Vorheriges Jahr\",\n nextMonth: \"Nächster Monat\",\n nextYear: \"Nächstes Jahr\",\n retry: \"Erneut versuchen\",\n tryAgain: \"Erneut versuchen\",\n movedHintDismiss: \"Verstanden\",\n reset: \"Zurücksetzen\",\n required: \"Erforderlich\",\n delete: \"Löschen\",\n remove: \"Entfernen\",\n search: \"Suchen...\",\n searchLabel: \"Suchen\",\n searchResults: \"Suchergebnisse\",\n save: \"Speichern\",\n select: \"Auswählen...\",\n time: \"Uhrzeit\",\n timeLabel: ({ label }) => `${label}zeit`,\n contextMenu: \"Kontextmenü\",\n start: \"Beginn\",\n end: \"Ende\",\n today: \"Heute\",\n todayDate: ({ date }) => `Heute, ${date}`,\n day: \"Tag\",\n week: \"Woche\",\n month: \"Monat\",\n year: \"Jahr\",\n allDay: \"Ganztägig\",\n addTime: \"Uhrzeit hinzufügen\",\n removeTime: \"Uhrzeit entfernen\",\n previous: \"Zurück\",\n next: \"Weiter\",\n cancel: \"Abbrechen\",\n code: \"Code\",\n change: \"Ändern\",\n message: \"Nachricht\",\n dialog: \"Dialog\",\n error: \"Fehler\",\n info: \"Information\",\n ok: \"OK\",\n success: \"Erfolg\",\n unknown: \"Unbekannt\",\n name: \"Name\",\n color: \"Farbe\",\n preview: \"Vorschau\",\n closeNamed: ({ name }) => `${name} schließen`,\n range: \"Zeitraum\",\n edit: \"Bearbeiten\",\n yes: \"Ja\",\n },\n },\n});\n\nexport type UiMessages = ReturnType<(typeof uiMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const useUiMessages = (): (() => UiMessages) => {\n const locale = useLocale();\n return () => uiMessages.resolve([locale()]).t;\n};\n\n/** Imperative UI inherits the document locale when no locale is supplied. */\nexport const resolveUiMessages = (locale?: string): UiMessages =>\n uiMessages.resolve([locale ?? (typeof document === \"undefined\" ? uiMessages.baseLocale : document.documentElement.lang)]).t;\n\nexport const checkUiMessages = () => uiMessages.check();\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["intl/messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"./locale\";\n\n/** Common control chrome and date basics; specialized strings live beside their component families. */\nconst uiMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n actions: \"Actions\",\n add: \"Add\",\n apply: \"Apply\",\n all: \"All\",\n calendar: \"Calendar\",\n clear: \"Clear\",\n clearDate: \"Clear date\",\n clearSelection: \"Clear selection\",\n close: \"Close\",\n closeDialog: \"close dialog\",\n copied: \"Copied\",\n copy: \"Copy\",\n couldNotLoadData: \"Could not load this data\",\n datePicker: \"Date picker\",\n datePresets: \"Date presets\",\n download: \"Download\",\n dropdownMenu: \"Dropdown menu\",\n durationPresets: \"Duration presets\",\n loading: \"Loading...\",\n noData: \"No data.\",\n noResults: \"No results\",\n nothingHere: \"Nothing here yet.\",\n nothingToShow: \"Nothing to show.\",\n no: \"No\",\n options: \"Options\",\n more: \"More\",\n moreViews: \"More views\",\n pickDate: \"Pick date\",\n previousMonth: \"Previous month\",\n previousYear: \"Previous year\",\n nextMonth: \"Next month\",\n nextYear: \"Next year\",\n retry: \"Retry\",\n tryAgain: \"Try again\",\n movedHintDismiss: \"Got it\",\n reset: \"Reset\",\n required: \"Required\",\n delete: \"Delete\",\n remove: \"Remove\",\n search: \"Search...\",\n searchLabel: \"Search\",\n searchResults: \"Search results\",\n searchMatches: ({ count }: { count: number }) => (count === 1 ? \"1 match\" : `${count} matches`),\n save: \"Save\",\n select: \"Select...\",\n time: \"Time\",\n timeLabel: ({ label }: { label: string }) => `${label} time`,\n contextMenu: \"Context menu\",\n start: \"Start\",\n end: \"End\",\n today: \"Today\",\n todayDate: ({ date }: { date: string }) => `Today, ${date}`,\n day: \"Day\",\n week: \"Week\",\n month: \"Month\",\n year: \"Year\",\n allDay: \"All day\",\n addTime: \"Add time\",\n removeTime: \"Remove time\",\n previous: \"Previous\",\n next: \"Next\",\n cancel: \"Cancel\",\n code: \"Code\",\n change: \"Change\",\n message: \"Message\",\n dialog: \"Dialog\",\n error: \"Error\",\n info: \"Info\",\n ok: \"OK\",\n success: \"Success\",\n unknown: \"Unknown\",\n name: \"Name\",\n color: \"Color\",\n preview: \"Preview\",\n closeNamed: ({ name }: { name: string }) => `Close ${name}`,\n range: \"Range\",\n edit: \"Edit\",\n yes: \"Yes\",\n },\n de: {\n actions: \"Aktionen\",\n add: \"Hinzufügen\",\n apply: \"Übernehmen\",\n all: \"Alle\",\n calendar: \"Kalender\",\n clear: \"Leeren\",\n clearDate: \"Datum löschen\",\n clearSelection: \"Auswahl löschen\",\n close: \"Schließen\",\n closeDialog: \"Dialog schließen\",\n copied: \"Kopiert\",\n copy: \"Kopieren\",\n couldNotLoadData: \"Diese Daten konnten nicht geladen werden\",\n datePicker: \"Datumsauswahl\",\n datePresets: \"Datumsvorgaben\",\n download: \"Herunterladen\",\n dropdownMenu: \"Dropdown-Menü\",\n durationPresets: \"Dauervorgaben\",\n loading: \"Wird geladen...\",\n noData: \"Keine Daten.\",\n noResults: \"Keine Ergebnisse\",\n nothingHere: \"Noch nichts vorhanden.\",\n nothingToShow: \"Nichts anzuzeigen.\",\n no: \"Nein\",\n options: \"Optionen\",\n more: \"Weitere\",\n moreViews: \"Weitere Ansichten\",\n pickDate: \"Datum auswählen\",\n previousMonth: \"Vorheriger Monat\",\n previousYear: \"Vorheriges Jahr\",\n nextMonth: \"Nächster Monat\",\n nextYear: \"Nächstes Jahr\",\n retry: \"Erneut versuchen\",\n tryAgain: \"Erneut versuchen\",\n movedHintDismiss: \"Verstanden\",\n reset: \"Zurücksetzen\",\n required: \"Erforderlich\",\n delete: \"Löschen\",\n remove: \"Entfernen\",\n search: \"Suchen...\",\n searchLabel: \"Suchen\",\n searchResults: \"Suchergebnisse\",\n searchMatches: ({ count }: { count: number }) => (count === 1 ? \"1 Treffer\" : `${count} Treffer`),\n save: \"Speichern\",\n select: \"Auswählen...\",\n time: \"Uhrzeit\",\n timeLabel: ({ label }) => `${label}zeit`,\n contextMenu: \"Kontextmenü\",\n start: \"Beginn\",\n end: \"Ende\",\n today: \"Heute\",\n todayDate: ({ date }) => `Heute, ${date}`,\n day: \"Tag\",\n week: \"Woche\",\n month: \"Monat\",\n year: \"Jahr\",\n allDay: \"Ganztägig\",\n addTime: \"Uhrzeit hinzufügen\",\n removeTime: \"Uhrzeit entfernen\",\n previous: \"Zurück\",\n next: \"Weiter\",\n cancel: \"Abbrechen\",\n code: \"Code\",\n change: \"Ändern\",\n message: \"Nachricht\",\n dialog: \"Dialog\",\n error: \"Fehler\",\n info: \"Information\",\n ok: \"OK\",\n success: \"Erfolg\",\n unknown: \"Unbekannt\",\n name: \"Name\",\n color: \"Farbe\",\n preview: \"Vorschau\",\n closeNamed: ({ name }) => `${name} schließen`,\n range: \"Zeitraum\",\n edit: \"Bearbeiten\",\n yes: \"Ja\",\n },\n },\n});\n\nexport type UiMessages = ReturnType<(typeof uiMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const useUiMessages = (): (() => UiMessages) => {\n const locale = useLocale();\n return () => uiMessages.resolve([locale()]).t;\n};\n\n/** Imperative UI inherits the document locale when no locale is supplied. */\nexport const resolveUiMessages = (locale?: string): UiMessages =>\n uiMessages.resolve([locale ?? (typeof document === \"undefined\" ? uiMessages.baseLocale : document.documentElement.lang)]).t;\n\nexport const checkUiMessages = () => uiMessages.check();\n"],"mappings":"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","ignoreList":[]}
@@ -73,15 +73,16 @@ var _tmpl$ = /*#__PURE__*/_$template(`<button type=button class=k2b-app-workspac
73
73
  _tmpl$53 = /*#__PURE__*/_$template(`<div role=tree>`),
74
74
  _tmpl$54 = /*#__PURE__*/_$template(`<section><!$><!/><div class=k2b-app-workspace__sidebar-icon-grid>`),
75
75
  _tmpl$55 = /*#__PURE__*/_$template(`<i aria-hidden=true>`),
76
- _tmpl$56 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__head-primary-label>`),
77
- _tmpl$57 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar"aria-hidden=true>`),
78
- _tmpl$58 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-views>`),
79
- _tmpl$59 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-filters role=group><!$><!/><!$><!/>`),
80
- _tmpl$60 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__head-count><span>`),
81
- _tmpl$61 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-actions><!$><!/><!$><!/>`),
82
- _tmpl$62 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head><!$><!/><div class=k2b-app-workspace__head-lead><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/></div><!$><!/>`),
83
- _tmpl$63 = /*#__PURE__*/_$template(`<h1 class=k2b-app-workspace__head-heading data-k2b-page-trail-title>`),
84
- _tmpl$64 = /*#__PURE__*/_$template(`<div data-k2b-app-workspace>`);
76
+ _tmpl$56 = /*#__PURE__*/_$template(`<i class="ti ti-chevron-down k2b-app-workspace__head-primary-chevron"aria-hidden=true>`),
77
+ _tmpl$57 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__head-primary-label><!$><!/><!$><!/>`),
78
+ _tmpl$58 = /*#__PURE__*/_$template(`<i class="ti ti-layout-sidebar"aria-hidden=true>`),
79
+ _tmpl$59 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-views>`),
80
+ _tmpl$60 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-filters role=group><!$><!/><!$><!/>`),
81
+ _tmpl$61 = /*#__PURE__*/_$template(`<span class=k2b-app-workspace__head-count><span>`),
82
+ _tmpl$62 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head-actions><!$><!/><!$><!/>`),
83
+ _tmpl$63 = /*#__PURE__*/_$template(`<div class=k2b-app-workspace__head><!$><!/><div class=k2b-app-workspace__head-lead><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/></div><!$><!/>`),
84
+ _tmpl$64 = /*#__PURE__*/_$template(`<h1 class=k2b-app-workspace__head-heading data-k2b-page-trail-title>`),
85
+ _tmpl$65 = /*#__PURE__*/_$template(`<div data-k2b-app-workspace>`);
85
86
  import { Link } from "@k2b/ssr/nav";
86
87
  import { children, createContext, createEffect, createMemo, createRoot, createSignal, createUniqueId, For, getOwner, mergeProps, on, onCleanup, onMount, Show, useContext } from "solid-js";
87
88
  import { Dynamic, isServer } from "solid-js/web";
@@ -2603,38 +2604,50 @@ function AppWorkspaceHead(props) {
2603
2604
  _$effect(() => _$className(_el$120, props.head?.primary?.icon));
2604
2605
  return _el$120;
2605
2606
  })(), (() => {
2606
- var _el$121 = _$getNextElement(_tmpl$56);
2607
- _$insert(_el$121, () => props.head?.primary?.label);
2607
+ var _el$121 = _$getNextElement(_tmpl$57),
2608
+ _el$123 = _el$121.firstChild,
2609
+ [_el$124, _co$18] = _$getNextMarker(_el$123.nextSibling),
2610
+ _el$125 = _el$124.nextSibling,
2611
+ [_el$126, _co$19] = _$getNextMarker(_el$125.nextSibling);
2612
+ _$insert(_el$121, () => props.head?.primary?.label, _el$124, _co$18);
2613
+ _$insert(_el$121, _$createComponent(Show, {
2614
+ get when() {
2615
+ return props.head?.primary?.popup;
2616
+ },
2617
+ get children() {
2618
+ return _$getNextElement(_tmpl$56);
2619
+ }
2620
+ }), _el$126, _co$19);
2608
2621
  return _el$121;
2609
2622
  })()];
2610
2623
  return (() => {
2611
- var _el$122 = _$getNextElement(_tmpl$62),
2612
- _el$148 = _el$122.firstChild,
2613
- [_el$149, _co$27] = _$getNextMarker(_el$148.nextSibling),
2614
- _el$123 = _el$149.nextSibling,
2615
- _el$133 = _el$123.firstChild,
2616
- [_el$134, _co$20] = _$getNextMarker(_el$133.nextSibling),
2617
- _el$135 = _el$134.nextSibling,
2618
- [_el$136, _co$21] = _$getNextMarker(_el$135.nextSibling),
2619
- _el$137 = _el$136.nextSibling,
2620
- [_el$138, _co$22] = _$getNextMarker(_el$137.nextSibling),
2621
- _el$139 = _el$138.nextSibling,
2622
- [_el$140, _co$23] = _$getNextMarker(_el$139.nextSibling),
2623
- _el$141 = _el$140.nextSibling,
2624
- [_el$142, _co$24] = _$getNextMarker(_el$141.nextSibling),
2625
- _el$150 = _el$123.nextSibling,
2626
- [_el$151, _co$28] = _$getNextMarker(_el$150.nextSibling);
2627
- _$insert(_el$122, _$createComponent(Show, {
2624
+ var _el$127 = _$getNextElement(_tmpl$63),
2625
+ _el$153 = _el$127.firstChild,
2626
+ [_el$154, _co$29] = _$getNextMarker(_el$153.nextSibling),
2627
+ _el$128 = _el$154.nextSibling,
2628
+ _el$138 = _el$128.firstChild,
2629
+ [_el$139, _co$22] = _$getNextMarker(_el$138.nextSibling),
2630
+ _el$140 = _el$139.nextSibling,
2631
+ [_el$141, _co$23] = _$getNextMarker(_el$140.nextSibling),
2632
+ _el$142 = _el$141.nextSibling,
2633
+ [_el$143, _co$24] = _$getNextMarker(_el$142.nextSibling),
2634
+ _el$144 = _el$143.nextSibling,
2635
+ [_el$145, _co$25] = _$getNextMarker(_el$144.nextSibling),
2636
+ _el$146 = _el$145.nextSibling,
2637
+ [_el$147, _co$26] = _$getNextMarker(_el$146.nextSibling),
2638
+ _el$155 = _el$128.nextSibling,
2639
+ [_el$156, _co$30] = _$getNextMarker(_el$155.nextSibling);
2640
+ _$insert(_el$127, _$createComponent(Show, {
2628
2641
  get when() {
2629
2642
  return mobilePane();
2630
2643
  },
2631
2644
  children: pane => (() => {
2632
- var _el$152 = _$getNextElement(_tmpl$7);
2633
- _$effect(() => _$setProperty(_el$152, "innerHTML", mobilePaneRule(pane())));
2634
- return _el$152;
2645
+ var _el$157 = _$getNextElement(_tmpl$7);
2646
+ _$effect(() => _$setProperty(_el$157, "innerHTML", mobilePaneRule(pane())));
2647
+ return _el$157;
2635
2648
  })()
2636
- }), _el$149, _co$27);
2637
- _$insert(_el$123, _$createComponent(IconButton, {
2649
+ }), _el$154, _co$29);
2650
+ _$insert(_el$128, _$createComponent(IconButton, {
2638
2651
  "class": "k2b-app-workspace__head-toggle",
2639
2652
  get label() {
2640
2653
  return messages().showNavigation;
@@ -2645,10 +2658,10 @@ function AppWorkspaceHead(props) {
2645
2658
  "aria-expanded": "false",
2646
2659
  "data-app-workspace-sidebar-toggle": "",
2647
2660
  get children() {
2648
- return _$getNextElement(_tmpl$57);
2661
+ return _$getNextElement(_tmpl$58);
2649
2662
  }
2650
- }), _el$134, _co$20);
2651
- _$insert(_el$123, _$createComponent(Show, {
2663
+ }), _el$139, _co$22);
2664
+ _$insert(_el$128, _$createComponent(Show, {
2652
2665
  get when() {
2653
2666
  return trail();
2654
2667
  },
@@ -2659,34 +2672,34 @@ function AppWorkspaceHead(props) {
2659
2672
  as: "p",
2660
2673
  fallback: true
2661
2674
  }), (() => {
2662
- var _el$153 = _$getNextElement(_tmpl$63);
2663
- _$setAttribute(_el$153, "data-k2b-server", isServer ? "" : undefined);
2664
- _$insert(_el$153, () => current().title);
2665
- return _el$153;
2675
+ var _el$158 = _$getNextElement(_tmpl$64);
2676
+ _$setAttribute(_el$158, "data-k2b-server", isServer ? "" : undefined);
2677
+ _$insert(_el$158, () => current().title);
2678
+ return _el$158;
2666
2679
  })()]
2667
- }), _el$136, _co$21);
2668
- _$insert(_el$123, _$createComponent(Show, {
2680
+ }), _el$141, _co$23);
2681
+ _$insert(_el$128, _$createComponent(Show, {
2669
2682
  get when() {
2670
2683
  return resolvedViews.toArray().some(Boolean);
2671
2684
  },
2672
2685
  get children() {
2673
- var _el$125 = _$getNextElement(_tmpl$58);
2674
- _$insert(_el$125, resolvedViews);
2675
- return _el$125;
2686
+ var _el$130 = _$getNextElement(_tmpl$59);
2687
+ _$insert(_el$130, resolvedViews);
2688
+ return _el$130;
2676
2689
  }
2677
- }), _el$138, _co$22);
2678
- _$insert(_el$123, _$createComponent(Show, {
2690
+ }), _el$143, _co$24);
2691
+ _$insert(_el$128, _$createComponent(Show, {
2679
2692
  get when() {
2680
2693
  return resolvedFilters.toArray().some(Boolean) || props.head?.filtered;
2681
2694
  },
2682
2695
  get children() {
2683
- var _el$126 = _$getNextElement(_tmpl$59),
2684
- _el$127 = _el$126.firstChild,
2685
- [_el$128, _co$18] = _$getNextMarker(_el$127.nextSibling),
2686
- _el$129 = _el$128.nextSibling,
2687
- [_el$130, _co$19] = _$getNextMarker(_el$129.nextSibling);
2688
- _$insert(_el$126, resolvedFilters, _el$128, _co$18);
2689
- _$insert(_el$126, _$createComponent(Show, {
2696
+ var _el$131 = _$getNextElement(_tmpl$60),
2697
+ _el$132 = _el$131.firstChild,
2698
+ [_el$133, _co$20] = _$getNextMarker(_el$132.nextSibling),
2699
+ _el$134 = _el$133.nextSibling,
2700
+ [_el$135, _co$21] = _$getNextMarker(_el$134.nextSibling);
2701
+ _$insert(_el$131, resolvedFilters, _el$133, _co$20);
2702
+ _$insert(_el$131, _$createComponent(Show, {
2690
2703
  get when() {
2691
2704
  return props.head?.filtered;
2692
2705
  },
@@ -2726,34 +2739,34 @@ function AppWorkspaceHead(props) {
2726
2739
  })
2727
2740
  });
2728
2741
  }
2729
- }), _el$130, _co$19);
2730
- _$effect(() => _$setAttribute(_el$126, "aria-label", filters().filters));
2731
- return _el$126;
2742
+ }), _el$135, _co$21);
2743
+ _$effect(() => _$setAttribute(_el$131, "aria-label", filters().filters));
2744
+ return _el$131;
2732
2745
  }
2733
- }), _el$140, _co$23);
2734
- _$insert(_el$123, _$createComponent(Show, {
2746
+ }), _el$145, _co$25);
2747
+ _$insert(_el$128, _$createComponent(Show, {
2735
2748
  get when() {
2736
2749
  return _$memo(() => !!props.head?.filtered)() && resolvedCount.toArray().some(value => value !== undefined && value !== null && value !== false);
2737
2750
  },
2738
2751
  get children() {
2739
- var _el$131 = _$getNextElement(_tmpl$60),
2740
- _el$132 = _el$131.firstChild;
2741
- _$insert(_el$132, resolvedCount);
2742
- return _el$131;
2752
+ var _el$136 = _$getNextElement(_tmpl$61),
2753
+ _el$137 = _el$136.firstChild;
2754
+ _$insert(_el$137, resolvedCount);
2755
+ return _el$136;
2743
2756
  }
2744
- }), _el$142, _co$24);
2745
- _$insert(_el$122, _$createComponent(Show, {
2757
+ }), _el$147, _co$26);
2758
+ _$insert(_el$127, _$createComponent(Show, {
2746
2759
  get when() {
2747
2760
  return resolvedActions.toArray().some(Boolean) || props.head?.primary;
2748
2761
  },
2749
2762
  get children() {
2750
- var _el$143 = _$getNextElement(_tmpl$61),
2751
- _el$144 = _el$143.firstChild,
2752
- [_el$145, _co$25] = _$getNextMarker(_el$144.nextSibling),
2753
- _el$146 = _el$145.nextSibling,
2754
- [_el$147, _co$26] = _$getNextMarker(_el$146.nextSibling);
2755
- _$insert(_el$143, resolvedActions, _el$145, _co$25);
2756
- _$insert(_el$143, _$createComponent(Show, {
2763
+ var _el$148 = _$getNextElement(_tmpl$62),
2764
+ _el$149 = _el$148.firstChild,
2765
+ [_el$150, _co$27] = _$getNextMarker(_el$149.nextSibling),
2766
+ _el$151 = _el$150.nextSibling,
2767
+ [_el$152, _co$28] = _$getNextMarker(_el$151.nextSibling);
2768
+ _$insert(_el$148, resolvedActions, _el$150, _co$27);
2769
+ _$insert(_el$148, _$createComponent(Show, {
2757
2770
  get when() {
2758
2771
  return props.head?.primary;
2759
2772
  },
@@ -2767,6 +2780,12 @@ function AppWorkspaceHead(props) {
2767
2780
  size: "sm",
2768
2781
  "class": "k2b-app-workspace__head-primary",
2769
2782
  "data-workspace-primary": "",
2783
+ get ["aria-haspopup"]() {
2784
+ return primary().popup;
2785
+ },
2786
+ get ["aria-expanded"]() {
2787
+ return primary().popup ? "false" : undefined;
2788
+ },
2770
2789
  get onClick() {
2771
2790
  return primary().onClick;
2772
2791
  },
@@ -2780,6 +2799,12 @@ function AppWorkspaceHead(props) {
2780
2799
  size: "sm",
2781
2800
  "class": "k2b-app-workspace__head-primary",
2782
2801
  "data-workspace-primary": "",
2802
+ get ["aria-haspopup"]() {
2803
+ return primary().popup;
2804
+ },
2805
+ get ["aria-expanded"]() {
2806
+ return primary().popup ? "false" : undefined;
2807
+ },
2783
2808
  get href() {
2784
2809
  return href();
2785
2810
  },
@@ -2791,24 +2816,24 @@ function AppWorkspaceHead(props) {
2791
2816
  }
2792
2817
  })
2793
2818
  })
2794
- }), _el$147, _co$26);
2795
- return _el$143;
2819
+ }), _el$152, _co$28);
2820
+ return _el$148;
2796
2821
  }
2797
- }), _el$151, _co$28);
2822
+ }), _el$156, _co$30);
2798
2823
  _$effect(_p$ => {
2799
2824
  var _v$87 = trail()?.ancestors.length ? "up" : trail() ? "title" : undefined,
2800
2825
  _v$88 = props.head ? "" : undefined,
2801
2826
  _v$89 = mobilePane();
2802
- _v$87 !== _p$.e && _$setAttribute(_el$122, "data-trail", _p$.e = _v$87);
2803
- _v$88 !== _p$.t && _$setAttribute(_el$122, "data-row", _p$.t = _v$88);
2804
- _v$89 !== _p$.a && _$setAttribute(_el$122, "data-workspace-head-pane", _p$.a = _v$89);
2827
+ _v$87 !== _p$.e && _$setAttribute(_el$127, "data-trail", _p$.e = _v$87);
2828
+ _v$88 !== _p$.t && _$setAttribute(_el$127, "data-row", _p$.t = _v$88);
2829
+ _v$89 !== _p$.a && _$setAttribute(_el$127, "data-workspace-head-pane", _p$.a = _v$89);
2805
2830
  return _p$;
2806
2831
  }, {
2807
2832
  e: undefined,
2808
2833
  t: undefined,
2809
2834
  a: undefined
2810
2835
  });
2811
- return _el$122;
2836
+ return _el$127;
2812
2837
  })();
2813
2838
  }
2814
2839
  const AppWorkspace = props => {
@@ -2863,10 +2888,10 @@ const AppWorkspace = props => {
2863
2888
  return _$createComponent(WorkspaceContext.Provider, {
2864
2889
  value: workspace,
2865
2890
  get children() {
2866
- var _el$154 = _$getNextElement(_tmpl$64);
2891
+ var _el$159 = _$getNextElement(_tmpl$65);
2867
2892
  var _ref$8 = root;
2868
- typeof _ref$8 === "function" ? _$use(_ref$8, _el$154) : root = _el$154;
2869
- _$insert(_el$154, contents);
2893
+ typeof _ref$8 === "function" ? _$use(_ref$8, _el$159) : root = _el$159;
2894
+ _$insert(_el$159, contents);
2870
2895
  _$effect(_p$ => {
2871
2896
  var _v$90 = `k2b-app-workspace ${props.class ?? ""}`,
2872
2897
  _v$91 = props.mobileSurface,
@@ -2874,12 +2899,12 @@ const AppWorkspace = props => {
2874
2899
  _v$93 = initialLayoutState()?.sidebarCollapsed === undefined ? undefined : String(initialLayoutState()?.sidebarCollapsed),
2875
2900
  _v$94 = props.resizable === false ? "false" : "true",
2876
2901
  _v$95 = appWorkspaceLayoutStyle(initialLayoutState());
2877
- _v$90 !== _p$.e && _$className(_el$154, _p$.e = _v$90);
2878
- _v$91 !== _p$.t && _$setAttribute(_el$154, "data-mobile-surface", _p$.t = _v$91);
2879
- _v$92 !== _p$.a && _$setAttribute(_el$154, "data-flat", _p$.a = _v$92);
2880
- _v$93 !== _p$.o && _$setAttribute(_el$154, "data-sidebar-collapsed", _p$.o = _v$93);
2881
- _v$94 !== _p$.i && _$setAttribute(_el$154, "data-workspace-resizable", _p$.i = _v$94);
2882
- _p$.n = _$style(_el$154, _v$95, _p$.n);
2902
+ _v$90 !== _p$.e && _$className(_el$159, _p$.e = _v$90);
2903
+ _v$91 !== _p$.t && _$setAttribute(_el$159, "data-mobile-surface", _p$.t = _v$91);
2904
+ _v$92 !== _p$.a && _$setAttribute(_el$159, "data-flat", _p$.a = _v$92);
2905
+ _v$93 !== _p$.o && _$setAttribute(_el$159, "data-sidebar-collapsed", _p$.o = _v$93);
2906
+ _v$94 !== _p$.i && _$setAttribute(_el$159, "data-workspace-resizable", _p$.i = _v$94);
2907
+ _p$.n = _$style(_el$159, _v$95, _p$.n);
2883
2908
  return _p$;
2884
2909
  }, {
2885
2910
  e: undefined,
@@ -2889,7 +2914,7 @@ const AppWorkspace = props => {
2889
2914
  i: undefined,
2890
2915
  n: undefined
2891
2916
  });
2892
- return _el$154;
2917
+ return _el$159;
2893
2918
  }
2894
2919
  });
2895
2920
  }
@@ -2905,10 +2930,10 @@ AppWorkspace.LayoutStateProvider = props => _$createComponent(LayoutStateContext
2905
2930
  });
2906
2931
  AppWorkspace.Head = AppWorkspaceHeadSlot;
2907
2932
  AppWorkspace.Content = props => (() => {
2908
- var _el$155 = _$getNextElement(_tmpl$6);
2909
- _$insert(_el$155, () => props.children);
2910
- _$effect(() => _$className(_el$155, `k2b-app-workspace__content ${props.class ?? ""}`));
2911
- return _el$155;
2933
+ var _el$160 = _$getNextElement(_tmpl$6);
2934
+ _$insert(_el$160, () => props.children);
2935
+ _$effect(() => _$className(_el$160, `k2b-app-workspace__content ${props.class ?? ""}`));
2936
+ return _el$160;
2912
2937
  })();
2913
2938
  AppWorkspace.Main = AppWorkspaceMain;
2914
2939
  AppWorkspace.MainPane = AppWorkspaceMainPane;