@ganpatiinfo/gids-web-dom-reference 9.3.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/dist/components/GidsActionBar/GidsActionBar.d.ts +1 -1
  3. package/dist/components/GidsActionBar/GidsActionBar.d.ts.map +1 -1
  4. package/dist/components/GidsActionBar/GidsActionBar.js +2 -1
  5. package/dist/components/GidsActionBar/GidsActionBar.js.map +1 -1
  6. package/dist/components/GidsBasicTableBody/GidsBasicTableBody.d.ts +9 -0
  7. package/dist/components/GidsBasicTableBody/GidsBasicTableBody.d.ts.map +1 -0
  8. package/dist/components/GidsBasicTableBody/GidsBasicTableBody.js +27 -0
  9. package/dist/components/GidsBasicTableBody/GidsBasicTableBody.js.map +1 -0
  10. package/dist/components/GidsBasicTableCell/GidsBasicTableCell.d.ts +9 -0
  11. package/dist/components/GidsBasicTableCell/GidsBasicTableCell.d.ts.map +1 -0
  12. package/dist/components/GidsBasicTableCell/GidsBasicTableCell.js +48 -0
  13. package/dist/components/GidsBasicTableCell/GidsBasicTableCell.js.map +1 -0
  14. package/dist/components/GidsBasicTableHead/GidsBasicTableHead.d.ts +11 -0
  15. package/dist/components/GidsBasicTableHead/GidsBasicTableHead.d.ts.map +1 -0
  16. package/dist/components/GidsBasicTableHead/GidsBasicTableHead.js +86 -0
  17. package/dist/components/GidsBasicTableHead/GidsBasicTableHead.js.map +1 -0
  18. package/dist/components/GidsBasicTableHeader/GidsBasicTableHeader.d.ts +9 -0
  19. package/dist/components/GidsBasicTableHeader/GidsBasicTableHeader.d.ts.map +1 -0
  20. package/dist/components/GidsBasicTableHeader/GidsBasicTableHeader.js +26 -0
  21. package/dist/components/GidsBasicTableHeader/GidsBasicTableHeader.js.map +1 -0
  22. package/dist/components/GidsBasicTableRow/GidsBasicTableRow.d.ts +9 -0
  23. package/dist/components/GidsBasicTableRow/GidsBasicTableRow.d.ts.map +1 -0
  24. package/dist/components/GidsBasicTableRow/GidsBasicTableRow.js +41 -0
  25. package/dist/components/GidsBasicTableRow/GidsBasicTableRow.js.map +1 -0
  26. package/dist/components/GidsBsTable/GidsBsTable.d.ts +12 -0
  27. package/dist/components/GidsBsTable/GidsBsTable.d.ts.map +1 -0
  28. package/dist/components/GidsBsTable/GidsBsTable.js +99 -0
  29. package/dist/components/GidsBsTable/GidsBsTable.js.map +1 -0
  30. package/dist/components/GidsMdTable/GidsMdTable.d.ts +9 -0
  31. package/dist/components/GidsMdTable/GidsMdTable.d.ts.map +1 -0
  32. package/dist/components/GidsMdTable/GidsMdTable.js +24 -0
  33. package/dist/components/GidsMdTable/GidsMdTable.js.map +1 -0
  34. package/dist/components/GidsSideMenu/GidsSideMenu.d.ts +1 -1
  35. package/dist/components/GidsSideMenu/GidsSideMenu.d.ts.map +1 -1
  36. package/dist/components/GidsSideMenu/GidsSideMenu.js +3 -2
  37. package/dist/components/GidsSideMenu/GidsSideMenu.js.map +1 -1
  38. package/dist/components/GidsSideNavigation/GidsSideNavigation.d.ts +1 -1
  39. package/dist/components/GidsSideNavigation/GidsSideNavigation.d.ts.map +1 -1
  40. package/dist/components/GidsSideNavigation/GidsSideNavigation.js +3 -1
  41. package/dist/components/GidsSideNavigation/GidsSideNavigation.js.map +1 -1
  42. package/dist/index.d.ts +7 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +7 -0
  45. package/dist/index.js.map +1 -1
  46. package/package.json +4 -4
  47. package/src/components/GidsActionBar/GidsActionBar.ts +2 -0
  48. package/src/components/GidsBasicTableBody/GidsBasicTableBody.ts +68 -0
  49. package/src/components/GidsBasicTableCell/GidsBasicTableCell.ts +99 -0
  50. package/src/components/GidsBasicTableHead/GidsBasicTableHead.ts +172 -0
  51. package/src/components/GidsBasicTableHeader/GidsBasicTableHeader.ts +73 -0
  52. package/src/components/GidsBasicTableRow/GidsBasicTableRow.ts +79 -0
  53. package/src/components/GidsBsTable/GidsBsTable.ts +227 -0
  54. package/src/components/GidsMdTable/GidsMdTable.ts +66 -0
  55. package/src/components/GidsSideMenu/GidsSideMenu.ts +18 -16
  56. package/src/components/GidsSideNavigation/GidsSideNavigation.ts +79 -76
  57. package/src/index.ts +7 -0
@@ -0,0 +1,79 @@
1
+ import {
2
+ GidsBasicTableCellTypographyStyle,
3
+ type GidsBasicTableRowWebProps,
4
+ GidsBasicTableRowWebUtils,
5
+ } from '@ganpatiinfo/gids-web-shared';
6
+ import { GidsBasicTableCellDom } from '../GidsBasicTableCell/GidsBasicTableCell';
7
+ import {
8
+ IconAppearance,
9
+ IconName,
10
+ } from '@ganpatiinfo/gids-web-theme-interface';
11
+
12
+ const { getGidsBasicTableRowClassNames } = GidsBasicTableRowWebUtils;
13
+
14
+ type GidsBasicTableRowBaseWebProps = GidsBasicTableRowWebProps<
15
+ GidsBasicTableCellTypographyStyle,
16
+ IconName,
17
+ IconAppearance
18
+ >;
19
+
20
+ export interface GidsBasicTableRowDomProps extends GidsBasicTableRowBaseWebProps {
21
+ extraClasses?: string;
22
+ }
23
+
24
+ export const GidsBasicTableRowDom = ({
25
+ width = 'full',
26
+ layout = 'horizontal',
27
+ rows,
28
+ isHeaderRow = false,
29
+ extraClasses,
30
+ }: GidsBasicTableRowDomProps): HTMLElement | DocumentFragment => {
31
+ const rowClassName = getGidsBasicTableRowClassNames({ width }, extraClasses);
32
+
33
+ // 2. Handling Vertical Layout
34
+ if (layout === 'vertical' && rows && rows.length > 0) {
35
+ const fragment = document.createDocumentFragment();
36
+
37
+ rows.forEach((tableRow) => {
38
+ // Create a clean, independent <tr> wrapper for each vertical entry
39
+ const singleRowEl = document.createElement('tr');
40
+ singleRowEl.className = rowClassName;
41
+
42
+ const rowLabel = tableRow?.label;
43
+ singleRowEl.append(
44
+ GidsBasicTableCellDom({
45
+ ...tableRow,
46
+ width: width,
47
+ label: rowLabel,
48
+ isHeaderCell: isHeaderRow,
49
+ }),
50
+ );
51
+
52
+ // Append the constructed row directly to the fragment tree
53
+ fragment.append(singleRowEl);
54
+ });
55
+
56
+ return fragment;
57
+ }
58
+
59
+ // 3. Handling Horizontal Layout (Standard Single Row)
60
+ const basicTableRow = document.createElement('tr');
61
+ basicTableRow.className = rowClassName;
62
+
63
+ if (rows && rows.length > 0) {
64
+ rows.forEach((tableRow) => {
65
+ const rowLabel = tableRow?.label;
66
+
67
+ basicTableRow.append(
68
+ GidsBasicTableCellDom({
69
+ ...tableRow,
70
+ width: width,
71
+ label: rowLabel,
72
+ isHeaderCell: isHeaderRow,
73
+ }),
74
+ );
75
+ });
76
+ }
77
+
78
+ return basicTableRow;
79
+ };
@@ -0,0 +1,227 @@
1
+ import {
2
+ GidsBasicTableCellTypographyStyle,
3
+ GidsBsTableWebProps,
4
+ GidsBsTableWebUtils,
5
+ } from '@ganpatiinfo/gids-web-shared';
6
+ import { DomChildren } from '../../utils/domUtils';
7
+ import { HtmlInputAttributes } from '../GidsInput/GidsInput';
8
+ import {
9
+ GidsBasicTableHeadDom,
10
+ GidsBasicTableHeadDomProps,
11
+ } from '../GidsBasicTableHead/GidsBasicTableHead';
12
+ import { GidsBasicTableHeaderDom } from '../GidsBasicTableHeader/GidsBasicTableHeader';
13
+ import { GidsBasicTableBodyDom } from '../GidsBasicTableBody/GidsBasicTableBody';
14
+ import {
15
+ IconAppearance,
16
+ IconName,
17
+ } from '@ganpatiinfo/gids-web-theme-interface';
18
+
19
+ const {
20
+ getGidsBsTableClassNames,
21
+ getCustomisedTopHeaderCells,
22
+ getBsTableClasses,
23
+ getBsTableBodyBorder,
24
+ } = GidsBsTableWebUtils;
25
+
26
+ type GidsBsTableBaseWebProps = GidsBsTableWebProps<
27
+ GidsBasicTableCellTypographyStyle,
28
+ IconName,
29
+ IconAppearance,
30
+ DomChildren,
31
+ Event,
32
+ Element,
33
+ HtmlInputAttributes
34
+ > &
35
+ Pick<
36
+ GidsBasicTableHeadDomProps,
37
+ 'onChange' | 'onInput' | 'onFocus' | 'onBlur' | 'onGidsSearchBarClear'
38
+ >;
39
+
40
+ export interface GidsBsTableDomProps extends GidsBsTableBaseWebProps {
41
+ extraClasses?: string;
42
+ }
43
+
44
+ export const GidsBsTableDom = ({
45
+ // Table properties
46
+ topHeaderCells = [],
47
+ tableBody = [],
48
+ width = 'full',
49
+ isTopHeaderVisible = false,
50
+ isHeadVisible = true,
51
+ topHeaderAppearance = 'none',
52
+ topHeaderLabelTypography = 'eyebrow-small',
53
+ topHeaderTextAlignment = 'left',
54
+ rowAppearance = 'none',
55
+ rowLabelTypography = 'label-small',
56
+ rowTextAlignment = 'left',
57
+ tableBorders = 'none',
58
+ tableBorderRadius = [],
59
+ tableBodyMaxHeight = 200,
60
+ extraClasses,
61
+
62
+ // Table Head properties
63
+ actionGroup = false,
64
+ allFiltersTabVisible = false,
65
+ moreFiltersTabVisible = false,
66
+ clearAllFiltersVisible = true,
67
+ clearAllFiltersButtonAppearance = 'primary',
68
+ primaryFilters = [],
69
+ secondaryFilters = [],
70
+ filterSize = 'xs',
71
+ filterAllIsDefaultSelected = true,
72
+ dropdownDividerVisible,
73
+ onToggleActionBarAllFilter,
74
+ onToggleActionBarDropdownFilter,
75
+ onToggleActionBarMoreFilter,
76
+ onToggleActionBarNoneFilter,
77
+ onDropdownSelectionActionBarFilterChange,
78
+ onMoreSelectionActionBarFilterChange,
79
+ onClearAllFiltersButton,
80
+ actionBarDisabled = false,
81
+ searchDisabled = false,
82
+ allFiltersData,
83
+ moreFiltersData,
84
+ children,
85
+ searchVisible = true,
86
+ filtersVisible = true,
87
+ childrenPosition = 'top-most',
88
+ tabVisible = false,
89
+ tabProps,
90
+ headBorderSides = [],
91
+ headBorderRadiusSides = [],
92
+ leadingIcon,
93
+ leadingLabel,
94
+ trailingLabel,
95
+ loading,
96
+ readOnly,
97
+ onGidsSearchBarClear,
98
+ onChange,
99
+ onInput,
100
+ onFocus,
101
+ onBlur,
102
+ headValue = '',
103
+ inputProps,
104
+ headAppearance = 'surface-default',
105
+ ...restProps
106
+ }: GidsBsTableDomProps): HTMLDivElement => {
107
+ const bsTable = document.createElement('div');
108
+ bsTable.className = getGidsBsTableClassNames<
109
+ GidsBasicTableCellTypographyStyle,
110
+ IconName,
111
+ IconAppearance
112
+ >({ width, tableBorders, tableBorderRadius }, extraClasses);
113
+
114
+ // Table Head properties
115
+ if (isHeadVisible) {
116
+ bsTable.append(
117
+ GidsBasicTableHeadDom({
118
+ actionGroup,
119
+ allFiltersTabVisible,
120
+ moreFiltersTabVisible,
121
+ clearAllFiltersVisible,
122
+ clearAllFiltersButtonAppearance,
123
+ primaryFilters,
124
+ secondaryFilters,
125
+ filterSize,
126
+ filterAllIsDefaultSelected,
127
+ dropdownDividerVisible,
128
+ onToggleActionBarAllFilter,
129
+ onToggleActionBarDropdownFilter,
130
+ onToggleActionBarMoreFilter,
131
+ onToggleActionBarNoneFilter,
132
+ onDropdownSelectionActionBarFilterChange,
133
+ onMoreSelectionActionBarFilterChange,
134
+ onClearAllFiltersButton,
135
+ actionBarDisabled,
136
+ searchDisabled,
137
+ allFiltersData,
138
+ moreFiltersData,
139
+ children,
140
+ searchVisible,
141
+ filtersVisible,
142
+ childrenPosition,
143
+ tabVisible,
144
+ tabProps,
145
+ borderSides: headBorderSides,
146
+ borderRadiusSides: headBorderRadiusSides,
147
+ leadingIcon,
148
+ leadingLabel,
149
+ trailingLabel,
150
+ loading,
151
+ readOnly,
152
+ onGidsSearchBarClear,
153
+ onChange,
154
+ onInput,
155
+ onFocus,
156
+ onBlur,
157
+ value: headValue,
158
+ inputProps,
159
+ headAppearance,
160
+ ...restProps,
161
+ }),
162
+ );
163
+ }
164
+
165
+ // Wrapper Container to safely handle scroll containment
166
+ const tableScrollContainer = document.createElement('div');
167
+ tableScrollContainer.className = 'gids-bs-table__scroll-container';
168
+
169
+ // Safe injection of the custom property value into the container element
170
+ if (tableBodyMaxHeight) {
171
+ tableScrollContainer.style.setProperty(
172
+ '--gidsBsTable-body-max-height',
173
+ `${tableBodyMaxHeight}px`,
174
+ );
175
+ }
176
+
177
+ // Table properties
178
+ const table = document.createElement('table');
179
+ table.className = getBsTableClasses<
180
+ GidsBasicTableCellTypographyStyle,
181
+ IconName,
182
+ IconAppearance
183
+ >({ width, isHeadVisible });
184
+
185
+ if (isTopHeaderVisible && topHeaderCells && topHeaderCells.length > 0) {
186
+ // Append Table Header
187
+ table.append(
188
+ GidsBasicTableHeaderDom({
189
+ appearance: topHeaderAppearance,
190
+ labelTypography: topHeaderLabelTypography,
191
+ textAlignment: topHeaderTextAlignment,
192
+ headerCells: getCustomisedTopHeaderCells<
193
+ GidsBasicTableCellTypographyStyle,
194
+ IconName,
195
+ IconAppearance
196
+ >({
197
+ topHeaderCells,
198
+ tableBorders,
199
+ }),
200
+ width: isHeadVisible ? 'full' : width,
201
+ }),
202
+ );
203
+ }
204
+
205
+ if (tableBody && tableBody.length > 0) {
206
+ table.append(
207
+ GidsBasicTableBodyDom({
208
+ width: isHeadVisible ? 'full' : width,
209
+ tableBorders: getBsTableBodyBorder<
210
+ GidsBasicTableCellTypographyStyle,
211
+ IconName,
212
+ IconAppearance
213
+ >({ tableBorders }),
214
+ tableBodyData: tableBody,
215
+ rowAppearance,
216
+ rowLabelTypography,
217
+ rowTextAlignment,
218
+ }),
219
+ );
220
+ }
221
+
222
+ // Structural Append hierarchy: table -> scroll wrapper -> root container
223
+ tableScrollContainer.appendChild(table);
224
+ bsTable.appendChild(tableScrollContainer);
225
+
226
+ return bsTable;
227
+ };
@@ -0,0 +1,66 @@
1
+ import {
2
+ GidsBasicTableCellTypographyStyle,
3
+ GidsMdTableWebProps,
4
+ GidsMdTableWebUtils,
5
+ } from '@ganpatiinfo/gids-web-shared';
6
+ import {
7
+ IconAppearance,
8
+ IconName,
9
+ } from '@ganpatiinfo/gids-web-theme-interface';
10
+
11
+ const { getGidsMdTableClassNames } = GidsMdTableWebUtils;
12
+
13
+ type GidsMdTableBaseWebProps = GidsMdTableWebProps<
14
+ GidsBasicTableCellTypographyStyle,
15
+ IconName,
16
+ IconAppearance
17
+ >;
18
+
19
+ type GidsMdTableElement = HTMLElement & GidsMdTableBaseWebProps;
20
+
21
+ export interface GidsMdTableDomProps extends GidsMdTableBaseWebProps {
22
+ extraClasses?: string;
23
+ }
24
+
25
+ export const GidsMdTableDom = ({
26
+ topHeaderCells = [],
27
+ tableBody = [],
28
+ width = 'full',
29
+ isTopHeaderVisible = false,
30
+ isSideHeaderVisible = false,
31
+ topHeaderAppearance = 'none',
32
+ topHeaderLabelTypography = 'eyebrow-small',
33
+ topHeaderTextAlignment = 'left',
34
+ sideHeaderAppearance = 'none',
35
+ sideHeaderLabelTypography = 'label-small',
36
+ sideHeaderTextAlignment = 'left',
37
+ rowAppearance = 'none',
38
+ rowLabelTypography = 'label-small',
39
+ rowTextAlignment = 'left',
40
+ tableBorders = 'none',
41
+ tableBorderRadius = [],
42
+ extraClasses,
43
+ }: GidsMdTableDomProps): HTMLElement => {
44
+ const mdTable = document.createElement('gids-md-table') as GidsMdTableElement;
45
+
46
+ mdTable.isTopHeaderVisible = isTopHeaderVisible;
47
+ mdTable.isSideHeaderVisible = isSideHeaderVisible;
48
+ mdTable.topHeaderAppearance = topHeaderAppearance;
49
+ mdTable.topHeaderLabelTypography = topHeaderLabelTypography;
50
+ mdTable.topHeaderTextAlignment = topHeaderTextAlignment;
51
+ mdTable.sideHeaderAppearance = sideHeaderAppearance;
52
+ mdTable.sideHeaderLabelTypography = sideHeaderLabelTypography;
53
+ mdTable.sideHeaderTextAlignment = sideHeaderTextAlignment;
54
+ mdTable.rowAppearance = rowAppearance;
55
+ mdTable.rowLabelTypography = rowLabelTypography;
56
+ mdTable.rowTextAlignment = rowTextAlignment;
57
+ mdTable.topHeaderCells = topHeaderCells;
58
+ mdTable.tableBody = tableBody;
59
+ mdTable.tableBorders = tableBorders;
60
+ mdTable.tableBorderRadius = tableBorderRadius;
61
+ mdTable.width = width;
62
+
63
+ mdTable.className = getGidsMdTableClassNames({ width }, extraClasses);
64
+
65
+ return mdTable;
66
+ };
@@ -1,31 +1,33 @@
1
1
  import {
2
- GidsSideMenuWebProps,
3
- GidsSideMenuWebUtils,
2
+ GidsSideMenuWebProps,
3
+ GidsSideMenuWebUtils,
4
4
  } from '@ganpatiinfo/gids-web-shared';
5
5
  import { appendAsChildren, DomChildren } from '../../utils/domUtils.js';
6
6
 
7
7
  const { getGidsSideMenuClassNames } = GidsSideMenuWebUtils;
8
8
 
9
9
  export interface GidsSideMenuDomProps extends GidsSideMenuWebProps<DomChildren> {
10
- sideMenuExtraClasses?: string;
10
+ sideMenuExtraClasses?: string;
11
11
  }
12
12
 
13
13
  export const GidsSideMenuDom = ({
14
- children,
15
- sideMenuAppearance = 'default',
16
- sideMenuExtraClasses,
14
+ children,
15
+ sideMenuAppearance = 'default',
16
+ height = 'intrinsic',
17
+ sideMenuExtraClasses,
17
18
  }: GidsSideMenuDomProps): HTMLDivElement => {
18
- const sideMenu = document.createElement('div');
19
- sideMenu.className = getGidsSideMenuClassNames(
20
- { sideMenuAppearance },
21
- sideMenuExtraClasses,
22
- );
19
+ const sideMenu = document.createElement('div');
20
+ sideMenu.className = getGidsSideMenuClassNames(
21
+ { sideMenuAppearance, height },
22
+ sideMenuExtraClasses,
23
+ );
23
24
 
24
- sideMenu.setAttribute('side-menu-appearance', sideMenuAppearance);
25
+ sideMenu.setAttribute('side-menu-appearance', sideMenuAppearance);
26
+ sideMenu.setAttribute('side-menu-height', height);
25
27
 
26
- if (children) {
27
- appendAsChildren(sideMenu, children);
28
- }
28
+ if (children) {
29
+ appendAsChildren(sideMenu, children);
30
+ }
29
31
 
30
- return sideMenu;
32
+ return sideMenu;
31
33
  };
@@ -1,97 +1,100 @@
1
1
  import {
2
- GidsSideNavigationWebProps,
3
- GidsSideNavigationWebUtils,
2
+ GidsSideNavigationWebProps,
3
+ GidsSideNavigationWebUtils,
4
4
  } from '@ganpatiinfo/gids-web-shared';
5
5
  import { DomChildren } from '../../utils/domUtils.js';
6
6
  import { HtmlInputAttributes } from '../GidsInput/GidsInput.js';
7
7
  import {
8
- type GidsSideMenuHeaderDomProps,
9
- GidsSideMenuHeaderDom,
8
+ type GidsSideMenuHeaderDomProps,
9
+ GidsSideMenuHeaderDom,
10
10
  } from '../GidsSideMenuHeader/GidsSideMenuHeader.js';
11
11
  import { GidsSideMenuDom } from '../GidsSideMenu/GidsSideMenu.js';
12
12
 
13
13
  const { getGidsSideNavigationClassNames } = GidsSideNavigationWebUtils;
14
14
 
15
15
  export interface GidsSideNavigationDomProps
16
- extends
17
- GidsSideNavigationWebProps<
18
- DomChildren,
19
- DomChildren,
20
- Element,
21
- HtmlInputAttributes
22
- >,
23
- Pick<
24
- GidsSideMenuHeaderDomProps,
25
- | 'headerClasses'
26
- | 'wrapperClass'
27
- | 'onGidsSearchBarClear'
28
- | 'className'
29
- | 'onBlur'
30
- | 'onChange'
31
- | 'onFocus'
32
- | 'onInput'
33
- > {
34
- extraSideNavigationClasses?: string;
16
+ extends
17
+ GidsSideNavigationWebProps<
18
+ DomChildren,
19
+ DomChildren,
20
+ Element,
21
+ HtmlInputAttributes
22
+ >,
23
+ Pick<
24
+ GidsSideMenuHeaderDomProps,
25
+ | 'headerClasses'
26
+ | 'wrapperClass'
27
+ | 'onGidsSearchBarClear'
28
+ | 'className'
29
+ | 'onBlur'
30
+ | 'onChange'
31
+ | 'onFocus'
32
+ | 'onInput'
33
+ > {
34
+ extraSideNavigationClasses?: string;
35
35
  }
36
36
 
37
37
  export const GidsSideNavigationDom = ({
38
- sideNavigationAppearance = 'default',
39
- headerDividedByDivider = true,
40
- headerClasses,
41
- extraSideNavigationClasses,
42
- customHeaderChildren,
43
- isHeaderVisible = true,
44
- searchVisible = true,
45
- children,
46
- onGidsSearchBarClear,
47
- onBlur,
48
- onChange,
49
- onFocus,
50
- onInput,
51
- ...restProps
38
+ sideNavigationAppearance = 'default',
39
+ headerDividedByDivider = true,
40
+ headerClasses,
41
+ height = 'intrinsic',
42
+ extraSideNavigationClasses,
43
+ customHeaderChildren,
44
+ isHeaderVisible = true,
45
+ searchVisible = true,
46
+ children,
47
+ onGidsSearchBarClear,
48
+ onBlur,
49
+ onChange,
50
+ onFocus,
51
+ onInput,
52
+ ...restProps
52
53
  }: GidsSideNavigationDomProps): HTMLElement => {
53
- const sideNav = document.createElement('nav');
54
+ const sideNav = document.createElement('nav');
54
55
 
55
- // FIX: Force set the physical HTML attributes so Stencil is forced to read them on boot
56
- sideNav.setAttribute('side-navigation-appearance', sideNavigationAppearance);
57
- sideNav.setAttribute('is-header-visible', String(isHeaderVisible));
58
- sideNav.setAttribute('search-visible', String(searchVisible));
59
- sideNav.setAttribute(
60
- 'header-divided-by-divider',
61
- String(headerDividedByDivider),
62
- );
56
+ // FIX: Force set the physical HTML attributes so Stencil is forced to read them on boot
57
+ sideNav.setAttribute('side-navigation-appearance', sideNavigationAppearance);
58
+ sideNav.setAttribute('is-header-visible', String(isHeaderVisible));
59
+ sideNav.setAttribute('search-visible', String(searchVisible));
60
+ sideNav.setAttribute('side-navigation-height', height);
61
+ sideNav.setAttribute(
62
+ 'header-divided-by-divider',
63
+ String(headerDividedByDivider),
64
+ );
63
65
 
64
- sideNav.className = getGidsSideNavigationClassNames(
65
- { sideNavigationAppearance },
66
- extraSideNavigationClasses,
67
- );
66
+ sideNav.className = getGidsSideNavigationClassNames(
67
+ { sideNavigationAppearance },
68
+ extraSideNavigationClasses,
69
+ );
68
70
 
69
- if (isHeaderVisible) {
70
- sideNav.append(
71
- GidsSideMenuHeaderDom({
72
- searchVisible,
73
- headerClasses,
74
- headerAppearance: sideNavigationAppearance,
75
- customChildren: customHeaderChildren,
76
- onBlur,
77
- onChange,
78
- onFocus,
79
- onInput,
80
- onGidsSearchBarClear,
81
- headerDividedByDivider,
82
- ...restProps,
83
- }),
84
- );
85
- }
71
+ if (isHeaderVisible) {
72
+ sideNav.append(
73
+ GidsSideMenuHeaderDom({
74
+ searchVisible,
75
+ headerClasses,
76
+ headerAppearance: sideNavigationAppearance,
77
+ customChildren: customHeaderChildren,
78
+ onBlur,
79
+ onChange,
80
+ onFocus,
81
+ onInput,
82
+ onGidsSearchBarClear,
83
+ headerDividedByDivider,
84
+ ...restProps,
85
+ }),
86
+ );
87
+ }
86
88
 
87
- if (children) {
88
- sideNav.append(
89
- GidsSideMenuDom({
90
- children,
91
- sideMenuAppearance: sideNavigationAppearance,
92
- }),
93
- );
94
- }
89
+ if (children) {
90
+ sideNav.append(
91
+ GidsSideMenuDom({
92
+ children,
93
+ sideMenuAppearance: sideNavigationAppearance,
94
+ height,
95
+ }),
96
+ );
97
+ }
95
98
 
96
- return sideNav;
99
+ return sideNav;
97
100
  };
package/src/index.ts CHANGED
@@ -109,6 +109,13 @@ export * from './components/GidsExpansion/GidsExpansion.js';
109
109
  export * from './components/GidsExpansionBodyListItem/GidsExpansionBodyListItem.js';
110
110
  export * from './components/GidsExpansionBodyList/GidsExpansionBodyList.js';
111
111
  export * from './components/GidsExpansionGroup/GidsExpansionGroup.js';
112
+ export * from './components/GidsBasicTableHead/GidsBasicTableHead.js';
113
+ export * from './components/GidsBasicTableCell/GidsBasicTableCell.js';
114
+ export * from './components/GidsBasicTableRow/GidsBasicTableRow.js';
115
+ export * from './components/GidsBasicTableHeader/GidsBasicTableHeader.js';
116
+ export * from './components/GidsMdTable/GidsMdTable.js';
117
+ export * from './components/GidsBsTable/GidsBsTable.js';
118
+ export * from './components/GidsBasicTableBody/GidsBasicTableBody.js';
112
119
 
113
120
  /**
114
121
  * Utilities