@glyphjs/components 0.2.0 → 0.3.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/dist/index.d.cts CHANGED
@@ -1,11 +1,12 @@
1
- import { GlyphComponentProps, GlyphComponentDefinition, GraphNode, GraphEdge } from '@glyphjs/types';
1
+ import { GlyphComponentProps, InlineNode, GlyphComponentDefinition, GraphNode, GraphEdge } from '@glyphjs/types';
2
2
  import { ReactElement } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
 
5
5
  interface CalloutData {
6
6
  type: 'info' | 'warning' | 'error' | 'tip';
7
7
  title?: string;
8
- content: string;
8
+ content: string | InlineNode[];
9
+ markdown?: boolean;
9
10
  }
10
11
  /**
11
12
  * Renders a styled callout box with variant-specific icon, optional title,
@@ -47,10 +48,11 @@ declare const chartDefinition: GlyphComponentDefinition;
47
48
  interface StepItem {
48
49
  title: string;
49
50
  status?: 'pending' | 'active' | 'completed';
50
- content: string;
51
+ content: string | InlineNode[];
51
52
  }
52
53
  interface StepsData {
53
54
  steps: StepItem[];
55
+ markdown?: boolean;
54
56
  }
55
57
  /**
56
58
  * Renders a vertical list of steps with status indicators.
@@ -114,13 +116,14 @@ declare const tabsDefinition: GlyphComponentDefinition<TabsData>;
114
116
 
115
117
  interface TimelineEvent {
116
118
  date: string;
117
- title: string;
118
- description?: string;
119
+ title: string | InlineNode[];
120
+ description?: string | InlineNode[];
119
121
  type?: string;
120
122
  }
121
123
  interface TimelineData {
122
124
  events: TimelineEvent[];
123
125
  orientation?: 'vertical' | 'horizontal';
126
+ markdown?: boolean;
124
127
  }
125
128
  /**
126
129
  * Renders an interactive timeline visualization using D3 for positioning.
@@ -217,7 +220,7 @@ declare function Relation({ data }: GlyphComponentProps<RelationData>): ReactEle
217
220
  declare const relationDefinition: GlyphComponentDefinition<RelationData>;
218
221
 
219
222
  interface KpiMetric {
220
- label: string;
223
+ label: string | InlineNode[];
221
224
  value: string;
222
225
  delta?: string;
223
226
  trend?: 'up' | 'down' | 'flat';
@@ -228,6 +231,7 @@ interface KpiData {
228
231
  title?: string;
229
232
  metrics: KpiMetric[];
230
233
  columns?: number;
234
+ markdown?: boolean;
231
235
  }
232
236
  declare function Kpi({ data, block, container }: GlyphComponentProps<KpiData>): ReactElement;
233
237
 
@@ -235,13 +239,14 @@ declare const kpiDefinition: GlyphComponentDefinition<KpiData>;
235
239
 
236
240
  interface AccordionSection {
237
241
  title: string;
238
- content: string;
242
+ content: string | InlineNode[];
239
243
  }
240
244
  interface AccordionData {
241
245
  title?: string;
242
246
  sections: AccordionSection[];
243
247
  defaultOpen?: number[];
244
248
  multiple?: boolean;
249
+ markdown?: boolean;
245
250
  }
246
251
  declare function Accordion({ data, block, onInteraction, }: GlyphComponentProps<AccordionData>): ReactElement;
247
252
 
@@ -249,16 +254,17 @@ declare const accordionDefinition: GlyphComponentDefinition<AccordionData>;
249
254
 
250
255
  interface ComparisonOption {
251
256
  name: string;
252
- description?: string;
257
+ description?: string | InlineNode[];
253
258
  }
254
259
  interface ComparisonFeature {
255
260
  name: string;
256
- values: string[];
261
+ values: (string | InlineNode[])[];
257
262
  }
258
263
  interface ComparisonData {
259
264
  title?: string;
260
265
  options: ComparisonOption[];
261
266
  features: ComparisonFeature[];
267
+ markdown?: boolean;
262
268
  }
263
269
  declare function Comparison({ data, block, container, onInteraction, }: GlyphComponentProps<ComparisonData>): ReactElement;
264
270
 
@@ -436,29 +442,30 @@ declare const equationDefinition: GlyphComponentDefinition<EquationData>;
436
442
 
437
443
  interface QuizMultipleChoice {
438
444
  type: 'multiple-choice';
439
- question: string;
440
- options: string[];
445
+ question: string | InlineNode[];
446
+ options: (string | InlineNode[])[];
441
447
  answer: number;
442
- explanation?: string;
448
+ explanation?: string | InlineNode[];
443
449
  }
444
450
  interface QuizTrueFalse {
445
451
  type: 'true-false';
446
- question: string;
452
+ question: string | InlineNode[];
447
453
  answer: boolean;
448
- explanation?: string;
454
+ explanation?: string | InlineNode[];
449
455
  }
450
456
  interface QuizMultiSelect {
451
457
  type: 'multi-select';
452
- question: string;
453
- options: string[];
458
+ question: string | InlineNode[];
459
+ options: (string | InlineNode[])[];
454
460
  answer: number[];
455
- explanation?: string;
461
+ explanation?: string | InlineNode[];
456
462
  }
457
463
  type QuizQuestion = QuizMultipleChoice | QuizTrueFalse | QuizMultiSelect;
458
464
  interface QuizData {
459
465
  questions: QuizQuestion[];
460
466
  showScore?: boolean;
461
467
  title?: string;
468
+ markdown?: boolean;
462
469
  }
463
470
  declare function Quiz({ data, block, onInteraction }: GlyphComponentProps<QuizData>): ReactElement;
464
471
 
@@ -470,10 +477,10 @@ interface CardAction {
470
477
  }
471
478
  interface CardItem {
472
479
  title: string;
473
- subtitle?: string;
480
+ subtitle?: string | InlineNode[];
474
481
  image?: string;
475
482
  icon?: string;
476
- body?: string;
483
+ body?: string | InlineNode[];
477
484
  actions?: CardAction[];
478
485
  }
479
486
  interface CardData {
@@ -481,6 +488,7 @@ interface CardData {
481
488
  cards: CardItem[];
482
489
  variant?: 'default' | 'outlined' | 'elevated';
483
490
  columns?: number;
491
+ markdown?: boolean;
484
492
  }
485
493
  declare function Card({ data, block, container }: GlyphComponentProps<CardData>): ReactElement;
486
494
 
@@ -490,12 +498,12 @@ interface StatItem {
490
498
  type: 'stat';
491
499
  label: string;
492
500
  value: string;
493
- description?: string;
501
+ description?: string | InlineNode[];
494
502
  }
495
503
  interface FactItem {
496
504
  type: 'fact';
497
505
  icon?: string;
498
- text: string;
506
+ text: string | InlineNode[];
499
507
  }
500
508
  interface ProgressItem {
501
509
  type: 'progress';
@@ -538,25 +546,27 @@ interface InfographicSection {
538
546
  interface InfographicData {
539
547
  title?: string;
540
548
  sections: InfographicSection[];
549
+ markdown?: boolean;
541
550
  }
542
551
  declare function Infographic({ data, block, container, }: GlyphComponentProps<InfographicData>): ReactElement;
543
552
 
544
553
  declare const infographicDefinition: GlyphComponentDefinition<InfographicData>;
545
554
 
546
555
  interface PollData {
547
- question: string;
548
- options: string[];
556
+ question: string | InlineNode[];
557
+ options: (string | InlineNode[])[];
549
558
  multiple?: boolean;
550
559
  showResults?: boolean;
551
560
  title?: string;
561
+ markdown?: boolean;
552
562
  }
553
563
  declare function Poll({ data, block, onInteraction }: GlyphComponentProps<PollData>): ReactElement;
554
564
 
555
565
  declare const pollDefinition: GlyphComponentDefinition<PollData>;
556
566
 
557
567
  interface RatingItem {
558
- label: string;
559
- description?: string;
568
+ label: string | InlineNode[];
569
+ description?: string | InlineNode[];
560
570
  }
561
571
  interface RatingData {
562
572
  title?: string;
@@ -567,6 +577,7 @@ interface RatingData {
567
577
  high: string;
568
578
  };
569
579
  items: RatingItem[];
580
+ markdown?: boolean;
570
581
  }
571
582
  declare function Rating({ data, block, onInteraction, }: GlyphComponentProps<RatingData>): ReactElement;
572
583
 
@@ -574,12 +585,13 @@ declare const ratingDefinition: GlyphComponentDefinition<RatingData>;
574
585
 
575
586
  interface RankerItemData {
576
587
  id: string;
577
- label: string;
588
+ label: string | InlineNode[];
578
589
  description?: string;
579
590
  }
580
591
  interface RankerData {
581
592
  title?: string;
582
593
  items: RankerItemData[];
594
+ markdown?: boolean;
583
595
  }
584
596
  declare function Ranker({ data, block, onInteraction, }: GlyphComponentProps<RankerData>): ReactElement;
585
597
 
@@ -587,7 +599,7 @@ declare const rankerDefinition: GlyphComponentDefinition<RankerData>;
587
599
 
588
600
  interface SliderParameter {
589
601
  id: string;
590
- label: string;
602
+ label: string | InlineNode[];
591
603
  min?: number;
592
604
  max?: number;
593
605
  step?: number;
@@ -598,6 +610,7 @@ interface SliderData {
598
610
  title?: string;
599
611
  layout?: 'vertical' | 'horizontal';
600
612
  parameters: SliderParameter[];
613
+ markdown?: boolean;
601
614
  }
602
615
  declare function Slider({ data, block, onInteraction, }: GlyphComponentProps<SliderData>): ReactElement;
603
616
 
@@ -605,12 +618,12 @@ declare const sliderDefinition: GlyphComponentDefinition<SliderData>;
605
618
 
606
619
  interface MatrixColumn {
607
620
  id: string;
608
- label: string;
621
+ label: string | InlineNode[];
609
622
  weight?: number;
610
623
  }
611
624
  interface MatrixRow {
612
625
  id: string;
613
- label: string;
626
+ label: string | InlineNode[];
614
627
  }
615
628
  interface MatrixData {
616
629
  title?: string;
@@ -618,6 +631,7 @@ interface MatrixData {
618
631
  showTotals?: boolean;
619
632
  columns: MatrixColumn[];
620
633
  rows: MatrixRow[];
634
+ markdown?: boolean;
621
635
  }
622
636
  declare function Matrix({ data, block, onInteraction, }: GlyphComponentProps<MatrixData>): ReactElement;
623
637
 
@@ -667,9 +681,10 @@ interface RangeField {
667
681
  type FormField = TextField | TextareaField | SelectField | CheckboxField | RangeField;
668
682
  interface FormData {
669
683
  title?: string;
670
- description?: string;
684
+ description?: string | InlineNode[];
671
685
  submitLabel?: string;
672
686
  fields: FormField[];
687
+ markdown?: boolean;
673
688
  }
674
689
  declare function Form({ data, block, onInteraction }: GlyphComponentProps<FormData>): ReactElement;
675
690
 
@@ -709,8 +724,9 @@ interface Annotation {
709
724
  interface AnnotateData {
710
725
  title?: string;
711
726
  labels: AnnotateLabel[];
712
- text: string;
727
+ text: string | InlineNode[];
713
728
  annotations?: Annotation[];
729
+ markdown?: boolean;
714
730
  }
715
731
  declare function Annotate({ data, block, onInteraction, }: GlyphComponentProps<AnnotateData>): ReactElement;
716
732
 
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
- import { GlyphComponentProps, GlyphComponentDefinition, GraphNode, GraphEdge } from '@glyphjs/types';
1
+ import { GlyphComponentProps, InlineNode, GlyphComponentDefinition, GraphNode, GraphEdge } from '@glyphjs/types';
2
2
  import { ReactElement } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
 
5
5
  interface CalloutData {
6
6
  type: 'info' | 'warning' | 'error' | 'tip';
7
7
  title?: string;
8
- content: string;
8
+ content: string | InlineNode[];
9
+ markdown?: boolean;
9
10
  }
10
11
  /**
11
12
  * Renders a styled callout box with variant-specific icon, optional title,
@@ -47,10 +48,11 @@ declare const chartDefinition: GlyphComponentDefinition;
47
48
  interface StepItem {
48
49
  title: string;
49
50
  status?: 'pending' | 'active' | 'completed';
50
- content: string;
51
+ content: string | InlineNode[];
51
52
  }
52
53
  interface StepsData {
53
54
  steps: StepItem[];
55
+ markdown?: boolean;
54
56
  }
55
57
  /**
56
58
  * Renders a vertical list of steps with status indicators.
@@ -114,13 +116,14 @@ declare const tabsDefinition: GlyphComponentDefinition<TabsData>;
114
116
 
115
117
  interface TimelineEvent {
116
118
  date: string;
117
- title: string;
118
- description?: string;
119
+ title: string | InlineNode[];
120
+ description?: string | InlineNode[];
119
121
  type?: string;
120
122
  }
121
123
  interface TimelineData {
122
124
  events: TimelineEvent[];
123
125
  orientation?: 'vertical' | 'horizontal';
126
+ markdown?: boolean;
124
127
  }
125
128
  /**
126
129
  * Renders an interactive timeline visualization using D3 for positioning.
@@ -217,7 +220,7 @@ declare function Relation({ data }: GlyphComponentProps<RelationData>): ReactEle
217
220
  declare const relationDefinition: GlyphComponentDefinition<RelationData>;
218
221
 
219
222
  interface KpiMetric {
220
- label: string;
223
+ label: string | InlineNode[];
221
224
  value: string;
222
225
  delta?: string;
223
226
  trend?: 'up' | 'down' | 'flat';
@@ -228,6 +231,7 @@ interface KpiData {
228
231
  title?: string;
229
232
  metrics: KpiMetric[];
230
233
  columns?: number;
234
+ markdown?: boolean;
231
235
  }
232
236
  declare function Kpi({ data, block, container }: GlyphComponentProps<KpiData>): ReactElement;
233
237
 
@@ -235,13 +239,14 @@ declare const kpiDefinition: GlyphComponentDefinition<KpiData>;
235
239
 
236
240
  interface AccordionSection {
237
241
  title: string;
238
- content: string;
242
+ content: string | InlineNode[];
239
243
  }
240
244
  interface AccordionData {
241
245
  title?: string;
242
246
  sections: AccordionSection[];
243
247
  defaultOpen?: number[];
244
248
  multiple?: boolean;
249
+ markdown?: boolean;
245
250
  }
246
251
  declare function Accordion({ data, block, onInteraction, }: GlyphComponentProps<AccordionData>): ReactElement;
247
252
 
@@ -249,16 +254,17 @@ declare const accordionDefinition: GlyphComponentDefinition<AccordionData>;
249
254
 
250
255
  interface ComparisonOption {
251
256
  name: string;
252
- description?: string;
257
+ description?: string | InlineNode[];
253
258
  }
254
259
  interface ComparisonFeature {
255
260
  name: string;
256
- values: string[];
261
+ values: (string | InlineNode[])[];
257
262
  }
258
263
  interface ComparisonData {
259
264
  title?: string;
260
265
  options: ComparisonOption[];
261
266
  features: ComparisonFeature[];
267
+ markdown?: boolean;
262
268
  }
263
269
  declare function Comparison({ data, block, container, onInteraction, }: GlyphComponentProps<ComparisonData>): ReactElement;
264
270
 
@@ -436,29 +442,30 @@ declare const equationDefinition: GlyphComponentDefinition<EquationData>;
436
442
 
437
443
  interface QuizMultipleChoice {
438
444
  type: 'multiple-choice';
439
- question: string;
440
- options: string[];
445
+ question: string | InlineNode[];
446
+ options: (string | InlineNode[])[];
441
447
  answer: number;
442
- explanation?: string;
448
+ explanation?: string | InlineNode[];
443
449
  }
444
450
  interface QuizTrueFalse {
445
451
  type: 'true-false';
446
- question: string;
452
+ question: string | InlineNode[];
447
453
  answer: boolean;
448
- explanation?: string;
454
+ explanation?: string | InlineNode[];
449
455
  }
450
456
  interface QuizMultiSelect {
451
457
  type: 'multi-select';
452
- question: string;
453
- options: string[];
458
+ question: string | InlineNode[];
459
+ options: (string | InlineNode[])[];
454
460
  answer: number[];
455
- explanation?: string;
461
+ explanation?: string | InlineNode[];
456
462
  }
457
463
  type QuizQuestion = QuizMultipleChoice | QuizTrueFalse | QuizMultiSelect;
458
464
  interface QuizData {
459
465
  questions: QuizQuestion[];
460
466
  showScore?: boolean;
461
467
  title?: string;
468
+ markdown?: boolean;
462
469
  }
463
470
  declare function Quiz({ data, block, onInteraction }: GlyphComponentProps<QuizData>): ReactElement;
464
471
 
@@ -470,10 +477,10 @@ interface CardAction {
470
477
  }
471
478
  interface CardItem {
472
479
  title: string;
473
- subtitle?: string;
480
+ subtitle?: string | InlineNode[];
474
481
  image?: string;
475
482
  icon?: string;
476
- body?: string;
483
+ body?: string | InlineNode[];
477
484
  actions?: CardAction[];
478
485
  }
479
486
  interface CardData {
@@ -481,6 +488,7 @@ interface CardData {
481
488
  cards: CardItem[];
482
489
  variant?: 'default' | 'outlined' | 'elevated';
483
490
  columns?: number;
491
+ markdown?: boolean;
484
492
  }
485
493
  declare function Card({ data, block, container }: GlyphComponentProps<CardData>): ReactElement;
486
494
 
@@ -490,12 +498,12 @@ interface StatItem {
490
498
  type: 'stat';
491
499
  label: string;
492
500
  value: string;
493
- description?: string;
501
+ description?: string | InlineNode[];
494
502
  }
495
503
  interface FactItem {
496
504
  type: 'fact';
497
505
  icon?: string;
498
- text: string;
506
+ text: string | InlineNode[];
499
507
  }
500
508
  interface ProgressItem {
501
509
  type: 'progress';
@@ -538,25 +546,27 @@ interface InfographicSection {
538
546
  interface InfographicData {
539
547
  title?: string;
540
548
  sections: InfographicSection[];
549
+ markdown?: boolean;
541
550
  }
542
551
  declare function Infographic({ data, block, container, }: GlyphComponentProps<InfographicData>): ReactElement;
543
552
 
544
553
  declare const infographicDefinition: GlyphComponentDefinition<InfographicData>;
545
554
 
546
555
  interface PollData {
547
- question: string;
548
- options: string[];
556
+ question: string | InlineNode[];
557
+ options: (string | InlineNode[])[];
549
558
  multiple?: boolean;
550
559
  showResults?: boolean;
551
560
  title?: string;
561
+ markdown?: boolean;
552
562
  }
553
563
  declare function Poll({ data, block, onInteraction }: GlyphComponentProps<PollData>): ReactElement;
554
564
 
555
565
  declare const pollDefinition: GlyphComponentDefinition<PollData>;
556
566
 
557
567
  interface RatingItem {
558
- label: string;
559
- description?: string;
568
+ label: string | InlineNode[];
569
+ description?: string | InlineNode[];
560
570
  }
561
571
  interface RatingData {
562
572
  title?: string;
@@ -567,6 +577,7 @@ interface RatingData {
567
577
  high: string;
568
578
  };
569
579
  items: RatingItem[];
580
+ markdown?: boolean;
570
581
  }
571
582
  declare function Rating({ data, block, onInteraction, }: GlyphComponentProps<RatingData>): ReactElement;
572
583
 
@@ -574,12 +585,13 @@ declare const ratingDefinition: GlyphComponentDefinition<RatingData>;
574
585
 
575
586
  interface RankerItemData {
576
587
  id: string;
577
- label: string;
588
+ label: string | InlineNode[];
578
589
  description?: string;
579
590
  }
580
591
  interface RankerData {
581
592
  title?: string;
582
593
  items: RankerItemData[];
594
+ markdown?: boolean;
583
595
  }
584
596
  declare function Ranker({ data, block, onInteraction, }: GlyphComponentProps<RankerData>): ReactElement;
585
597
 
@@ -587,7 +599,7 @@ declare const rankerDefinition: GlyphComponentDefinition<RankerData>;
587
599
 
588
600
  interface SliderParameter {
589
601
  id: string;
590
- label: string;
602
+ label: string | InlineNode[];
591
603
  min?: number;
592
604
  max?: number;
593
605
  step?: number;
@@ -598,6 +610,7 @@ interface SliderData {
598
610
  title?: string;
599
611
  layout?: 'vertical' | 'horizontal';
600
612
  parameters: SliderParameter[];
613
+ markdown?: boolean;
601
614
  }
602
615
  declare function Slider({ data, block, onInteraction, }: GlyphComponentProps<SliderData>): ReactElement;
603
616
 
@@ -605,12 +618,12 @@ declare const sliderDefinition: GlyphComponentDefinition<SliderData>;
605
618
 
606
619
  interface MatrixColumn {
607
620
  id: string;
608
- label: string;
621
+ label: string | InlineNode[];
609
622
  weight?: number;
610
623
  }
611
624
  interface MatrixRow {
612
625
  id: string;
613
- label: string;
626
+ label: string | InlineNode[];
614
627
  }
615
628
  interface MatrixData {
616
629
  title?: string;
@@ -618,6 +631,7 @@ interface MatrixData {
618
631
  showTotals?: boolean;
619
632
  columns: MatrixColumn[];
620
633
  rows: MatrixRow[];
634
+ markdown?: boolean;
621
635
  }
622
636
  declare function Matrix({ data, block, onInteraction, }: GlyphComponentProps<MatrixData>): ReactElement;
623
637
 
@@ -667,9 +681,10 @@ interface RangeField {
667
681
  type FormField = TextField | TextareaField | SelectField | CheckboxField | RangeField;
668
682
  interface FormData {
669
683
  title?: string;
670
- description?: string;
684
+ description?: string | InlineNode[];
671
685
  submitLabel?: string;
672
686
  fields: FormField[];
687
+ markdown?: boolean;
673
688
  }
674
689
  declare function Form({ data, block, onInteraction }: GlyphComponentProps<FormData>): ReactElement;
675
690
 
@@ -709,8 +724,9 @@ interface Annotation {
709
724
  interface AnnotateData {
710
725
  title?: string;
711
726
  labels: AnnotateLabel[];
712
- text: string;
727
+ text: string | InlineNode[];
713
728
  annotations?: Annotation[];
729
+ markdown?: boolean;
714
730
  }
715
731
  declare function Annotate({ data, block, onInteraction, }: GlyphComponentProps<AnnotateData>): ReactElement;
716
732