@digdir/designsystemet-react 0.59.0 → 0.59.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/cjs/components/Accordion/Accordion.js +1 -4
  2. package/dist/cjs/components/Accordion/AccordionContent/AccordionContent.js +1 -2
  3. package/dist/cjs/components/Accordion/AccordionHeader/AccordionHeader.js +1 -2
  4. package/dist/cjs/components/Accordion/AccordionItem/AccordionItem.js +1 -4
  5. package/dist/cjs/components/Button/Button.js +2 -2
  6. package/dist/cjs/components/DropdownMenu/DropdownMenuContent.js +4 -4
  7. package/dist/cjs/components/DropdownMenu/DropdownMenuTrigger.js +1 -1
  8. package/dist/cjs/components/Modal/ModalDialog.js +1 -1
  9. package/dist/cjs/components/Modal/ModalHeader/ModalHeader.js +1 -1
  10. package/dist/cjs/components/Modal/ModalHeader/ModalHeader.module.css.js +1 -1
  11. package/dist/cjs/components/Popover/PopoverContent.js +6 -6
  12. package/dist/cjs/components/Popover/PopoverTrigger.js +1 -1
  13. package/dist/cjs/components/Tooltip/Tooltip.js +6 -6
  14. package/dist/cjs/components/form/Checkbox/Checkbox.js +1 -1
  15. package/dist/cjs/components/form/Combobox/Combobox.js +72 -199
  16. package/dist/cjs/components/form/Combobox/Combobox.module.css.js +1 -1
  17. package/dist/cjs/components/form/Combobox/ComboboxContext.js +8 -0
  18. package/dist/cjs/components/form/Combobox/ComboboxIdContext.js +42 -0
  19. package/dist/cjs/components/form/Combobox/Custom/Custom.js +14 -9
  20. package/dist/cjs/components/form/Combobox/Empty/Empty.js +4 -4
  21. package/dist/cjs/components/form/Combobox/Option/Option.js +15 -33
  22. package/dist/cjs/components/form/Combobox/Option/useComboboxOption.js +47 -0
  23. package/dist/cjs/components/form/Combobox/internal/ComboboxChips.js +13 -10
  24. package/dist/cjs/components/form/Combobox/internal/ComboboxClearButton.js +5 -8
  25. package/dist/cjs/components/form/Combobox/internal/ComboboxInput.js +40 -69
  26. package/dist/cjs/components/form/Combobox/internal/ComboboxNative.js +2 -2
  27. package/dist/cjs/components/form/Combobox/useCombobox.js +77 -75
  28. package/dist/cjs/components/form/Combobox/useComboboxKeyboard.js +76 -0
  29. package/dist/cjs/components/form/Combobox/useFloatingCombobox.js +78 -0
  30. package/dist/cjs/components/form/Search/Search.js +1 -1
  31. package/dist/cjs/node_modules/@floating-ui/utils/{dom/dist → dist}/floating-ui.utils.dom.js +7 -4
  32. package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +5 -0
  33. package/dist/cjs/node_modules/clsx/dist/clsx.js +1 -1
  34. package/dist/cjs/node_modules/clsx/dist/lite.js +9 -0
  35. package/dist/cjs/{node_modules → packages/react/node_modules}/@floating-ui/core/dist/floating-ui.core.js +40 -16
  36. package/dist/cjs/{node_modules → packages/react/node_modules}/@floating-ui/dom/dist/floating-ui.dom.js +83 -31
  37. package/dist/cjs/{node_modules → packages/react/node_modules}/@floating-ui/react/dist/floating-ui.react.js +307 -157
  38. package/dist/cjs/{node_modules/@floating-ui/react/utils → packages/react/node_modules/@floating-ui/react}/dist/floating-ui.react.utils.js +9 -4
  39. package/dist/cjs/{node_modules → packages/react/node_modules}/@floating-ui/react-dom/dist/floating-ui.react-dom.js +22 -18
  40. package/dist/{esm → cjs/packages/react}/node_modules/tabbable/dist/index.esm.js +59 -13
  41. package/dist/cjs/react-css-modules.css +2 -136
  42. package/dist/cjs/utilities/RovingTabIndex/RovingTabindexItem.js +1 -1
  43. package/dist/cjs/utilities/RovingTabIndex/RovingTabindexRoot.js +1 -1
  44. package/dist/esm/components/Accordion/Accordion.js +1 -4
  45. package/dist/esm/components/Accordion/AccordionContent/AccordionContent.js +1 -2
  46. package/dist/esm/components/Accordion/AccordionHeader/AccordionHeader.js +1 -2
  47. package/dist/esm/components/Accordion/AccordionItem/AccordionItem.js +1 -4
  48. package/dist/esm/components/Button/Button.js +2 -2
  49. package/dist/esm/components/DropdownMenu/DropdownMenuContent.js +3 -3
  50. package/dist/esm/components/DropdownMenu/DropdownMenuTrigger.js +1 -1
  51. package/dist/esm/components/Modal/ModalDialog.js +1 -1
  52. package/dist/esm/components/Modal/ModalHeader/ModalHeader.js +1 -1
  53. package/dist/esm/components/Modal/ModalHeader/ModalHeader.module.css.js +1 -1
  54. package/dist/esm/components/Popover/PopoverContent.js +4 -4
  55. package/dist/esm/components/Popover/PopoverTrigger.js +1 -1
  56. package/dist/esm/components/Tooltip/Tooltip.js +4 -4
  57. package/dist/esm/components/form/Checkbox/Checkbox.js +1 -1
  58. package/dist/esm/components/form/Combobox/Combobox.js +76 -203
  59. package/dist/esm/components/form/Combobox/Combobox.module.css.js +1 -1
  60. package/dist/esm/components/form/Combobox/ComboboxContext.js +6 -0
  61. package/dist/esm/components/form/Combobox/ComboboxIdContext.js +35 -0
  62. package/dist/esm/components/form/Combobox/Custom/Custom.js +13 -8
  63. package/dist/esm/components/form/Combobox/Empty/Empty.js +3 -3
  64. package/dist/esm/components/form/Combobox/Option/Option.js +15 -33
  65. package/dist/esm/components/form/Combobox/Option/useComboboxOption.js +45 -0
  66. package/dist/esm/components/form/Combobox/internal/ComboboxChips.js +12 -9
  67. package/dist/esm/components/form/Combobox/internal/ComboboxClearButton.js +4 -7
  68. package/dist/esm/components/form/Combobox/internal/ComboboxInput.js +40 -69
  69. package/dist/esm/components/form/Combobox/internal/ComboboxNative.js +2 -2
  70. package/dist/esm/components/form/Combobox/useCombobox.js +77 -75
  71. package/dist/esm/components/form/Combobox/useComboboxKeyboard.js +74 -0
  72. package/dist/esm/components/form/Combobox/useFloatingCombobox.js +76 -0
  73. package/dist/esm/components/form/Search/Search.js +1 -1
  74. package/dist/esm/node_modules/@floating-ui/utils/{dom/dist → dist}/floating-ui.utils.dom.js +7 -4
  75. package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +5 -0
  76. package/dist/esm/node_modules/clsx/dist/clsx.js +1 -1
  77. package/dist/esm/node_modules/clsx/dist/lite.js +4 -0
  78. package/dist/esm/{node_modules → packages/react/node_modules}/@floating-ui/core/dist/floating-ui.core.js +40 -16
  79. package/dist/esm/{node_modules → packages/react/node_modules}/@floating-ui/dom/dist/floating-ui.dom.js +82 -30
  80. package/dist/esm/{node_modules → packages/react/node_modules}/@floating-ui/react/dist/floating-ui.react.js +282 -135
  81. package/dist/esm/{node_modules/@floating-ui/react/utils → packages/react/node_modules/@floating-ui/react}/dist/floating-ui.react.utils.js +9 -5
  82. package/dist/esm/{node_modules → packages/react/node_modules}/@floating-ui/react-dom/dist/floating-ui.react-dom.js +19 -14
  83. package/dist/{cjs → esm/packages/react}/node_modules/tabbable/dist/index.esm.js +55 -15
  84. package/dist/esm/react-css-modules.css +2 -136
  85. package/dist/esm/utilities/RovingTabIndex/RovingTabindexItem.js +1 -1
  86. package/dist/esm/utilities/RovingTabIndex/RovingTabindexRoot.js +1 -1
  87. package/dist/types/components/Accordion/Accordion.d.ts.map +1 -1
  88. package/dist/types/components/Accordion/AccordionContent/AccordionContent.d.ts.map +1 -1
  89. package/dist/types/components/Accordion/AccordionHeader/AccordionHeader.d.ts.map +1 -1
  90. package/dist/types/components/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
  91. package/dist/types/components/Modal/ModalHeader/ModalHeader.d.ts.map +1 -1
  92. package/dist/types/components/form/Combobox/Combobox.d.ts +95 -48
  93. package/dist/types/components/form/Combobox/Combobox.d.ts.map +1 -1
  94. package/dist/types/components/form/Combobox/ComboboxContext.d.ts +41 -0
  95. package/dist/types/components/form/Combobox/ComboboxContext.d.ts.map +1 -0
  96. package/dist/types/components/form/Combobox/ComboboxIdContext.d.ts +19 -0
  97. package/dist/types/components/form/Combobox/ComboboxIdContext.d.ts.map +1 -0
  98. package/dist/types/components/form/Combobox/Custom/Custom.d.ts.map +1 -1
  99. package/dist/types/components/form/Combobox/Option/Option.d.ts +2 -2
  100. package/dist/types/components/form/Combobox/Option/Option.d.ts.map +1 -1
  101. package/dist/types/components/form/Combobox/Option/useComboboxOption.d.ts +14 -0
  102. package/dist/types/components/form/Combobox/Option/useComboboxOption.d.ts.map +1 -0
  103. package/dist/types/components/form/Combobox/internal/ComboboxChips.d.ts.map +1 -1
  104. package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts.map +1 -1
  105. package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts +9 -2
  106. package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts.map +1 -1
  107. package/dist/types/components/form/Combobox/internal/ComboboxNative.d.ts +3 -1
  108. package/dist/types/components/form/Combobox/internal/ComboboxNative.d.ts.map +1 -1
  109. package/dist/types/components/form/Combobox/useCombobox.d.ts +14 -9
  110. package/dist/types/components/form/Combobox/useCombobox.d.ts.map +1 -1
  111. package/dist/types/components/form/Combobox/useComboboxKeyboard.d.ts +19 -0
  112. package/dist/types/components/form/Combobox/useComboboxKeyboard.d.ts.map +1 -0
  113. package/dist/types/components/form/Combobox/useFloatingCombobox.d.ts +41 -0
  114. package/dist/types/components/form/Combobox/useFloatingCombobox.d.ts.map +1 -0
  115. package/package.json +3 -3
  116. package/dist/cjs/components/Accordion/Accordion.module.css.js +0 -6
  117. package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -6
  118. package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +0 -68
  119. package/dist/esm/components/Accordion/Accordion.module.css.js +0 -4
  120. package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -4
  121. package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +0 -57
@@ -2,8 +2,8 @@
2
2
  'use strict';
3
3
 
4
4
  var floatingUi_core = require('../../core/dist/floating-ui.core.js');
5
- var floatingUi_utils = require('../../utils/dist/floating-ui.utils.js');
6
- var floatingUi_utils_dom = require('../../utils/dom/dist/floating-ui.utils.dom.js');
5
+ var floatingUi_utils = require('../../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.js');
6
+ var floatingUi_utils_dom = require('../../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js');
7
7
 
8
8
  function getCssDimensions(element) {
9
9
  const css = floatingUi_utils_dom.getComputedStyle(element);
@@ -106,8 +106,9 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
106
106
  if (domElement) {
107
107
  const win = floatingUi_utils_dom.getWindow(domElement);
108
108
  const offsetWin = offsetParent && floatingUi_utils_dom.isElement(offsetParent) ? floatingUi_utils_dom.getWindow(offsetParent) : offsetParent;
109
- let currentIFrame = win.frameElement;
110
- while (currentIFrame && offsetParent && offsetWin !== win) {
109
+ let currentWin = win;
110
+ let currentIFrame = currentWin.frameElement;
111
+ while (currentIFrame && offsetParent && offsetWin !== currentWin) {
111
112
  const iframeScale = getScale(currentIFrame);
112
113
  const iframeRect = currentIFrame.getBoundingClientRect();
113
114
  const css = floatingUi_utils_dom.getComputedStyle(currentIFrame);
@@ -119,7 +120,8 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
119
120
  height *= iframeScale.y;
120
121
  x += left;
121
122
  y += top;
122
- currentIFrame = floatingUi_utils_dom.getWindow(currentIFrame).frameElement;
123
+ currentWin = floatingUi_utils_dom.getWindow(currentIFrame);
124
+ currentIFrame = currentWin.frameElement;
123
125
  }
124
126
  }
125
127
  return floatingUi_utils.rectToClientRect({
@@ -130,15 +132,28 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
130
132
  });
131
133
  }
132
134
 
135
+ const topLayerSelectors = [':popover-open', ':modal'];
136
+ function isTopLayer(floating) {
137
+ return topLayerSelectors.some(selector => {
138
+ try {
139
+ return floating.matches(selector);
140
+ } catch (e) {
141
+ return false;
142
+ }
143
+ });
144
+ }
145
+
133
146
  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
134
147
  let {
148
+ elements,
135
149
  rect,
136
150
  offsetParent,
137
151
  strategy
138
152
  } = _ref;
139
- const isOffsetParentAnElement = floatingUi_utils_dom.isHTMLElement(offsetParent);
153
+ const isFixed = strategy === 'fixed';
140
154
  const documentElement = floatingUi_utils_dom.getDocumentElement(offsetParent);
141
- if (offsetParent === documentElement) {
155
+ const topLayer = elements ? isTopLayer(elements.floating) : false;
156
+ if (offsetParent === documentElement || topLayer && isFixed) {
142
157
  return rect;
143
158
  }
144
159
  let scroll = {
@@ -147,7 +162,8 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
147
162
  };
148
163
  let scale = floatingUi_utils.createCoords(1);
149
164
  const offsets = floatingUi_utils.createCoords(0);
150
- if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
165
+ const isOffsetParentAnElement = floatingUi_utils_dom.isHTMLElement(offsetParent);
166
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
151
167
  if (floatingUi_utils_dom.getNodeName(offsetParent) !== 'body' || floatingUi_utils_dom.isOverflowElement(documentElement)) {
152
168
  scroll = floatingUi_utils_dom.getNodeScroll(offsetParent);
153
169
  }
@@ -273,7 +289,7 @@ function getClippingElementAncestors(element, cache) {
273
289
  if (cachedResult) {
274
290
  return cachedResult;
275
291
  }
276
- let result = floatingUi_utils_dom.getOverflowAncestors(element).filter(el => floatingUi_utils_dom.isElement(el) && floatingUi_utils_dom.getNodeName(el) !== 'body');
292
+ let result = floatingUi_utils_dom.getOverflowAncestors(element, [], false).filter(el => floatingUi_utils_dom.isElement(el) && floatingUi_utils_dom.getNodeName(el) !== 'body');
277
293
  let currentContainingBlockComputedStyle = null;
278
294
  const elementIsFixed = floatingUi_utils_dom.getComputedStyle(element).position === 'fixed';
279
295
  let currentNode = elementIsFixed ? floatingUi_utils_dom.getParentNode(element) : element;
@@ -328,7 +344,14 @@ function getClippingRect(_ref) {
328
344
  }
329
345
 
330
346
  function getDimensions(element) {
331
- return getCssDimensions(element);
347
+ const {
348
+ width,
349
+ height
350
+ } = getCssDimensions(element);
351
+ return {
352
+ width,
353
+ height
354
+ };
332
355
  }
333
356
 
334
357
  function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
@@ -353,9 +376,11 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
353
376
  offsets.x = getWindowScrollBarX(documentElement);
354
377
  }
355
378
  }
379
+ const x = rect.left + scroll.scrollLeft - offsets.x;
380
+ const y = rect.top + scroll.scrollTop - offsets.y;
356
381
  return {
357
- x: rect.left + scroll.scrollLeft - offsets.x,
358
- y: rect.top + scroll.scrollTop - offsets.y,
382
+ x,
383
+ y,
359
384
  width: rect.width,
360
385
  height: rect.height
361
386
  };
@@ -375,7 +400,7 @@ function getTrueOffsetParent(element, polyfill) {
375
400
  // such as table ancestors and cross browser bugs.
376
401
  function getOffsetParent(element, polyfill) {
377
402
  const window = floatingUi_utils_dom.getWindow(element);
378
- if (!floatingUi_utils_dom.isHTMLElement(element)) {
403
+ if (!floatingUi_utils_dom.isHTMLElement(element) || isTopLayer(element)) {
379
404
  return window;
380
405
  }
381
406
  let offsetParent = getTrueOffsetParent(element, polyfill);
@@ -388,20 +413,15 @@ function getOffsetParent(element, polyfill) {
388
413
  return offsetParent || floatingUi_utils_dom.getContainingBlock(element) || window;
389
414
  }
390
415
 
391
- const getElementRects = async function (_ref) {
392
- let {
393
- reference,
394
- floating,
395
- strategy
396
- } = _ref;
416
+ const getElementRects = async function (data) {
397
417
  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
398
418
  const getDimensionsFn = this.getDimensions;
399
419
  return {
400
- reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),
420
+ reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
401
421
  floating: {
402
422
  x: 0,
403
423
  y: 0,
404
- ...(await getDimensionsFn(floating))
424
+ ...(await getDimensionsFn(data.floating))
405
425
  }
406
426
  };
407
427
  };
@@ -429,8 +449,9 @@ function observeMove(element, onMove) {
429
449
  let timeoutId;
430
450
  const root = floatingUi_utils_dom.getDocumentElement(element);
431
451
  function cleanup() {
452
+ var _io;
432
453
  clearTimeout(timeoutId);
433
- io && io.disconnect();
454
+ (_io = io) == null || _io.disconnect();
434
455
  io = null;
435
456
  }
436
457
  function refresh(skip, threshold) {
@@ -536,7 +557,8 @@ function autoUpdate(reference, floating, update, options) {
536
557
  resizeObserver.unobserve(floating);
537
558
  cancelAnimationFrame(reobserveFrame);
538
559
  reobserveFrame = requestAnimationFrame(() => {
539
- resizeObserver && resizeObserver.observe(floating);
560
+ var _resizeObserver;
561
+ (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
540
562
  });
541
563
  }
542
564
  update();
@@ -561,12 +583,13 @@ function autoUpdate(reference, floating, update, options) {
561
583
  }
562
584
  update();
563
585
  return () => {
586
+ var _resizeObserver2;
564
587
  ancestors.forEach(ancestor => {
565
588
  ancestorScroll && ancestor.removeEventListener('scroll', update);
566
589
  ancestorResize && ancestor.removeEventListener('resize', update);
567
590
  });
568
- cleanupIo && cleanupIo();
569
- resizeObserver && resizeObserver.disconnect();
591
+ cleanupIo == null || cleanupIo();
592
+ (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
570
593
  resizeObserver = null;
571
594
  if (animationFrame) {
572
595
  cancelAnimationFrame(frameId);
@@ -574,10 +597,39 @@ function autoUpdate(reference, floating, update, options) {
574
597
  };
575
598
  }
576
599
 
600
+ /**
601
+ * Optimizes the visibility of the floating element by shifting it in order to
602
+ * keep it in view when it will overflow the clipping boundary.
603
+ * @see https://floating-ui.com/docs/shift
604
+ */
605
+ const shift = floatingUi_core.shift;
606
+
607
+ /**
608
+ * Optimizes the visibility of the floating element by flipping the `placement`
609
+ * in order to keep it in view when the preferred placement(s) will overflow the
610
+ * clipping boundary. Alternative to `autoPlacement`.
611
+ * @see https://floating-ui.com/docs/flip
612
+ */
613
+ const flip = floatingUi_core.flip;
614
+
615
+ /**
616
+ * Provides data that allows you to change the size of the floating element —
617
+ * for instance, prevent it from overflowing the clipping boundary or match the
618
+ * width of the reference element.
619
+ * @see https://floating-ui.com/docs/size
620
+ */
621
+ const size = floatingUi_core.size;
622
+
623
+ /**
624
+ * Provides data to position an inner element of the floating element so that it
625
+ * appears centered to the reference element.
626
+ * @see https://floating-ui.com/docs/arrow
627
+ */
628
+ const arrow = floatingUi_core.arrow;
629
+
577
630
  /**
578
631
  * Computes the `x` and `y` coordinates that will place the floating element
579
- * next to a reference element when it is given a certain CSS positioning
580
- * strategy.
632
+ * next to a given reference element.
581
633
  */
582
634
  const computePosition = (reference, floating, options) => {
583
635
  // This caches the expensive `getClippingElementAncestors` function so that
@@ -598,13 +650,13 @@ const computePosition = (reference, floating, options) => {
598
650
  });
599
651
  };
600
652
 
601
- exports.arrow = floatingUi_core.arrow;
602
653
  exports.detectOverflow = floatingUi_core.detectOverflow;
603
- exports.flip = floatingUi_core.flip;
604
654
  exports.offset = floatingUi_core.offset;
605
- exports.shift = floatingUi_core.shift;
606
- exports.size = floatingUi_core.size;
607
655
  exports.getOverflowAncestors = floatingUi_utils_dom.getOverflowAncestors;
656
+ exports.arrow = arrow;
608
657
  exports.autoUpdate = autoUpdate;
609
658
  exports.computePosition = computePosition;
659
+ exports.flip = flip;
610
660
  exports.platform = platform;
661
+ exports.shift = shift;
662
+ exports.size = size;