@tcn/ui 0.8.0 → 0.8.1

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 (121) hide show
  1. package/dist/{Color-6BZIO3FS-CWWwv-fq.js → Color-6BZIO3FS-C9xkPWgz.js} +2 -2
  2. package/dist/{Color-6BZIO3FS-CWWwv-fq.js.map → Color-6BZIO3FS-C9xkPWgz.js.map} +1 -1
  3. package/dist/{WithTooltip-65CFNBJE-DvcUZizH.js → WithTooltip-65CFNBJE-DEnh547F.js} +2 -2
  4. package/dist/{WithTooltip-65CFNBJE-DvcUZizH.js.map → WithTooltip-65CFNBJE-DEnh547F.js.map} +1 -1
  5. package/dist/actions/__docs__/components/showcase.js +1 -1
  6. package/dist/actions/index.d.ts +1 -0
  7. package/dist/actions/index.d.ts.map +1 -1
  8. package/dist/actions/index.js +8 -6
  9. package/dist/actions/index.js.map +1 -1
  10. package/dist/body.css +1 -0
  11. package/dist/formatter-EIJCOSYU-DWmgEY3b.js +6 -0
  12. package/dist/{formatter-EIJCOSYU-D6nmx63h.js.map → formatter-EIJCOSYU-DWmgEY3b.js.map} +1 -1
  13. package/dist/inputs/color_input/color_input.js +10 -9
  14. package/dist/inputs/color_input/color_input.js.map +1 -1
  15. package/dist/inputs/date_picker/date_picker_header.js +7 -6
  16. package/dist/inputs/date_picker/date_picker_header.js.map +1 -1
  17. package/dist/inputs/date_picker/date_picker_input.js +3 -2
  18. package/dist/inputs/date_picker/date_picker_input.js.map +1 -1
  19. package/dist/inputs/date_picker/date_picker_time_selector.js +3 -2
  20. package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -1
  21. package/dist/inputs/date_picker/date_picker_year_input.js +6 -5
  22. package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -1
  23. package/dist/inputs/date_picker/date_picker_year_selector.js +3 -2
  24. package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -1
  25. package/dist/inputs/multiselect/multiselect_inline_values.js +8 -7
  26. package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -1
  27. package/dist/inputs/multiselect/multiselect_values.js +3 -2
  28. package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
  29. package/dist/inputs/phone_number_input/phone_number_input.js +44 -43
  30. package/dist/inputs/phone_number_input/phone_number_input.js.map +1 -1
  31. package/dist/inputs/select/select.js +3 -2
  32. package/dist/inputs/select/select.js.map +1 -1
  33. package/dist/inputs/suggestions/suggestion_list.js +3 -2
  34. package/dist/inputs/suggestions/suggestion_list.js.map +1 -1
  35. package/dist/layouts/body/body.d.ts +6 -0
  36. package/dist/layouts/body/body.d.ts.map +1 -0
  37. package/dist/layouts/body/body.js +21 -0
  38. package/dist/layouts/body/body.js.map +1 -0
  39. package/dist/layouts/index.d.ts +5 -0
  40. package/dist/layouts/index.d.ts.map +1 -1
  41. package/dist/layouts/index.js +38 -22
  42. package/dist/layouts/index.js.map +1 -1
  43. package/dist/layouts/rail/main/main.d.ts +6 -0
  44. package/dist/layouts/rail/main/main.d.ts.map +1 -0
  45. package/dist/layouts/rail/main/main.js +21 -0
  46. package/dist/layouts/rail/main/main.js.map +1 -0
  47. package/dist/layouts/rail/rail.d.ts +9 -0
  48. package/dist/layouts/rail/rail.d.ts.map +1 -0
  49. package/dist/layouts/rail/rail.js +55 -0
  50. package/dist/layouts/rail/rail.js.map +1 -0
  51. package/dist/layouts/rail/side/side.d.ts +6 -0
  52. package/dist/layouts/rail/side/side.d.ts.map +1 -0
  53. package/dist/layouts/rail/side/side.js +21 -0
  54. package/dist/layouts/rail/side/side.js.map +1 -0
  55. package/dist/layouts/rail/utility_strip/utility_strip.d.ts +9 -0
  56. package/dist/layouts/rail/utility_strip/utility_strip.d.ts.map +1 -0
  57. package/dist/layouts/rail/utility_strip/utility_strip.js +32 -0
  58. package/dist/layouts/rail/utility_strip/utility_strip.js.map +1 -0
  59. package/dist/layouts/scaffold/scaffold.js +31 -31
  60. package/dist/layouts/scaffold/scaffold.js.map +1 -1
  61. package/dist/layouts/table/table.d.ts +27 -0
  62. package/dist/layouts/table/table.d.ts.map +1 -0
  63. package/dist/layouts/table/table.js +70 -0
  64. package/dist/layouts/table/table.js.map +1 -0
  65. package/dist/main.css +1 -0
  66. package/dist/rail.css +1 -0
  67. package/dist/scaffold.css +1 -1
  68. package/dist/{showcase-DK557szS.js → showcase-y9D3_Y8T.js} +3413 -3396
  69. package/dist/showcase-y9D3_Y8T.js.map +1 -0
  70. package/dist/side.css +1 -0
  71. package/dist/stacks/box/box.d.ts +2 -2
  72. package/dist/stacks/box/box.d.ts.map +1 -1
  73. package/dist/stacks/box/box.js.map +1 -1
  74. package/dist/stacks/story_components/style_box.d.ts +1 -1
  75. package/dist/stacks/story_components/style_box.d.ts.map +1 -1
  76. package/dist/surfaces/alert/alert.js +3 -2
  77. package/dist/surfaces/alert/alert.js.map +1 -1
  78. package/dist/surfaces/pop_confirm/pop_confirm.js +13 -2
  79. package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
  80. package/dist/{syntaxhighlighter-ED5Y7EFY-DaMS-2cF.js → syntaxhighlighter-ED5Y7EFY-CqInEOwQ.js} +2 -2
  81. package/dist/{syntaxhighlighter-ED5Y7EFY-DaMS-2cF.js.map → syntaxhighlighter-ED5Y7EFY-CqInEOwQ.js.map} +1 -1
  82. package/dist/table.css +1 -0
  83. package/dist/table.module-BtSxOntS.js +5 -0
  84. package/dist/table.module-BtSxOntS.js.map +1 -0
  85. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  86. package/dist/themes/themes/ergo/ergo_theme.js +174 -43
  87. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  88. package/dist/utility_strip.css +1 -0
  89. package/package.json +1 -1
  90. package/src/actions/index.ts +1 -0
  91. package/src/layouts/__stories__/composed.stories.tsx +113 -0
  92. package/src/layouts/__stories__/composed_stories.module.css +142 -0
  93. package/src/layouts/__stories__/utils.tsx +174 -0
  94. package/src/layouts/body/body.module.css +11 -0
  95. package/src/layouts/body/body.tsx +23 -0
  96. package/src/layouts/index.ts +10 -0
  97. package/src/layouts/rail/__stories__/rail.stories.tsx +64 -0
  98. package/src/layouts/rail/__stories__/rail_stories.module.css +25 -0
  99. package/src/layouts/rail/main/main.module.css +7 -0
  100. package/src/layouts/rail/main/main.tsx +26 -0
  101. package/src/layouts/rail/rail.module.css +10 -0
  102. package/src/layouts/rail/rail.tsx +62 -0
  103. package/src/layouts/rail/side/side.module.css +8 -0
  104. package/src/layouts/rail/side/side.tsx +25 -0
  105. package/src/layouts/rail/utility_strip/utility_strip.module.css +6 -0
  106. package/src/layouts/rail/utility_strip/utility_strip.tsx +40 -0
  107. package/src/layouts/scaffold/__stories__/scaffold.stories.tsx +53 -0
  108. package/src/layouts/scaffold/__stories__/scaffold_stories.module.css +31 -0
  109. package/src/layouts/scaffold/scaffold.module.css +4 -0
  110. package/src/layouts/table/__stories__/mock_data.ts +420 -0
  111. package/src/layouts/table/__stories__/table.stories.tsx +326 -0
  112. package/src/layouts/table/__stories__/table_stories.module.css +30 -0
  113. package/src/layouts/table/table.module.css +37 -0
  114. package/src/layouts/table/table.tsx +132 -0
  115. package/src/stacks/box/box.tsx +1 -1
  116. package/src/surfaces/modal/__stories__/modal.stories.tsx +5 -5
  117. package/src/surfaces/panel/__stories__/panel.stories.tsx +114 -1
  118. package/src/surfaces/pop_confirm/pop_confirm.stories.tsx +4 -2
  119. package/src/themes/themes/ergo/ergo_theme.css +173 -42
  120. package/dist/formatter-EIJCOSYU-D6nmx63h.js +0 -6
  121. package/dist/showcase-DK557szS.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { useRef, useState } from 'react';
2
2
  import { Button } from '../../actions/index.js';
3
- import { Footer, Header, VBody } from '../../layouts/index.js';
3
+ import { Footer, Header, Section, VBody } from '../../layouts/index.js';
4
4
  import { HStack } from '../../stacks/h_stack.js';
5
5
  import { PopConfirm as PopConfirmComponent } from './pop_confirm.js';
6
6
  import { BodyText, Title } from '../../typography/index.js';
@@ -52,7 +52,9 @@ export const DefaultPopConfirm = () => {
52
52
  <Title>Confirmation Title</Title>
53
53
  </Header>
54
54
  <VBody>
55
- <BodyText>Are you sure you want to confirm this action?</BodyText>
55
+ <Section>
56
+ <BodyText>Are you sure you want to confirm this action?</BodyText>
57
+ </Section>
56
58
  </VBody>
57
59
  <Footer>
58
60
  <Spacer />
@@ -1,10 +1,3 @@
1
- @layer tcn-reset {
2
- * {
3
- position: relative;
4
- box-sizing: border-box;
5
- }
6
- }
7
-
8
1
  @layer tcn-theme {
9
2
  /* ===== CSS VARIABLES ===== */
10
3
  :root {
@@ -63,6 +56,13 @@
63
56
  --padding-medium: 8px;
64
57
  --padding-large: 16px;
65
58
 
59
+ /* Sizing */
60
+ --bar-xs: 16px;
61
+ --bar-sm: 24px;
62
+ --bar-md: 32px;
63
+ --bar-lg: 40px;
64
+ --bar-xl: 48px;
65
+
66
66
  /* Status Colors */
67
67
  --status-color-disabled: var(--ergo-grey-light);
68
68
  --status-color-info: var(--ergo-status-blue);
@@ -70,7 +70,7 @@
70
70
  --status-color-positive: var(--ergo-status-green);
71
71
  --status-color-error: var(--ergo-status-red);
72
72
 
73
- --async-color-initial: var(--ergo-grey-main);
73
+ --async-color-initial: var(--ergo-grey);
74
74
  --async-color-pending: var(--ergo-status-blue);
75
75
  --async-color-success: var(--ergo-status-green);
76
76
  --async-color-failed: var(--ergo-status-red);
@@ -193,6 +193,7 @@
193
193
 
194
194
  --btn-pad-delta: 4px;
195
195
  --btn-size-delta: 4px;
196
+ --btn-font-size-delta: 2px;
196
197
  --btn-step: 1;
197
198
 
198
199
  /* Increase size and pad by 4px for each size "step" from medium */
@@ -223,6 +224,7 @@
223
224
  --util-ratio: 0.75;
224
225
  --btn-size-base: 18px;
225
226
 
227
+ font-size: calc(var(--font-size) + var(--btn-font-size-delta) * var(--btn-step));
226
228
  .tcn-icon {
227
229
  min-height: min(2px, calc(var(--btn-size) * var(--util-ratio)));
228
230
  min-width: min(2px, calc(var(--btn-size) * var(--util-ratio)));
@@ -606,19 +608,26 @@
606
608
  }
607
609
 
608
610
  /* Scaffold: */
611
+ .tcn-footer,
612
+ .tcn-header,
613
+ .tcn-utility-bar {
614
+ padding-inline: var(--pad-inline, var(--padding-medium));
615
+ gap: var(--gap-medium);
616
+ }
617
+
618
+ .tcn-utility-bar {
619
+ min-height: var(--bar-md);
620
+ }
621
+
622
+ .tcn-footer,
623
+ .tcn-header {
624
+ min-height: var(--bar-lg);
625
+ }
626
+
609
627
  .tcn-scaffold {
610
- --scaffold-v-inset: var(--v-inset, var(--padding-large));
611
- --scaffold-header-size: var(--header-size, 40px);
612
- --scaffold-footer-size: var(--footer-size, 40px);
613
- --scaffold-utility-bar-size: var(--utility-bar-size, 32px);
614
628
  --scaffold-divide-footer: var(--divide-footer, 1);
615
629
  --scaffold-divide-header: var(--divide-header, 1);
616
-
617
- :where(.tcn-header) {
618
- min-height: var(--scaffold-header-size);
619
- padding: 0 var(--scaffold-v-inset);
620
- gap: var(--gap-medium);
621
- }
630
+ --pad-inline: var(--padding-large);
622
631
 
623
632
  /* Border appears on body only when it follows header or utility-bar */
624
633
  :where(.tcn-header) + :where(.tcn-body),
@@ -633,25 +642,8 @@
633
642
  var(--foreground-color-primary);
634
643
  }
635
644
 
636
- :where(.tcn-utility-bar) {
637
- min-height: var(--scaffold-utility-bar-size);
638
- padding: 0 var(--scaffold-v-inset);
639
- gap: var(--gap-medium);
640
- }
641
-
642
645
  :where(.tcn-body) {
643
- --section-tab-start: var(--scaffold-v-inset);
644
-
645
- gap: var(--gap-medium);
646
- .tcn-section {
647
- --section-tab-start: var(--scaffold-v-inset);
648
- }
649
- }
650
-
651
- :where(.tcn-footer) {
652
646
  gap: var(--gap-medium);
653
- min-height: var(--scaffold-footer-size);
654
- padding: 0 var(--scaffold-v-inset);
655
647
  }
656
648
  }
657
649
 
@@ -712,9 +704,10 @@
712
704
 
713
705
  .tcn-pop-confirm {
714
706
  --divide-header: 0;
715
- --v-inset: var(--padding-medium);
716
707
 
717
708
  :where(.tcn-scaffold) {
709
+ --pad-inline: var(--padding-medium);
710
+
718
711
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.4);
719
712
  border-radius: var(--shape-radius-medium);
720
713
  background-color: var(--background-color-primary);
@@ -722,7 +715,7 @@
722
715
  }
723
716
 
724
717
  :where(.tcn-header) {
725
- min-height: 32px;
718
+ min-height: var(--bar-md);
726
719
 
727
720
  --material: var(--ergo-secondary-dark);
728
721
  --on-material: var(--ergo-white);
@@ -750,9 +743,6 @@
750
743
 
751
744
  /* Card */
752
745
  .tcn-card {
753
- --header-size: 32px;
754
- --footer-size: 32px;
755
- --utility-bar-size: 24px;
756
746
  --divide-header: 0;
757
747
 
758
748
  background-color: var(--background-color-primary);
@@ -761,7 +751,7 @@
761
751
  overflow: hidden;
762
752
 
763
753
  :where(.tcn-header) {
764
- min-height: 32px;
754
+ min-height: var(--bar-md);
765
755
 
766
756
  --material: var(--ergo-secondary-light);
767
757
  --on-material: var(--ergo-accent-blue);
@@ -774,13 +764,17 @@
774
764
  color: inherit;
775
765
  }
776
766
  }
767
+
768
+ :where(.tcn-utility-bar) {
769
+ min-height: var(--bar-sm);
770
+ }
777
771
  }
778
772
 
779
773
  /* SECTION */
780
774
  .tcn-section {
781
775
  --max-section-depth: 4;
782
776
  --section-tab-width: 4px;
783
- --section-tab-start: 8px;
777
+ --section-tab-start: var(--pad-inline, var(--padding-medium));
784
778
  --section-tab-depth: 0;
785
779
  --section-tab: calc(
786
780
  var(--section-tab-start) +
@@ -867,4 +861,141 @@
867
861
  border-bottom: var(--caret-triangle-base);
868
862
  }
869
863
  }
864
+
865
+ /* ===== TABLE ===== */
866
+ .tcn-table {
867
+ --table-pad-inline: var(--pad-inline, var(--padding-medium));
868
+
869
+ --material: var(--ergo-white);
870
+ --on-material: var(--ergo-ink-primary);
871
+ --action: var(--ergo-accent-blue);
872
+ --on-action: var(--ergo-white);
873
+ background-color: var(--material);
874
+ color: var(--on-material);
875
+ border-collapse: separate;
876
+ display: block;
877
+ }
878
+
879
+ /* TODO: cleanup - this needs merged with ui-table sticky logic/styles */
880
+ .tcn-table[data-is-sticky="true"] {
881
+ .tcn-tbody {
882
+ th:first-of-type {
883
+ border-right: 1px solid color-mix(in srgb, var(--material) 80%, black);
884
+ }
885
+
886
+ th:last-of-type {
887
+ border-left: 1px solid color-mix(in srgb, var(--material) 80%, black);
888
+ }
889
+ }
890
+ .tcn-thead {
891
+ th:first-of-type {
892
+ border-right: 1px solid color-mix(in srgb, var(--material) 80%, black);
893
+ }
894
+
895
+ th:last-of-type {
896
+ border-left: 1px solid color-mix(in srgb, var(--material) 80%, black);
897
+ }
898
+ }
899
+ }
900
+
901
+ .tcn-td {
902
+ text-align: start;
903
+ overflow: hidden;
904
+ white-space: nowrap;
905
+ text-overflow: ellipsis;
906
+ }
907
+
908
+ .tcn-thead {
909
+ /* Border for header row */
910
+ .tcn-tr {
911
+ height: var(--bar-md);
912
+ .tcn-th {
913
+ border-bottom: 1px solid var(--ergo-grey-light);
914
+ }
915
+ .tcn-th:not(:last-of-type):not(:nth-last-of-type(2)) {
916
+ border-right: 1px solid var(--ergo-grey);
917
+ }
918
+ .tcn-th:last-of-type {
919
+ border-left: 1px solid var(--ergo-grey);
920
+ }
921
+ }
922
+ }
923
+
924
+ .tcn-tfoot {
925
+ font-weight: bold;
926
+ /* Border for footer row */
927
+ .tcn-tr {
928
+ height: var(--bar-sm);
929
+ .tcn-th,
930
+ .tcn-td {
931
+ border-top: 1px solid var(--ergo-grey-light);
932
+ }
933
+ }
934
+ }
935
+
936
+ /* Header and footer - both are light blue */
937
+ .tcn-thead,
938
+ .tcn-tfoot {
939
+ font-size: 14px;
940
+ --material: var(--ergo-secondary-light);
941
+ --on-material: var(--ergo-accent-blue);
942
+ --action: var(--ergo-secondary);
943
+ --on-action: var(--ergo-white);
944
+
945
+ background-color: var(--material);
946
+ color: var(--on-material);
947
+ }
948
+
949
+ .tcn-tr {
950
+ height: var(--bar-sm);
951
+ align-content: center;
952
+ }
953
+
954
+ .tcn-td,
955
+ .tcn-th {
956
+ padding-inline: var(--padding-medium);
957
+ vertical-align: middle;
958
+ text-align: start;
959
+ background: var(--material);
960
+ }
961
+
962
+ /* First column (header, body, footer): use context for pad inline or default 8px */
963
+ .tcn-table .tcn-tr > .tcn-th:first-child,
964
+ .tcn-table .tcn-tr > .tcn-td:first-child {
965
+ padding-inline-start: var(--table-pad-inline);
966
+ }
967
+
968
+ /* Last column (header, body, footer): use context for pad inline or default 8px */
969
+ .tcn-table .tcn-tr > .tcn-th:last-child,
970
+ .tcn-table .tcn-tr > .tcn-td:last-child {
971
+ padding-inline-end: var(--table-pad-inline);
972
+ }
973
+
974
+ .tcn-tbody {
975
+ font-size: 12px;
976
+ .tcn-tr:nth-of-type(even) {
977
+ --material: var(--ergo-accent-blue-light);
978
+ }
979
+ .tcn-tr:nth-of-type(odd) {
980
+ --material: var(--ergo-white);
981
+ }
982
+ .tcn-tr:hover {
983
+ --material: color-mix(in srgb, var(--ergo-accent-blue-light), var(--action) 12%);
984
+ }
985
+ .tcn-tr[data-is-selected="true"] {
986
+ --material: var(--ergo-secondary);
987
+ --on-material: var(--ergo-white);
988
+ --action: var(--ergo-tertiary);
989
+ --on-action: var(--ergo-accent-blue);
990
+ }
991
+
992
+ .tcn-tr {
993
+ --material: var(--bg-row);
994
+ --on-material: var(--ergo-accent-blue);
995
+ --action: var(--ergo-accent-blue);
996
+ --on-action: var(--ergo-white);
997
+ background-color: var(--material);
998
+ color: var(--on-material);
999
+ }
1000
+ }
870
1001
  }
@@ -1,6 +0,0 @@
1
- import { d as a, _ as i, r as m } from "./showcase-DK557szS.js";
2
- var t = i(m(), 1), f = (0, t.default)(2)(async (e, r) => e === !1 ? r : a(r));
3
- export {
4
- f as formatter
5
- };
6
- //# sourceMappingURL=formatter-EIJCOSYU-D6nmx63h.js.map