@navikt/ds-react 4.12.1 → 5.0.0-rc.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 (137) hide show
  1. package/_docs.json +489 -1169
  2. package/cjs/badge/Badge.js +47 -0
  3. package/cjs/badge/NotificationBadge.js +61 -0
  4. package/cjs/badge/index.js +8 -0
  5. package/cjs/badge/package.json +6 -0
  6. package/cjs/date/datepicker/DatePicker.js +1 -1
  7. package/cjs/date/hooks/useEscape.js +6 -1
  8. package/cjs/dropdown/Menu/GroupedList/Heading.js +47 -0
  9. package/cjs/dropdown/Menu/GroupedList/Item.js +54 -0
  10. package/cjs/grid/ContentContainer.js +47 -0
  11. package/cjs/layout/box/Box.js +47 -0
  12. package/cjs/layout/box/index.js +5 -0
  13. package/cjs/layout/box/package.json +6 -0
  14. package/cjs/modal/Modal.js +85 -46
  15. package/cjs/modal/ModalBody.js +46 -0
  16. package/cjs/modal/ModalContext.js +8 -0
  17. package/cjs/modal/ModalFooter.js +46 -0
  18. package/cjs/modal/ModalHeader.js +56 -0
  19. package/cjs/modal/ModalUtils.js +40 -0
  20. package/cjs/modal/dialog-polyfill.js +833 -0
  21. package/cjs/popover/Popover.js +5 -2
  22. package/cjs/status-badge/NotificationBadge.js +52 -0
  23. package/cjs/status-badge/index.js +8 -0
  24. package/cjs/status-badge/package.json +6 -0
  25. package/cjs/table/DataCell.js +1 -3
  26. package/cjs/table/ExpandableRow.js +2 -1
  27. package/cjs/table/HeaderCell.js +1 -4
  28. package/cjs/table/Table.js +1 -1
  29. package/cjs/tag/CounterTag.js +69 -0
  30. package/cjs/tag/NotificationTag.js +53 -0
  31. package/cjs/timeline/demo.js +120 -0
  32. package/esm/badge/Badge.d.ts +6 -0
  33. package/esm/badge/Badge.js +19 -0
  34. package/esm/badge/Badge.js.map +1 -0
  35. package/esm/badge/NotificationBadge.d.ts +14 -0
  36. package/esm/badge/NotificationBadge.js +33 -0
  37. package/esm/badge/NotificationBadge.js.map +1 -0
  38. package/esm/badge/index.d.ts +1 -0
  39. package/esm/badge/index.js +2 -0
  40. package/esm/badge/index.js.map +1 -0
  41. package/esm/date/datepicker/DatePicker.d.ts +2 -2
  42. package/esm/date/datepicker/DatePicker.js +1 -1
  43. package/esm/date/datepicker/DatePicker.js.map +1 -1
  44. package/esm/date/hooks/useEscape.d.ts +2 -1
  45. package/esm/date/hooks/useEscape.js +6 -1
  46. package/esm/date/hooks/useEscape.js.map +1 -1
  47. package/esm/dropdown/Menu/GroupedList/Heading.d.ts +9 -0
  48. package/esm/dropdown/Menu/GroupedList/Heading.js +19 -0
  49. package/esm/dropdown/Menu/GroupedList/Heading.js.map +1 -0
  50. package/esm/dropdown/Menu/GroupedList/Item.d.ts +10 -0
  51. package/esm/dropdown/Menu/GroupedList/Item.js +26 -0
  52. package/esm/dropdown/Menu/GroupedList/Item.js.map +1 -0
  53. package/esm/form/Fieldset/useFieldset.d.ts +1 -1
  54. package/esm/form/checkbox/useCheckbox.d.ts +1 -1
  55. package/esm/form/combobox/Combobox.d.ts +1 -1
  56. package/esm/form/radio/useRadio.d.ts +1 -1
  57. package/esm/grid/ContentContainer.d.ts +9 -0
  58. package/esm/grid/ContentContainer.js +19 -0
  59. package/esm/grid/ContentContainer.js.map +1 -0
  60. package/esm/layout/box/Box.d.ts +8 -0
  61. package/esm/layout/box/Box.js +19 -0
  62. package/esm/layout/box/Box.js.map +1 -0
  63. package/esm/layout/box/index.d.ts +1 -0
  64. package/esm/layout/box/index.js +2 -0
  65. package/esm/layout/box/index.js.map +1 -0
  66. package/esm/modal/Modal.d.ts +76 -51
  67. package/esm/modal/Modal.js +87 -48
  68. package/esm/modal/Modal.js.map +1 -1
  69. package/esm/modal/ModalBody.d.ts +6 -0
  70. package/esm/modal/ModalBody.js +19 -0
  71. package/esm/modal/ModalBody.js.map +1 -0
  72. package/esm/modal/ModalContext.d.ts +6 -0
  73. package/esm/modal/ModalContext.js +3 -0
  74. package/esm/modal/ModalContext.js.map +1 -0
  75. package/esm/modal/ModalFooter.d.ts +6 -0
  76. package/esm/modal/ModalFooter.js +19 -0
  77. package/esm/modal/ModalFooter.js.map +1 -0
  78. package/esm/modal/ModalHeader.d.ts +11 -0
  79. package/esm/modal/ModalHeader.js +29 -0
  80. package/esm/modal/ModalHeader.js.map +1 -0
  81. package/esm/modal/ModalUtils.d.ts +4 -0
  82. package/esm/modal/ModalUtils.js +33 -0
  83. package/esm/modal/ModalUtils.js.map +1 -0
  84. package/esm/modal/dialog-polyfill.d.ts +5 -0
  85. package/esm/modal/dialog-polyfill.js +832 -0
  86. package/esm/modal/dialog-polyfill.js.map +1 -0
  87. package/esm/modal/index.d.ts +3 -1
  88. package/esm/popover/Popover.js +6 -3
  89. package/esm/popover/Popover.js.map +1 -1
  90. package/esm/provider/Provider.d.ts +1 -6
  91. package/esm/provider/Provider.js.map +1 -1
  92. package/esm/status-badge/NotificationBadge.d.ts +13 -0
  93. package/esm/status-badge/NotificationBadge.js +24 -0
  94. package/esm/status-badge/NotificationBadge.js.map +1 -0
  95. package/esm/status-badge/index.d.ts +1 -0
  96. package/esm/status-badge/index.js +2 -0
  97. package/esm/status-badge/index.js.map +1 -0
  98. package/esm/table/DataCell.js +2 -4
  99. package/esm/table/DataCell.js.map +1 -1
  100. package/esm/table/ExpandableRow.js +2 -1
  101. package/esm/table/ExpandableRow.js.map +1 -1
  102. package/esm/table/HeaderCell.js +1 -4
  103. package/esm/table/HeaderCell.js.map +1 -1
  104. package/esm/table/Table.d.ts +2 -3
  105. package/esm/table/Table.js +1 -1
  106. package/esm/table/Table.js.map +1 -1
  107. package/esm/tag/CounterTag.d.ts +31 -0
  108. package/esm/tag/CounterTag.js +41 -0
  109. package/esm/tag/CounterTag.js.map +1 -0
  110. package/esm/tag/NotificationTag.d.ts +11 -0
  111. package/esm/tag/NotificationTag.js +25 -0
  112. package/esm/tag/NotificationTag.js.map +1 -0
  113. package/esm/timeline/demo.d.ts +3 -0
  114. package/esm/timeline/demo.js +96 -0
  115. package/esm/timeline/demo.js.map +1 -0
  116. package/esm/util/index.d.ts +1 -1
  117. package/package.json +3 -6
  118. package/src/date/datepicker/DatePicker.tsx +3 -3
  119. package/src/date/hooks/useEscape.tsx +8 -3
  120. package/src/modal/Modal.tsx +171 -121
  121. package/src/modal/ModalBody.tsx +14 -0
  122. package/src/modal/ModalContext.ts +6 -0
  123. package/src/modal/ModalFooter.tsx +14 -0
  124. package/src/modal/ModalHeader.tsx +42 -0
  125. package/src/modal/ModalUtils.ts +37 -0
  126. package/src/modal/dialog-polyfill.ts +980 -0
  127. package/src/modal/index.ts +3 -1
  128. package/src/modal/modal.stories.tsx +142 -59
  129. package/src/popover/Popover.tsx +6 -2
  130. package/src/provider/Provider.tsx +1 -6
  131. package/src/table/DataCell.tsx +1 -5
  132. package/src/table/ExpandableRow.tsx +2 -1
  133. package/src/table/HeaderCell.tsx +1 -5
  134. package/src/table/Table.tsx +3 -4
  135. package/src/table/stories/table-expandable.stories.tsx +37 -1
  136. package/src/table/stories/table.stories.tsx +4 -1
  137. package/src/modal/ModalContent.tsx +0 -26
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalHeader.js","sourceRoot":"","sources":["../../src/modal/ModalHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAW9C,MAAM,WAAW,GAAG,UAAU,CAC5B,CAAC,EAAoD,EAAE,GAAG,EAAE,EAAE;QAA7D,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,OAAW,EAAN,IAAI,cAAlD,wCAAoD,CAAF;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,6CAAS,IAAI,IAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;QACrE,OAAO,CAAC,YAAY,IAAI,WAAW,IAAI,CACtC,oBAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,qBAAqB,EAC/B,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,kBAAkB,EAC1B,OAAO,EAAE,OAAO,CAAC,YAAY,EAC7B,IAAI,EAAE,oBAAC,SAAS,IAAC,KAAK,EAAC,iBAAiB,GAAG,GAC3C,CACH;QACA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { ModalProps } from "./Modal";
3
+ export declare function getCloseHandler(modalRef: React.RefObject<HTMLDialogElement>, header: ModalProps["header"], onBeforeClose: ModalProps["onBeforeClose"]): (() => false | void | undefined) | undefined;
4
+ export declare function useBodyScrollLock(modalRef: React.RefObject<HTMLDialogElement>, bodyClass: string): void;
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+ export function getCloseHandler(modalRef, header, onBeforeClose) {
3
+ if (header && header.closeButton === false)
4
+ return undefined;
5
+ if (onBeforeClose) {
6
+ return () => { var _a; return onBeforeClose() !== false && ((_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close()); };
7
+ }
8
+ return () => { var _a; return (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close(); };
9
+ }
10
+ export function useBodyScrollLock(modalRef, bodyClass) {
11
+ React.useEffect(() => {
12
+ if (!modalRef.current)
13
+ return;
14
+ if (modalRef.current.open)
15
+ document.body.classList.add(bodyClass); // In case `open` is true initially
16
+ const observer = new MutationObserver(() => {
17
+ var _a;
18
+ if ((_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.open)
19
+ document.body.classList.add(bodyClass);
20
+ else
21
+ document.body.classList.remove(bodyClass);
22
+ });
23
+ observer.observe(modalRef.current, {
24
+ attributes: true,
25
+ attributeFilter: ["open"],
26
+ });
27
+ return () => {
28
+ observer.disconnect();
29
+ document.body.classList.remove(bodyClass); // In case modal is unmounted before it's closed
30
+ };
31
+ }, [modalRef, bodyClass]);
32
+ }
33
+ //# sourceMappingURL=ModalUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalUtils.js","sourceRoot":"","sources":["../../src/modal/ModalUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,eAAe,CAC7B,QAA4C,EAC5C,MAA4B,EAC5B,aAA0C;IAE1C,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,aAAa,EAAE;QACjB,OAAO,GAAG,EAAE,WAAC,OAAA,aAAa,EAAE,KAAK,KAAK,KAAI,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,CAAA,EAAA,CAAC;KACrE;IACD,OAAO,GAAG,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAA4C,EAC5C,SAAiB;IAEjB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC;QAEtG,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;;YACzC,IAAI,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;;gBAC9D,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;YACjC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,MAAM,CAAC;SAC1B,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,gDAAgD;QAC7F,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ registerDialog(dialog: HTMLDialogElement): void;
3
+ forceRegisterDialog(dialog: HTMLDialogElement): void;
4
+ };
5
+ export default _default;