@atlaskit/primitives 1.0.1 → 1.0.2

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/constellation/grid/code.mdx +7 -0
  3. package/constellation/grid/examples.mdx +38 -0
  4. package/dist/cjs/components/flex.js +7 -3
  5. package/dist/cjs/components/grid.js +127 -0
  6. package/dist/cjs/components/inline.js +16 -48
  7. package/dist/cjs/components/stack.js +19 -39
  8. package/dist/cjs/index.js +13 -0
  9. package/dist/cjs/version.json +1 -1
  10. package/dist/cjs/xcss/xcss.js +1 -1
  11. package/dist/es2019/components/flex.js +6 -3
  12. package/dist/es2019/components/grid.js +118 -0
  13. package/dist/es2019/components/inline.js +15 -49
  14. package/dist/es2019/components/stack.js +18 -40
  15. package/dist/es2019/index.js +2 -1
  16. package/dist/es2019/responsive/build-media-query-css.js +0 -1
  17. package/dist/es2019/version.json +1 -1
  18. package/dist/es2019/xcss/xcss.js +1 -1
  19. package/dist/esm/components/flex.js +7 -3
  20. package/dist/esm/components/grid.js +119 -0
  21. package/dist/esm/components/inline.js +16 -49
  22. package/dist/esm/components/stack.js +19 -40
  23. package/dist/esm/index.js +2 -1
  24. package/dist/esm/version.json +1 -1
  25. package/dist/esm/xcss/xcss.js +1 -1
  26. package/dist/types/components/flex.d.ts +17 -8
  27. package/dist/types/components/grid.d.ts +154 -0
  28. package/dist/types/components/inline.d.ts +50 -12
  29. package/dist/types/components/stack.d.ts +38 -8
  30. package/dist/types/index.d.ts +2 -1
  31. package/dist/types/xcss/xcss.d.ts +11 -14
  32. package/dist/types-ts4.5/components/flex.d.ts +17 -8
  33. package/dist/types-ts4.5/components/grid.d.ts +154 -0
  34. package/dist/types-ts4.5/components/inline.d.ts +50 -12
  35. package/dist/types-ts4.5/components/stack.d.ts +38 -8
  36. package/dist/types-ts4.5/index.d.ts +2 -1
  37. package/dist/types-ts4.5/xcss/xcss.d.ts +11 -14
  38. package/package.json +21 -14
  39. package/report.api.md +270 -59
  40. package/tmp/api-report-tmp.d.ts +122 -37
package/report.api.md CHANGED
@@ -47,12 +47,24 @@ type AlignInline_2 = 'center' | 'end' | 'start';
47
47
  // @public (undocumented)
48
48
  type AlignItems = keyof typeof alignItemsMap;
49
49
 
50
+ // @public (undocumented)
51
+ type AlignItems_2 = keyof typeof alignItemsMap_2;
52
+
50
53
  // @public (undocumented)
51
54
  const alignItemsMap: {
52
55
  readonly start: SerializedStyles_2;
53
56
  readonly center: SerializedStyles_2;
54
57
  readonly baseline: SerializedStyles_2;
55
58
  readonly end: SerializedStyles_2;
59
+ readonly stretch: SerializedStyles_2;
60
+ };
61
+
62
+ // @public (undocumented)
63
+ const alignItemsMap_2: {
64
+ readonly start: SerializedStyles_2;
65
+ readonly center: SerializedStyles_2;
66
+ readonly baseline: SerializedStyles_2;
67
+ readonly end: SerializedStyles_2;
56
68
  };
57
69
 
58
70
  // @public (undocumented)
@@ -78,6 +90,9 @@ type As =
78
90
  // @public (undocumented)
79
91
  type AutoComplete<T extends string> = Omit<string, T> | T;
80
92
 
93
+ // @public (undocumented)
94
+ type AutoFlow = keyof typeof gridAutoFlowMap;
95
+
81
96
  // @public (undocumented)
82
97
  export type BackgroundColor = keyof typeof backgroundColorMap;
83
98
 
@@ -307,6 +322,7 @@ const boxTag: unique symbol;
307
322
  // @public (undocumented)
308
323
  type BoxXCSS =
309
324
  | false
325
+ | undefined
310
326
  | {
311
327
  readonly [uniqueSymbol]: BoxStyles;
312
328
  };
@@ -347,7 +363,7 @@ export const Flex: MemoExoticComponent<
347
363
  ForwardRefExoticComponent<
348
364
  Pick<
349
365
  {
350
- as?: 'div' | 'ol' | 'span' | 'ul' | undefined;
366
+ as?: 'div' | 'li' | 'ol' | 'span' | 'ul' | undefined;
351
367
  justifyContent?:
352
368
  | 'center'
353
369
  | 'end'
@@ -357,7 +373,29 @@ export const Flex: MemoExoticComponent<
357
373
  | 'start'
358
374
  | 'stretch'
359
375
  | undefined;
360
- alignItems?: 'baseline' | 'center' | 'end' | 'start' | undefined;
376
+ alignItems?:
377
+ | 'baseline'
378
+ | 'center'
379
+ | 'end'
380
+ | 'start'
381
+ | 'stretch'
382
+ | undefined;
383
+ columnGap?:
384
+ | 'space.0'
385
+ | 'space.025'
386
+ | 'space.050'
387
+ | 'space.075'
388
+ | 'space.100'
389
+ | 'space.1000'
390
+ | 'space.150'
391
+ | 'space.200'
392
+ | 'space.250'
393
+ | 'space.300'
394
+ | 'space.400'
395
+ | 'space.500'
396
+ | 'space.600'
397
+ | 'space.800'
398
+ | undefined;
361
399
  gap?:
362
400
  | 'space.0'
363
401
  | 'space.025'
@@ -398,6 +436,7 @@ export const Flex: MemoExoticComponent<
398
436
  | 'alignItems'
399
437
  | 'as'
400
438
  | 'children'
439
+ | 'columnGap'
401
440
  | 'direction'
402
441
  | 'gap'
403
442
  | 'justifyContent'
@@ -417,9 +456,10 @@ const flexDirectionMap: {
417
456
 
418
457
  // @public (undocumented)
419
458
  export type FlexProps<T extends ElementType = 'div'> = {
420
- as?: 'div' | 'ol' | 'span' | 'ul';
459
+ as?: 'div' | 'li' | 'ol' | 'span' | 'ul';
421
460
  justifyContent?: JustifyContent;
422
461
  alignItems?: AlignItems;
462
+ columnGap?: Space;
423
463
  gap?: Space;
424
464
  rowGap?: Space;
425
465
  direction?: Direction;
@@ -434,6 +474,125 @@ const flexWrapMap: {
434
474
  readonly nowrap: SerializedStyles_2;
435
475
  };
436
476
 
477
+ // @public
478
+ export const Grid: MemoExoticComponent<
479
+ ForwardRefExoticComponent<
480
+ Pick<
481
+ {
482
+ as?: 'div' | 'ol' | 'span' | 'ul' | undefined;
483
+ justifyContent?:
484
+ | 'center'
485
+ | 'end'
486
+ | 'space-around'
487
+ | 'space-between'
488
+ | 'space-evenly'
489
+ | 'start'
490
+ | 'stretch'
491
+ | undefined;
492
+ alignItems?: 'baseline' | 'center' | 'end' | 'start' | undefined;
493
+ columnGap?:
494
+ | 'space.0'
495
+ | 'space.025'
496
+ | 'space.050'
497
+ | 'space.075'
498
+ | 'space.100'
499
+ | 'space.1000'
500
+ | 'space.150'
501
+ | 'space.200'
502
+ | 'space.250'
503
+ | 'space.300'
504
+ | 'space.400'
505
+ | 'space.500'
506
+ | 'space.600'
507
+ | 'space.800'
508
+ | undefined;
509
+ gap?:
510
+ | 'space.0'
511
+ | 'space.025'
512
+ | 'space.050'
513
+ | 'space.075'
514
+ | 'space.100'
515
+ | 'space.1000'
516
+ | 'space.150'
517
+ | 'space.200'
518
+ | 'space.250'
519
+ | 'space.300'
520
+ | 'space.400'
521
+ | 'space.500'
522
+ | 'space.600'
523
+ | 'space.800'
524
+ | undefined;
525
+ rowGap?:
526
+ | 'space.0'
527
+ | 'space.025'
528
+ | 'space.050'
529
+ | 'space.075'
530
+ | 'space.100'
531
+ | 'space.1000'
532
+ | 'space.150'
533
+ | 'space.200'
534
+ | 'space.250'
535
+ | 'space.300'
536
+ | 'space.400'
537
+ | 'space.500'
538
+ | 'space.600'
539
+ | 'space.800'
540
+ | undefined;
541
+ autoFlow?:
542
+ | 'column dense'
543
+ | 'column'
544
+ | 'dense'
545
+ | 'row dense'
546
+ | 'row'
547
+ | undefined;
548
+ templateRows?: string | undefined;
549
+ templateColumns?: string | undefined;
550
+ templateAreas?: string[] | undefined;
551
+ children: ReactNode;
552
+ ref?: any;
553
+ } & BasePrimitiveProps,
554
+ | 'alignItems'
555
+ | 'as'
556
+ | 'autoFlow'
557
+ | 'children'
558
+ | 'columnGap'
559
+ | 'gap'
560
+ | 'justifyContent'
561
+ | 'rowGap'
562
+ | 'templateAreas'
563
+ | 'templateColumns'
564
+ | 'templateRows'
565
+ | keyof BasePrimitiveProps
566
+ > &
567
+ RefAttributes<any>
568
+ >
569
+ >;
570
+
571
+ // @public (undocumented)
572
+ const gridAutoFlowMap: {
573
+ readonly row: SerializedStyles_2;
574
+ readonly column: SerializedStyles_2;
575
+ readonly dense: SerializedStyles_2;
576
+ readonly 'row dense': SerializedStyles_2;
577
+ readonly 'column dense': SerializedStyles_2;
578
+ };
579
+
580
+ // @public (undocumented)
581
+ export type GridProps<T extends ElementType = 'div'> = {
582
+ as?: 'div' | 'ol' | 'span' | 'ul';
583
+ justifyContent?: JustifyContent_2;
584
+ alignItems?: AlignItems_2;
585
+ columnGap?: Space;
586
+ gap?: Space;
587
+ rowGap?: Space;
588
+ autoFlow?: AutoFlow;
589
+ templateRows?: string;
590
+ templateColumns?: string;
591
+ templateAreas?: string[];
592
+ children: ReactNode;
593
+ ref?: React.ComponentPropsWithRef<T>['ref'];
594
+ } & BasePrimitiveProps;
595
+
437
596
  // @public (undocumented)
438
597
  type Grow = 'fill' | 'hug';
439
598
 
@@ -444,7 +603,49 @@ type Grow_2 = 'fill' | 'hug';
444
603
  export const Inline: MemoExoticComponent<
445
604
  ForwardRefExoticComponent<
446
605
  Pick<
447
- InlineProps<ElementType<any>>,
606
+ {
607
+ as?: 'div' | 'li' | 'ol' | 'span' | 'ul' | undefined;
608
+ alignBlock?: AlignBlock | undefined;
609
+ alignInline?: AlignInline | undefined;
610
+ shouldWrap?: boolean | undefined;
611
+ spread?: 'space-between' | undefined;
612
+ grow?: Grow | undefined;
613
+ space?:
614
+ | 'space.0'
615
+ | 'space.025'
616
+ | 'space.050'
617
+ | 'space.075'
618
+ | 'space.100'
619
+ | 'space.1000'
620
+ | 'space.150'
621
+ | 'space.200'
622
+ | 'space.250'
623
+ | 'space.300'
624
+ | 'space.400'
625
+ | 'space.500'
626
+ | 'space.600'
627
+ | 'space.800'
628
+ | undefined;
629
+ rowSpace?:
630
+ | 'space.0'
631
+ | 'space.025'
632
+ | 'space.050'
633
+ | 'space.075'
634
+ | 'space.100'
635
+ | 'space.1000'
636
+ | 'space.150'
637
+ | 'space.200'
638
+ | 'space.250'
639
+ | 'space.300'
640
+ | 'space.400'
641
+ | 'space.500'
642
+ | 'space.600'
643
+ | 'space.800'
644
+ | undefined;
645
+ separator?: string | undefined;
646
+ children: ReactNode;
647
+ ref?: any;
648
+ } & BasePrimitiveProps,
448
649
  | 'alignBlock'
449
650
  | 'alignInline'
450
651
  | 'as'
@@ -455,48 +656,46 @@ export const Inline: MemoExoticComponent<
455
656
  | 'shouldWrap'
456
657
  | 'space'
457
658
  | 'spread'
458
- | 'testId'
459
- | 'xcss'
659
+ | keyof BasePrimitiveProps
460
660
  > &
461
661
  RefAttributes<any>
462
662
  >
463
663
  >;
464
664
 
465
665
  // @public (undocumented)
466
- export interface InlineProps<T extends ElementType = 'div'> {
666
+ export type InlineProps<T extends ElementType = 'div'> = {
667
+ as?: 'div' | 'li' | 'ol' | 'span' | 'ul';
467
668
  alignBlock?: AlignBlock;
468
669
  alignInline?: AlignInline;
469
- as?: 'div' | 'li' | 'ol' | 'span' | 'ul';
470
- children: ReactNode;
670
+ shouldWrap?: boolean;
671
+ spread?: Spread;
471
672
  grow?: Grow;
472
- ref?: React.ComponentPropsWithRef<T>['ref'];
673
+ space?: Space;
473
674
  rowSpace?: Space;
474
675
  separator?: string;
475
- shouldWrap?: boolean;
476
- space?: Space;
477
- spread?: Spread;
478
- testId?: string;
479
- xcss?: Array<InlineXCSS | false | undefined> | InlineXCSS;
480
- }
676
+ children: ReactNode;
677
+ ref?: React.ComponentPropsWithRef<T>['ref'];
678
+ } & BasePrimitiveProps;
481
679
 
482
680
  // @public (undocumented)
483
- type InlineStyles = SerializedStyles & {
484
- [inlineTag]: true;
485
- };
681
+ type JustifyContent = keyof typeof justifyContentMap;
486
682
 
487
683
  // @public (undocumented)
488
- const inlineTag: unique symbol;
684
+ type JustifyContent_2 = keyof typeof justifyContentMap_2;
489
685
 
490
686
  // @public (undocumented)
491
- type InlineXCSS = {
492
- readonly [uniqueSymbol]: InlineStyles;
687
+ const justifyContentMap: {
688
+ readonly start: SerializedStyles_2;
689
+ readonly center: SerializedStyles_2;
690
+ readonly end: SerializedStyles_2;
691
+ readonly 'space-between': SerializedStyles_2;
692
+ readonly 'space-around': SerializedStyles_2;
693
+ readonly 'space-evenly': SerializedStyles_2;
694
+ readonly stretch: SerializedStyles_2;
493
695
  };
494
696
 
495
697
  // @public (undocumented)
496
- type JustifyContent = keyof typeof justifyContentMap;
497
-
498
- // @public (undocumented)
499
- const justifyContentMap: {
698
+ const justifyContentMap_2: {
500
699
  readonly start: SerializedStyles_2;
501
700
  readonly center: SerializedStyles_2;
502
701
  readonly end: SerializedStyles_2;
@@ -523,7 +722,7 @@ const layerMap: {
523
722
  };
524
723
 
525
724
  // @public
526
- const media: {
725
+ export const media: {
527
726
  readonly above: {
528
727
  readonly xxs: '@media all';
529
728
  readonly xs: '@media (min-width: 30rem)';
@@ -600,6 +799,14 @@ const spaceMap: {
600
799
  'space.1000': 'var(--ds-space-1000)';
601
800
  };
602
801
 
802
+ // @public (undocumented)
803
+ type SpaceStyles = SerializedStyles & {
804
+ [spaceTag]: true;
805
+ };
806
+
807
+ // @public (undocumented)
808
+ const spaceTag: unique symbol;
809
+
603
810
  // @public (undocumented)
604
811
  type Spacing =
605
812
  | 'columnGap'
@@ -642,7 +849,31 @@ type Spread_2 = 'space-between';
642
849
  export const Stack: MemoExoticComponent<
643
850
  ForwardRefExoticComponent<
644
851
  Pick<
645
- StackProps<ElementType<any>>,
852
+ {
853
+ as?: 'div' | 'ol' | 'span' | 'ul' | undefined;
854
+ alignBlock?: AlignBlock_2 | undefined;
855
+ alignInline?: AlignInline_2 | undefined;
856
+ spread?: 'space-between' | undefined;
857
+ grow?: Grow_2 | undefined;
858
+ space?:
859
+ | 'space.0'
860
+ | 'space.025'
861
+ | 'space.050'
862
+ | 'space.075'
863
+ | 'space.100'
864
+ | 'space.1000'
865
+ | 'space.150'
866
+ | 'space.200'
867
+ | 'space.250'
868
+ | 'space.300'
869
+ | 'space.400'
870
+ | 'space.500'
871
+ | 'space.600'
872
+ | 'space.800'
873
+ | undefined;
874
+ children: ReactNode;
875
+ ref?: any;
876
+ } & BasePrimitiveProps,
646
877
  | 'alignBlock'
647
878
  | 'alignInline'
648
879
  | 'as'
@@ -650,24 +881,23 @@ export const Stack: MemoExoticComponent<
650
881
  | 'grow'
651
882
  | 'space'
652
883
  | 'spread'
653
- | 'testId'
884
+ | keyof BasePrimitiveProps
654
885
  > &
655
886
  RefAttributes<any>
656
887
  >
657
888
  >;
658
889
 
659
890
  // @public (undocumented)
660
- export interface StackProps<T extends ElementType = 'div'> {
891
+ export type StackProps<T extends ElementType = 'div'> = {
892
+ as?: 'div' | 'ol' | 'span' | 'ul';
661
893
  alignBlock?: AlignBlock_2;
662
894
  alignInline?: AlignInline_2;
663
- as?: 'div' | 'ol' | 'span' | 'ul';
664
- children: ReactNode;
895
+ spread?: Spread_2;
665
896
  grow?: Grow_2;
666
- ref?: React.ComponentPropsWithRef<T>['ref'];
667
897
  space?: Space;
668
- spread?: Spread_2;
669
- testId?: string;
670
- }
898
+ children: ReactNode;
899
+ ref?: React.ComponentPropsWithRef<T>['ref'];
900
+ } & BasePrimitiveProps;
671
901
 
672
902
  // @public (undocumented)
673
903
  type TextColor = keyof typeof textColorMap;
@@ -830,12 +1060,12 @@ export const UNSAFE_media: {
830
1060
  type Wrap = keyof typeof flexWrapMap;
831
1061
 
832
1062
  // @public
833
- export function xcss<Primitive extends typeof Box | typeof Inline = typeof Box>(
1063
+ export function xcss<Primitive extends typeof Box | void = typeof Box>(
834
1064
  style: Primitive extends typeof Box
835
1065
  ?
836
1066
  | ScopedSafeCSSObject<AllowedBoxStyles>
837
1067
  | ScopedSafeCSSObject<AllowedBoxStyles>[]
838
- : Primitive extends typeof Inline
1068
+ : Primitive extends void
839
1069
  ? ScopedSafeCSSObject<Spacing> | ScopedSafeCSSObject<Spacing>[]
840
1070
  : never,
841
1071
  ): {
@@ -846,27 +1076,8 @@ export function xcss<Primitive extends typeof Box | typeof Inline = typeof Box>(
846
1076
  ) => ReactElement<any, JSXElementConstructor<any> | string> | null) &
847
1077
  FC<BoxProps<'div'>>
848
1078
  ? BoxStyles
849
- : Primitive extends MemoExoticComponent<
850
- ForwardRefExoticComponent<
851
- Pick<
852
- InlineProps<ElementType<any>>,
853
- | 'alignBlock'
854
- | 'alignInline'
855
- | 'as'
856
- | 'children'
857
- | 'grow'
858
- | 'rowSpace'
859
- | 'separator'
860
- | 'shouldWrap'
861
- | 'space'
862
- | 'spread'
863
- | 'testId'
864
- | 'xcss'
865
- > &
866
- RefAttributes<any>
867
- >
868
- >
869
- ? InlineStyles
1079
+ : Primitive extends void
1080
+ ? SpaceStyles
870
1081
  : never;
871
1082
  };
872
1083