@lapis-notes/bases 0.1.4 → 0.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Bases changelog
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`964ecbb`](https://github.com/lapismd/lapis-plugins/commit/964ecbb28d31430028eb9aaaa826e51711c9a5f5) Thanks [@stevejuma](https://github.com/stevejuma)! - Contribute the Bases file icon for .base and .bases files through the public Plugin.registerIcon lifecycle and editor-view metadata.
8
+
9
+ Before publication, raise the API peer minimum to the release containing the file-icon contract. Development qualification uses its explicitly checksummed public archive.
10
+
11
+ ### Patch Changes
12
+
13
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`d27467e`](https://github.com/lapismd/lapis-plugins/commit/d27467ee80c273011b7eb6ae792fa8e0330a11c1) Thanks [@stevejuma](https://github.com/stevejuma)! - Align shared presentation dependencies with the Design Core 0.6 public boundary used by current Notes hosts.
14
+
15
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`75be47e`](https://github.com/lapismd/lapis-plugins/commit/75be47e24af491ffc0226e923ea79825493e31c4) Thanks [@stevejuma](https://github.com/stevejuma)! - Name filter, grouping, sorting, summary and view-settings comboboxes explicitly
16
+ for assistive technology, including the selected property in operator and sort
17
+ direction names.
18
+
19
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`56b5d6c`](https://github.com/lapismd/lapis-plugins/commit/56b5d6c1a016ef9bca43703b5fecf57f8234d1af) Thanks [@stevejuma](https://github.com/stevejuma)! - Consume published Design Core 0.4.0 with prepared browser CSS and bundled font assets through normal npm ranges.
20
+
21
+ Restore Bases picker input/list accessibility relationships and name property actions.
22
+
23
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`c9febb1`](https://github.com/lapismd/lapis-plugins/commit/c9febb1c8b431db30ecdcf7507cfff8f727bc4ed) Thanks [@stevejuma](https://github.com/stevejuma)! - Consume the published Notes next packages, Mira 0.1.4, and Design Core 0.7.4. The semver floors require those published versions. Markdown dependents accept ^0.2.0. History keeps its public repository entrypoints, and Bases keeps the file-icon contract on API 0.2.0.
24
+
3
25
  ## 0.1.4
4
26
 
5
27
  ### Patch Changes
package/README.md CHANGED
@@ -13,7 +13,7 @@ Register the exported plugin class in the application's `PluginProfile`. Import
13
13
  registration so the host owns its lifecycle.
14
14
 
15
15
  The runtime plugin ID is `bases`. A matching signed
16
- `bases-0.1.4.lapis-plugin` archive is attached to the
16
+ `bases-0.2.0.lapis-plugin` archive is attached to the
17
17
  package-scoped GitHub release for manual or registry installation.
18
18
 
19
19
  See the [repository README](https://github.com/lapismd/lapis-plugins#readme) for
@@ -0,0 +1,2 @@
1
+ /** Distinct stacked property cards for the Bases file type. */
2
+ export declare const BASES_FILE_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linejoin=\"round\">\n <path d=\"M3 7h18v13H3zM6 4h12M8 1h8\"/>\n <path d=\"M3 11h18M9 11v9\"/>\n</svg>";
@@ -0,0 +1,5 @@
1
+ /** Distinct stacked property cards for the Bases file type. */
2
+ export const BASES_FILE_ICON = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round">
3
+ <path d="M3 7h18v13H3zM6 4h12M8 1h8"/>
4
+ <path d="M3 11h18M9 11v9"/>
5
+ </svg>`;
@@ -1,3 +1,4 @@
1
+ import { BASES_FILE_ICON } from "./bases-file-icon";
1
2
  import { MarkdownRenderChild, Plugin, } from "@lapis-notes/api";
2
3
  import { markupEditor } from "@lapis-notes/api/editor/core";
3
4
  import { yaml } from "@codemirror/lang-yaml";
@@ -10,12 +11,14 @@ export class BasesPlugin extends Plugin {
10
11
  super(app, manifest);
11
12
  }
12
13
  async onload() {
14
+ const fileIcon = this.registerIcon("file", BASES_FILE_ICON);
13
15
  this.registerView(BasesViewType, (leaf) => new BasesView(leaf), {
14
16
  kind: "file",
15
17
  });
16
18
  this.registerEditorView({
17
19
  id: BasesViewType,
18
20
  label: "Bases",
21
+ fileIcon,
19
22
  filenamePatterns: ["*.bases", "*.base"],
20
23
  priority: "default",
21
24
  });
@@ -283,6 +283,7 @@
283
283
  bind:value={getBaseSummary, setBaseSummary}
284
284
  >
285
285
  <Select.Trigger
286
+ aria-label="Summary in all views"
286
287
  size="sm"
287
288
  class="bases-style-bg-background-e6f9e3 bases-style-h-8-ed8a5d bases-style-justify-between-8ef226"
288
289
  >
@@ -306,6 +307,7 @@
306
307
  bind:value={getViewSummary, setViewSummary}
307
308
  >
308
309
  <Select.Trigger
310
+ aria-label="Summary in this view"
309
311
  size="sm"
310
312
  class="bases-style-bg-background-e6f9e3 bases-style-h-8-ed8a5d bases-style-justify-between-8ef226"
311
313
  >
@@ -75,7 +75,10 @@
75
75
  <div class={cn("filter-group", className)}>
76
76
  <div class="filter-group-header bases-style-flex-60fbb7 bases-style-items-center-3960ff bases-style-justify-between-8ef226">
77
77
  <Select.Root type="single" bind:value={getFilterType, setFilterType}>
78
- <Select.Trigger data-bases-filter-control="group-type-trigger">
78
+ <Select.Trigger
79
+ aria-label="Filter group match"
80
+ data-bases-filter-control="group-type-trigger"
81
+ >
79
82
  {triggerContent}
80
83
  </Select.Trigger>
81
84
  <Select.Content
@@ -272,6 +272,7 @@
272
272
  <Select.Root type="single" bind:value={filter.op}>
273
273
  <Select.Trigger
274
274
  size="sm"
275
+ aria-label={`${column?.displayName ?? "Property"} filter operator`}
275
276
  data-bases-filter-control="operator-trigger"
276
277
  class="bases-style-bg-background-e6f9e3 bases-style-min-h-inherit-05c993 bases-style-h-auto-b8f0a0 bases-style-self-stretch-18069a bases-style-rounded-none-0c5e91 bases-style-border-none-4a5f0e bases-style-shadow-none-ad47d1 bases-style-outline-none-df37b1"
277
278
  >
@@ -92,7 +92,7 @@
92
92
  <div class="bases-style-border-t-b950dd bases-style-p-2-7660b4">
93
93
  <div class="bases-style-grid-f3c543 bases-style-grid-cols-1-d7c833 bases-style-gap-2-77a2a2">
94
94
  <Select.Root type="single" bind:value={getDirection, setDirection}>
95
- <Select.Trigger size="sm" class="bases-style-bg-background-e6f9e3 bases-style-h-8-ed8a5d bases-style-justify-between-8ef226">
95
+ <Select.Trigger aria-label="Group sort direction" size="sm" class="bases-style-bg-background-e6f9e3 bases-style-h-8-ed8a5d bases-style-justify-between-8ef226">
96
96
  {directions.find(
97
97
  (direction) => direction.value === getDirection(),
98
98
  )?.label}
@@ -182,6 +182,7 @@
182
182
  bind:value={getGroupDirection, setGroupDirection}
183
183
  >
184
184
  <Select.Trigger
185
+ aria-label="Group sort direction"
185
186
  size="sm"
186
187
  class="bases-style-bg-background-e6f9e3 bases-style-h-8-ed8a5d bases-style-rounded-none-0c5e91 bases-style-border-none-4a5f0e bases-style-shadow-none-ad47d1 bases-style-outline-none-df37b1"
187
188
  >
@@ -163,6 +163,7 @@
163
163
  </Popover.Root>
164
164
  <Select.Root type="single" bind:value={sort.direction}>
165
165
  <Select.Trigger
166
+ aria-label={`${column?.displayName ?? "Property"} sort direction`}
166
167
  size="sm"
167
168
  class="bases-style-bg-background-e6f9e3 bases-style-h-8-ed8a5d bases-style-rounded-none-0c5e91 bases-style-border-none-4a5f0e bases-style-shadow-none-ad47d1 bases-style-outline-none-df37b1"
168
169
  >
@@ -79,7 +79,7 @@
79
79
  }
80
80
  }
81
81
  >
82
- <Select.Trigger class="bases-style-w-full-6da6a3">
82
+ <Select.Trigger aria-label="Layout" class="bases-style-w-full-6da6a3">
83
83
  <Icon name={selectedLayout.icon} />
84
84
  {selectedLayout.label}
85
85
  </Select.Trigger>
@@ -128,7 +128,7 @@
128
128
  }
129
129
  }
130
130
  >
131
- <Select.Trigger class="bases-style-w-full-6da6a3">
131
+ <Select.Trigger aria-label={option.displayName} class="bases-style-w-full-6da6a3">
132
132
  {selectedOption.label}
133
133
  </Select.Trigger>
134
134
  <Select.Content>
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "bases",
3
3
  "name": "Bases",
4
- "version": "0.1.4",
4
+ "version": "0.2.0",
5
5
  "minAppVersion": "0.1.0",
6
6
  "description": "Build table, card, and grouped views from Markdown properties",
7
7
  "author": "Lapis Notes Bases",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lapis-notes/bases",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Lapis Notes Bases plugin",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -38,7 +38,7 @@
38
38
  "@dnd-kit/dom": "^0.4.0",
39
39
  "@dnd-kit/helpers": "^0.4.0",
40
40
  "@dnd-kit/svelte": "^0.4.0",
41
- "@lapismd/design-core": "^0.3.2",
41
+ "@lapismd/design-core": "^0.7.4",
42
42
  "@lucide/svelte": "^0.523.0",
43
43
  "@tanstack/table-core": "^8.21.3",
44
44
  "js-yaml": "^4.1.0",
@@ -51,7 +51,7 @@
51
51
  "@codemirror/language": "^6.11.3",
52
52
  "@codemirror/state": "^6.6.0",
53
53
  "@codemirror/view": "^6.42.1",
54
- "@lapis-notes/api": "^0.1.2",
54
+ "@lapis-notes/api": "^0.2.0",
55
55
  "@lezer/common": "^1.5.2",
56
56
  "@lezer/highlight": "^1.2.3",
57
57
  "@lezer/lr": "^1.4.2",
@@ -69,8 +69,8 @@
69
69
  "svelte": "^5.38.2",
70
70
  "svelte-check": "^4.3.1",
71
71
  "typescript": "~5.8.3",
72
- "vite": "^6.4.2",
73
- "vitest": "^4.1.8"
72
+ "vite": "^6.4.4",
73
+ "vitest": "^4.1.12"
74
74
  },
75
75
  "repository": {
76
76
  "type": "git",