@tcn/ui 0.7.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 (137) 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/form/field_presenters/field_presenter.d.ts +2 -2
  12. package/dist/form/field_presenters/field_presenter.d.ts.map +1 -1
  13. package/dist/form/field_presenters/field_presenter.js.map +1 -1
  14. package/dist/formatter-EIJCOSYU-DWmgEY3b.js +6 -0
  15. package/dist/{formatter-EIJCOSYU-D6nmx63h.js.map → formatter-EIJCOSYU-DWmgEY3b.js.map} +1 -1
  16. package/dist/inputs/color_input/color_input.js +10 -9
  17. package/dist/inputs/color_input/color_input.js.map +1 -1
  18. package/dist/inputs/date_picker/date_picker_header.js +7 -6
  19. package/dist/inputs/date_picker/date_picker_header.js.map +1 -1
  20. package/dist/inputs/date_picker/date_picker_input.js +3 -2
  21. package/dist/inputs/date_picker/date_picker_input.js.map +1 -1
  22. package/dist/inputs/date_picker/date_picker_time_selector.js +3 -2
  23. package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -1
  24. package/dist/inputs/date_picker/date_picker_year_input.js +6 -5
  25. package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -1
  26. package/dist/inputs/date_picker/date_picker_year_selector.js +3 -2
  27. package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -1
  28. package/dist/inputs/multiselect/multiselect_inline_values.js +8 -7
  29. package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -1
  30. package/dist/inputs/multiselect/multiselect_values.js +3 -2
  31. package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
  32. package/dist/inputs/phone_number_input/phone_number_input.js +44 -43
  33. package/dist/inputs/phone_number_input/phone_number_input.js.map +1 -1
  34. package/dist/inputs/select/select.js +3 -2
  35. package/dist/inputs/select/select.js.map +1 -1
  36. package/dist/inputs/suggestions/suggestion_list.js +3 -2
  37. package/dist/inputs/suggestions/suggestion_list.js.map +1 -1
  38. package/dist/layouts/body/body.d.ts +6 -0
  39. package/dist/layouts/body/body.d.ts.map +1 -0
  40. package/dist/layouts/body/body.js +21 -0
  41. package/dist/layouts/body/body.js.map +1 -0
  42. package/dist/layouts/index.d.ts +5 -0
  43. package/dist/layouts/index.d.ts.map +1 -1
  44. package/dist/layouts/index.js +38 -22
  45. package/dist/layouts/index.js.map +1 -1
  46. package/dist/layouts/rail/main/main.d.ts +6 -0
  47. package/dist/layouts/rail/main/main.d.ts.map +1 -0
  48. package/dist/layouts/rail/main/main.js +21 -0
  49. package/dist/layouts/rail/main/main.js.map +1 -0
  50. package/dist/layouts/rail/rail.d.ts +9 -0
  51. package/dist/layouts/rail/rail.d.ts.map +1 -0
  52. package/dist/layouts/rail/rail.js +55 -0
  53. package/dist/layouts/rail/rail.js.map +1 -0
  54. package/dist/layouts/rail/side/side.d.ts +6 -0
  55. package/dist/layouts/rail/side/side.d.ts.map +1 -0
  56. package/dist/layouts/rail/side/side.js +21 -0
  57. package/dist/layouts/rail/side/side.js.map +1 -0
  58. package/dist/layouts/rail/utility_strip/utility_strip.d.ts +9 -0
  59. package/dist/layouts/rail/utility_strip/utility_strip.d.ts.map +1 -0
  60. package/dist/layouts/rail/utility_strip/utility_strip.js +32 -0
  61. package/dist/layouts/rail/utility_strip/utility_strip.js.map +1 -0
  62. package/dist/layouts/scaffold/scaffold.js +31 -31
  63. package/dist/layouts/scaffold/scaffold.js.map +1 -1
  64. package/dist/layouts/table/table.d.ts +27 -0
  65. package/dist/layouts/table/table.d.ts.map +1 -0
  66. package/dist/layouts/table/table.js +70 -0
  67. package/dist/layouts/table/table.js.map +1 -0
  68. package/dist/main.css +1 -0
  69. package/dist/navigation/tabs/primitives/tabs_list.d.ts.map +1 -1
  70. package/dist/navigation/tabs/primitives/tabs_list.js +61 -21
  71. package/dist/navigation/tabs/primitives/tabs_list.js.map +1 -1
  72. package/dist/navigation/tabs/state/link/tab_link.d.ts.map +1 -1
  73. package/dist/navigation/tabs/state/link/tab_link.js +20 -17
  74. package/dist/navigation/tabs/state/link/tab_link.js.map +1 -1
  75. package/dist/navigation/tabs/state/tab.d.ts.map +1 -1
  76. package/dist/navigation/tabs/state/tab.js +8 -3
  77. package/dist/navigation/tabs/state/tab.js.map +1 -1
  78. package/dist/rail.css +1 -0
  79. package/dist/scaffold.css +1 -1
  80. package/dist/{showcase-DK557szS.js → showcase-y9D3_Y8T.js} +3413 -3396
  81. package/dist/showcase-y9D3_Y8T.js.map +1 -0
  82. package/dist/side.css +1 -0
  83. package/dist/stacks/box/box.d.ts +2 -2
  84. package/dist/stacks/box/box.d.ts.map +1 -1
  85. package/dist/stacks/box/box.js.map +1 -1
  86. package/dist/stacks/story_components/style_box.d.ts +1 -1
  87. package/dist/stacks/story_components/style_box.d.ts.map +1 -1
  88. package/dist/surfaces/alert/alert.js +3 -2
  89. package/dist/surfaces/alert/alert.js.map +1 -1
  90. package/dist/surfaces/pop_confirm/pop_confirm.js +13 -2
  91. package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
  92. package/dist/{syntaxhighlighter-ED5Y7EFY-DaMS-2cF.js → syntaxhighlighter-ED5Y7EFY-CqInEOwQ.js} +2 -2
  93. package/dist/{syntaxhighlighter-ED5Y7EFY-DaMS-2cF.js.map → syntaxhighlighter-ED5Y7EFY-CqInEOwQ.js.map} +1 -1
  94. package/dist/table.css +1 -0
  95. package/dist/table.module-BtSxOntS.js +5 -0
  96. package/dist/table.module-BtSxOntS.js.map +1 -0
  97. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  98. package/dist/themes/themes/ergo/ergo_theme.js +179 -44
  99. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  100. package/dist/utility_strip.css +1 -0
  101. package/package.json +2 -2
  102. package/src/actions/index.ts +1 -0
  103. package/src/form/field_presenters/field_presenter.ts +3 -3
  104. package/src/layouts/__stories__/composed.stories.tsx +113 -0
  105. package/src/layouts/__stories__/composed_stories.module.css +142 -0
  106. package/src/layouts/__stories__/utils.tsx +174 -0
  107. package/src/layouts/body/body.module.css +11 -0
  108. package/src/layouts/body/body.tsx +23 -0
  109. package/src/layouts/index.ts +10 -0
  110. package/src/layouts/rail/__stories__/rail.stories.tsx +64 -0
  111. package/src/layouts/rail/__stories__/rail_stories.module.css +25 -0
  112. package/src/layouts/rail/main/main.module.css +7 -0
  113. package/src/layouts/rail/main/main.tsx +26 -0
  114. package/src/layouts/rail/rail.module.css +10 -0
  115. package/src/layouts/rail/rail.tsx +62 -0
  116. package/src/layouts/rail/side/side.module.css +8 -0
  117. package/src/layouts/rail/side/side.tsx +25 -0
  118. package/src/layouts/rail/utility_strip/utility_strip.module.css +6 -0
  119. package/src/layouts/rail/utility_strip/utility_strip.tsx +40 -0
  120. package/src/layouts/scaffold/__stories__/scaffold.stories.tsx +53 -0
  121. package/src/layouts/scaffold/__stories__/scaffold_stories.module.css +31 -0
  122. package/src/layouts/scaffold/scaffold.module.css +4 -0
  123. package/src/layouts/table/__stories__/mock_data.ts +420 -0
  124. package/src/layouts/table/__stories__/table.stories.tsx +326 -0
  125. package/src/layouts/table/__stories__/table_stories.module.css +30 -0
  126. package/src/layouts/table/table.module.css +37 -0
  127. package/src/layouts/table/table.tsx +132 -0
  128. package/src/navigation/tabs/primitives/tabs_list.tsx +46 -2
  129. package/src/navigation/tabs/state/link/tab_link.tsx +4 -1
  130. package/src/navigation/tabs/state/tab.tsx +10 -0
  131. package/src/stacks/box/box.tsx +1 -1
  132. package/src/surfaces/modal/__stories__/modal.stories.tsx +5 -5
  133. package/src/surfaces/panel/__stories__/panel.stories.tsx +114 -1
  134. package/src/surfaces/pop_confirm/pop_confirm.stories.tsx +4 -2
  135. package/src/themes/themes/ergo/ergo_theme.css +178 -43
  136. package/dist/formatter-EIJCOSYU-D6nmx63h.js +0 -6
  137. package/dist/showcase-DK557szS.js.map +0 -1
@@ -4,11 +4,22 @@ import { Footer } from '../../../layouts/footer/footer.js';
4
4
  import { Header } from '../../../layouts/header/header.js';
5
5
  import { Heading, Section, VBody } from '../../../layouts/index.js';
6
6
  import { UtilityBar } from '../../../layouts/utility_bar/utility_bar.js';
7
- import { Box, Spacer } from '../../../stacks/index.js';
7
+ import { Box, HStack, Spacer } from '../../../stacks/index.js';
8
8
  import { Title } from '../../../typography/title/title.js';
9
9
  import { VPanel } from '../v_panel.js';
10
10
  // Styles
11
11
  import styles from './panel_stories.module.css';
12
+ import { TTable, TBody, TD, TH, THead, TR } from '../../../layouts/table/table.js';
13
+ import { FilterOneIcon } from '@tcn/icons/filter_one_icon.js';
14
+ import { PlusIcon } from '@tcn/icons/plus_icon.js';
15
+ import { SearchIcon } from '@tcn/icons/search_icon.js';
16
+ import { ChevronLeftIcon } from '@tcn/icons/chevron_left_icon.js';
17
+ import { ChevronsLeftIcon } from '@tcn/icons/chevrons_left_icon.js';
18
+ import { ChevronsRightIcon } from '@tcn/icons/chevrons_right_icon.js';
19
+ import { ChevronRightIcon } from '@tcn/icons/chevron_right_icon.js';
20
+ import { Toggle } from '../../../actions/toggle/toggle.js';
21
+ import { CrossIcon } from '@tcn/icons/cross_icon.js';
22
+ import { BodyText } from '../../../typography/index.js';
12
23
 
13
24
  export default {
14
25
  title: 'Surfaces/Panel',
@@ -102,3 +113,105 @@ export const Default = () => {
102
113
  </div>
103
114
  );
104
115
  };
116
+
117
+ export const WithTable = () => {
118
+ return (
119
+ <div className={styles['stories-container']}>
120
+ <HStack gap="16px" maxHeight="600px" height="100%" maxWidth="1440px">
121
+ <VPanel minWidth="300px">
122
+ <Header>
123
+ <Title emphasis="strong">Table Title</Title>
124
+ <Spacer />
125
+ <Button utility hierarchy="tertiary">
126
+ <FilterOneIcon />
127
+ </Button>
128
+ <Button utility hierarchy="tertiary">
129
+ <SearchIcon />
130
+ </Button>
131
+ <Button utility hierarchy="primary">
132
+ <PlusIcon />
133
+ </Button>
134
+ </Header>
135
+ <VBody>
136
+ <TTable>
137
+ <THead>
138
+ <TR>
139
+ <TH>Name</TH>
140
+ <TH>Age</TH>
141
+ <TH>Email</TH>
142
+ </TR>
143
+ </THead>
144
+ <TBody>
145
+ <TR>
146
+ <TD>Jane Smith</TD>
147
+ <TD>32</TD>
148
+ <TD>jane.smith@example.com</TD>
149
+ </TR>
150
+ <TR>
151
+ <TD>Samuel Barnett</TD>
152
+ <TD>28</TD>
153
+ <TD>samuel.barnett@example.com</TD>
154
+ </TR>
155
+ <TR isSelected>
156
+ <TD>John Doe</TD>
157
+ <TD>25</TD>
158
+ <TD>john.doe@example.com</TD>
159
+ </TR>
160
+ <TR>
161
+ <TD>Linda Wang</TD>
162
+ <TD>41</TD>
163
+ <TD>linda.wang@example.com</TD>
164
+ </TR>
165
+ </TBody>
166
+ </TTable>
167
+ </VBody>
168
+ <Footer>
169
+ <HStack gap="8px" hAlign="center">
170
+ <Button utility hierarchy="tertiary">
171
+ <ChevronsLeftIcon />
172
+ </Button>
173
+ <Button utility hierarchy="tertiary">
174
+ <ChevronLeftIcon />
175
+ </Button>
176
+ <Toggle utility>1</Toggle>
177
+ ...
178
+ <Toggle utility>4</Toggle>
179
+ <Toggle utility selected>
180
+ 5
181
+ </Toggle>
182
+ <Toggle utility>6</Toggle>
183
+ ...
184
+ <Toggle utility>100</Toggle>
185
+ <Button utility hierarchy="tertiary">
186
+ <ChevronsRightIcon />
187
+ </Button>
188
+ <Button utility hierarchy="tertiary">
189
+ <ChevronRightIcon />
190
+ </Button>
191
+ </HStack>
192
+ </Footer>
193
+ </VPanel>
194
+ <VPanel maxHeight="600px" width="300px" minWidth="300px">
195
+ <Header>
196
+ <Title emphasis="strong">John Doe</Title>
197
+ <Spacer />
198
+ <Button utility hierarchy="tertiary">
199
+ <CrossIcon />
200
+ </Button>
201
+ </Header>
202
+ <VBody>
203
+ <Section>
204
+ <Heading>Personal Information</Heading>
205
+ <BodyText>
206
+ John Doe is a software engineer at FooBaz. He is a very smart guy and he
207
+ loves to code.
208
+ </BodyText>
209
+ <BodyText>Age: 25</BodyText>
210
+ <BodyText>Email: john.doe@example.com</BodyText>
211
+ </Section>
212
+ </VBody>
213
+ </VPanel>
214
+ </HStack>
215
+ </div>
216
+ );
217
+ };
@@ -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)));
@@ -499,8 +501,12 @@
499
501
  --act: var(--ergo-primary);
500
502
  }
501
503
 
504
+ .tcn-tab-item:focus-visible {
505
+ z-index: 2;
506
+ }
502
507
  /* Hover Indicator */
503
- .tcn-tab-item[data-is-selected="false"]:hover::after {
508
+ .tcn-tab-item[data-is-selected="false"]:hover::after,
509
+ .tcn-tab-item[data-is-selected="false"]:focus-visible::after {
504
510
  content: "";
505
511
  display: block;
506
512
  position: absolute;
@@ -602,19 +608,26 @@
602
608
  }
603
609
 
604
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
+
605
627
  .tcn-scaffold {
606
- --scaffold-v-inset: var(--v-inset, var(--padding-large));
607
- --scaffold-header-size: var(--header-size, 40px);
608
- --scaffold-footer-size: var(--footer-size, 40px);
609
- --scaffold-utility-bar-size: var(--utility-bar-size, 32px);
610
628
  --scaffold-divide-footer: var(--divide-footer, 1);
611
629
  --scaffold-divide-header: var(--divide-header, 1);
612
-
613
- :where(.tcn-header) {
614
- min-height: var(--scaffold-header-size);
615
- padding: 0 var(--scaffold-v-inset);
616
- gap: var(--gap-medium);
617
- }
630
+ --pad-inline: var(--padding-large);
618
631
 
619
632
  /* Border appears on body only when it follows header or utility-bar */
620
633
  :where(.tcn-header) + :where(.tcn-body),
@@ -629,25 +642,8 @@
629
642
  var(--foreground-color-primary);
630
643
  }
631
644
 
632
- :where(.tcn-utility-bar) {
633
- min-height: var(--scaffold-utility-bar-size);
634
- padding: 0 var(--scaffold-v-inset);
635
- gap: var(--gap-medium);
636
- }
637
-
638
645
  :where(.tcn-body) {
639
- --section-tab-start: var(--scaffold-v-inset);
640
-
641
646
  gap: var(--gap-medium);
642
- .tcn-section {
643
- --section-tab-start: var(--scaffold-v-inset);
644
- }
645
- }
646
-
647
- :where(.tcn-footer) {
648
- gap: var(--gap-medium);
649
- min-height: var(--scaffold-footer-size);
650
- padding: 0 var(--scaffold-v-inset);
651
647
  }
652
648
  }
653
649
 
@@ -708,9 +704,10 @@
708
704
 
709
705
  .tcn-pop-confirm {
710
706
  --divide-header: 0;
711
- --v-inset: var(--padding-medium);
712
707
 
713
708
  :where(.tcn-scaffold) {
709
+ --pad-inline: var(--padding-medium);
710
+
714
711
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.4);
715
712
  border-radius: var(--shape-radius-medium);
716
713
  background-color: var(--background-color-primary);
@@ -718,7 +715,7 @@
718
715
  }
719
716
 
720
717
  :where(.tcn-header) {
721
- min-height: 32px;
718
+ min-height: var(--bar-md);
722
719
 
723
720
  --material: var(--ergo-secondary-dark);
724
721
  --on-material: var(--ergo-white);
@@ -746,9 +743,6 @@
746
743
 
747
744
  /* Card */
748
745
  .tcn-card {
749
- --header-size: 32px;
750
- --footer-size: 32px;
751
- --utility-bar-size: 24px;
752
746
  --divide-header: 0;
753
747
 
754
748
  background-color: var(--background-color-primary);
@@ -757,7 +751,7 @@
757
751
  overflow: hidden;
758
752
 
759
753
  :where(.tcn-header) {
760
- min-height: 32px;
754
+ min-height: var(--bar-md);
761
755
 
762
756
  --material: var(--ergo-secondary-light);
763
757
  --on-material: var(--ergo-accent-blue);
@@ -770,13 +764,17 @@
770
764
  color: inherit;
771
765
  }
772
766
  }
767
+
768
+ :where(.tcn-utility-bar) {
769
+ min-height: var(--bar-sm);
770
+ }
773
771
  }
774
772
 
775
773
  /* SECTION */
776
774
  .tcn-section {
777
775
  --max-section-depth: 4;
778
776
  --section-tab-width: 4px;
779
- --section-tab-start: 8px;
777
+ --section-tab-start: var(--pad-inline, var(--padding-medium));
780
778
  --section-tab-depth: 0;
781
779
  --section-tab: calc(
782
780
  var(--section-tab-start) +
@@ -863,4 +861,141 @@
863
861
  border-bottom: var(--caret-triangle-base);
864
862
  }
865
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
+ }
866
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