playbook-ui 16.4.0-alpha.testingmetadata15452 → 16.4.0-alpha.testingmetadata15488

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.
@@ -2,12 +2,12 @@
2
2
  "globalProps": {
3
3
  "$schema": "https://playbook.powerapp.cloud/schemas/global-props-schema.json",
4
4
  "name": "GlobalProps",
5
- "description": "Global props available on all Playbook components. These props provide consistent spacing, layout, display, and styling across the design system.",
5
+ "description": "Global props available on all Playbook components for consistent spacing, layout, and styling.",
6
6
  "breakpoints": {
7
7
  "xs": "0-575px",
8
- "sm": "576-767px",
9
- "md": "768-991px",
10
- "lg": "992-1199px",
8
+ "sm": "576px-767px",
9
+ "md": "768px-991px",
10
+ "lg": "992px-1199px",
11
11
  "xl": "1200px+"
12
12
  },
13
13
  "spacing": {
@@ -24,18 +24,32 @@
24
24
  "initial",
25
25
  "inherit"
26
26
  ],
27
- "description": "Standard spacing scale used for margin and padding props.",
27
+ "description": "Standard spacing scale for margin/padding.",
28
28
  "tokens": {
29
- "none": "0",
30
29
  "xxs": "4px",
31
30
  "xs": "8px",
32
- "sm": "12px",
33
- "md": "16px",
34
- "lg": "24px",
35
- "xl": "32px"
31
+ "sm": "16px",
32
+ "md": "24px",
33
+ "lg": "32px",
34
+ "xl": "40px",
35
+ "none": "0"
36
36
  }
37
37
  },
38
38
  "props": {
39
+ "alignContent": {
40
+ "type": "enum | responsive",
41
+ "values": [
42
+ "start",
43
+ "end",
44
+ "center",
45
+ "spaceBetween",
46
+ "spaceAround",
47
+ "spaceEvenly"
48
+ ],
49
+ "responsive": true,
50
+ "description": "Align multi-line content.",
51
+ "example": "alignContent=\"start\" or alignContent={{ default: \"start\", md: \"end\" }}"
52
+ },
39
53
  "alignItems": {
40
54
  "type": "enum | responsive",
41
55
  "values": [
@@ -44,7 +58,8 @@
44
58
  "center"
45
59
  ],
46
60
  "responsive": true,
47
- "description": "Align items (cross axis alignment)."
61
+ "description": "Align items.",
62
+ "example": "alignItems=\"start\" or alignItems={{ default: \"start\", md: \"end\" }}"
48
63
  },
49
64
  "borderRadius": {
50
65
  "type": "enum",
@@ -72,11 +87,11 @@
72
87
  "wait",
73
88
  "cell"
74
89
  ],
75
- "description": "CSS cursor type."
90
+ "description": "CSS cursor."
76
91
  },
77
92
  "dark": {
78
93
  "type": "boolean",
79
- "description": "Applies dark mode styling.",
94
+ "description": "Dark.",
80
95
  "default": false
81
96
  },
82
97
  "flex": {
@@ -100,7 +115,8 @@
100
115
  "none"
101
116
  ],
102
117
  "responsive": true,
103
- "description": "Flex shorthand property."
118
+ "description": "Flex.",
119
+ "example": "flex=\"auto\" or flex={{ default: \"auto\", md: \"initial\" }}"
104
120
  },
105
121
  "flexDirection": {
106
122
  "type": "enum | responsive",
@@ -111,7 +127,8 @@
111
127
  "columnReverse"
112
128
  ],
113
129
  "responsive": true,
114
- "description": "Flex direction."
130
+ "description": "Flex direction.",
131
+ "example": "flexDirection=\"row\" or flexDirection={{ default: \"row\", md: \"column\" }}"
115
132
  },
116
133
  "flexWrap": {
117
134
  "type": "enum | responsive",
@@ -121,7 +138,22 @@
121
138
  "wrapReverse"
122
139
  ],
123
140
  "responsive": true,
124
- "description": "Flex wrap behavior."
141
+ "description": "Flex wrap.",
142
+ "example": "flexWrap=\"wrap\" or flexWrap={{ default: \"wrap\", md: \"nowrap\" }}"
143
+ },
144
+ "justifyContent": {
145
+ "type": "enum | responsive",
146
+ "values": [
147
+ "start",
148
+ "end",
149
+ "center",
150
+ "spaceBetween",
151
+ "spaceAround",
152
+ "spaceEvenly"
153
+ ],
154
+ "responsive": true,
155
+ "description": "Justify multi-line content.",
156
+ "example": "justifyContent=\"start\" or justifyContent={{ default: \"start\", md: \"end\" }}"
125
157
  },
126
158
  "lineHeight": {
127
159
  "type": "enum",
@@ -152,7 +184,8 @@
152
184
  "inherit"
153
185
  ],
154
186
  "responsive": true,
155
- "description": "Right margin."
187
+ "description": "Right margin.",
188
+ "example": "marginRight=\"none\" or marginRight={{ default: \"none\", md: \"xxs\" }}"
156
189
  },
157
190
  "marginLeft": {
158
191
  "type": "enum | responsive",
@@ -170,7 +203,8 @@
170
203
  "inherit"
171
204
  ],
172
205
  "responsive": true,
173
- "description": "Left margin."
206
+ "description": "Left margin.",
207
+ "example": "marginLeft=\"none\" or marginLeft={{ default: \"none\", md: \"xxs\" }}"
174
208
  },
175
209
  "marginTop": {
176
210
  "type": "enum | responsive",
@@ -188,7 +222,8 @@
188
222
  "inherit"
189
223
  ],
190
224
  "responsive": true,
191
- "description": "Top margin."
225
+ "description": "Top margin.",
226
+ "example": "marginTop=\"none\" or marginTop={{ default: \"none\", md: \"xxs\" }}"
192
227
  },
193
228
  "marginBottom": {
194
229
  "type": "enum | responsive",
@@ -206,7 +241,8 @@
206
241
  "inherit"
207
242
  ],
208
243
  "responsive": true,
209
- "description": "Bottom margin."
244
+ "description": "Bottom margin.",
245
+ "example": "marginBottom=\"none\" or marginBottom={{ default: \"none\", md: \"xxs\" }}"
210
246
  },
211
247
  "marginX": {
212
248
  "type": "enum | responsive",
@@ -224,7 +260,8 @@
224
260
  "inherit"
225
261
  ],
226
262
  "responsive": true,
227
- "description": "Horizontal margin (left and right)."
263
+ "description": "Horizontal margin (left + right).",
264
+ "example": "marginX=\"none\" or marginX={{ default: \"none\", md: \"xxs\" }}"
228
265
  },
229
266
  "marginY": {
230
267
  "type": "enum | responsive",
@@ -242,7 +279,8 @@
242
279
  "inherit"
243
280
  ],
244
281
  "responsive": true,
245
- "description": "Vertical margin (top and bottom)."
282
+ "description": "Vertical margin (top + bottom).",
283
+ "example": "marginY=\"none\" or marginY={{ default: \"none\", md: \"xxs\" }}"
246
284
  },
247
285
  "margin": {
248
286
  "type": "enum | responsive",
@@ -261,41 +299,44 @@
261
299
  ],
262
300
  "responsive": true,
263
301
  "description": "Margin on all sides.",
264
- "example": "margin=\"md\" or margin={{ default: \"sm\", md: \"lg\" }}"
302
+ "example": "margin=\"none\" or margin={{ default: \"none\", md: \"xxs\" }}"
265
303
  },
266
304
  "width": {
267
305
  "type": "string",
268
- "description": "CSS width. Supports values like \"100%\", \"50px\", \"auto\"."
306
+ "description": "CSS width."
269
307
  },
270
308
  "minWidth": {
271
309
  "type": "string",
272
- "description": "CSS min-width."
310
+ "description": "Minimum width."
273
311
  },
274
312
  "maxWidth": {
275
313
  "type": "string",
276
- "description": "CSS max-width."
314
+ "description": "Maximum width."
277
315
  },
278
316
  "gap": {
279
317
  "type": "string | responsive",
280
318
  "responsive": true,
281
- "description": "Gap between flex/grid items."
319
+ "description": "Gap.",
320
+ "example": "gap=\"md\" or gap={{ default: \"md\", md: \"lg\" }}"
282
321
  },
283
322
  "columnGap": {
284
323
  "type": "string | responsive",
285
324
  "responsive": true,
286
- "description": "Gap between columns."
325
+ "description": "Column gap.",
326
+ "example": "columnGap=\"md\" or columnGap={{ default: \"md\", md: \"lg\" }}"
287
327
  },
288
328
  "rowGap": {
289
329
  "type": "string | responsive",
290
330
  "responsive": true,
291
- "description": "Gap between rows."
331
+ "description": "Row gap.",
332
+ "example": "rowGap=\"md\" or rowGap={{ default: \"md\", md: \"lg\" }}"
292
333
  },
293
334
  "numberSpacing": {
294
335
  "type": "enum",
295
336
  "values": [
296
337
  "tabular"
297
338
  ],
298
- "description": "Number spacing for tabular alignment."
339
+ "description": "Number spacing."
299
340
  },
300
341
  "order": {
301
342
  "type": "enum | responsive",
@@ -316,7 +357,8 @@
316
357
  12
317
358
  ],
318
359
  "responsive": true,
319
- "description": "Flex order."
360
+ "description": "Order.",
361
+ "example": "order=\"none\" or order={{ default: \"none\", md: \"first\" }}"
320
362
  },
321
363
  "overflowX": {
322
364
  "type": "enum",
@@ -326,7 +368,7 @@
326
368
  "hidden",
327
369
  "auto"
328
370
  ],
329
- "description": "CSS overflow-x property."
371
+ "description": "Horizontal overflow (left + right)."
330
372
  },
331
373
  "overflowY": {
332
374
  "type": "enum",
@@ -336,7 +378,7 @@
336
378
  "hidden",
337
379
  "auto"
338
380
  ],
339
- "description": "CSS overflow-y property."
381
+ "description": "Vertical overflow (top + bottom)."
340
382
  },
341
383
  "overflow": {
342
384
  "type": "enum",
@@ -346,7 +388,7 @@
346
388
  "hidden",
347
389
  "auto"
348
390
  ],
349
- "description": "CSS overflow property."
391
+ "description": "CSS overflow."
350
392
  },
351
393
  "paddingRight": {
352
394
  "type": "enum | responsive",
@@ -364,7 +406,8 @@
364
406
  "inherit"
365
407
  ],
366
408
  "responsive": true,
367
- "description": "Right padding."
409
+ "description": "Right padding.",
410
+ "example": "paddingRight=\"none\" or paddingRight={{ default: \"none\", md: \"xxs\" }}"
368
411
  },
369
412
  "paddingLeft": {
370
413
  "type": "enum | responsive",
@@ -382,7 +425,8 @@
382
425
  "inherit"
383
426
  ],
384
427
  "responsive": true,
385
- "description": "Left padding."
428
+ "description": "Left padding.",
429
+ "example": "paddingLeft=\"none\" or paddingLeft={{ default: \"none\", md: \"xxs\" }}"
386
430
  },
387
431
  "paddingTop": {
388
432
  "type": "enum | responsive",
@@ -400,7 +444,8 @@
400
444
  "inherit"
401
445
  ],
402
446
  "responsive": true,
403
- "description": "Top padding."
447
+ "description": "Top padding.",
448
+ "example": "paddingTop=\"none\" or paddingTop={{ default: \"none\", md: \"xxs\" }}"
404
449
  },
405
450
  "paddingBottom": {
406
451
  "type": "enum | responsive",
@@ -418,7 +463,8 @@
418
463
  "inherit"
419
464
  ],
420
465
  "responsive": true,
421
- "description": "Bottom padding."
466
+ "description": "Bottom padding.",
467
+ "example": "paddingBottom=\"none\" or paddingBottom={{ default: \"none\", md: \"xxs\" }}"
422
468
  },
423
469
  "paddingX": {
424
470
  "type": "enum | responsive",
@@ -436,7 +482,8 @@
436
482
  "inherit"
437
483
  ],
438
484
  "responsive": true,
439
- "description": "Horizontal padding (left and right)."
485
+ "description": "Horizontal padding (left + right).",
486
+ "example": "paddingX=\"none\" or paddingX={{ default: \"none\", md: \"xxs\" }}"
440
487
  },
441
488
  "paddingY": {
442
489
  "type": "enum | responsive",
@@ -454,7 +501,8 @@
454
501
  "inherit"
455
502
  ],
456
503
  "responsive": true,
457
- "description": "Vertical padding (top and bottom)."
504
+ "description": "Vertical padding (top + bottom).",
505
+ "example": "paddingY=\"none\" or paddingY={{ default: \"none\", md: \"xxs\" }}"
458
506
  },
459
507
  "padding": {
460
508
  "type": "enum | responsive",
@@ -473,7 +521,7 @@
473
521
  ],
474
522
  "responsive": true,
475
523
  "description": "Padding on all sides.",
476
- "example": "padding=\"md\" or padding={{ default: \"sm\", md: \"lg\" }}"
524
+ "example": "padding=\"none\" or padding={{ default: \"none\", md: \"xxs\" }}"
477
525
  },
478
526
  "position": {
479
527
  "type": "enum",
@@ -484,7 +532,7 @@
484
532
  "sticky",
485
533
  "static"
486
534
  ],
487
- "description": "CSS position property."
535
+ "description": "CSS position."
488
536
  },
489
537
  "shadow": {
490
538
  "type": "enum",
@@ -494,7 +542,7 @@
494
542
  "deeper",
495
543
  "deepest"
496
544
  ],
497
- "description": "Box shadow depth."
545
+ "description": "Shadow."
498
546
  },
499
547
  "textAlign": {
500
548
  "type": "enum | responsive",
@@ -509,7 +557,8 @@
509
557
  "matchParent"
510
558
  ],
511
559
  "responsive": true,
512
- "description": "Text alignment."
560
+ "description": "Text align.",
561
+ "example": "textAlign=\"start\" or textAlign={{ default: \"start\", md: \"end\" }}"
513
562
  },
514
563
  "truncate": {
515
564
  "type": "enum",
@@ -521,7 +570,7 @@
521
570
  4,
522
571
  5
523
572
  ],
524
- "description": "Truncates text with ellipsis after specified number of lines."
573
+ "description": "Truncate."
525
574
  },
526
575
  "verticalAlign": {
527
576
  "type": "enum | responsive",
@@ -536,7 +585,8 @@
536
585
  "text-bottom"
537
586
  ],
538
587
  "responsive": true,
539
- "description": "Vertical alignment."
588
+ "description": "Vertical align.",
589
+ "example": "verticalAlign=\"baseline\" or verticalAlign={{ default: \"baseline\", md: \"super\" }}"
540
590
  },
541
591
  "zIndex": {
542
592
  "type": "enum | responsive",
@@ -554,7 +604,8 @@
554
604
  "max"
555
605
  ],
556
606
  "responsive": true,
557
- "description": "Z-index stacking order."
607
+ "description": "Z index.",
608
+ "example": "zIndex=\"1\" or zIndex={{ default: \"1\", md: \"2\" }}"
558
609
  },
559
610
  "top": {
560
611
  "type": "enum | object",
@@ -567,11 +618,11 @@
567
618
  "xl",
568
619
  "xxl"
569
620
  ],
570
- "description": "Top positioning. Can use object: { value: \"sm\", inset: true }."
621
+ "description": "Top offset."
571
622
  },
572
623
  "inset": {
573
624
  "type": "boolean",
574
- "description": "inset property.",
625
+ "description": "Inset.",
575
626
  "default": false
576
627
  },
577
628
  "right": {
@@ -585,7 +636,7 @@
585
636
  "xl",
586
637
  "xxl"
587
638
  ],
588
- "description": "Right positioning. Can use object: { value: \"sm\", inset: true }."
639
+ "description": "Right offset."
589
640
  },
590
641
  "bottom": {
591
642
  "type": "enum | object",
@@ -598,7 +649,7 @@
598
649
  "xl",
599
650
  "xxl"
600
651
  ],
601
- "description": "Bottom positioning. Can use object: { value: \"sm\", inset: true }."
652
+ "description": "Bottom offset."
602
653
  },
603
654
  "left": {
604
655
  "type": "enum | object",
@@ -611,11 +662,11 @@
611
662
  "xl",
612
663
  "xxl"
613
664
  ],
614
- "description": "Left positioning. Can use object: { value: \"sm\", inset: true }."
665
+ "description": "Left offset."
615
666
  },
616
667
  "height": {
617
668
  "type": "string",
618
- "description": "Height. Predefined values or custom CSS value."
669
+ "description": "CSS height."
619
670
  },
620
671
  "maxHeight": {
621
672
  "type": "string",
@@ -658,34 +709,33 @@
658
709
  "type": "boolean"
659
710
  }
660
711
  },
661
- "description": "Hover state effects.",
712
+ "description": "Hover.",
662
713
  "example": "hover={{ shadow: \"deep\", scale: \"sm\" }}"
663
714
  },
664
715
  "groupHover": {
665
716
  "type": "boolean",
666
717
  "default": false,
667
- "description": "Enables group hover styling."
718
+ "description": "Group hover."
668
719
  }
669
720
  },
670
721
  "responsiveUsage": {
671
- "description": "Many global props support responsive values using an object with breakpoint keys.",
722
+ "description": "Props marked responsive accept breakpoint objects.",
672
723
  "example": {
673
- "padding": "{{ default: \"sm\", xs: \"xs\", md: \"md\", lg: \"lg\" }}",
674
- "display": "{{ default: \"block\", md: \"flex\" }}",
675
- "textAlign": "{{ default: \"center\", lg: \"left\" }}"
724
+ "padding": "{{ default: \"sm\", md: \"lg\" }}",
725
+ "display": "{{ default: \"block\", md: \"flex\" }}"
676
726
  },
677
727
  "breakpoints": {
678
- "default": "Base value (mobile-first)",
728
+ "default": "Base (mobile-first)",
679
729
  "xs": "0-575px",
680
- "sm": "576-767px",
681
- "md": "768-991px",
682
- "lg": "992-1199px",
730
+ "sm": "576px-767px",
731
+ "md": "768px-991px",
732
+ "lg": "992px-1199px",
683
733
  "xl": "1200px+"
684
734
  }
685
735
  },
686
736
  "warnings": {
687
737
  "domSafeProps": {
688
- "description": "When spreading props onto DOM elements in custom components, use domSafeProps() to remove non-DOM props.",
738
+ "description": "Use domSafeProps() to filter non-DOM props when spreading.",
689
739
  "nonSafeProps": [
690
740
  "marginRight",
691
741
  "marginLeft",
@@ -7259,6 +7309,122 @@
7259
7309
  }
7260
7310
  }
7261
7311
  },
7312
+ "pb_bar_graph": {
7313
+ "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
7314
+ "name": "PbBarGraph",
7315
+ "description": "PbBarGraph component",
7316
+ "platforms": [
7317
+ "react",
7318
+ "rails"
7319
+ ],
7320
+ "props": {
7321
+ "options": {
7322
+ "type": "Record<string, unknown>",
7323
+ "platforms": [
7324
+ "react",
7325
+ "rails"
7326
+ ]
7327
+ }
7328
+ },
7329
+ "globalProps": true,
7330
+ "usage": {
7331
+ "react": {
7332
+ "import": "import { PbBarGraph } from 'playbook-ui'",
7333
+ "example": "<PbBarGraph></PbBarGraph>"
7334
+ },
7335
+ "rails": {
7336
+ "import": null,
7337
+ "example": "<%= pb_rails(\"pb_bar_graph\", props: { text: \"Example\" }) %>"
7338
+ }
7339
+ }
7340
+ },
7341
+ "pb_circle_chart": {
7342
+ "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
7343
+ "name": "PbCircleChart",
7344
+ "description": "PbCircleChart component",
7345
+ "platforms": [
7346
+ "react",
7347
+ "rails"
7348
+ ],
7349
+ "props": {
7350
+ "options": {
7351
+ "type": "Record<string, unknown>",
7352
+ "platforms": [
7353
+ "react",
7354
+ "rails"
7355
+ ]
7356
+ }
7357
+ },
7358
+ "globalProps": true,
7359
+ "usage": {
7360
+ "react": {
7361
+ "import": "import { PbCircleChart } from 'playbook-ui'",
7362
+ "example": "<PbCircleChart></PbCircleChart>"
7363
+ },
7364
+ "rails": {
7365
+ "import": null,
7366
+ "example": "<%= pb_rails(\"pb_circle_chart\", props: { text: \"Example\" }) %>"
7367
+ }
7368
+ }
7369
+ },
7370
+ "pb_gauge_chart": {
7371
+ "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
7372
+ "name": "PbGaugeChart",
7373
+ "description": "PbGaugeChart component",
7374
+ "platforms": [
7375
+ "react",
7376
+ "rails"
7377
+ ],
7378
+ "props": {
7379
+ "options": {
7380
+ "type": "Record<string, unknown>",
7381
+ "platforms": [
7382
+ "react",
7383
+ "rails"
7384
+ ]
7385
+ }
7386
+ },
7387
+ "globalProps": true,
7388
+ "usage": {
7389
+ "react": {
7390
+ "import": "import { PbGaugeChart } from 'playbook-ui'",
7391
+ "example": "<PbGaugeChart></PbGaugeChart>"
7392
+ },
7393
+ "rails": {
7394
+ "import": null,
7395
+ "example": "<%= pb_rails(\"pb_gauge_chart\", props: { text: \"Example\" }) %>"
7396
+ }
7397
+ }
7398
+ },
7399
+ "pb_line_graph": {
7400
+ "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
7401
+ "name": "PbLineGraph",
7402
+ "description": "PbLineGraph component",
7403
+ "platforms": [
7404
+ "react",
7405
+ "rails"
7406
+ ],
7407
+ "props": {
7408
+ "options": {
7409
+ "type": "Record<string, unknown>",
7410
+ "platforms": [
7411
+ "react",
7412
+ "rails"
7413
+ ]
7414
+ }
7415
+ },
7416
+ "globalProps": true,
7417
+ "usage": {
7418
+ "react": {
7419
+ "import": "import { PbLineGraph } from 'playbook-ui'",
7420
+ "example": "<PbLineGraph></PbLineGraph>"
7421
+ },
7422
+ "rails": {
7423
+ "import": null,
7424
+ "example": "<%= pb_rails(\"pb_line_graph\", props: { text: \"Example\" }) %>"
7425
+ }
7426
+ }
7427
+ },
7262
7428
  "person": {
7263
7429
  "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
7264
7430
  "name": "Person",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "$schema": "https://playbook.powerapp.cloud/schemas/global-props-schema.json",
3
3
  "name": "GlobalProps",
4
- "description": "Global props available on all Playbook components. These props provide consistent spacing, layout, display, and styling across the design system.",
4
+ "description": "Global props available on all Playbook components for consistent spacing, layout, and styling.",
5
5
  "breakpoints": {
6
6
  "xs": "0-575px",
7
- "sm": "576-767px",
8
- "md": "768-991px",
9
- "lg": "992-1199px",
7
+ "sm": "576px-767px",
8
+ "md": "768px-991px",
9
+ "lg": "992px-1199px",
10
10
  "xl": "1200px+"
11
11
  },
12
12
  "spacing": {
@@ -23,18 +23,32 @@
23
23
  "initial",
24
24
  "inherit"
25
25
  ],
26
- "description": "Standard spacing scale used for margin and padding props.",
26
+ "description": "Standard spacing scale for margin/padding.",
27
27
  "tokens": {
28
- "none": "0",
29
28
  "xxs": "4px",
30
29
  "xs": "8px",
31
- "sm": "12px",
32
- "md": "16px",
33
- "lg": "24px",
34
- "xl": "32px"
30
+ "sm": "16px",
31
+ "md": "24px",
32
+ "lg": "32px",
33
+ "xl": "40px",
34
+ "none": "0"
35
35
  }
36
36
  },
37
37
  "props": {
38
+ "alignContent": {
39
+ "type": "enum | responsive",
40
+ "values": [
41
+ "start",
42
+ "end",
43
+ "center",
44
+ "spaceBetween",
45
+ "spaceAround",
46
+ "spaceEvenly"
47
+ ],
48
+ "responsive": true,
49
+ "description": "Align multi-line content.",
50
+ "example": "alignContent=\"start\" or alignContent={{ default: \"start\", md: \"end\" }}"
51
+ },
38
52
  "alignItems": {
39
53
  "type": "enum | responsive",
40
54
  "values": [
@@ -43,7 +57,8 @@
43
57
  "center"
44
58
  ],
45
59
  "responsive": true,
46
- "description": "Align items (cross axis alignment)."
60
+ "description": "Align items.",
61
+ "example": "alignItems=\"start\" or alignItems={{ default: \"start\", md: \"end\" }}"
47
62
  },
48
63
  "borderRadius": {
49
64
  "type": "enum",
@@ -71,11 +86,11 @@
71
86
  "wait",
72
87
  "cell"
73
88
  ],
74
- "description": "CSS cursor type."
89
+ "description": "CSS cursor."
75
90
  },
76
91
  "dark": {
77
92
  "type": "boolean",
78
- "description": "Applies dark mode styling.",
93
+ "description": "Dark.",
79
94
  "default": false
80
95
  },
81
96
  "flex": {
@@ -99,7 +114,8 @@
99
114
  "none"
100
115
  ],
101
116
  "responsive": true,
102
- "description": "Flex shorthand property."
117
+ "description": "Flex.",
118
+ "example": "flex=\"auto\" or flex={{ default: \"auto\", md: \"initial\" }}"
103
119
  },
104
120
  "flexDirection": {
105
121
  "type": "enum | responsive",
@@ -110,7 +126,8 @@
110
126
  "columnReverse"
111
127
  ],
112
128
  "responsive": true,
113
- "description": "Flex direction."
129
+ "description": "Flex direction.",
130
+ "example": "flexDirection=\"row\" or flexDirection={{ default: \"row\", md: \"column\" }}"
114
131
  },
115
132
  "flexWrap": {
116
133
  "type": "enum | responsive",
@@ -120,7 +137,22 @@
120
137
  "wrapReverse"
121
138
  ],
122
139
  "responsive": true,
123
- "description": "Flex wrap behavior."
140
+ "description": "Flex wrap.",
141
+ "example": "flexWrap=\"wrap\" or flexWrap={{ default: \"wrap\", md: \"nowrap\" }}"
142
+ },
143
+ "justifyContent": {
144
+ "type": "enum | responsive",
145
+ "values": [
146
+ "start",
147
+ "end",
148
+ "center",
149
+ "spaceBetween",
150
+ "spaceAround",
151
+ "spaceEvenly"
152
+ ],
153
+ "responsive": true,
154
+ "description": "Justify multi-line content.",
155
+ "example": "justifyContent=\"start\" or justifyContent={{ default: \"start\", md: \"end\" }}"
124
156
  },
125
157
  "lineHeight": {
126
158
  "type": "enum",
@@ -151,7 +183,8 @@
151
183
  "inherit"
152
184
  ],
153
185
  "responsive": true,
154
- "description": "Right margin."
186
+ "description": "Right margin.",
187
+ "example": "marginRight=\"none\" or marginRight={{ default: \"none\", md: \"xxs\" }}"
155
188
  },
156
189
  "marginLeft": {
157
190
  "type": "enum | responsive",
@@ -169,7 +202,8 @@
169
202
  "inherit"
170
203
  ],
171
204
  "responsive": true,
172
- "description": "Left margin."
205
+ "description": "Left margin.",
206
+ "example": "marginLeft=\"none\" or marginLeft={{ default: \"none\", md: \"xxs\" }}"
173
207
  },
174
208
  "marginTop": {
175
209
  "type": "enum | responsive",
@@ -187,7 +221,8 @@
187
221
  "inherit"
188
222
  ],
189
223
  "responsive": true,
190
- "description": "Top margin."
224
+ "description": "Top margin.",
225
+ "example": "marginTop=\"none\" or marginTop={{ default: \"none\", md: \"xxs\" }}"
191
226
  },
192
227
  "marginBottom": {
193
228
  "type": "enum | responsive",
@@ -205,7 +240,8 @@
205
240
  "inherit"
206
241
  ],
207
242
  "responsive": true,
208
- "description": "Bottom margin."
243
+ "description": "Bottom margin.",
244
+ "example": "marginBottom=\"none\" or marginBottom={{ default: \"none\", md: \"xxs\" }}"
209
245
  },
210
246
  "marginX": {
211
247
  "type": "enum | responsive",
@@ -223,7 +259,8 @@
223
259
  "inherit"
224
260
  ],
225
261
  "responsive": true,
226
- "description": "Horizontal margin (left and right)."
262
+ "description": "Horizontal margin (left + right).",
263
+ "example": "marginX=\"none\" or marginX={{ default: \"none\", md: \"xxs\" }}"
227
264
  },
228
265
  "marginY": {
229
266
  "type": "enum | responsive",
@@ -241,7 +278,8 @@
241
278
  "inherit"
242
279
  ],
243
280
  "responsive": true,
244
- "description": "Vertical margin (top and bottom)."
281
+ "description": "Vertical margin (top + bottom).",
282
+ "example": "marginY=\"none\" or marginY={{ default: \"none\", md: \"xxs\" }}"
245
283
  },
246
284
  "margin": {
247
285
  "type": "enum | responsive",
@@ -260,41 +298,44 @@
260
298
  ],
261
299
  "responsive": true,
262
300
  "description": "Margin on all sides.",
263
- "example": "margin=\"md\" or margin={{ default: \"sm\", md: \"lg\" }}"
301
+ "example": "margin=\"none\" or margin={{ default: \"none\", md: \"xxs\" }}"
264
302
  },
265
303
  "width": {
266
304
  "type": "string",
267
- "description": "CSS width. Supports values like \"100%\", \"50px\", \"auto\"."
305
+ "description": "CSS width."
268
306
  },
269
307
  "minWidth": {
270
308
  "type": "string",
271
- "description": "CSS min-width."
309
+ "description": "Minimum width."
272
310
  },
273
311
  "maxWidth": {
274
312
  "type": "string",
275
- "description": "CSS max-width."
313
+ "description": "Maximum width."
276
314
  },
277
315
  "gap": {
278
316
  "type": "string | responsive",
279
317
  "responsive": true,
280
- "description": "Gap between flex/grid items."
318
+ "description": "Gap.",
319
+ "example": "gap=\"md\" or gap={{ default: \"md\", md: \"lg\" }}"
281
320
  },
282
321
  "columnGap": {
283
322
  "type": "string | responsive",
284
323
  "responsive": true,
285
- "description": "Gap between columns."
324
+ "description": "Column gap.",
325
+ "example": "columnGap=\"md\" or columnGap={{ default: \"md\", md: \"lg\" }}"
286
326
  },
287
327
  "rowGap": {
288
328
  "type": "string | responsive",
289
329
  "responsive": true,
290
- "description": "Gap between rows."
330
+ "description": "Row gap.",
331
+ "example": "rowGap=\"md\" or rowGap={{ default: \"md\", md: \"lg\" }}"
291
332
  },
292
333
  "numberSpacing": {
293
334
  "type": "enum",
294
335
  "values": [
295
336
  "tabular"
296
337
  ],
297
- "description": "Number spacing for tabular alignment."
338
+ "description": "Number spacing."
298
339
  },
299
340
  "order": {
300
341
  "type": "enum | responsive",
@@ -315,7 +356,8 @@
315
356
  12
316
357
  ],
317
358
  "responsive": true,
318
- "description": "Flex order."
359
+ "description": "Order.",
360
+ "example": "order=\"none\" or order={{ default: \"none\", md: \"first\" }}"
319
361
  },
320
362
  "overflowX": {
321
363
  "type": "enum",
@@ -325,7 +367,7 @@
325
367
  "hidden",
326
368
  "auto"
327
369
  ],
328
- "description": "CSS overflow-x property."
370
+ "description": "Horizontal overflow (left + right)."
329
371
  },
330
372
  "overflowY": {
331
373
  "type": "enum",
@@ -335,7 +377,7 @@
335
377
  "hidden",
336
378
  "auto"
337
379
  ],
338
- "description": "CSS overflow-y property."
380
+ "description": "Vertical overflow (top + bottom)."
339
381
  },
340
382
  "overflow": {
341
383
  "type": "enum",
@@ -345,7 +387,7 @@
345
387
  "hidden",
346
388
  "auto"
347
389
  ],
348
- "description": "CSS overflow property."
390
+ "description": "CSS overflow."
349
391
  },
350
392
  "paddingRight": {
351
393
  "type": "enum | responsive",
@@ -363,7 +405,8 @@
363
405
  "inherit"
364
406
  ],
365
407
  "responsive": true,
366
- "description": "Right padding."
408
+ "description": "Right padding.",
409
+ "example": "paddingRight=\"none\" or paddingRight={{ default: \"none\", md: \"xxs\" }}"
367
410
  },
368
411
  "paddingLeft": {
369
412
  "type": "enum | responsive",
@@ -381,7 +424,8 @@
381
424
  "inherit"
382
425
  ],
383
426
  "responsive": true,
384
- "description": "Left padding."
427
+ "description": "Left padding.",
428
+ "example": "paddingLeft=\"none\" or paddingLeft={{ default: \"none\", md: \"xxs\" }}"
385
429
  },
386
430
  "paddingTop": {
387
431
  "type": "enum | responsive",
@@ -399,7 +443,8 @@
399
443
  "inherit"
400
444
  ],
401
445
  "responsive": true,
402
- "description": "Top padding."
446
+ "description": "Top padding.",
447
+ "example": "paddingTop=\"none\" or paddingTop={{ default: \"none\", md: \"xxs\" }}"
403
448
  },
404
449
  "paddingBottom": {
405
450
  "type": "enum | responsive",
@@ -417,7 +462,8 @@
417
462
  "inherit"
418
463
  ],
419
464
  "responsive": true,
420
- "description": "Bottom padding."
465
+ "description": "Bottom padding.",
466
+ "example": "paddingBottom=\"none\" or paddingBottom={{ default: \"none\", md: \"xxs\" }}"
421
467
  },
422
468
  "paddingX": {
423
469
  "type": "enum | responsive",
@@ -435,7 +481,8 @@
435
481
  "inherit"
436
482
  ],
437
483
  "responsive": true,
438
- "description": "Horizontal padding (left and right)."
484
+ "description": "Horizontal padding (left + right).",
485
+ "example": "paddingX=\"none\" or paddingX={{ default: \"none\", md: \"xxs\" }}"
439
486
  },
440
487
  "paddingY": {
441
488
  "type": "enum | responsive",
@@ -453,7 +500,8 @@
453
500
  "inherit"
454
501
  ],
455
502
  "responsive": true,
456
- "description": "Vertical padding (top and bottom)."
503
+ "description": "Vertical padding (top + bottom).",
504
+ "example": "paddingY=\"none\" or paddingY={{ default: \"none\", md: \"xxs\" }}"
457
505
  },
458
506
  "padding": {
459
507
  "type": "enum | responsive",
@@ -472,7 +520,7 @@
472
520
  ],
473
521
  "responsive": true,
474
522
  "description": "Padding on all sides.",
475
- "example": "padding=\"md\" or padding={{ default: \"sm\", md: \"lg\" }}"
523
+ "example": "padding=\"none\" or padding={{ default: \"none\", md: \"xxs\" }}"
476
524
  },
477
525
  "position": {
478
526
  "type": "enum",
@@ -483,7 +531,7 @@
483
531
  "sticky",
484
532
  "static"
485
533
  ],
486
- "description": "CSS position property."
534
+ "description": "CSS position."
487
535
  },
488
536
  "shadow": {
489
537
  "type": "enum",
@@ -493,7 +541,7 @@
493
541
  "deeper",
494
542
  "deepest"
495
543
  ],
496
- "description": "Box shadow depth."
544
+ "description": "Shadow."
497
545
  },
498
546
  "textAlign": {
499
547
  "type": "enum | responsive",
@@ -508,7 +556,8 @@
508
556
  "matchParent"
509
557
  ],
510
558
  "responsive": true,
511
- "description": "Text alignment."
559
+ "description": "Text align.",
560
+ "example": "textAlign=\"start\" or textAlign={{ default: \"start\", md: \"end\" }}"
512
561
  },
513
562
  "truncate": {
514
563
  "type": "enum",
@@ -520,7 +569,7 @@
520
569
  4,
521
570
  5
522
571
  ],
523
- "description": "Truncates text with ellipsis after specified number of lines."
572
+ "description": "Truncate."
524
573
  },
525
574
  "verticalAlign": {
526
575
  "type": "enum | responsive",
@@ -535,7 +584,8 @@
535
584
  "text-bottom"
536
585
  ],
537
586
  "responsive": true,
538
- "description": "Vertical alignment."
587
+ "description": "Vertical align.",
588
+ "example": "verticalAlign=\"baseline\" or verticalAlign={{ default: \"baseline\", md: \"super\" }}"
539
589
  },
540
590
  "zIndex": {
541
591
  "type": "enum | responsive",
@@ -553,7 +603,8 @@
553
603
  "max"
554
604
  ],
555
605
  "responsive": true,
556
- "description": "Z-index stacking order."
606
+ "description": "Z index.",
607
+ "example": "zIndex=\"1\" or zIndex={{ default: \"1\", md: \"2\" }}"
557
608
  },
558
609
  "top": {
559
610
  "type": "enum | object",
@@ -566,11 +617,11 @@
566
617
  "xl",
567
618
  "xxl"
568
619
  ],
569
- "description": "Top positioning. Can use object: { value: \"sm\", inset: true }."
620
+ "description": "Top offset."
570
621
  },
571
622
  "inset": {
572
623
  "type": "boolean",
573
- "description": "inset property.",
624
+ "description": "Inset.",
574
625
  "default": false
575
626
  },
576
627
  "right": {
@@ -584,7 +635,7 @@
584
635
  "xl",
585
636
  "xxl"
586
637
  ],
587
- "description": "Right positioning. Can use object: { value: \"sm\", inset: true }."
638
+ "description": "Right offset."
588
639
  },
589
640
  "bottom": {
590
641
  "type": "enum | object",
@@ -597,7 +648,7 @@
597
648
  "xl",
598
649
  "xxl"
599
650
  ],
600
- "description": "Bottom positioning. Can use object: { value: \"sm\", inset: true }."
651
+ "description": "Bottom offset."
601
652
  },
602
653
  "left": {
603
654
  "type": "enum | object",
@@ -610,11 +661,11 @@
610
661
  "xl",
611
662
  "xxl"
612
663
  ],
613
- "description": "Left positioning. Can use object: { value: \"sm\", inset: true }."
664
+ "description": "Left offset."
614
665
  },
615
666
  "height": {
616
667
  "type": "string",
617
- "description": "Height. Predefined values or custom CSS value."
668
+ "description": "CSS height."
618
669
  },
619
670
  "maxHeight": {
620
671
  "type": "string",
@@ -657,34 +708,33 @@
657
708
  "type": "boolean"
658
709
  }
659
710
  },
660
- "description": "Hover state effects.",
711
+ "description": "Hover.",
661
712
  "example": "hover={{ shadow: \"deep\", scale: \"sm\" }}"
662
713
  },
663
714
  "groupHover": {
664
715
  "type": "boolean",
665
716
  "default": false,
666
- "description": "Enables group hover styling."
717
+ "description": "Group hover."
667
718
  }
668
719
  },
669
720
  "responsiveUsage": {
670
- "description": "Many global props support responsive values using an object with breakpoint keys.",
721
+ "description": "Props marked responsive accept breakpoint objects.",
671
722
  "example": {
672
- "padding": "{{ default: \"sm\", xs: \"xs\", md: \"md\", lg: \"lg\" }}",
673
- "display": "{{ default: \"block\", md: \"flex\" }}",
674
- "textAlign": "{{ default: \"center\", lg: \"left\" }}"
723
+ "padding": "{{ default: \"sm\", md: \"lg\" }}",
724
+ "display": "{{ default: \"block\", md: \"flex\" }}"
675
725
  },
676
726
  "breakpoints": {
677
- "default": "Base value (mobile-first)",
727
+ "default": "Base (mobile-first)",
678
728
  "xs": "0-575px",
679
- "sm": "576-767px",
680
- "md": "768-991px",
681
- "lg": "992-1199px",
729
+ "sm": "576px-767px",
730
+ "md": "768px-991px",
731
+ "lg": "992px-1199px",
682
732
  "xl": "1200px+"
683
733
  }
684
734
  },
685
735
  "warnings": {
686
736
  "domSafeProps": {
687
- "description": "When spreading props onto DOM elements in custom components, use domSafeProps() to remove non-DOM props.",
737
+ "description": "Use domSafeProps() to filter non-DOM props when spreading.",
688
738
  "nonSafeProps": [
689
739
  "marginRight",
690
740
  "marginLeft",
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "16.4.0-alpha.testingmetadata15452",
3
- "generated": "2026-04-03T11:53:25.451Z",
2
+ "version": "16.4.0-alpha.testingmetadata15488",
3
+ "generated": "2026-04-03T17:40:03.081Z",
4
4
  "schemas": {
5
5
  "globalProps": "global-props.schema.json",
6
6
  "kits": {
@@ -68,6 +68,10 @@
68
68
  "overlay": "kits/overlay.schema.json",
69
69
  "pagination": "kits/pagination.schema.json",
70
70
  "passphrase": "kits/passphrase.schema.json",
71
+ "pb_bar_graph": "kits/pb_bar_graph.schema.json",
72
+ "pb_circle_chart": "kits/pb_circle_chart.schema.json",
73
+ "pb_gauge_chart": "kits/pb_gauge_chart.schema.json",
74
+ "pb_line_graph": "kits/pb_line_graph.schema.json",
71
75
  "person": "kits/person.schema.json",
72
76
  "person_contact": "kits/person_contact.schema.json",
73
77
  "phone_number_input": "kits/phone_number_input.schema.json",
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
3
+ "name": "PbBarGraph",
4
+ "description": "PbBarGraph component",
5
+ "platforms": [
6
+ "react",
7
+ "rails"
8
+ ],
9
+ "props": {
10
+ "options": {
11
+ "type": "Record<string, unknown>",
12
+ "platforms": [
13
+ "react",
14
+ "rails"
15
+ ]
16
+ }
17
+ },
18
+ "globalProps": true,
19
+ "usage": {
20
+ "react": {
21
+ "import": "import { PbBarGraph } from 'playbook-ui'",
22
+ "example": "<PbBarGraph></PbBarGraph>"
23
+ },
24
+ "rails": {
25
+ "import": null,
26
+ "example": "<%= pb_rails(\"pb_bar_graph\", props: { text: \"Example\" }) %>"
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
3
+ "name": "PbCircleChart",
4
+ "description": "PbCircleChart component",
5
+ "platforms": [
6
+ "react",
7
+ "rails"
8
+ ],
9
+ "props": {
10
+ "options": {
11
+ "type": "Record<string, unknown>",
12
+ "platforms": [
13
+ "react",
14
+ "rails"
15
+ ]
16
+ }
17
+ },
18
+ "globalProps": true,
19
+ "usage": {
20
+ "react": {
21
+ "import": "import { PbCircleChart } from 'playbook-ui'",
22
+ "example": "<PbCircleChart></PbCircleChart>"
23
+ },
24
+ "rails": {
25
+ "import": null,
26
+ "example": "<%= pb_rails(\"pb_circle_chart\", props: { text: \"Example\" }) %>"
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
3
+ "name": "PbGaugeChart",
4
+ "description": "PbGaugeChart component",
5
+ "platforms": [
6
+ "react",
7
+ "rails"
8
+ ],
9
+ "props": {
10
+ "options": {
11
+ "type": "Record<string, unknown>",
12
+ "platforms": [
13
+ "react",
14
+ "rails"
15
+ ]
16
+ }
17
+ },
18
+ "globalProps": true,
19
+ "usage": {
20
+ "react": {
21
+ "import": "import { PbGaugeChart } from 'playbook-ui'",
22
+ "example": "<PbGaugeChart></PbGaugeChart>"
23
+ },
24
+ "rails": {
25
+ "import": null,
26
+ "example": "<%= pb_rails(\"pb_gauge_chart\", props: { text: \"Example\" }) %>"
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://playbook.powerapp.cloud/schemas/kit-schema.json",
3
+ "name": "PbLineGraph",
4
+ "description": "PbLineGraph component",
5
+ "platforms": [
6
+ "react",
7
+ "rails"
8
+ ],
9
+ "props": {
10
+ "options": {
11
+ "type": "Record<string, unknown>",
12
+ "platforms": [
13
+ "react",
14
+ "rails"
15
+ ]
16
+ }
17
+ },
18
+ "globalProps": true,
19
+ "usage": {
20
+ "react": {
21
+ "import": "import { PbLineGraph } from 'playbook-ui'",
22
+ "example": "<PbLineGraph></PbLineGraph>"
23
+ },
24
+ "rails": {
25
+ "import": null,
26
+ "example": "<%= pb_rails(\"pb_line_graph\", props: { text: \"Example\" }) %>"
27
+ }
28
+ }
29
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playbook-ui",
3
- "version": "16.4.0-alpha.testingmetadata15452",
3
+ "version": "16.4.0-alpha.testingmetadata15488",
4
4
  "description": "Nitro's Design System",
5
5
  "main": "./dist/playbook.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -99,7 +99,6 @@
99
99
  "jest": "26.6.3",
100
100
  "jest-axe": "4.1.0",
101
101
  "jest-fail-on-console": "3.2.0",
102
- "js-yaml": "^4.1.1",
103
102
  "lazysizes": "^5.3.2",
104
103
  "react": "^17.0.2",
105
104
  "react-dom": "^17.0.2",