themed-markdown 0.1.86 → 0.1.88

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.
@@ -1,6 +1,7 @@
1
1
  import { Theme } from '@principal-ade/industry-theme';
2
2
  import { BashCommandOptions, BashCommandResult, RepositoryInfo } from '@principal-ade/markdown-utils';
3
3
  import React from 'react';
4
+ import type { Annotation, AnnotationSelection } from '../types/annotations';
4
5
  export interface DocumentViewProps {
5
6
  content: string;
6
7
  onCheckboxChange?: (slideIndex: number, lineNumber: number, checked: boolean) => void;
@@ -18,6 +19,15 @@ export interface DocumentViewProps {
18
19
  theme: Theme;
19
20
  transparentBackground?: boolean;
20
21
  editable?: boolean;
22
+ annotations?: Annotation[];
23
+ activeAnnotationId?: string | null;
24
+ renderAnnotation?: (annotation: Annotation) => React.ReactNode;
25
+ onSelectionChange?: (selection: AnnotationSelection | null) => void;
26
+ onAnnotationClick?: (annotationId: string, event: MouseEvent) => void;
27
+ annotationStyle?: {
28
+ backgroundColor?: string;
29
+ activeBackgroundColor?: string;
30
+ };
21
31
  }
22
32
  export declare const DocumentView: React.FC<DocumentViewProps>;
23
33
  //# sourceMappingURL=DocumentView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentView.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/components/DocumentView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAiB,MAAM,OAAO,CAAC;AAItC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAGhB,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAGtF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACzD,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2DpD,CAAC"}
1
+ {"version":3,"file":"DocumentView.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/components/DocumentView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI5E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAGhB,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAGtF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACzD,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAC;IAC/D,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,eAAe,CAAC,EAAE;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuEpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IndustryHtmlModal.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/components/IndustryHtmlModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,eAAO,MAAM,oBAAoB;;;6BAIC,MAAM;;CAUvC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,sBAAsB,4BAyGhG"}
1
+ {"version":3,"file":"IndustryHtmlModal.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/components/IndustryHtmlModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,eAAO,MAAM,oBAAoB;;;6BAIa,MAAM;;CAUnD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,sBAAsB,4BAyGhG"}
@@ -61,6 +61,7 @@
61
61
  import { Theme } from '@principal-ade/industry-theme';
62
62
  import { BashCommandOptions, BashCommandResult, RepositoryInfo } from '@principal-ade/markdown-utils';
63
63
  import React from 'react';
64
+ import type { Annotation, AnnotationSelection } from '../types/annotations';
64
65
  import { KeyboardBinding } from '../types/keyboard';
65
66
  export interface IndustryMarkdownSlideProps {
66
67
  content: string;
@@ -94,6 +95,20 @@ export interface IndustryMarkdownSlideProps {
94
95
  keyboardScrollConfig?: KeyboardScrollConfig;
95
96
  repositoryInfo?: RepositoryInfo;
96
97
  editable?: boolean;
98
+ annotations?: Annotation[];
99
+ activeAnnotationId?: string | null;
100
+ renderAnnotation?: (annotation: Annotation) => React.ReactNode;
101
+ onSelectionChange?: (selection: AnnotationSelection | null) => void;
102
+ onAnnotationClick?: (annotationId: string, event: MouseEvent) => void;
103
+ /**
104
+ * Color overrides for annotation highlights. Each field is any valid CSS
105
+ * color (hex, rgba, var(...), etc.). Omit a field to keep the default
106
+ * amber palette.
107
+ */
108
+ annotationStyle?: {
109
+ backgroundColor?: string;
110
+ activeBackgroundColor?: string;
111
+ };
97
112
  }
98
113
  export interface KeyboardScrollConfig {
99
114
  scrollAmount?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"IndustryMarkdownSlide.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/components/IndustryMarkdownSlide.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,OAAO,EAAE,KAAK,EAAyB,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAA6E,MAAM,OAAO,CAAC;AAQlG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,MAAM,WAAW,0BAA0B;IAEzC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACzD,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtF,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAGlD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAG5C,cAAc,CAAC,EAAE,cAAc,CAAC;IAGhC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAyOD,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,wBAAgB,4BAA4B,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,eAAe,EAAE,CA8D7F;AAED,eAAO,MAAM,qBAAqB,wDAmrBhC,CAAC"}
1
+ {"version":3,"file":"IndustryMarkdownSlide.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/components/IndustryMarkdownSlide.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Inline annotation types.
3
+ *
4
+ * Anchors follow the W3C text-quote selector model: callers identify a
5
+ * span by quoted text plus optional surrounding context, and the renderer
6
+ * resolves it against the live DOM. See:
7
+ * https://www.w3.org/TR/annotation-model/#text-quote-selector
8
+ */
9
+ export interface TextQuoteAnchor {
10
+ exact: string;
11
+ prefix?: string;
12
+ suffix?: string;
13
+ }
14
+ export interface Annotation<TMetadata = unknown> {
15
+ id: string;
16
+ anchor: TextQuoteAnchor;
17
+ metadata?: TMetadata;
18
+ /**
19
+ * Optional count rendered as a small badge in the top-right of the
20
+ * highlight (e.g. number of notes attached to this anchor). Omit, or set
21
+ * to 0, to hide.
22
+ */
23
+ count?: number;
24
+ }
25
+ export interface ResolvedAnnotation<TMetadata = unknown> extends Annotation<TMetadata> {
26
+ resolved: boolean;
27
+ }
28
+ export interface AnnotationSelection {
29
+ anchor: TextQuoteAnchor;
30
+ rect: DOMRect;
31
+ }
32
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/types/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU,CAAC,SAAS,GAAG,OAAO;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB,CAAC,SAAS,GAAG,OAAO,CAAE,SAAQ,UAAU,CAAC,SAAS,CAAC;IACpF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;CACf"}
@@ -0,0 +1,17 @@
1
+ import type { TextQuoteAnchor } from '../types/annotations';
2
+ /**
3
+ * Locate `anchor` in `root`'s rendered text and return a Range covering the
4
+ * matched span. Returns null when the anchor cannot be resolved (orphan).
5
+ *
6
+ * Strategy: build a flat string of the visible text content (skipping code
7
+ * blocks and our own marker spans), search for `prefix + exact + suffix`,
8
+ * then map the offsets back to the underlying Text nodes.
9
+ */
10
+ export declare function resolveTextQuote(root: HTMLElement, anchor: TextQuoteAnchor): Range | null;
11
+ /**
12
+ * Build a text-quote anchor for the current Selection inside `root`. Uses up
13
+ * to `contextLength` characters on each side as prefix/suffix so the anchor
14
+ * survives non-local edits.
15
+ */
16
+ export declare function selectionToAnchor(root: HTMLElement, selection: Selection, contextLength?: number): TextQuoteAnchor | null;
17
+ //# sourceMappingURL=annotationResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotationResolver.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/utils/annotationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AA2C5D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,KAAK,GAAG,IAAI,CAoBzF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,SAAS,EACpB,aAAa,SAAK,GACjB,eAAe,GAAG,IAAI,CAsBxB"}
@@ -0,0 +1,17 @@
1
+ import { type RefObject } from 'react';
2
+ import type { Annotation, AnnotationSelection, TextQuoteAnchor } from '../types/annotations';
3
+ interface UseAnnotationsParams<TMetadata> {
4
+ rootRef: RefObject<HTMLElement | null>;
5
+ annotations: Annotation<TMetadata>[];
6
+ activeAnnotationId?: string | null;
7
+ onSelectionChange?: (selection: AnnotationSelection | null) => void;
8
+ onAnnotationClick?: (annotationId: string, event: MouseEvent) => void;
9
+ }
10
+ export interface AnnotationMount<TMetadata> {
11
+ annotation: Annotation<TMetadata>;
12
+ host: HTMLElement;
13
+ resolved: boolean;
14
+ }
15
+ export declare function useAnnotations<TMetadata>({ rootRef, annotations, activeAnnotationId, onSelectionChange, onAnnotationClick, }: UseAnnotationsParams<TMetadata>): AnnotationMount<TMetadata>[];
16
+ export type { TextQuoteAnchor };
17
+ //# sourceMappingURL=useAnnotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAnnotations.d.ts","sourceRoot":"","sources":["../../../industryMarkdown/utils/useAnnotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9F,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAgB7F,UAAU,oBAAoB,CAAC,SAAS;IACtC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,eAAe,CAAC,SAAS;IACxC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA4DD,wBAAgB,cAAc,CAAC,SAAS,EAAE,EACxC,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,GAClB,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAqKhE;AAED,YAAY,EAAE,eAAe,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "themed-markdown",
3
- "version": "0.1.86",
3
+ "version": "0.1.88",
4
4
  "description": "Industry-themed markdown renderer with presentation capabilities",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",