@dnb/eufemia 10.38.0 → 10.39.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 (204) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/button/Button.d.ts +1 -0
  3. package/cjs/components/button/Button.js +5 -2
  4. package/cjs/components/button/Button.js.map +1 -1
  5. package/cjs/components/modal/Modal.js +1 -1
  6. package/cjs/components/modal/Modal.js.map +1 -1
  7. package/cjs/components/modal/types.d.ts +4 -0
  8. package/cjs/components/modal/types.js.map +1 -1
  9. package/cjs/components/table/Table.d.ts +6 -3
  10. package/cjs/components/table/Table.js +6 -2
  11. package/cjs/components/table/Table.js.map +1 -1
  12. package/cjs/components/table/TableClickableHead.d.ts +22 -0
  13. package/cjs/components/table/TableClickableHead.js +116 -0
  14. package/cjs/components/table/TableClickableHead.js.map +1 -0
  15. package/cjs/components/table/TableDocs.js +6 -6
  16. package/cjs/components/table/TableDocs.js.map +1 -1
  17. package/cjs/components/table/TableTr.d.ts +12 -12
  18. package/cjs/components/table/TableTr.js +13 -6
  19. package/cjs/components/table/TableTr.js.map +1 -1
  20. package/cjs/components/table/style/dnb-table.css +61 -61
  21. package/cjs/components/table/style/dnb-table.min.css +1 -1
  22. package/cjs/components/table/style/dnb-table.scss +1 -1
  23. package/cjs/components/table/style/table-accordion.scss +28 -36
  24. package/cjs/components/table/style/table-td.scss +1 -1
  25. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  26. package/cjs/components/table/table-accordion/TableAccordionHead.js +45 -74
  27. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  28. package/cjs/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  29. package/cjs/components/table/table-navigation/TableNavigationHead.js +56 -0
  30. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  31. package/cjs/extensions/forms/Field/Number/Number.d.ts +3 -1
  32. package/cjs/extensions/forms/Field/Number/Number.js +6 -2
  33. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  34. package/cjs/extensions/forms/Field/Number/NumberDocs.js +10 -0
  35. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  36. package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
  37. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  38. package/cjs/extensions/payment-card/utils/cardProducts.js +7 -7
  39. package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
  40. package/cjs/shared/Eufemia.d.ts +1 -1
  41. package/cjs/shared/Eufemia.js +2 -2
  42. package/cjs/shared/Eufemia.js.map +1 -1
  43. package/cjs/shared/locales/en-GB.d.ts +1 -0
  44. package/cjs/shared/locales/en-GB.js +2 -1
  45. package/cjs/shared/locales/en-GB.js.map +1 -1
  46. package/cjs/shared/locales/en-US.d.ts +1 -0
  47. package/cjs/shared/locales/index.d.ts +2 -0
  48. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  49. package/cjs/shared/locales/nb-NO.js +2 -1
  50. package/cjs/shared/locales/nb-NO.js.map +1 -1
  51. package/cjs/style/core/scopes.scss +1 -1
  52. package/cjs/style/dnb-ui-basis.css +1 -1
  53. package/cjs/style/dnb-ui-basis.min.css +1 -1
  54. package/cjs/style/dnb-ui-body.css +1 -1
  55. package/cjs/style/dnb-ui-body.min.css +1 -1
  56. package/cjs/style/dnb-ui-components.css +61 -61
  57. package/cjs/style/dnb-ui-components.min.css +1 -1
  58. package/cjs/style/dnb-ui-core.css +1 -1
  59. package/cjs/style/dnb-ui-core.min.css +1 -1
  60. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
  61. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  62. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
  63. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  64. package/cjs/style/themes/theme-ui/ui-theme-components.css +61 -61
  65. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  66. package/components/button/Button.d.ts +1 -0
  67. package/components/button/Button.js +5 -2
  68. package/components/button/Button.js.map +1 -1
  69. package/components/modal/Modal.js +1 -1
  70. package/components/modal/Modal.js.map +1 -1
  71. package/components/modal/types.d.ts +4 -0
  72. package/components/modal/types.js.map +1 -1
  73. package/components/table/Table.d.ts +6 -3
  74. package/components/table/Table.js +6 -2
  75. package/components/table/Table.js.map +1 -1
  76. package/components/table/TableClickableHead.d.ts +22 -0
  77. package/components/table/TableClickableHead.js +103 -0
  78. package/components/table/TableClickableHead.js.map +1 -0
  79. package/components/table/TableDocs.js +6 -6
  80. package/components/table/TableDocs.js.map +1 -1
  81. package/components/table/TableTr.d.ts +12 -12
  82. package/components/table/TableTr.js +13 -6
  83. package/components/table/TableTr.js.map +1 -1
  84. package/components/table/style/dnb-table.css +61 -61
  85. package/components/table/style/dnb-table.min.css +1 -1
  86. package/components/table/style/dnb-table.scss +1 -1
  87. package/components/table/style/table-accordion.scss +28 -36
  88. package/components/table/style/table-td.scss +1 -1
  89. package/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  90. package/components/table/table-accordion/TableAccordionHead.js +44 -72
  91. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  92. package/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  93. package/components/table/table-navigation/TableNavigationHead.js +48 -0
  94. package/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  95. package/es/components/button/Button.d.ts +1 -0
  96. package/es/components/button/Button.js +5 -2
  97. package/es/components/button/Button.js.map +1 -1
  98. package/es/components/modal/Modal.js +1 -1
  99. package/es/components/modal/Modal.js.map +1 -1
  100. package/es/components/modal/types.d.ts +4 -0
  101. package/es/components/modal/types.js.map +1 -1
  102. package/es/components/table/Table.d.ts +6 -3
  103. package/es/components/table/Table.js +6 -2
  104. package/es/components/table/Table.js.map +1 -1
  105. package/es/components/table/TableClickableHead.d.ts +22 -0
  106. package/es/components/table/TableClickableHead.js +101 -0
  107. package/es/components/table/TableClickableHead.js.map +1 -0
  108. package/es/components/table/TableDocs.js +6 -6
  109. package/es/components/table/TableDocs.js.map +1 -1
  110. package/es/components/table/TableTr.d.ts +12 -12
  111. package/es/components/table/TableTr.js +13 -6
  112. package/es/components/table/TableTr.js.map +1 -1
  113. package/es/components/table/style/dnb-table.css +61 -61
  114. package/es/components/table/style/dnb-table.min.css +1 -1
  115. package/es/components/table/style/dnb-table.scss +1 -1
  116. package/es/components/table/style/table-accordion.scss +28 -36
  117. package/es/components/table/style/table-td.scss +1 -1
  118. package/es/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  119. package/es/components/table/table-accordion/TableAccordionHead.js +44 -71
  120. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  121. package/es/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  122. package/es/components/table/table-navigation/TableNavigationHead.js +48 -0
  123. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  124. package/es/extensions/forms/Field/Number/Number.d.ts +3 -1
  125. package/es/extensions/forms/Field/Number/Number.js +6 -2
  126. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  127. package/es/extensions/forms/Field/Number/NumberDocs.js +10 -0
  128. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  129. package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
  130. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  131. package/es/extensions/payment-card/utils/cardProducts.js +7 -7
  132. package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
  133. package/es/shared/Eufemia.d.ts +1 -1
  134. package/es/shared/Eufemia.js +2 -2
  135. package/es/shared/Eufemia.js.map +1 -1
  136. package/es/shared/locales/en-GB.d.ts +1 -0
  137. package/es/shared/locales/en-GB.js +2 -1
  138. package/es/shared/locales/en-GB.js.map +1 -1
  139. package/es/shared/locales/en-US.d.ts +1 -0
  140. package/es/shared/locales/index.d.ts +2 -0
  141. package/es/shared/locales/nb-NO.d.ts +1 -0
  142. package/es/shared/locales/nb-NO.js +2 -1
  143. package/es/shared/locales/nb-NO.js.map +1 -1
  144. package/es/style/core/scopes.scss +1 -1
  145. package/es/style/dnb-ui-basis.css +1 -1
  146. package/es/style/dnb-ui-basis.min.css +1 -1
  147. package/es/style/dnb-ui-body.css +1 -1
  148. package/es/style/dnb-ui-body.min.css +1 -1
  149. package/es/style/dnb-ui-components.css +61 -61
  150. package/es/style/dnb-ui-components.min.css +1 -1
  151. package/es/style/dnb-ui-core.css +1 -1
  152. package/es/style/dnb-ui-core.min.css +1 -1
  153. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
  154. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  155. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
  156. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  157. package/es/style/themes/theme-ui/ui-theme-components.css +61 -61
  158. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  159. package/esm/dnb-ui-basis.min.mjs +1 -1
  160. package/esm/dnb-ui-components.min.mjs +1 -1
  161. package/esm/dnb-ui-elements.min.mjs +1 -1
  162. package/esm/dnb-ui-extensions.min.mjs +2 -2
  163. package/esm/dnb-ui-lib.min.mjs +1 -1
  164. package/extensions/forms/Field/Number/Number.d.ts +3 -1
  165. package/extensions/forms/Field/Number/Number.js +6 -2
  166. package/extensions/forms/Field/Number/Number.js.map +1 -1
  167. package/extensions/forms/Field/Number/NumberDocs.js +10 -0
  168. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  169. package/extensions/forms/hooks/DataValueDocs.js +1 -1
  170. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  171. package/extensions/payment-card/utils/cardProducts.js +7 -7
  172. package/extensions/payment-card/utils/cardProducts.js.map +1 -1
  173. package/package.json +1 -1
  174. package/shared/Eufemia.d.ts +1 -1
  175. package/shared/Eufemia.js +2 -2
  176. package/shared/Eufemia.js.map +1 -1
  177. package/shared/locales/en-GB.d.ts +1 -0
  178. package/shared/locales/en-GB.js +2 -1
  179. package/shared/locales/en-GB.js.map +1 -1
  180. package/shared/locales/en-US.d.ts +1 -0
  181. package/shared/locales/index.d.ts +2 -0
  182. package/shared/locales/nb-NO.d.ts +1 -0
  183. package/shared/locales/nb-NO.js +2 -1
  184. package/shared/locales/nb-NO.js.map +1 -1
  185. package/style/core/scopes.scss +1 -1
  186. package/style/dnb-ui-basis.css +1 -1
  187. package/style/dnb-ui-basis.min.css +1 -1
  188. package/style/dnb-ui-body.css +1 -1
  189. package/style/dnb-ui-body.min.css +1 -1
  190. package/style/dnb-ui-components.css +61 -61
  191. package/style/dnb-ui-components.min.css +1 -1
  192. package/style/dnb-ui-core.css +1 -1
  193. package/style/dnb-ui-core.min.css +1 -1
  194. package/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
  195. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  196. package/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
  197. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  198. package/style/themes/theme-ui/ui-theme-components.css +61 -61
  199. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  200. package/umd/dnb-ui-basis.min.js +1 -1
  201. package/umd/dnb-ui-components.min.js +1 -1
  202. package/umd/dnb-ui-elements.min.js +1 -1
  203. package/umd/dnb-ui-extensions.min.js +2 -2
  204. package/umd/dnb-ui-lib.min.js +1 -1
@@ -4,12 +4,12 @@
4
4
  */
5
5
 
6
6
  @mixin tableAccordionActiveColor {
7
- .dnb-table__td__accordion-icon .dnb-icon {
7
+ .dnb-table__td__button-icon .dnb-icon {
8
8
  color: var(--table-accordion-icon-color--active);
9
9
  }
10
10
  }
11
11
  @mixin tableAccordionDisabledColor {
12
- .dnb-table__td__accordion-icon .dnb-icon {
12
+ .dnb-table__td__button-icon .dnb-icon {
13
13
  color: var(--table-accordion-icon-color--disabled);
14
14
  }
15
15
  }
@@ -32,7 +32,7 @@
32
32
  --table-accordion-outline-width: var(--focus-ring-width);
33
33
  --table-accordion-outline-background--active: var(--color-pistachio);
34
34
 
35
- &__th#{&}__th__accordion-icon {
35
+ &__th#{&}__th__button-icon {
36
36
  &.dnb-table__th {
37
37
  padding: 0;
38
38
  }
@@ -53,14 +53,14 @@
53
53
  }
54
54
  }
55
55
 
56
- &__td#{&}__td__accordion-icon {
56
+ &__td#{&}__td__button-icon {
57
57
  &.dnb-table__td {
58
58
  padding: 0;
59
59
  }
60
60
  user-select: none; // prevent selection on double-click
61
61
  }
62
62
 
63
- &__tr--has-accordion-content &__toggle-button {
63
+ &__tr--clickable &__button {
64
64
  display: flex; // to ensure we inherit the correct size from its content
65
65
  justify-content: center;
66
66
 
@@ -69,26 +69,21 @@
69
69
  transition: transform 500ms var(--easing-default);
70
70
  }
71
71
  }
72
- &__tr--has-accordion-content#{&}__tr--no-animation
73
- &__toggle-button
74
- .dnb-icon,
75
- html[data-visual-test]
76
- &__tr--has-accordion-content
77
- &__toggle-button
78
- .dnb-icon {
72
+ &__tr--clickable#{&}__tr--no-animation &__button .dnb-icon,
73
+ html[data-visual-test] &__tr--clickable &__button .dnb-icon {
79
74
  transition: none !important;
80
75
  }
81
76
 
82
- &__tr--has-accordion-content,
77
+ &__tr--clickable,
83
78
  &__tr__accordion-content {
84
79
  position: relative;
85
80
  }
86
- &__tr--has-accordion-content#{&}__tr--expanded,
81
+ &__tr--clickable#{&}__tr--expanded,
87
82
  &__tr__accordion-content {
88
83
  z-index: 3; // ensure borders are visible in certain states
89
84
  }
90
85
 
91
- &__tr--has-accordion-content {
86
+ &__tr--clickable {
92
87
  &:active,
93
88
  html[data-whatinput='keyboard'] &:focus,
94
89
  &:hover:not(.dnb-table__tr--hover.dnb-table__tr--expanded) {
@@ -96,13 +91,11 @@
96
91
  }
97
92
  }
98
93
 
99
- &__tr--has-accordion-content#{&}__tr--expanded
100
- &__toggle-button
101
- .dnb-icon {
94
+ &__tr--clickable#{&}__tr--expanded &__button .dnb-icon {
102
95
  transform: rotate(180deg);
103
96
  }
104
97
 
105
- &__tr--has-accordion-content#{&}__tr--expanded {
98
+ &__tr--clickable#{&}__tr--expanded {
106
99
  .dnb-table--border & td::after {
107
100
  border-bottom: none;
108
101
  border-left: none;
@@ -110,7 +103,7 @@
110
103
  }
111
104
  }
112
105
 
113
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled) {
106
+ &__tr--clickable#{&}__tr:not(&__tr--disabled) {
114
107
  outline: none;
115
108
 
116
109
  td::before {
@@ -145,19 +138,18 @@
145
138
 
146
139
  &--border
147
140
  tbody
148
- &__tr--has-accordion-content:not(#{&}__tr--expanded):not(&__tr--last)
141
+ &__tr--clickable:not(#{&}__tr--expanded):not(&__tr--last)
149
142
  &__td::before {
150
143
  bottom: calc(var(--table-border-width) * -1);
151
144
  }
152
145
 
153
- &__tr--has-accordion-content#{&}__tr--expanded:not(&__tr--disabled):hover
154
- &__td {
146
+ &__tr--clickable#{&}__tr--expanded:not(&__tr--disabled):hover &__td {
155
147
  background-color: var(--color-white);
156
148
  }
157
149
 
158
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):not(
159
- :active
160
- ):not(:hover):focus {
150
+ &__tr--clickable#{&}__tr:not(&__tr--disabled):not(:active):not(
151
+ :hover
152
+ ):focus {
161
153
  td::before {
162
154
  @include whatInput(keyboard) {
163
155
  border-color: var(--focus-ring-color);
@@ -172,7 +164,7 @@
172
164
  }
173
165
  }
174
166
 
175
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):active {
167
+ &__tr--clickable#{&}__tr:not(&__tr--disabled):active {
176
168
  html:not([data-whatintent='touch']) &:hover td::before,
177
169
  td::before {
178
170
  border-color: var(--table-accordion-outline-color);
@@ -182,13 +174,13 @@
182
174
  }
183
175
  }
184
176
 
185
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):active &__td {
177
+ &__tr--clickable#{&}__tr:not(&__tr--disabled):active &__td {
186
178
  background-color: var(--table-accordion-outline-background--active);
187
179
 
188
180
  @include tableAccordionActiveColor();
189
181
  }
190
182
 
191
- &__tr--has-accordion-content#{&}__tr--expanded:not(
183
+ &__tr--clickable#{&}__tr--expanded:not(
192
184
  &__tr--disabled
193
185
  )#{&}__tr--hover:not(:active):hover
194
186
  &__td {
@@ -200,9 +192,9 @@
200
192
  }
201
193
  }
202
194
 
203
- &__tr--has-accordion-content#{&}__tr#{&}__tr--expanded:not(
204
- &__tr--disabled
205
- ):not(:active):not(:hover) {
195
+ &__tr--clickable#{&}__tr#{&}__tr--expanded:not(&__tr--disabled):not(
196
+ :active
197
+ ):not(:hover) {
206
198
  @include whatInputNot('keyboard') {
207
199
  background-color: var(--table-accordion-header-background);
208
200
 
@@ -213,7 +205,7 @@
213
205
  }
214
206
  }
215
207
 
216
- &__tr--has-accordion-content#{&}__tr--disabled {
208
+ &__tr--clickable#{&}__tr--disabled {
217
209
  @include tableAccordionDisabledColor();
218
210
  }
219
211
 
@@ -256,7 +248,7 @@
256
248
  background-color: var(--color-white);
257
249
  }
258
250
 
259
- + .dnb-table__tr--has-accordion-content .dnb-table__td {
251
+ + .dnb-table__tr--clickable .dnb-table__td {
260
252
  @include tableBorder() {
261
253
  border-top: var(--table-accordion-border);
262
254
  }
@@ -323,13 +315,13 @@
323
315
  }
324
316
 
325
317
  // stylelint-disable-next-line
326
- &__tr--has-accordion-content:not(&__tr--disabled) {
318
+ &__tr--clickable:not(&__tr--disabled) {
327
319
  cursor: pointer;
328
320
  }
329
321
 
330
322
  // prevent selection while animating – useful when user double-clicks
331
323
  // TODO: Our SASS version does not support :has – so we may use this in future
332
- // &__tr--has-accordion-content:has(& + &__tr__accordion-content--animating) {
324
+ // &__tr--clickable:has(& + &__tr__accordion-content--animating) {
333
325
  // user-select: none;
334
326
  // }
335
327
 
@@ -73,7 +73,7 @@
73
73
  //last row must be rounded
74
74
  &--outline tbody:last-child {
75
75
  .dnb-table__tr:last-child,
76
- .dnb-table__tr--has-accordion-content:not(
76
+ .dnb-table__tr--clickable:not(
77
77
  .dnb-table__tr--expanded
78
78
  ).dnb-table__tr--last {
79
79
  clip-path: inset(
@@ -5,4 +5,3 @@ export type TableAccordionHeadProps = {
5
5
  count: number;
6
6
  } & TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>;
7
7
  export declare function TableAccordionHead(allProps: TableAccordionHeadProps): import("react/jsx-runtime").JSX.Element;
8
- export declare function TableAccordionToggleButton(): import("react/jsx-runtime").JSX.Element;
@@ -5,20 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.TableAccordionHead = TableAccordionHead;
8
- exports.TableAccordionToggleButton = TableAccordionToggleButton;
9
8
  var _react = _interopRequireWildcard(require("react"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _keycode = _interopRequireDefault(require("keycode"));
12
- var _helpers = require("../../../shared/helpers");
13
- var _Button = _interopRequireDefault(require("../../button/Button"));
14
- var _IconPrimary = _interopRequireDefault(require("../../icon/IconPrimary"));
15
- var _TableTh = _interopRequireDefault(require("../TableTh"));
16
9
  var _TableTd = _interopRequireDefault(require("../TableTd"));
17
10
  var _TableContext = require("../TableContext");
11
+ var _TableClickableHead = require("../TableClickableHead");
18
12
  var _TableAccordionContext = require("./TableAccordionContext");
19
13
  var _TableAccordionContent = require("./TableAccordionContent");
20
14
  var _Td;
21
- const _excluded = ["children", "className", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
15
+ const _excluded = ["children", "expanded", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
22
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -26,11 +20,10 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
26
20
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
21
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
22
  function TableAccordionHead(allProps) {
23
+ var _React$useContext;
29
24
  const {
30
25
  children,
31
- className,
32
26
  expanded,
33
- disabled,
34
27
  noAnimation,
35
28
  onClick,
36
29
  onOpened,
@@ -53,11 +46,11 @@ function TableAccordionHead(allProps) {
53
46
  const [trIsHover, setHover] = _react.default.useState(false);
54
47
  const [trHadClick, setHadClick] = _react.default.useState(false);
55
48
  let headerContent = _react.default.Children.toArray(children);
56
- const addExpandIcon = icon => {
49
+ const addContent = content => {
57
50
  if (tableContext.allProps.accordionChevronPlacement === 'end') {
58
- headerContent.push(icon);
51
+ headerContent.push(content);
59
52
  } else {
60
- headerContent.unshift(icon);
53
+ headerContent.unshift(content);
61
54
  }
62
55
  };
63
56
  const accordionContent = headerContent.filter(element => {
@@ -72,30 +65,31 @@ function TableAccordionHead(allProps) {
72
65
  };
73
66
  }
74
67
  }, [count, tableContext === null || tableContext === void 0 ? void 0 : tableContext.collapseTrCallbacks, hasAccordionContent]);
75
- const trParams = !disabled && hasAccordionContent ? {
76
- onClick: toggleOpenTr,
77
- onMouseEnter: onMouseEnterHandler,
78
- onMouseLeave: onMouseLeaveHandler,
79
- onKeyDown: onKeydownHandler
80
- } : {};
68
+ const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
81
69
  if (hasAccordionContent) {
82
70
  headerContent = headerContent.filter(element => {
83
71
  return !isAccordionElement(element);
84
72
  });
85
- addExpandIcon(_Td || (_Td = _react.default.createElement(_TableTd.default, {
86
- className: "dnb-table__td__accordion-icon",
73
+ addContent(_react.default.createElement(_TableClickableHead.TableClickableButtonTd, {
74
+ trIsOpen: trIsOpen,
75
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR,
76
+ icon: "chevron_down",
77
+ onClick: toggleOpenTr,
87
78
  key: "td-icon"
88
- }, _react.default.createElement(TableAccordionToggleButton, null))));
89
- } else if (isTableHead(headerContent)) {
79
+ }));
80
+ } else if ((0, _TableClickableHead.isTableHead)(headerContent)) {
90
81
  var _tableContext$allProp;
91
- addExpandIcon(_react.default.createElement(_TableTh.default, {
92
- "aria-hidden": true,
93
- className: "dnb-table__th__accordion-icon",
94
- key: "th-icon"
95
- }, _react.default.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR)));
82
+ addContent(_react.default.createElement(_TableClickableHead.TableIconSrTh, {
83
+ key: "th-icon",
84
+ text: tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR
85
+ }));
86
+ } else if (!hasAccordionContent) {
87
+ addContent(_Td || (_Td = _react.default.createElement(_TableTd.default, {
88
+ key: "empty-td"
89
+ })));
96
90
  }
97
91
  const countTds = hasAccordionContent ? headerContent.filter(element => {
98
- return element.type === _TableTd.default;
92
+ return element.type === _TableTd.default || element.type === _TableClickableHead.TableClickableButtonTd;
99
93
  }).length : null;
100
94
  return _react.default.createElement(_TableAccordionContext.TableAccordionContext.Provider, {
101
95
  value: {
@@ -106,59 +100,36 @@ function TableAccordionHead(allProps) {
106
100
  onOpened,
107
101
  onClosed
108
102
  }
109
- }, _react.default.createElement("tr", _extends({
110
- tabIndex: accordionContent && !disabled ? 0 : undefined,
111
- className: (0, _classnames.default)(className, hasAccordionContent && 'dnb-table__tr--has-accordion-content', trIsOpen && 'dnb-table__tr--expanded', disabled && 'dnb-table__tr--disabled', noAnimation && 'dnb-table__tr--no-animation', trIsHover && trHadClick && 'dnb-table__tr--hover')
112
- }, trParams, props), headerContent), accordionContent);
113
- function onKeydownHandler(event) {
114
- switch ((0, _keycode.default)(event.nativeEvent)) {
115
- case 'space':
116
- case 'enter':
117
- {
118
- const target = event.target;
119
- if (document.activeElement !== target || target.tagName === 'TR') {
120
- setOpen(!trIsOpen);
121
- event.preventDefault();
122
- }
123
- }
124
- break;
125
- }
126
- }
103
+ }, _react.default.createElement(_TableClickableHead.TableClickableHead, _extends({
104
+ trIsOpen: trIsOpen,
105
+ trIsHover: trIsHover,
106
+ trHadClick: trHadClick,
107
+ clickable: hasAccordionContent,
108
+ noAnimation: noAnimation,
109
+ onClick: toggleOpenTr,
110
+ onMouseEnter: onMouseEnterHandler,
111
+ onMouseLeave: onMouseLeaveHandler,
112
+ onKeyDown: onKeyDownHandler,
113
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR
114
+ }, props), headerContent), accordionContent);
127
115
  function onMouseEnterHandler() {
128
116
  setHover(true);
129
117
  }
118
+ function onKeyDownHandler(event) {
119
+ toggleOpenTr(event, true);
120
+ }
130
121
  function onMouseLeaveHandler() {
131
122
  setHover(false);
132
123
  setHadClick(false);
133
124
  }
134
- function toggleOpenTr(event) {
135
- let allowInteractiveElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
136
- const target = event.target;
137
- if ((document.activeElement !== target && target.tagName !== 'INPUT' && target.tagName !== 'LABEL' || allowInteractiveElement) && !(0, _helpers.hasSelectedText)()) {
138
- setOpen(!trIsOpen);
139
- setHadClick(true);
140
- onClick === null || onClick === void 0 ? void 0 : onClick(event);
141
- }
125
+ function toggleOpenFn(event) {
126
+ setOpen(!trIsOpen);
127
+ setHadClick(true);
128
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
129
+ }
130
+ function toggleOpenTr(event, allowInteractiveElement) {
131
+ (0, _TableClickableHead.onClickTr)(event, allowInteractiveElement, toggleOpenFn);
142
132
  }
143
- }
144
- function TableAccordionToggleButton() {
145
- var _React$useContext;
146
- const tableAccordionContext = _react.default.useContext(_TableAccordionContext.TableAccordionContext);
147
- const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
148
- const iconSize = (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'medium' || (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'small' ? 'basis' : 'medium';
149
- return _react.default.createElement("span", {
150
- className: "dnb-table__toggle-button"
151
- }, _react.default.createElement(_IconPrimary.default, {
152
- icon: "chevron_down",
153
- size: iconSize
154
- }), _react.default.createElement(_Button.default, {
155
- className: "dnb-sr-only",
156
- tabIndex: -1,
157
- "aria-label": tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR,
158
- "aria-expanded": Boolean(tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.trIsOpen),
159
- on_click: event => tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.toggleOpenTr(event, true)
160
- }));
161
133
  }
162
134
  const isAccordionElement = element => element.type === _TableAccordionContent.TableAccordionContentSingle || element.type === _TableAccordionContent.TableAccordionContentRow;
163
- const isTableHead = children => children.some(element => element.type === _TableTh.default);
164
135
  //# sourceMappingURL=TableAccordionHead.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableAccordionHead.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_keycode","_helpers","_Button","_IconPrimary","_TableTh","_TableTd","_TableContext","_TableAccordionContext","_TableAccordionContent","_Td","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableAccordionHead","allProps","children","className","expanded","disabled","noAnimation","onClick","onOpened","onClosed","count","props","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addExpandIcon","icon","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","every","isValidElement","useEffect","_tableContext$collaps","collapseTrCallbacks","current","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","createElement","TableAccordionToggleButton","isTableHead","_tableContext$allProp","accordionToggleButtonSR","countTds","type","Td","TableAccordionContext","Provider","value","tabIndex","undefined","classnames","event","keycode","nativeEvent","document","activeElement","tagName","preventDefault","allowInteractiveElement","hasSelectedText","_React$useContext","tableAccordionContext","tableContextAllProps","iconSize","size","Boolean","on_click","TableAccordionContentSingle","TableAccordionContentRow","some","Th"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionHead.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../../shared/helpers'\nimport Button from '../../button/Button'\nimport IconPrimary from '../../icon/IconPrimary'\nimport Th from '../TableTh'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport { TableAccordionContext } from './TableAccordionContext'\nimport {\n TableAccordionContentSingle,\n TableAccordionContentRow,\n} from './TableAccordionContent'\n\nimport type {\n TableAccordionContentSingleProps,\n TableAccordionContentRowProps,\n} from './TableAccordionContent'\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableAccordionHeadProps = {\n /** The row number */\n count: number\n} & TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableAccordionHead(allProps: TableAccordionHeadProps) {\n const {\n children,\n className,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n count,\n ...props\n } = allProps\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let headerContent = React.Children.toArray(children)\n\n const addExpandIcon = (icon) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(icon)\n } else {\n headerContent.unshift(icon)\n }\n }\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<\n TableAccordionContentSingleProps | TableAccordionContentRowProps\n >[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n useEffect(() => {\n if (\n hasAccordionContent &&\n tableContext?.collapseTrCallbacks?.current &&\n count\n ) {\n tableContext.collapseTrCallbacks.current[count] = () => {\n setOpen(false)\n }\n }\n }, [count, tableContext?.collapseTrCallbacks, hasAccordionContent])\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addExpandIcon(\n <Td className=\"dnb-table__td__accordion-icon\" key=\"td-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n } else if (isTableHead(headerContent)) {\n addExpandIcon(\n <Th\n aria-hidden\n className=\"dnb-table__th__accordion-icon\"\n key=\"th-icon\"\n >\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {headerContent}\n </tr>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onKeydownHandler(event: React.SyntheticEvent) {\n switch (keycode(event.nativeEvent)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(\n event: React.SyntheticEvent,\n allowInteractiveElement = false\n ) {\n const target = event.target as HTMLElement\n if (\n /**\n * Do not toggle if user clicked an interactive element (input, button, etc.).\n * Interactive to set activeElement on mouseDown, we we can check against it.\n */\n ((document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n target.tagName !== 'LABEL') ||\n allowInteractiveElement) &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n const iconSize =\n tableContextAllProps?.size === 'medium' ||\n tableContextAllProps?.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={tableContextAllProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(tableAccordionContext?.trIsOpen)}\n on_click={(event) =>\n tableAccordionContext?.toggleOpenTr(event, true)\n }\n />\n </span>\n )\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionContentSingle ||\n element.type === TableAccordionContentRow\n\nconst isTableHead = (children: React.ReactNode[]) =>\n children.some((element: React.ReactElement) => element.type === Th)\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableAccordionHead.js","names":["_react","_interopRequireWildcard","require","_TableTd","_interopRequireDefault","_TableContext","_TableClickableHead","_TableAccordionContext","_TableAccordionContent","_Td","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableAccordionHead","allProps","_React$useContext","children","expanded","noAnimation","onClick","onOpened","onClosed","count","props","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addContent","content","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","every","isValidElement","useEffect","_tableContext$collaps","collapseTrCallbacks","current","tableContextAllProps","createElement","TableClickableButtonTd","ariaLabel","accordionToggleButtonSR","icon","toggleOpenTr","isTableHead","_tableContext$allProp","TableIconSrTh","text","countTds","type","Td","TableAccordionContext","Provider","value","TableClickableHead","clickable","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeyDownHandler","event","toggleOpenFn","allowInteractiveElement","onClickTr","TableAccordionContentSingle","TableAccordionContentRow"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionHead.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport {\n TableClickableButtonTd,\n TableClickableHead,\n TableIconSrTh,\n isTableHead,\n onClickTr,\n} from '../TableClickableHead'\nimport { TableAccordionContext } from './TableAccordionContext'\nimport {\n TableAccordionContentSingle,\n TableAccordionContentRow,\n} from './TableAccordionContent'\n\nimport type {\n TableAccordionContentSingleProps,\n TableAccordionContentRowProps,\n} from './TableAccordionContent'\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableAccordionHeadProps = {\n /** The row number */\n count: number\n} & TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableAccordionHead(allProps: TableAccordionHeadProps) {\n const {\n children,\n expanded,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n count,\n ...props\n } = allProps\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let headerContent = React.Children.toArray(children)\n\n const addContent = (content) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(content)\n } else {\n headerContent.unshift(content)\n }\n }\n\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<\n TableAccordionContentSingleProps | TableAccordionContentRowProps\n >[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n useEffect(() => {\n if (\n hasAccordionContent &&\n tableContext?.collapseTrCallbacks?.current &&\n count\n ) {\n tableContext.collapseTrCallbacks.current[count] = () => {\n setOpen(false)\n }\n }\n }, [count, tableContext?.collapseTrCallbacks, hasAccordionContent])\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addContent(\n <TableClickableButtonTd\n trIsOpen={trIsOpen}\n ariaLabel={tableContextAllProps?.accordionToggleButtonSR}\n icon=\"chevron_down\"\n onClick={toggleOpenTr}\n key=\"td-icon\"\n />\n )\n } else if (isTableHead(headerContent)) {\n addContent(\n <TableIconSrTh\n key=\"th-icon\"\n text={tableContext?.allProps?.accordionToggleButtonSR}\n />\n )\n } else if (!hasAccordionContent) {\n addContent(<Td key=\"empty-td\"></Td>)\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return (\n element.type === Td || element.type === TableClickableButtonTd\n ) // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n onOpened,\n onClosed,\n }}\n >\n <TableClickableHead\n trIsOpen={trIsOpen}\n trIsHover={trIsHover}\n trHadClick={trHadClick}\n clickable={hasAccordionContent}\n noAnimation={noAnimation}\n onClick={toggleOpenTr}\n onMouseEnter={onMouseEnterHandler}\n onMouseLeave={onMouseLeaveHandler}\n onKeyDown={onKeyDownHandler}\n ariaLabel={tableContextAllProps?.accordionToggleButtonSR}\n {...props}\n >\n {headerContent}\n </TableClickableHead>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onMouseEnterHandler() {\n setHover(true)\n }\n\n function onKeyDownHandler(event: React.SyntheticEvent) {\n toggleOpenTr(event, true)\n }\n\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n\n function toggleOpenFn(event: React.SyntheticEvent) {\n setOpen(!trIsOpen)\n setHadClick(true)\n onClick?.(event)\n }\n\n function toggleOpenTr(\n event: React.SyntheticEvent,\n allowInteractiveElement?: boolean\n ) {\n onClickTr(event, allowInteractiveElement, toggleOpenFn)\n }\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionContentSingle ||\n element.type === TableAccordionContentRow\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { TableTrProps } from '../TableTr';
3
+ export type TableNavigationHeadProps = TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>;
4
+ export declare function TableNavigationHead(allProps: TableNavigationHeadProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TableNavigationHead = TableNavigationHead;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _TableTd = _interopRequireDefault(require("../TableTd"));
9
+ var _TableContext = require("../TableContext");
10
+ var _TableClickableHead = require("../TableClickableHead");
11
+ var _Td;
12
+ const _excluded = ["children", "onClick"];
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
16
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
17
+ function TableNavigationHead(allProps) {
18
+ var _React$useContext;
19
+ const {
20
+ children,
21
+ onClick
22
+ } = allProps,
23
+ props = _objectWithoutProperties(allProps, _excluded);
24
+ const tableContext = _react.default.useContext(_TableContext.TableContext);
25
+ let content = _react.default.Children.toArray(children);
26
+ const hasOnClick = typeof onClick === 'function';
27
+ const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
28
+ if (hasOnClick) {
29
+ content.push(_react.default.createElement(_TableClickableHead.TableClickableButtonTd, {
30
+ key: "td-icon",
31
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.navigationButtonSR,
32
+ icon: "chevron_right",
33
+ onClick: onClickHandler
34
+ }));
35
+ } else if ((0, _TableClickableHead.isTableHead)(content)) {
36
+ var _tableContext$allProp;
37
+ content.push(_react.default.createElement(_TableClickableHead.TableIconSrTh, {
38
+ key: "th-icon",
39
+ text: tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.navigationButtonSR
40
+ }));
41
+ } else if (!hasOnClick) {
42
+ content.push(_Td || (_Td = _react.default.createElement(_TableTd.default, {
43
+ key: "empty-td"
44
+ })));
45
+ }
46
+ return _react.default.createElement(_TableClickableHead.TableClickableHead, _extends({
47
+ clickable: hasOnClick,
48
+ onClick: onClickHandler,
49
+ onKeyDown: onClick,
50
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.navigationButtonSR
51
+ }, props), content);
52
+ function onClickHandler(event, allowInteractiveElement) {
53
+ (0, _TableClickableHead.onClickTr)(event, allowInteractiveElement, onClick);
54
+ }
55
+ }
56
+ //# sourceMappingURL=TableNavigationHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableNavigationHead.js","names":["_react","_interopRequireDefault","require","_TableTd","_TableContext","_TableClickableHead","_Td","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableNavigationHead","allProps","_React$useContext","children","onClick","props","tableContext","React","useContext","TableContext","content","Children","toArray","hasOnClick","tableContextAllProps","push","createElement","TableClickableButtonTd","ariaLabel","navigationButtonSR","icon","onClickHandler","isTableHead","_tableContext$allProp","TableIconSrTh","text","TableClickableHead","clickable","onKeyDown","event","allowInteractiveElement","onClickTr"],"sources":["../../../../../src/components/table/table-navigation/TableNavigationHead.tsx"],"sourcesContent":["import React from 'react'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport {\n TableClickableButtonTd,\n TableClickableHead,\n TableIconSrTh,\n isTableHead,\n onClickTr,\n} from '../TableClickableHead'\n\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableNavigationHeadProps = TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableNavigationHead(allProps: TableNavigationHeadProps) {\n const { children, onClick, ...props } = allProps\n const tableContext = React.useContext(TableContext)\n\n let content = React.Children.toArray(children)\n\n const hasOnClick = typeof onClick === 'function'\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n\n if (hasOnClick) {\n content.push(\n <TableClickableButtonTd\n key=\"td-icon\"\n ariaLabel={tableContextAllProps?.navigationButtonSR}\n icon=\"chevron_right\"\n onClick={onClickHandler}\n />\n )\n } else if (isTableHead(content)) {\n content.push(\n <TableIconSrTh\n key=\"th-icon\"\n text={tableContext?.allProps?.navigationButtonSR}\n />\n )\n } else if (!hasOnClick) {\n content.push(<Td key=\"empty-td\"></Td>)\n }\n\n return (\n <TableClickableHead\n clickable={hasOnClick}\n onClick={onClickHandler}\n onKeyDown={onClick}\n ariaLabel={tableContextAllProps?.navigationButtonSR}\n {...props}\n >\n {content}\n </TableClickableHead>\n )\n\n function onClickHandler(\n event: React.SyntheticEvent,\n allowInteractiveElement?: boolean\n ) {\n onClickTr(event, allowInteractiveElement, onClick)\n }\n}\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ interface ErrorMessages extends CustomErrorMessages {
10
10
  exclusiveMaximum?: string;
11
11
  multipleOf?: string;
12
12
  }
13
- export type Props = FieldHelpProps & FieldProps<number, undefined, ErrorMessages> & {
13
+ export type Props = FieldHelpProps & FieldProps<number, undefined | number, ErrorMessages> & {
14
14
  inputClassName?: string;
15
15
  currency?: InputMaskedProps['as_currency'];
16
16
  currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name';
@@ -19,6 +19,8 @@ export type Props = FieldHelpProps & FieldProps<number, undefined, ErrorMessages
19
19
  step?: number;
20
20
  startWith?: number;
21
21
  decimalLimit?: number;
22
+ allowNegative?: boolean;
23
+ disallowLeadingZeroes?: boolean;
22
24
  prefix?: string;
23
25
  suffix?: string;
24
26
  minimum?: number;
@@ -37,6 +37,8 @@ function NumberComponent(props) {
37
37
  mask,
38
38
  step = 1,
39
39
  decimalLimit = 12,
40
+ allowNegative = true,
41
+ disallowLeadingZeroes = false,
40
42
  prefix,
41
43
  suffix,
42
44
  showStepControls
@@ -86,7 +88,9 @@ function NumberComponent(props) {
86
88
  const mask_options = {
87
89
  prefix,
88
90
  suffix,
89
- decimalLimit
91
+ decimalLimit,
92
+ allowNegative,
93
+ disallowLeadingZeroes
90
94
  };
91
95
  if (currency) {
92
96
  return {
@@ -108,7 +112,7 @@ function NumberComponent(props) {
108
112
  mask,
109
113
  number_mask: _objectSpread({}, mask_options)
110
114
  };
111
- }, [currency, currencyDisplay, decimalLimit, mask, percent, prefix, suffix]);
115
+ }, [currency, currencyDisplay, decimalLimit, mask, percent, prefix, suffix, allowNegative, disallowLeadingZeroes]);
112
116
  const preparedProps = _objectSpread(_objectSpread({
113
117
  valueType: 'number'
114
118
  }, props), {}, {