@navikt/ds-react 4.7.4 → 4.9.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 (45) hide show
  1. package/_docs.json +389 -1
  2. package/cjs/index.js +1 -0
  3. package/cjs/layout/stack/HStack.js +51 -0
  4. package/cjs/layout/stack/Spacer.js +21 -0
  5. package/cjs/layout/stack/Stack.js +51 -0
  6. package/cjs/layout/stack/VStack.js +51 -0
  7. package/cjs/layout/stack/index.js +9 -0
  8. package/cjs/layout/stack/package.json +6 -0
  9. package/cjs/layout/utilities/css.js +17 -0
  10. package/cjs/table/ExpandableRow.js +20 -8
  11. package/esm/index.d.ts +1 -0
  12. package/esm/index.js +1 -0
  13. package/esm/index.js.map +1 -1
  14. package/esm/layout/stack/HStack.d.ts +24 -0
  15. package/esm/layout/stack/HStack.js +26 -0
  16. package/esm/layout/stack/HStack.js.map +1 -0
  17. package/esm/layout/stack/Spacer.d.ts +14 -0
  18. package/esm/layout/stack/Spacer.js +15 -0
  19. package/esm/layout/stack/Spacer.js.map +1 -0
  20. package/esm/layout/stack/Stack.d.ts +26 -0
  21. package/esm/layout/stack/Stack.js +23 -0
  22. package/esm/layout/stack/Stack.js.map +1 -0
  23. package/esm/layout/stack/VStack.d.ts +24 -0
  24. package/esm/layout/stack/VStack.js +26 -0
  25. package/esm/layout/stack/VStack.js.map +1 -0
  26. package/esm/layout/stack/index.d.ts +3 -0
  27. package/esm/layout/stack/index.js +4 -0
  28. package/esm/layout/stack/index.js.map +1 -0
  29. package/esm/layout/utilities/css.d.ts +10 -0
  30. package/esm/layout/utilities/css.js +14 -0
  31. package/esm/layout/utilities/css.js.map +1 -0
  32. package/esm/table/ExpandableRow.d.ts +6 -1
  33. package/esm/table/ExpandableRow.js +20 -8
  34. package/esm/table/ExpandableRow.js.map +1 -1
  35. package/package.json +2 -2
  36. package/src/index.ts +1 -0
  37. package/src/layout/stack/HStack.tsx +30 -0
  38. package/src/layout/stack/Spacer.tsx +15 -0
  39. package/src/layout/stack/Stack.tsx +76 -0
  40. package/src/layout/stack/VStack.tsx +30 -0
  41. package/src/layout/stack/index.ts +3 -0
  42. package/src/layout/stack/stack.stories.tsx +161 -0
  43. package/src/layout/utilities/css.ts +56 -0
  44. package/src/table/ExpandableRow.tsx +28 -8
  45. package/src/table/stories/table-expandable.stories.tsx +62 -1
package/_docs.json CHANGED
@@ -7810,7 +7810,7 @@
7810
7810
  "defaultValue": {
7811
7811
  "value": "false"
7812
7812
  },
7813
- "description": "Disable expansio",
7813
+ "description": "Disable expansion. shadeOnHover will not be visible.",
7814
7814
  "name": "expansionDisabled",
7815
7815
  "parent": {
7816
7816
  "fileName": "src/table/ExpandableRow.tsx",
@@ -7827,6 +7827,27 @@
7827
7827
  "name": "boolean"
7828
7828
  }
7829
7829
  },
7830
+ "expandOnRowClick": {
7831
+ "defaultValue": {
7832
+ "value": "false"
7833
+ },
7834
+ "description": "Makes the whole row clickable",
7835
+ "name": "expandOnRowClick",
7836
+ "parent": {
7837
+ "fileName": "src/table/ExpandableRow.tsx",
7838
+ "name": "ExpandableRowProps"
7839
+ },
7840
+ "declarations": [
7841
+ {
7842
+ "fileName": "src/table/ExpandableRow.tsx",
7843
+ "name": "ExpandableRowProps"
7844
+ }
7845
+ ],
7846
+ "required": false,
7847
+ "type": {
7848
+ "name": "boolean"
7849
+ }
7850
+ },
7830
7851
  "colSpan": {
7831
7852
  "defaultValue": {
7832
7853
  "value": "999"
@@ -16428,6 +16449,373 @@
16428
16449
  }
16429
16450
  }
16430
16451
  },
16452
+ {
16453
+ "filePath": "src/layout/stack/HStack.tsx",
16454
+ "displayName": "HStack",
16455
+ "props": {
16456
+ "justify": {
16457
+ "defaultValue": null,
16458
+ "description": "Justify-content",
16459
+ "name": "justify",
16460
+ "parent": {
16461
+ "fileName": "react/src/layout/stack/Stack.tsx",
16462
+ "name": "StackProps"
16463
+ },
16464
+ "declarations": [
16465
+ {
16466
+ "fileName": "react/src/layout/stack/Stack.tsx",
16467
+ "name": "StackProps"
16468
+ }
16469
+ ],
16470
+ "required": false,
16471
+ "type": {
16472
+ "name": "\"start\" | \"center\" | \"end\" | \"space-around\" | \"space-between\" | \"space-evenly\""
16473
+ }
16474
+ },
16475
+ "align": {
16476
+ "defaultValue": null,
16477
+ "description": "Align-items",
16478
+ "name": "align",
16479
+ "parent": {
16480
+ "fileName": "react/src/layout/stack/Stack.tsx",
16481
+ "name": "StackProps"
16482
+ },
16483
+ "declarations": [
16484
+ {
16485
+ "fileName": "react/src/layout/stack/Stack.tsx",
16486
+ "name": "StackProps"
16487
+ }
16488
+ ],
16489
+ "required": false,
16490
+ "type": {
16491
+ "name": "\"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\""
16492
+ }
16493
+ },
16494
+ "wrap": {
16495
+ "defaultValue": null,
16496
+ "description": "flex-wrap",
16497
+ "name": "wrap",
16498
+ "parent": {
16499
+ "fileName": "react/src/layout/stack/Stack.tsx",
16500
+ "name": "StackProps"
16501
+ },
16502
+ "declarations": [
16503
+ {
16504
+ "fileName": "react/src/layout/stack/Stack.tsx",
16505
+ "name": "StackProps"
16506
+ }
16507
+ ],
16508
+ "required": false,
16509
+ "type": {
16510
+ "name": "boolean"
16511
+ }
16512
+ },
16513
+ "gap": {
16514
+ "defaultValue": null,
16515
+ "description": "@example gap='4'\ngap={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}",
16516
+ "name": "gap",
16517
+ "parent": {
16518
+ "fileName": "react/src/layout/stack/Stack.tsx",
16519
+ "name": "StackProps"
16520
+ },
16521
+ "declarations": [
16522
+ {
16523
+ "fileName": "react/src/layout/stack/Stack.tsx",
16524
+ "name": "StackProps"
16525
+ }
16526
+ ],
16527
+ "required": false,
16528
+ "type": {
16529
+ "name": "ResponsiveProp<SpacingScale>"
16530
+ }
16531
+ },
16532
+ "className": {
16533
+ "defaultValue": null,
16534
+ "description": "",
16535
+ "name": "className",
16536
+ "parent": {
16537
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16538
+ "name": "HTMLAttributes"
16539
+ },
16540
+ "declarations": [
16541
+ {
16542
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16543
+ "name": "HTMLAttributes"
16544
+ }
16545
+ ],
16546
+ "required": false,
16547
+ "type": {
16548
+ "name": "string"
16549
+ }
16550
+ },
16551
+ "ref": {
16552
+ "defaultValue": null,
16553
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null` (or call the ref with `null` if you passed a callback ref).\n@see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom",
16554
+ "name": "ref",
16555
+ "parent": {
16556
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16557
+ "name": "RefAttributes"
16558
+ },
16559
+ "declarations": [
16560
+ {
16561
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16562
+ "name": "RefAttributes"
16563
+ }
16564
+ ],
16565
+ "required": false,
16566
+ "type": {
16567
+ "name": "Ref<HTMLDivElement>"
16568
+ }
16569
+ }
16570
+ }
16571
+ },
16572
+ {
16573
+ "filePath": "src/layout/stack/Spacer.tsx",
16574
+ "displayName": "Spacer",
16575
+ "props": {}
16576
+ },
16577
+ {
16578
+ "filePath": "src/layout/stack/Stack.tsx",
16579
+ "displayName": "Stack",
16580
+ "props": {
16581
+ "justify": {
16582
+ "defaultValue": null,
16583
+ "description": "Justify-content",
16584
+ "name": "justify",
16585
+ "parent": {
16586
+ "fileName": "src/layout/stack/Stack.tsx",
16587
+ "name": "StackProps"
16588
+ },
16589
+ "declarations": [
16590
+ {
16591
+ "fileName": "src/layout/stack/Stack.tsx",
16592
+ "name": "StackProps"
16593
+ }
16594
+ ],
16595
+ "required": false,
16596
+ "type": {
16597
+ "name": "\"start\" | \"center\" | \"end\" | \"space-around\" | \"space-between\" | \"space-evenly\""
16598
+ }
16599
+ },
16600
+ "align": {
16601
+ "defaultValue": null,
16602
+ "description": "Align-items",
16603
+ "name": "align",
16604
+ "parent": {
16605
+ "fileName": "src/layout/stack/Stack.tsx",
16606
+ "name": "StackProps"
16607
+ },
16608
+ "declarations": [
16609
+ {
16610
+ "fileName": "src/layout/stack/Stack.tsx",
16611
+ "name": "StackProps"
16612
+ }
16613
+ ],
16614
+ "required": false,
16615
+ "type": {
16616
+ "name": "\"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\""
16617
+ }
16618
+ },
16619
+ "wrap": {
16620
+ "defaultValue": {
16621
+ "value": "true"
16622
+ },
16623
+ "description": "flex-wrap",
16624
+ "name": "wrap",
16625
+ "parent": {
16626
+ "fileName": "src/layout/stack/Stack.tsx",
16627
+ "name": "StackProps"
16628
+ },
16629
+ "declarations": [
16630
+ {
16631
+ "fileName": "src/layout/stack/Stack.tsx",
16632
+ "name": "StackProps"
16633
+ }
16634
+ ],
16635
+ "required": false,
16636
+ "type": {
16637
+ "name": "boolean"
16638
+ }
16639
+ },
16640
+ "gap": {
16641
+ "defaultValue": null,
16642
+ "description": "@example gap='4'\ngap={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}",
16643
+ "name": "gap",
16644
+ "parent": {
16645
+ "fileName": "src/layout/stack/Stack.tsx",
16646
+ "name": "StackProps"
16647
+ },
16648
+ "declarations": [
16649
+ {
16650
+ "fileName": "src/layout/stack/Stack.tsx",
16651
+ "name": "StackProps"
16652
+ }
16653
+ ],
16654
+ "required": false,
16655
+ "type": {
16656
+ "name": "ResponsiveProp<SpacingScale>"
16657
+ }
16658
+ },
16659
+ "direction": {
16660
+ "defaultValue": null,
16661
+ "description": "",
16662
+ "name": "direction",
16663
+ "parent": {
16664
+ "fileName": "src/layout/stack/Stack.tsx",
16665
+ "name": "StackProps"
16666
+ },
16667
+ "declarations": [
16668
+ {
16669
+ "fileName": "src/layout/stack/Stack.tsx",
16670
+ "name": "StackProps"
16671
+ }
16672
+ ],
16673
+ "required": true,
16674
+ "type": {
16675
+ "name": "\"row\" | \"column\""
16676
+ }
16677
+ },
16678
+ "className": {
16679
+ "defaultValue": null,
16680
+ "description": "",
16681
+ "name": "className",
16682
+ "parent": {
16683
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16684
+ "name": "HTMLAttributes"
16685
+ },
16686
+ "declarations": [
16687
+ {
16688
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16689
+ "name": "HTMLAttributes"
16690
+ }
16691
+ ],
16692
+ "required": false,
16693
+ "type": {
16694
+ "name": "string"
16695
+ }
16696
+ },
16697
+ "ref": {
16698
+ "defaultValue": null,
16699
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null` (or call the ref with `null` if you passed a callback ref).\n@see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom",
16700
+ "name": "ref",
16701
+ "parent": {
16702
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16703
+ "name": "RefAttributes"
16704
+ },
16705
+ "declarations": [
16706
+ {
16707
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16708
+ "name": "RefAttributes"
16709
+ }
16710
+ ],
16711
+ "required": false,
16712
+ "type": {
16713
+ "name": "Ref<HTMLDivElement>"
16714
+ }
16715
+ }
16716
+ }
16717
+ },
16718
+ {
16719
+ "filePath": "src/layout/stack/VStack.tsx",
16720
+ "displayName": "VStack",
16721
+ "props": {
16722
+ "justify": {
16723
+ "defaultValue": null,
16724
+ "description": "Justify-content",
16725
+ "name": "justify",
16726
+ "parent": {
16727
+ "fileName": "react/src/layout/stack/Stack.tsx",
16728
+ "name": "StackProps"
16729
+ },
16730
+ "declarations": [
16731
+ {
16732
+ "fileName": "react/src/layout/stack/Stack.tsx",
16733
+ "name": "StackProps"
16734
+ }
16735
+ ],
16736
+ "required": false,
16737
+ "type": {
16738
+ "name": "\"start\" | \"center\" | \"end\" | \"space-around\" | \"space-between\" | \"space-evenly\""
16739
+ }
16740
+ },
16741
+ "align": {
16742
+ "defaultValue": null,
16743
+ "description": "Align-items",
16744
+ "name": "align",
16745
+ "parent": {
16746
+ "fileName": "react/src/layout/stack/Stack.tsx",
16747
+ "name": "StackProps"
16748
+ },
16749
+ "declarations": [
16750
+ {
16751
+ "fileName": "react/src/layout/stack/Stack.tsx",
16752
+ "name": "StackProps"
16753
+ }
16754
+ ],
16755
+ "required": false,
16756
+ "type": {
16757
+ "name": "\"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\""
16758
+ }
16759
+ },
16760
+ "gap": {
16761
+ "defaultValue": null,
16762
+ "description": "@example gap='4'\ngap={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}",
16763
+ "name": "gap",
16764
+ "parent": {
16765
+ "fileName": "react/src/layout/stack/Stack.tsx",
16766
+ "name": "StackProps"
16767
+ },
16768
+ "declarations": [
16769
+ {
16770
+ "fileName": "react/src/layout/stack/Stack.tsx",
16771
+ "name": "StackProps"
16772
+ }
16773
+ ],
16774
+ "required": false,
16775
+ "type": {
16776
+ "name": "ResponsiveProp<SpacingScale>"
16777
+ }
16778
+ },
16779
+ "className": {
16780
+ "defaultValue": null,
16781
+ "description": "",
16782
+ "name": "className",
16783
+ "parent": {
16784
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16785
+ "name": "HTMLAttributes"
16786
+ },
16787
+ "declarations": [
16788
+ {
16789
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16790
+ "name": "HTMLAttributes"
16791
+ }
16792
+ ],
16793
+ "required": false,
16794
+ "type": {
16795
+ "name": "string"
16796
+ }
16797
+ },
16798
+ "ref": {
16799
+ "defaultValue": null,
16800
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null` (or call the ref with `null` if you passed a callback ref).\n@see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom",
16801
+ "name": "ref",
16802
+ "parent": {
16803
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16804
+ "name": "RefAttributes"
16805
+ },
16806
+ "declarations": [
16807
+ {
16808
+ "fileName": "aksel/node_modules/@types/react/ts5.0/index.d.ts",
16809
+ "name": "RefAttributes"
16810
+ }
16811
+ ],
16812
+ "required": false,
16813
+ "type": {
16814
+ "name": "Ref<HTMLDivElement>"
16815
+ }
16816
+ }
16817
+ }
16818
+ },
16431
16819
  {
16432
16820
  "filePath": "src/timeline/period/NonClickablePeriod.tsx",
16433
16821
  "displayName": "NonClickablePeriod",
package/cjs/index.js CHANGED
@@ -48,3 +48,4 @@ __exportStar(require("./toggle-group"), exports);
48
48
  __exportStar(require("./tooltip"), exports);
49
49
  __exportStar(require("./typography"), exports);
50
50
  __exportStar(require("./util"), exports);
51
+ __exportStar(require("./layout/stack"), exports);
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.HStack = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const Stack_1 = require("./Stack");
29
+ /**
30
+ * Layout-primitive for horizontal flexbox
31
+ *
32
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
33
+ * @see 🏷️ {@link HStackProps}
34
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
35
+ *
36
+ * @example
37
+ * <HStack gap="8">
38
+ * <MyComponent />
39
+ * <MyComponent />
40
+ * </HStack>
41
+ *
42
+ * @example
43
+ * // Responsive gap
44
+ * <HStack gap={{xs: "2", md: "6"}}>
45
+ * <MyComponent />
46
+ * <MyComponent />
47
+ * </HStack>
48
+ */
49
+ exports.HStack = (0, react_1.forwardRef)((props, ref) => {
50
+ return react_1.default.createElement(Stack_1.Stack, Object.assign({}, props, { ref: ref, direction: "row" }));
51
+ });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Spacer = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ /**
9
+ * Layout-primitive for auto-spacing between elements
10
+ *
11
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
12
+ *
13
+ * @example
14
+ * <HStack gap="8">
15
+ * <MyComponent />
16
+ * <Spacer />
17
+ * <MyComponent />
18
+ * </HStack>
19
+ */
20
+ const Spacer = () => react_1.default.createElement("div", { className: "navds-stack__spacer" });
21
+ exports.Spacer = Spacer;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.Stack = void 0;
41
+ const clsx_1 = __importDefault(require("clsx"));
42
+ const react_1 = __importStar(require("react"));
43
+ const css_1 = require("../utilities/css");
44
+ exports.Stack = (0, react_1.forwardRef)((_a, ref) => {
45
+ var { as: Component = "div", className, align, justify, wrap = true, gap, style: _style, direction } = _a, rest = __rest(_a, ["as", "className", "align", "justify", "wrap", "gap", "style", "direction"]);
46
+ const style = Object.assign(Object.assign({ "--ac-stack-direction": direction, "--ac-stack-align": align, "--ac-stack-justify": justify, "--ac-stack-wrap": wrap ? "wrap" : "nowrap" }, (0, css_1.getResponsiveProps)(`stack`, "gap", "spacing", gap)), _style);
47
+ return (react_1.default.createElement(Component, Object.assign({}, rest, { ref: ref, style: style, className: (0, clsx_1.default)("navds-stack", className, {
48
+ "navds-vstack": direction === "column",
49
+ "navds-hstack": direction === "row",
50
+ }) })));
51
+ });
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.VStack = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const Stack_1 = require("./Stack");
29
+ /**
30
+ * Layout-primitive for vetical flexbox
31
+ *
32
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/Stack)
33
+ * @see 🏷️ {@link VStackProps}
34
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
35
+ *
36
+ * @example
37
+ * <VStack gap="8">
38
+ * <MyComponent />
39
+ * <MyComponent />
40
+ * </VStack>
41
+ *
42
+ * @example
43
+ * // Responsive gap
44
+ * <VStack gap={{xs: "2", md: "6"}}>
45
+ * <MyComponent />
46
+ * <MyComponent />
47
+ * </VStack>
48
+ */
49
+ exports.VStack = (0, react_1.forwardRef)((props, ref) => {
50
+ return react_1.default.createElement(Stack_1.Stack, Object.assign({}, props, { ref: ref, direction: "column", wrap: false }));
51
+ });
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Spacer = exports.VStack = exports.HStack = void 0;
4
+ var HStack_1 = require("./HStack");
5
+ Object.defineProperty(exports, "HStack", { enumerable: true, get: function () { return HStack_1.HStack; } });
6
+ var VStack_1 = require("./VStack");
7
+ Object.defineProperty(exports, "VStack", { enumerable: true, get: function () { return VStack_1.VStack; } });
8
+ var Spacer_1 = require("./Spacer");
9
+ Object.defineProperty(exports, "Spacer", { enumerable: true, get: function () { return Spacer_1.Spacer; } });
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "main": "./index.js",
4
+ "module": "../../../esm/layout/stack/index.js",
5
+ "types": "../../../esm/layout/stack/index.d.ts"
6
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResponsiveProps = void 0;
4
+ function getResponsiveProps(componentName, componentProp, tokenSubgroup, responsiveProp) {
5
+ if (!responsiveProp)
6
+ return {};
7
+ if (typeof responsiveProp === "string") {
8
+ return {
9
+ [`--ac-${componentName}-${componentProp}-xs`]: `var(--a-${tokenSubgroup}-${responsiveProp})`,
10
+ };
11
+ }
12
+ return Object.fromEntries(Object.entries(responsiveProp).map(([breakpointAlias, aliasOrScale]) => [
13
+ `--ac-${componentName}-${componentProp}-${breakpointAlias}`,
14
+ `var(--a-${tokenSubgroup}-${aliasOrScale})`,
15
+ ]));
16
+ }
17
+ exports.getResponsiveProps = getResponsiveProps;
@@ -46,23 +46,35 @@ const DataCell_1 = __importDefault(require("./DataCell"));
46
46
  const Row_1 = __importDefault(require("./Row"));
47
47
  const aksel_icons_1 = require("@navikt/aksel-icons");
48
48
  exports.ExpandableRow = (0, react_1.forwardRef)((_a, ref) => {
49
- var { className, children, content, togglePlacement = "left", defaultOpen = false, open, onOpenChange, expansionDisabled = false, colSpan = 999 } = _a, rest = __rest(_a, ["className", "children", "content", "togglePlacement", "defaultOpen", "open", "onOpenChange", "expansionDisabled", "colSpan"]);
49
+ var { className, children, content, togglePlacement = "left", defaultOpen = false, open, onOpenChange, expansionDisabled = false, expandOnRowClick = false, colSpan = 999 } = _a, rest = __rest(_a, ["className", "children", "content", "togglePlacement", "defaultOpen", "open", "onOpenChange", "expansionDisabled", "expandOnRowClick", "colSpan"]);
50
50
  const [internalOpen, setInternalOpen] = (0, react_1.useState)(defaultOpen);
51
51
  const id = (0, __1.useId)();
52
52
  const isOpen = open !== null && open !== void 0 ? open : internalOpen;
53
+ const expansionHandler = (e) => {
54
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(!isOpen);
55
+ if (open === undefined) {
56
+ setInternalOpen((open) => !open);
57
+ }
58
+ e.stopPropagation();
59
+ };
60
+ const onRowClick = (e) => {
61
+ if (e.target.nodeName === "TD" || e.target.nodeName === "TH") {
62
+ expansionHandler(e);
63
+ }
64
+ };
53
65
  return (react_1.default.createElement(react_1.default.Fragment, null,
54
66
  react_1.default.createElement(Row_1.default, Object.assign({}, rest, { ref: ref, className: (0, clsx_1.default)("navds-table__expandable-row", className, {
55
67
  "navds-table__expandable-row--open": isOpen,
56
- }) }),
68
+ "navds-table__expandable-row--expansion-disabled": expansionDisabled,
69
+ }), onClick: (e) => {
70
+ var _a;
71
+ !expansionDisabled && expandOnRowClick && onRowClick(e);
72
+ (_a = rest === null || rest === void 0 ? void 0 : rest.onClick) === null || _a === void 0 ? void 0 : _a.call(rest, e);
73
+ } }),
57
74
  togglePlacement === "right" && children,
58
75
  react_1.default.createElement(DataCell_1.default, { className: (0, clsx_1.default)("navds-table__toggle-expand-cell", {
59
76
  "navds-table__toggle-expand-cell--open": isOpen,
60
- }) }, !expansionDisabled && (react_1.default.createElement("button", { type: "button", className: "navds-table__toggle-expand-button", "aria-controls": id, "aria-expanded": isOpen, onClick: () => {
61
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(!isOpen);
62
- if (open === undefined) {
63
- setInternalOpen((open) => !open);
64
- }
65
- } },
77
+ }) }, !expansionDisabled && (react_1.default.createElement("button", { type: "button", className: "navds-table__toggle-expand-button", "aria-controls": id, "aria-expanded": isOpen, onClick: expansionHandler },
66
78
  react_1.default.createElement(aksel_icons_1.ChevronDownIcon, { className: "navds-table__expandable-icon", title: isOpen ? "Vis mindre" : "Vis mer" })))),
67
79
  togglePlacement === "left" && children),
68
80
  react_1.default.createElement("tr", { className: "navds-table__expanded-row", "aria-hidden": !isOpen, id: id },