@markii/stdlib 0.17.0-next.5 → 0.17.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.
@@ -42,9 +42,10 @@
42
42
  * ordinary fenced code block; the block rendered as usual. Carries no
43
43
  * directive or attribute.
44
44
  *
45
- * `'empty-inline'`: an inline component registered as inline received no
46
- * content (`:badge{variant=info}` with no text); it rendered as registered,
47
- * with a quiet marker.
45
+ * `'empty-inline'`: an inline component registered as inline received
46
+ * neither content nor attributes (`:badge[]`); it rendered as registered,
47
+ * with a quiet marker. A component given attributes, such as
48
+ * `:badge{variant=info}`, draws from them and is not flagged.
48
49
  */
49
50
  export type DiagnosticKind = 'invalid-attribute-value' | 'unsafe-image-src' | 'form-mismatch' | 'no-engine-view' | 'unknown-directive' | 'code-renderer-failed' | 'empty-inline';
50
51
  /**
@@ -21,12 +21,9 @@
21
21
  */
22
22
  export type { CompletionContext, CompletionContextKind, CompletionItem, CompletionItemKind, ComponentDocumentation, HoverInfo, } from './complete/types.js';
23
23
  export { completionAt, componentDocumentation, formatComponentDocumentation, hoverAt, } from './complete/completion.js';
24
- export type { AttributeNameParseResult, AttributeValueParseResult, DirectiveForm, DirectiveNameParseResult, DirectiveNameToken, ParsedCompletionContext, } from './complete/directive-context.js';
25
- export { clampColumn, findDirectiveNameTokenAt, parseCompletionContext, } from './complete/directive-context.js';
26
24
  export type { EditorComponentAttribute, InsertableComponent, } from './insert/component-catalog.js';
27
25
  export { LAYOUT_WRAPPER_NAMES, standardComponentCatalog, } from './insert/component-catalog.js';
28
26
  export type { ComponentSkeleton, LineColumn, } from './insert/component-skeleton.js';
29
27
  export { componentSkeleton, offsetToLineColumn, } from './insert/component-skeleton.js';
30
- export { firstSentence } from './insert/first-sentence.js';
31
28
  export type { EnclosingContainerFence, FenceLineEdit, } from './fences/container-fences.js';
32
29
  export { closesOpenContainerFence, enclosingContainerFences, fenceExtensionEdits, insertedContainerColonCount, } from './fences/container-fences.js';
@@ -1,6 +1,4 @@
1
1
  export { completionAt, componentDocumentation, formatComponentDocumentation, hoverAt, } from './complete/completion.js';
2
- export { clampColumn, findDirectiveNameTokenAt, parseCompletionContext, } from './complete/directive-context.js';
3
2
  export { LAYOUT_WRAPPER_NAMES, standardComponentCatalog, } from './insert/component-catalog.js';
4
3
  export { componentSkeleton, offsetToLineColumn, } from './insert/component-skeleton.js';
5
- export { firstSentence } from './insert/first-sentence.js';
6
4
  export { closesOpenContainerFence, enclosingContainerFences, fenceExtensionEdits, insertedContainerColonCount, } from './fences/container-fences.js';
@@ -36,8 +36,8 @@ export interface NoteCatalogEntry {
36
36
  /** The directive name an author writes, e.g. `callout` or `cat_card`. */
37
37
  readonly directiveName: string;
38
38
  readonly kind: ComponentKind;
39
- /** False when `kind` is only a default (a pack component that declared none); no form check is made then. */
40
- readonly kindDeclared: boolean;
39
+ /** False when `kind` is only a default (a pack component that declared none); no form check is made then. Omitted means `true`. */
40
+ readonly kindDeclared?: boolean;
41
41
  readonly attributes?: readonly NoteCatalogAttribute[];
42
42
  }
43
43
  /** The standard set as catalog entries, with each enum attribute's allowed values. */
@@ -180,7 +180,7 @@ export function validateNote(tree, catalog, options = {}) {
180
180
  return;
181
181
  }
182
182
  if (node.type === 'textDirective' &&
183
- entry.kindDeclared &&
183
+ entry.kindDeclared !== false &&
184
184
  entry.kind !== 'inline') {
185
185
  events.push({
186
186
  kind: 'form-mismatch',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markii/stdlib",
3
- "version": "0.17.0-next.5",
3
+ "version": "0.17.0",
4
4
  "description": "Neutral, framework-agnostic standard component contracts for Mark (.mk.md) — the kind/attribute-schema seam every renderer (e.g. @markii/react) implements against. No React, zero dependencies.",
5
5
  "keywords": [
6
6
  "markdown",