@ganpatiinfo/gids-web-dom-reference 13.0.0 → 14.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 (82) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/components/GidsCrossTable/GidsCrossTable.d.ts +18 -0
  3. package/dist/components/GidsCrossTable/GidsCrossTable.d.ts.map +1 -0
  4. package/dist/components/GidsCrossTable/GidsCrossTable.js +141 -0
  5. package/dist/components/GidsCrossTable/GidsCrossTable.js.map +1 -0
  6. package/dist/components/GidsCrossTableBody/GidsCrossTableBody.d.ts +13 -0
  7. package/dist/components/GidsCrossTableBody/GidsCrossTableBody.d.ts.map +1 -0
  8. package/dist/components/GidsCrossTableBody/GidsCrossTableBody.js +79 -0
  9. package/dist/components/GidsCrossTableBody/GidsCrossTableBody.js.map +1 -0
  10. package/dist/components/GidsCrossTableRow/GidsCrossTableRow.d.ts +13 -0
  11. package/dist/components/GidsCrossTableRow/GidsCrossTableRow.d.ts.map +1 -0
  12. package/dist/components/GidsCrossTableRow/GidsCrossTableRow.js +128 -0
  13. package/dist/components/GidsCrossTableRow/GidsCrossTableRow.js.map +1 -0
  14. package/dist/components/GidsDialog/GidsDialog.d.ts +13 -0
  15. package/dist/components/GidsDialog/GidsDialog.d.ts.map +1 -0
  16. package/dist/components/GidsDialog/GidsDialog.js +102 -0
  17. package/dist/components/GidsDialog/GidsDialog.js.map +1 -0
  18. package/dist/components/GidsMatrixTable/GidsMatrixTable.d.ts +20 -0
  19. package/dist/components/GidsMatrixTable/GidsMatrixTable.d.ts.map +1 -1
  20. package/dist/components/GidsMatrixTable/GidsMatrixTable.js +5 -0
  21. package/dist/components/GidsMatrixTable/GidsMatrixTable.js.map +1 -1
  22. package/dist/components/GidsMatrixTableBody/GidsMatrixTableBody.d.ts +20 -0
  23. package/dist/components/GidsMatrixTableBody/GidsMatrixTableBody.d.ts.map +1 -1
  24. package/dist/components/GidsMatrixTableBody/GidsMatrixTableBody.js +5 -0
  25. package/dist/components/GidsMatrixTableBody/GidsMatrixTableBody.js.map +1 -1
  26. package/dist/components/GidsMenu/GidsMenu.d.ts +1 -1
  27. package/dist/components/GidsMenu/GidsMenu.d.ts.map +1 -1
  28. package/dist/components/GidsMenu/GidsMenu.js +10 -1
  29. package/dist/components/GidsMenu/GidsMenu.js.map +1 -1
  30. package/dist/components/GidsSkeleton/GidsSkeleton.d.ts +8 -0
  31. package/dist/components/GidsSkeleton/GidsSkeleton.d.ts.map +1 -0
  32. package/dist/components/GidsSkeleton/GidsSkeleton.js +16 -0
  33. package/dist/components/GidsSkeleton/GidsSkeleton.js.map +1 -0
  34. package/dist/components/GidsTable/GidsTable.d.ts +1 -1
  35. package/dist/components/GidsTable/GidsTable.d.ts.map +1 -1
  36. package/dist/components/GidsTable/GidsTable.js +27 -2
  37. package/dist/components/GidsTable/GidsTable.js.map +1 -1
  38. package/dist/components/GidsTableFooter/GidsTableFooter.d.ts +2 -2
  39. package/dist/components/GidsTableFooter/GidsTableFooter.d.ts.map +1 -1
  40. package/dist/components/GidsTableFooter/GidsTableFooter.js +2 -24
  41. package/dist/components/GidsTableFooter/GidsTableFooter.js.map +1 -1
  42. package/dist/components/GidsTableFooterControl/GidsTableFooterControl.d.ts +1 -1
  43. package/dist/components/GidsTableFooterControl/GidsTableFooterControl.d.ts.map +1 -1
  44. package/dist/components/GidsTableFooterControl/GidsTableFooterControl.js +5 -3
  45. package/dist/components/GidsTableFooterControl/GidsTableFooterControl.js.map +1 -1
  46. package/dist/components/GidsTableHeader/GidsTableHeader.d.ts +1 -1
  47. package/dist/components/GidsTableHeader/GidsTableHeader.d.ts.map +1 -1
  48. package/dist/components/GidsTableHeader/GidsTableHeader.js +1 -3
  49. package/dist/components/GidsTableHeader/GidsTableHeader.js.map +1 -1
  50. package/dist/components/GidsTableRow/GidsTableRow.d.ts +1 -1
  51. package/dist/components/GidsTableRow/GidsTableRow.d.ts.map +1 -1
  52. package/dist/components/GidsTableRow/GidsTableRow.js +3 -3
  53. package/dist/components/GidsTableRow/GidsTableRow.js.map +1 -1
  54. package/dist/components/GidsTransferList/GidsTransferList.d.ts +8 -0
  55. package/dist/components/GidsTransferList/GidsTransferList.d.ts.map +1 -0
  56. package/dist/components/GidsTransferList/GidsTransferList.js +25 -0
  57. package/dist/components/GidsTransferList/GidsTransferList.js.map +1 -0
  58. package/dist/components/_GidsDialogControl/GidsDialogControl.d.ts +10 -0
  59. package/dist/components/_GidsDialogControl/GidsDialogControl.d.ts.map +1 -0
  60. package/dist/components/_GidsDialogControl/GidsDialogControl.js +133 -0
  61. package/dist/components/_GidsDialogControl/GidsDialogControl.js.map +1 -0
  62. package/dist/index.d.ts +115 -108
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +115 -108
  65. package/dist/index.js.map +1 -1
  66. package/package.json +3 -3
  67. package/src/components/GidsCrossTable/GidsCrossTable.ts +259 -0
  68. package/src/components/GidsCrossTableBody/GidsCrossTableBody.ts +171 -0
  69. package/src/components/GidsCrossTableRow/GidsCrossTableRow.ts +230 -0
  70. package/src/components/GidsDialog/GidsDialog.ts +161 -0
  71. package/src/components/GidsMatrixTable/GidsMatrixTable.ts +20 -0
  72. package/src/components/GidsMatrixTableBody/GidsMatrixTableBody.ts +21 -0
  73. package/src/components/GidsMenu/GidsMenu.ts +15 -0
  74. package/src/components/GidsSkeleton/GidsSkeleton.ts +40 -0
  75. package/src/components/GidsTable/GidsTable.ts +41 -4
  76. package/src/components/GidsTableFooter/GidsTableFooter.ts +1 -39
  77. package/src/components/GidsTableFooterControl/GidsTableFooterControl.ts +9 -2
  78. package/src/components/GidsTableHeader/GidsTableHeader.ts +0 -4
  79. package/src/components/GidsTableRow/GidsTableRow.ts +2 -4
  80. package/src/components/GidsTransferList/GidsTransferList.ts +58 -0
  81. package/src/components/_GidsDialogControl/GidsDialogControl.ts +198 -0
  82. package/src/index.ts +115 -108
package/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # @ganpatiinfo/gids-web-dom-reference
2
2
 
3
+ ## 14.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - e1c1f52: - Moved `leading` and `trailing` actions to its entry specific prop for `GidsTableBody` component
8
+ - e1c1f52: - Moved `leading` and `trailing` actions to its entry specific prop for `GidsTableFooter` component
9
+ - fbeee63: Marked `GidsMatrixTable` component as `Deprecated`. Use `GidsCrossTable` component instead
10
+ - fbeee63: - Marked `GidsMatrixTableBody` component as `Deprecated`. Use `GidsCrossTableBody` component instead
11
+ - e1c1f52: - Moved `leading` and `trailing` actions to its entry specific prop for `GidsTable` component
12
+ - e1c1f52: - Moved `leading` and `trailing` actions to its entry specific prop for `GidsCrossTableBody` component
13
+ - e1c1f52: - Moved `leading` and `trailing` actions to its entry specific prop for `GidsTableHeader` component
14
+ - e1c1f52: - Moved `leading` and `trailing` actions to its entry specific prop for `GidsCrossTable` component
15
+ - e1c1f52: - Moved `leading` and `trailing` actions to its entry specific prop for `GidsCrossTableRow` component
16
+ - e1c1f52: - Moved `leading` and `trailing` actions to its entry specific prop for `GidsTableRow` component
17
+
18
+ ### Minor Changes
19
+
20
+ - 385fe5d: - Developed `GidsDialog` component for all web platforms
21
+ - 036d067: - Developed `GidsSkeleton` component for all web platforms
22
+ - fbeee63: - Developed `GidsCrossTableRow` component for all web platforms
23
+ - 036d067: - Developed `GidsTransferList` component for all web platforms
24
+ - fbeee63: - Developed `GidsCrossTable` component for all web platforms
25
+ - fbeee63: - Developed `GidsCrossTableBody` component for all web platforms
26
+
27
+ ### Patch Changes
28
+
29
+ - 385fe5d: - Developed `GidsDialogControl` private component for all web platforms
30
+ - Updated dependencies [385fe5d]
31
+ - Updated dependencies [036d067]
32
+ - Updated dependencies [fbeee63]
33
+ - Updated dependencies [e1c1f52]
34
+ - Updated dependencies [385fe5d]
35
+ - Updated dependencies [e1c1f52]
36
+ - Updated dependencies [fbeee63]
37
+ - Updated dependencies [fbeee63]
38
+ - Updated dependencies [e1c1f52]
39
+ - Updated dependencies [e1c1f52]
40
+ - Updated dependencies [e1c1f52]
41
+ - Updated dependencies [036d067]
42
+ - Updated dependencies [fbeee63]
43
+ - Updated dependencies [e1c1f52]
44
+ - Updated dependencies [e1c1f52]
45
+ - Updated dependencies [e1c1f52]
46
+ - Updated dependencies [fbeee63]
47
+ - @ganpatiinfo/gids-core-shared@14.0.0
48
+ - @ganpatiinfo/gids-web-shared@13.0.0
49
+
3
50
  ## 13.0.0
4
51
 
5
52
  ### Major Changes
@@ -0,0 +1,18 @@
1
+ import { GidsCrossTableActionEvent, GidsCrossTableToolbarSettings, GidsInputStatus } from '@ganpatiinfo/gids-core-shared';
2
+ import { DomChildren } from '../../utils/domUtils';
3
+ import { HtmlInputAttributes } from '../GidsInput/GidsInput';
4
+ import { GidsTableToolbarDomProps } from '../GidsTableToolbar/GidsTableToolbar';
5
+ import { GidsCrossTableWebProps, GidsTableEntryTypographyStyle } from '@ganpatiinfo/gids-web-shared';
6
+ import { IconAppearance, IconName } from '@ganpatiinfo/gids-web-theme-interface';
7
+ export type GidsCrossTableToolbarBaseSettings = GidsCrossTableToolbarSettings<DomChildren, Event, Element, HtmlInputAttributes, GidsInputStatus> & Pick<GidsTableToolbarDomProps, 'onChange' | 'onInput' | 'onFocus' | 'onBlur' | 'onGidsSearchBarClear'>;
8
+ type GidsCrossTableBaseWebProps = Omit<GidsCrossTableWebProps<DomChildren, GidsTableEntryTypographyStyle, IconName, IconAppearance, DomChildren, Event, Element, HtmlInputAttributes>, 'toolbarSettings'> & {
9
+ toolbarSettings?: GidsCrossTableToolbarBaseSettings;
10
+ };
11
+ type GidsCrossTableActionBaseEvent = GidsCrossTableActionEvent<Event, GidsTableEntryTypographyStyle, IconName, IconAppearance>;
12
+ export interface GidsCrossTableDomProps extends GidsCrossTableBaseWebProps {
13
+ extraClasses?: string;
14
+ onCrossTableAction?: (event: GidsCrossTableActionBaseEvent) => void;
15
+ }
16
+ export declare const GidsCrossTableDom: ({ toolbar, toolbarChildren, children, headerItems, bodyContent, isHeaderVisible, isToolbarVisible, bodySettings, toolbarSettings, headerSettings, tableBorders, tableBorderRadius, tableBodyMaxHeight, horizontalScroll, crossHeaderSettings, onCrossTableAction, footerItems, footerSettings, isFooterVisible, isFooterControlVisible, footerControlSettings, footerControl, extraClasses, }: GidsCrossTableDomProps) => HTMLDivElement;
17
+ export {};
18
+ //# sourceMappingURL=GidsCrossTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsCrossTable.d.ts","sourceRoot":"","sources":["../../../src/components/GidsCrossTable/GidsCrossTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,6BAA6B,EAC7B,eAAe,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAoB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAEN,wBAAwB,EACxB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACN,sBAAsB,EAEtB,6BAA6B,EAE7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,cAAc,EACd,QAAQ,EACR,MAAM,uCAAuC,CAAC;AAmB/C,MAAM,MAAM,iCAAiC,GAAG,6BAA6B,CAC5E,WAAW,EACX,KAAK,EACL,OAAO,EACP,mBAAmB,EACnB,eAAe,CACf,GACA,IAAI,CACH,wBAAwB,EACxB,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,sBAAsB,CACtE,CAAC;AAEH,KAAK,0BAA0B,GAAG,IAAI,CACrC,sBAAsB,CACrB,WAAW,EACX,6BAA6B,EAC7B,QAAQ,EACR,cAAc,EACd,WAAW,EACX,KAAK,EACL,OAAO,EACP,mBAAmB,CACnB,EACD,iBAAiB,CACjB,GAAG;IACH,eAAe,CAAC,EAAE,iCAAiC,CAAC;CACpD,CAAC;AAEF,KAAK,6BAA6B,GAAG,yBAAyB,CAC7D,KAAK,EACL,6BAA6B,EAC7B,QAAQ,EACR,cAAc,CACd,CAAC;AAEF,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CACpE;AAED,eAAO,MAAM,iBAAiB,GAAI,+XAwB/B,sBAAsB,KAAG,cA2J3B,CAAC"}
@@ -0,0 +1,141 @@
1
+ import { appendAsChildren } from '../../utils/domUtils';
2
+ import { GidsTableToolbarDom, } from '../GidsTableToolbar/GidsTableToolbar';
3
+ import { GidsCrossTableWebUtils, isValidChildren, } from '@ganpatiinfo/gids-web-shared';
4
+ import { GidsTableHeaderDom, } from '../GidsTableHeader/GidsTableHeader';
5
+ import { GidsCrossTableBodyDom, } from '../GidsCrossTableBody/GidsCrossTableBody';
6
+ import { GidsTableFooterDom } from '../GidsTableFooter/GidsTableFooter';
7
+ import { GidsTableFooterControlDom } from '../GidsTableFooterControl/GidsTableFooterControl';
8
+ const { getGidsCrossTableClassNames, getCustomisedCrossTableHeaderEntries, getCustomisedCrossTableFooterEntries, getCrossTableBodyBorder, } = GidsCrossTableWebUtils;
9
+ export const GidsCrossTableDom = ({ toolbar, toolbarChildren, children, headerItems = [], bodyContent = [], isHeaderVisible, isToolbarVisible, bodySettings, toolbarSettings, headerSettings, tableBorders, tableBorderRadius, tableBodyMaxHeight = 200, horizontalScroll = false, crossHeaderSettings, onCrossTableAction, footerItems = [], footerSettings, isFooterVisible = false, isFooterControlVisible = false, footerControlSettings, footerControl, extraClasses, }) => {
10
+ /*
11
+ * Cross Table Root
12
+ */
13
+ const crossTableDiv = document.createElement('div');
14
+ crossTableDiv.className = getGidsCrossTableClassNames({ tableBorders, tableBorderRadius }, extraClasses);
15
+ /*
16
+ * Toolbar
17
+ */
18
+ if (isValidChildren(toolbar)) {
19
+ appendAsChildren(crossTableDiv, toolbar);
20
+ }
21
+ else if (isToolbarVisible) {
22
+ const tableToolbar = GidsTableToolbarDom({
23
+ ...toolbarSettings,
24
+ children: toolbarChildren,
25
+ });
26
+ crossTableDiv.append(tableToolbar);
27
+ }
28
+ /*
29
+ * Scroll Container
30
+ */
31
+ const tableScrollContainer = document.createElement('div');
32
+ tableScrollContainer.className = [
33
+ 'gids-cross-table__scroll-container',
34
+ horizontalScroll
35
+ ? 'gids-cross-table__scroll-container--horizontal-scroll'
36
+ : '',
37
+ ]
38
+ .filter(Boolean)
39
+ .join(' ');
40
+ if (tableBodyMaxHeight) {
41
+ tableScrollContainer.style.maxHeight = `${tableBodyMaxHeight}px`;
42
+ }
43
+ /*
44
+ * Cross Table
45
+ */
46
+ const crossTable = document.createElement('table');
47
+ crossTable.className = 'gids-cross-table__main-table';
48
+ /*
49
+ * Horizontal scroll is enabled:
50
+ *
51
+ * The table is allowed to become wider than the viewport.
52
+ *
53
+ * Horizontal scroll is disabled:
54
+ *
55
+ * The table stays 100% wide and cells wrap exactly like GidsTable.
56
+ */
57
+ if (horizontalScroll) {
58
+ crossTable.classList.add('gids-cross-table__main-table--horizontal-scroll');
59
+ }
60
+ /*
61
+ * Custom Children
62
+ */
63
+ if (isValidChildren(children)) {
64
+ appendAsChildren(crossTable, children);
65
+ }
66
+ else {
67
+ function onActionBtnClick(event) {
68
+ if (onCrossTableAction) {
69
+ onCrossTableAction({
70
+ ...event,
71
+ details: {
72
+ ...event.details,
73
+ columnIndex: event?.details?.entryIndex,
74
+ },
75
+ });
76
+ }
77
+ }
78
+ /*
79
+ * Header
80
+ */
81
+ if (isHeaderVisible && headerItems && headerItems.length > 0) {
82
+ const crossTableHeader = GidsTableHeaderDom({
83
+ ...headerSettings,
84
+ headerItems: getCustomisedCrossTableHeaderEntries({
85
+ headerItems: [{}, ...headerItems],
86
+ tableBorders,
87
+ }),
88
+ onHeaderAction: onActionBtnClick,
89
+ });
90
+ crossTable.append(crossTableHeader);
91
+ }
92
+ /*
93
+ * Body
94
+ */
95
+ if (bodyContent && bodyContent.length > 0) {
96
+ crossTable.append(GidsCrossTableBodyDom({
97
+ bodyBorder: getCrossTableBodyBorder({
98
+ tableBorders,
99
+ }),
100
+ bodyContent,
101
+ bodySettings,
102
+ crossHeaderSettings,
103
+ onCrossTableBodyAction: onActionBtnClick,
104
+ }));
105
+ }
106
+ /*
107
+ * Footer
108
+ */
109
+ if (isFooterVisible && footerItems && footerItems.length > 0) {
110
+ const crossTableFooter = GidsTableFooterDom({
111
+ ...footerSettings,
112
+ footerItems: getCustomisedCrossTableFooterEntries({
113
+ footerItems: [{}, ...footerItems],
114
+ tableBorders,
115
+ }),
116
+ onFooterAction: onActionBtnClick,
117
+ });
118
+ crossTable.append(crossTableFooter);
119
+ }
120
+ }
121
+ /*
122
+ * Put cross table inside scroll container
123
+ */
124
+ tableScrollContainer.appendChild(crossTable);
125
+ /*
126
+ * Put scroll container inside Cross Table div
127
+ */
128
+ crossTableDiv.appendChild(tableScrollContainer);
129
+ /*
130
+ * Footer Control
131
+ */
132
+ if (isFooterControlVisible || isValidChildren(footerControl)) {
133
+ crossTableDiv.append(GidsTableFooterControlDom({
134
+ ...footerControlSettings,
135
+ tableViewControllerSettings: footerControlSettings?.tableViewControllerSettings,
136
+ children: footerControl,
137
+ }));
138
+ }
139
+ return crossTableDiv;
140
+ };
141
+ //# sourceMappingURL=GidsCrossTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsCrossTable.js","sourceRoot":"","sources":["../../../src/components/GidsCrossTable/GidsCrossTable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { GidsCrossTableBodyActionEvent } from '@ganpatiinfo/gids-core-shared';
2
+ import { GidsCrossTableBodyWebProps, GidsTableEntryTypographyStyle } from '@ganpatiinfo/gids-web-shared';
3
+ import { IconAppearance, IconName } from '@ganpatiinfo/gids-web-theme-interface';
4
+ import { DomChildren } from '../../utils/domUtils';
5
+ type GidsCrossTableBodyBaseWebProps = GidsCrossTableBodyWebProps<GidsTableEntryTypographyStyle, IconName, IconAppearance, DomChildren>;
6
+ export type GidsCrossTableBodyActionBaseEvent = GidsCrossTableBodyActionEvent<Event, GidsTableEntryTypographyStyle, IconName, IconAppearance>;
7
+ export interface GidsCrossTableBodyDomProps extends GidsCrossTableBodyBaseWebProps {
8
+ extraClasses?: string;
9
+ onCrossTableBodyAction?: (event: GidsCrossTableBodyActionBaseEvent) => void;
10
+ }
11
+ export declare const GidsCrossTableBodyDom: ({ bodySettings, bodyContent, bodyBorder, crossHeaderSettings, children, onCrossTableBodyAction, extraClasses, }: GidsCrossTableBodyDomProps) => HTMLElement;
12
+ export {};
13
+ //# sourceMappingURL=GidsCrossTableBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsCrossTableBody.d.ts","sourceRoot":"","sources":["../../../src/components/GidsCrossTableBody/GidsCrossTableBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EACN,0BAA0B,EAE1B,6BAA6B,EAE7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,cAAc,EACd,QAAQ,EACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAoB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAerE,KAAK,8BAA8B,GAAG,0BAA0B,CAC/D,6BAA6B,EAC7B,QAAQ,EACR,cAAc,EACd,WAAW,CACX,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,6BAA6B,CAC5E,KAAK,EACL,6BAA6B,EAC7B,QAAQ,EACR,cAAc,CACd,CAAC;AAEF,MAAM,WAAW,0BAA2B,SAAQ,8BAA8B;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,IAAI,CAAC;CAC5E;AAED,eAAO,MAAM,qBAAqB,GAAI,iHAQnC,0BAA0B,KAAG,WAqH/B,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { GidsCrossTableBodyWebUtils, isValidChildren, } from '@ganpatiinfo/gids-web-shared';
2
+ import { appendAsChildren } from '../../utils/domUtils';
3
+ import { GidsCrossTableRowDom, } from '../GidsCrossTableRow/GidsCrossTableRow';
4
+ const { getGidsCrossTableBodyClassNames, getConstructedCrossTableBodyContent, getCrossTableBodyRowEntryBackgroundColor, getCrossTableBodyRowEntryContentColor, getCrossTableBodyRowEntryActionsBackgroundColor, getCrossTableBodyRowEntryActionsContentColor, } = GidsCrossTableBodyWebUtils;
5
+ export const GidsCrossTableBodyDom = ({ bodySettings, bodyContent = [], bodyBorder = 'none', crossHeaderSettings, children, onCrossTableBodyAction, extraClasses, }) => {
6
+ const crossTableBody = document.createElement('tbody');
7
+ crossTableBody.className = getGidsCrossTableBodyClassNames(extraClasses);
8
+ if (isValidChildren(children)) {
9
+ appendAsChildren(crossTableBody, children);
10
+ return crossTableBody;
11
+ }
12
+ if (bodyContent && bodyContent.length > 0) {
13
+ const constructedCrossTableBodyContent = getConstructedCrossTableBodyContent({
14
+ bodyContent,
15
+ bodyBorder,
16
+ });
17
+ function onCrossTableRowActionBtnClick({ event, rowIndex, }) {
18
+ if (onCrossTableBodyAction) {
19
+ onCrossTableBodyAction({
20
+ ...event,
21
+ details: {
22
+ ...event.details,
23
+ rowIndex,
24
+ },
25
+ });
26
+ }
27
+ }
28
+ constructedCrossTableBodyContent.forEach((constructedCrossTableBody, indexI) => {
29
+ const constructedBodyRowItems = constructedCrossTableBody?.rowItems ?? [];
30
+ const rowBgColor = getCrossTableBodyRowEntryBackgroundColor({
31
+ bodySettings,
32
+ rowIndex: indexI,
33
+ });
34
+ const rowContentColor = getCrossTableBodyRowEntryContentColor({
35
+ bodySettings,
36
+ rowIndex: indexI,
37
+ });
38
+ const rowActionsBgColor = getCrossTableBodyRowEntryActionsBackgroundColor({
39
+ bodySettings,
40
+ rowIndex: indexI,
41
+ });
42
+ const rowActionsContentColor = getCrossTableBodyRowEntryActionsContentColor({
43
+ bodySettings,
44
+ rowIndex: indexI,
45
+ });
46
+ crossTableBody.append(GidsCrossTableRowDom({
47
+ ...bodySettings,
48
+ rows: constructedBodyRowItems,
49
+ /*
50
+ * Cross Header
51
+ *
52
+ * sideHeaderItem = actual content
53
+ * for this specific row.
54
+ */
55
+ crossHeaderItem: constructedCrossTableBody?.crossHeaderItem,
56
+ /*
57
+ * Cross Header Settings
58
+ *
59
+ * Shared configuration/style for
60
+ * all side-header cells.
61
+ */
62
+ crossHeaderSettings,
63
+ /*
64
+ * Body row styling
65
+ */
66
+ backgroundColor: rowBgColor,
67
+ contentColor: rowContentColor,
68
+ actionsBackgroundColor: rowActionsBgColor,
69
+ actionsContentColor: rowActionsContentColor,
70
+ onCrossTableRowAction: (event) => onCrossTableRowActionBtnClick({
71
+ event,
72
+ rowIndex: indexI,
73
+ }),
74
+ }));
75
+ });
76
+ }
77
+ return crossTableBody;
78
+ };
79
+ //# sourceMappingURL=GidsCrossTableBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsCrossTableBody.js","sourceRoot":"","sources":["../../../src/components/GidsCrossTableBody/GidsCrossTableBody.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,0BAA0B,EAE1B,eAAe,GACf,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAEN,oBAAoB,GACpB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,EACL,+BAA+B,EAC/B,mCAAmC,EACnC,wCAAwC,EACxC,qCAAqC,EACrC,+CAA+C,EAC/C,4CAA4C,GAC5C,GAAG,0BAA0B,CAAC;AAqB/B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACrC,YAAY,EACZ,WAAW,GAAG,EAAE,EAChB,UAAU,GAAG,MAAM,EACnB,mBAAmB,EACnB,QAAQ,EACR,sBAAsB,EACtB,YAAY,GACgB,EAAe,EAAE;IAC7C,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvD,cAAc,CAAC,SAAS,GAAG,+BAA+B,CAAC,YAAY,CAAC,CAAC;IAEzE,IAAI,eAAe,CAAc,QAAQ,CAAC,EAAE,CAAC;QAC5C,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAE3C,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,gCAAgC,GACrC,mCAAmC,CAAC;YACnC,WAAW;YACX,UAAU;SACV,CAAC,CAAC;QAEJ,SAAS,6BAA6B,CAAC,EACtC,KAAK,EACL,QAAQ,GAIR;YACA,IAAI,sBAAsB,EAAE,CAAC;gBAC5B,sBAAsB,CAAC;oBACtB,GAAG,KAAK;oBACR,OAAO,EAAE;wBACR,GAAG,KAAK,CAAC,OAAO;wBAChB,QAAQ;qBACR;iBACD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,gCAAgC,CAAC,OAAO,CACvC,CAAC,yBAAyB,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,uBAAuB,GAC5B,yBAAyB,EAAE,QAAQ,IAAI,EAAE,CAAC;YAE3C,MAAM,UAAU,GAAG,wCAAwC,CAIzD;gBACD,YAAY;gBACZ,QAAQ,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,qCAAqC,CAI3D;gBACD,YAAY;gBACZ,QAAQ,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,iBAAiB,GACtB,+CAA+C,CAI7C;gBACD,YAAY;gBACZ,QAAQ,EAAE,MAAM;aAChB,CAAC,CAAC;YAEJ,MAAM,sBAAsB,GAC3B,4CAA4C,CAI1C;gBACD,YAAY;gBACZ,QAAQ,EAAE,MAAM;aAChB,CAAC,CAAC;YAEJ,cAAc,CAAC,MAAM,CACpB,oBAAoB,CAAC;gBACpB,GAAG,YAAY;gBAEf,IAAI,EAAE,uBAAuB;gBAC7B;;;;;mBAKG;gBACH,eAAe,EAAE,yBAAyB,EAAE,eAAe;gBAC3D;;;;;mBAKG;gBACH,mBAAmB;gBACnB;;mBAEG;gBACH,eAAe,EAAE,UAAU;gBAC3B,YAAY,EAAE,eAAe;gBAC7B,sBAAsB,EAAE,iBAAiB;gBACzC,mBAAmB,EAAE,sBAAsB;gBAC3C,qBAAqB,EAAE,CAAC,KAAuC,EAAE,EAAE,CAClE,6BAA6B,CAAC;oBAC7B,KAAK;oBACL,QAAQ,EAAE,MAAM;iBAChB,CAAC;aACH,CAAC,CACF,CAAC;QACH,CAAC,CACD,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { GidsCrossTableRowWebProps, GidsTableEntryTypographyStyle } from '@ganpatiinfo/gids-web-shared';
2
+ import { IconAppearance, IconName } from '@ganpatiinfo/gids-web-theme-interface';
3
+ import { DomChildren } from '../../utils/domUtils';
4
+ import { GidsCrossTableRowActionEvent } from '@ganpatiinfo/gids-core-shared';
5
+ type GidsCrossTableRowBaseWebProps = GidsCrossTableRowWebProps<GidsTableEntryTypographyStyle, IconName, IconAppearance, DomChildren>;
6
+ export type GidsCrossTableRowActionBaseEvent = GidsCrossTableRowActionEvent<Event, GidsTableEntryTypographyStyle, IconName, IconAppearance>;
7
+ export interface GidsCrossTableRowDomProps extends GidsCrossTableRowBaseWebProps {
8
+ extraClasses?: string;
9
+ onCrossTableRowAction?: (event: GidsCrossTableRowActionBaseEvent) => void;
10
+ }
11
+ export declare const GidsCrossTableRowDom: ({ rows, crossHeaderItem, crossHeaderSettings, onCrossTableRowAction, textAlignment, appearance, labelTypography, entryAlignment, colorSwatchLabelColor, colorSwatchLabelPosition, colorSwatchLabelTypography, colorSwatchSize, colorSwatchShape, colorSwatchShadow, colorSwatchBorderRadius, colorSwatchApplyBorders, colorSwatchBorderWidth, progressBarSize, progressBarEndCap, avatarSize, avatarGroupAppearance, avatarGroupLayout, statusTagAppearance, statusTagSize, progressBarContainerMinWidth, displayTagsOrientation, statusTagsOrientation, progressBarsOrientation, colorSwatchesOrientation, badgesOrientation, actionsBackgroundColor, actionsContentColor, backgroundColor, contentColor, children, extraClasses, }: GidsCrossTableRowDomProps) => HTMLTableRowElement;
12
+ export {};
13
+ //# sourceMappingURL=GidsCrossTableRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsCrossTableRow.d.ts","sourceRoot":"","sources":["../../../src/components/GidsCrossTableRow/GidsCrossTableRow.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,6BAA6B,EAG7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,cAAc,EACd,QAAQ,EACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAoB,MAAM,sBAAsB,CAAC;AAKrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAI7E,KAAK,6BAA6B,GAAG,yBAAyB,CAC7D,6BAA6B,EAC7B,QAAQ,EACR,cAAc,EACd,WAAW,CACX,CAAC;AACF,MAAM,MAAM,gCAAgC,GAAG,4BAA4B,CAC1E,KAAK,EACL,6BAA6B,EAC7B,QAAQ,EACR,cAAc,CACd,CAAC;AAEF,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;CAC1E;AAED,eAAO,MAAM,oBAAoB,GAAI,ssBAqClC,yBAAyB,KAAG,mBA2J9B,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { GidsCrossTableRowWebUtils, isValidChildren, } from '@ganpatiinfo/gids-web-shared';
2
+ import { appendAsChildren } from '../../utils/domUtils';
3
+ import { GidsTableEntryDom, } from '../GidsTableEntry/GidsTableEntry';
4
+ const { getGidsCrossTableRowClassNames } = GidsCrossTableRowWebUtils;
5
+ export const GidsCrossTableRowDom = ({ rows = [], crossHeaderItem, crossHeaderSettings, onCrossTableRowAction, textAlignment = 'center', appearance = 'none', labelTypography = 'label-medium', entryAlignment = 'center', colorSwatchLabelColor = 'default', colorSwatchLabelPosition = 'left', colorSwatchLabelTypography = 'label-medium', colorSwatchSize = 'sm', colorSwatchShape = 'oval', colorSwatchShadow = 'shadow-overlay', colorSwatchBorderRadius = 'none', colorSwatchApplyBorders = true, colorSwatchBorderWidth = 'thick', progressBarSize = 'sm', progressBarEndCap = true, avatarSize = 'sm', avatarGroupAppearance, avatarGroupLayout, statusTagAppearance = 'subtle', statusTagSize = 'sm', progressBarContainerMinWidth = 200, displayTagsOrientation = 'horizontal', statusTagsOrientation = 'horizontal', progressBarsOrientation = 'horizontal', colorSwatchesOrientation = 'horizontal', badgesOrientation = 'horizontal', actionsBackgroundColor, actionsContentColor, backgroundColor, contentColor, children, extraClasses, }) => {
6
+ const crossTableRow = document.createElement('tr');
7
+ crossTableRow.className = getGidsCrossTableRowClassNames(extraClasses);
8
+ if (isValidChildren(children)) {
9
+ appendAsChildren(crossTableRow, children);
10
+ return crossTableRow;
11
+ }
12
+ function onEntryActionBtnClick({ event, entryIndex, }) {
13
+ if (onCrossTableRowAction) {
14
+ onCrossTableRowAction({
15
+ ...event,
16
+ details: {
17
+ ...event.details,
18
+ entryIndex,
19
+ },
20
+ });
21
+ }
22
+ }
23
+ /*
24
+ * Cross Header
25
+ *
26
+ * IMPORTANT:
27
+ * Cross header settings are completely independent
28
+ * from the body row settings.
29
+ */
30
+ if (crossHeaderItem && Object.keys(crossHeaderItem).length > 0) {
31
+ crossTableRow.append(GidsTableEntryDom({
32
+ ...crossHeaderItem,
33
+ ...crossHeaderSettings,
34
+ label: crossHeaderItem?.label,
35
+ entryType: 'header',
36
+ /*
37
+ * Cross header uses its own settings first.
38
+ */
39
+ leadingActions: crossHeaderItem?.leadingActions ?? [],
40
+ trailingActions: crossHeaderItem?.trailingActions ?? [],
41
+ entryAlignment: crossHeaderSettings?.entryAlignment ?? 'center',
42
+ colorSwatchLabelColor: crossHeaderSettings?.colorSwatchLabelColor ?? 'default',
43
+ colorSwatchLabelPosition: crossHeaderSettings?.colorSwatchLabelPosition ?? 'left',
44
+ colorSwatchLabelTypography: crossHeaderSettings?.colorSwatchLabelTypography ?? 'label-medium',
45
+ colorSwatchSize: crossHeaderSettings?.colorSwatchSize ?? 'sm',
46
+ colorSwatchShape: crossHeaderSettings?.colorSwatchShape ?? 'oval',
47
+ colorSwatchShadow: crossHeaderSettings?.colorSwatchShadow ?? 'shadow-overlay',
48
+ colorSwatchBorderRadius: crossHeaderSettings?.colorSwatchBorderRadius ?? 'none',
49
+ colorSwatchApplyBorders: crossHeaderSettings?.colorSwatchApplyBorders ?? true,
50
+ colorSwatchBorderWidth: crossHeaderSettings?.colorSwatchBorderWidth ?? 'thick',
51
+ progressBarSize: crossHeaderSettings?.progressBarSize ?? 'sm',
52
+ progressBarEndCap: crossHeaderSettings?.progressBarEndCap ?? true,
53
+ avatarSize: crossHeaderSettings?.avatarSize ?? 'sm',
54
+ avatarGroupAppearance: crossHeaderSettings?.avatarGroupAppearance ?? 'spread',
55
+ avatarGroupLayout: crossHeaderSettings?.avatarGroupLayout ?? 'wrap',
56
+ statusTagAppearance: crossHeaderSettings?.statusTagAppearance ?? 'subtle',
57
+ statusTagSize: crossHeaderSettings?.statusTagSize ?? 'sm',
58
+ progressBarContainerMinWidth: crossHeaderSettings?.progressBarContainerMinWidth ?? 200,
59
+ displayTagsOrientation: crossHeaderSettings?.displayTagsOrientation ?? 'horizontal',
60
+ statusTagsOrientation: crossHeaderSettings?.statusTagsOrientation ?? 'horizontal',
61
+ progressBarsOrientation: crossHeaderSettings?.progressBarsOrientation ?? 'horizontal',
62
+ colorSwatchesOrientation: crossHeaderSettings?.colorSwatchesOrientation ?? 'horizontal',
63
+ badgesOrientation: crossHeaderSettings?.badgesOrientation ?? 'horizontal',
64
+ textAlignment: crossHeaderSettings?.textAlignment ?? 'center',
65
+ labelTypography: crossHeaderSettings?.labelTypography ?? 'label-medium',
66
+ appearance: crossHeaderSettings?.appearance ?? 'none',
67
+ /*
68
+ * Most importantly, colors come from crossHeaderSettings,
69
+ * never from the body row.
70
+ */
71
+ onEntryAction: (event) => onEntryActionBtnClick({
72
+ event,
73
+ entryIndex: -1,
74
+ }),
75
+ }));
76
+ }
77
+ /*
78
+ * Body Cells
79
+ *
80
+ * These continue using the normal row settings.
81
+ */
82
+ if (rows && rows.length > 0) {
83
+ rows.forEach((row, index) => {
84
+ crossTableRow.append(GidsTableEntryDom({
85
+ ...row,
86
+ entryType: 'body',
87
+ leadingActions: row?.leadingActions ?? [],
88
+ trailingActions: row?.trailingActions ?? [],
89
+ entryAlignment,
90
+ colorSwatchLabelColor,
91
+ colorSwatchLabelPosition,
92
+ colorSwatchLabelTypography,
93
+ colorSwatchSize,
94
+ colorSwatchShape,
95
+ colorSwatchShadow,
96
+ colorSwatchBorderRadius,
97
+ colorSwatchApplyBorders,
98
+ colorSwatchBorderWidth,
99
+ progressBarSize,
100
+ progressBarEndCap,
101
+ avatarSize,
102
+ avatarGroupAppearance,
103
+ avatarGroupLayout,
104
+ statusTagAppearance,
105
+ statusTagSize,
106
+ progressBarContainerMinWidth,
107
+ displayTagsOrientation,
108
+ statusTagsOrientation,
109
+ progressBarsOrientation,
110
+ colorSwatchesOrientation,
111
+ badgesOrientation,
112
+ textAlignment,
113
+ labelTypography,
114
+ appearance,
115
+ backgroundColor,
116
+ contentColor,
117
+ actionsBackgroundColor,
118
+ actionsContentColor,
119
+ onEntryAction: (event) => onEntryActionBtnClick({
120
+ event,
121
+ entryIndex: index,
122
+ }),
123
+ }));
124
+ });
125
+ }
126
+ return crossTableRow;
127
+ };
128
+ //# sourceMappingURL=GidsCrossTableRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsCrossTableRow.js","sourceRoot":"","sources":["../../../src/components/GidsCrossTableRow/GidsCrossTableRow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type GidsDialogWebProps } from '@ganpatiinfo/gids-web-shared';
2
+ import { DomNodeOrString } from '../../utils/domUtils.js';
3
+ import { IconAppearance, IconName } from '@ganpatiinfo/gids-web-theme-interface';
4
+ type GidsDialogBaseWebProps = GidsDialogWebProps<DomNodeOrString, Event, IconName, IconAppearance>;
5
+ export type GidsDialogCustomElement = HTMLDialogElement & {
6
+ element: HTMLDialogElement;
7
+ open: (parent?: HTMLElement) => void;
8
+ close: () => void;
9
+ };
10
+ export type GidsDialogDomProps = GidsDialogBaseWebProps;
11
+ export declare const GidsDialogDom: ({ variant, maxWidth, scrollMode, draggable, headerTitle, closeVisible, children, footerActions, headerDividerVisible, footerDividerVisible, transition, cancellable, onCloseDialog, onDialogFooterAction, }: GidsDialogDomProps) => GidsDialogCustomElement;
12
+ export {};
13
+ //# sourceMappingURL=GidsDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsDialog.d.ts","sourceRoot":"","sources":["../../../src/components/GidsDialog/GidsDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACN,cAAc,EACd,QAAQ,EACR,MAAM,uCAAuC,CAAC;AAM/C,KAAK,sBAAsB,GAAG,kBAAkB,CAC/C,eAAe,EACf,KAAK,EACL,QAAQ,EACR,cAAc,CACd,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG;IACzD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,eAAO,MAAM,aAAa,GAAI,6MAe3B,kBAAkB,KAAG,uBAmHvB,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { GidsDialogWebUtils, } from '@ganpatiinfo/gids-web-shared';
2
+ import { GidsDialogControlDom } from '../_GidsDialogControl/GidsDialogControl.js';
3
+ const { getGidsDialogClassNames } = GidsDialogWebUtils;
4
+ export const GidsDialogDom = ({ variant = 'alert', maxWidth = 'sm', scrollMode = 'paper', draggable = false, headerTitle, closeVisible = true, children, footerActions = [], headerDividerVisible = false, footerDividerVisible = false, transition = 'none', cancellable, onCloseDialog, onDialogFooterAction, }) => {
5
+ const nativeClose = HTMLDialogElement.prototype.close;
6
+ function executeClose(event) {
7
+ if (onCloseDialog) {
8
+ onCloseDialog({ originalEvent: event?.originalEvent });
9
+ }
10
+ dialog.close();
11
+ }
12
+ // 1. Generate the pristine native dialog instance directly from the control function
13
+ const dialog = GidsDialogControlDom({
14
+ variant,
15
+ maxWidth,
16
+ scrollMode,
17
+ draggable,
18
+ headerTitle,
19
+ closeVisible,
20
+ children,
21
+ footerActions,
22
+ headerDividerVisible,
23
+ footerDividerVisible,
24
+ onCloseDialogControl: executeClose,
25
+ onDialogControlFooterAction: onDialogFooterAction,
26
+ });
27
+ // 2. CRITICAL BODY SCROLL PROTECTION: Inject layout protections inline immediately
28
+ if (scrollMode === 'body') {
29
+ dialog.style.setProperty('position', 'absolute', 'important');
30
+ dialog.style.setProperty('max-height', 'none', 'important');
31
+ dialog.style.setProperty('overflow', 'visible', 'important');
32
+ }
33
+ // 3. RESTORED: Backdrop-only click cancellation logic for DOM target implementation
34
+ if (cancellable) {
35
+ dialog.addEventListener('click', (event) => {
36
+ if (event.target === dialog) {
37
+ const rect = dialog.getBoundingClientRect();
38
+ const isOutside = event.clientX < rect.left ||
39
+ event.clientX > rect.right ||
40
+ event.clientY < rect.top ||
41
+ event.clientY > rect.bottom;
42
+ if (isOutside) {
43
+ executeClose({ originalEvent: event });
44
+ }
45
+ }
46
+ });
47
+ }
48
+ dialog.element = dialog;
49
+ // 4. Overwrite orchestration controllers cleanly via Object.defineProperty
50
+ Object.defineProperty(dialog, 'open', {
51
+ value: (parent = document.body) => {
52
+ // Append the node directly to the DOM tree first
53
+ if (!dialog.isConnected) {
54
+ parent.appendChild(dialog);
55
+ }
56
+ if (scrollMode === 'body') {
57
+ document.body.style.overflow = 'hidden';
58
+ }
59
+ // Add base classes and transition modifiers ONLY when open() runs to stop the jumping bug
60
+ dialog.classList.add('gids-dialog');
61
+ const transitionClasses = getGidsDialogClassNames({ transition });
62
+ if (transitionClasses) {
63
+ transitionClasses.split(' ').forEach((className) => {
64
+ if (className.trim()) {
65
+ dialog.classList.add(className.trim());
66
+ }
67
+ });
68
+ }
69
+ // Force a quick layout reflow to initialize your animation coordinates perfectly
70
+ void dialog.offsetHeight;
71
+ // Open modal cleanly on the top layer
72
+ dialog.showModal();
73
+ },
74
+ writable: true,
75
+ configurable: true,
76
+ });
77
+ Object.defineProperty(dialog, 'close', {
78
+ value: () => {
79
+ if (scrollMode === 'body') {
80
+ document.body.style.overflow = '';
81
+ }
82
+ // Clean up all added classes on close so they completely reset for the next run
83
+ dialog.classList.remove('gids-dialog');
84
+ const transitionClasses = getGidsDialogClassNames({ transition });
85
+ if (transitionClasses) {
86
+ transitionClasses.split(' ').forEach((className) => {
87
+ if (className.trim()) {
88
+ dialog.classList.remove(className.trim());
89
+ }
90
+ });
91
+ }
92
+ nativeClose.call(dialog);
93
+ if (dialog.isConnected) {
94
+ dialog.remove();
95
+ }
96
+ },
97
+ writable: true,
98
+ configurable: true,
99
+ });
100
+ return dialog;
101
+ };
102
+ //# sourceMappingURL=GidsDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GidsDialog.js","sourceRoot":"","sources":["../../../src/components/GidsDialog/GidsDialog.ts"],"names":[],"mappings":"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"}