@danske/sapphire-react-lab 0.88.1 → 0.89.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.
- package/build/cjs/index.js +79 -50
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Accordion/index.js +1 -0
- package/build/esm/Accordion/index.js.map +1 -1
- package/build/esm/Accordion/src/Accordion.js +20 -9
- package/build/esm/Accordion/src/Accordion.js.map +1 -1
- package/build/esm/Accordion/src/AccordionContext.js +15 -0
- package/build/esm/Accordion/src/AccordionContext.js.map +1 -0
- package/build/esm/Accordion/src/AccordionItem.js +14 -6
- package/build/esm/Accordion/src/AccordionItem.js.map +1 -1
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/index.d.ts +25 -2
- package/package.json +3 -3
package/build/cjs/index.js
CHANGED
|
@@ -39,8 +39,8 @@ var toast = require('@react-aria/toast');
|
|
|
39
39
|
var styles$7 = require('@danske/sapphire-css/components/toast/toast.module.css');
|
|
40
40
|
var styles$8 = require('@danske/sapphire-css/components/accordion/accordion.module.css');
|
|
41
41
|
var accordion = require('@react-aria/accordion');
|
|
42
|
-
var tree = require('@react-stately/tree');
|
|
43
42
|
var collections = require('@react-stately/collections');
|
|
43
|
+
var tree = require('@react-stately/tree');
|
|
44
44
|
var styles$9 = require('@danske/sapphire-css/components/text/text.module.css');
|
|
45
45
|
var label = require('@react-aria/label');
|
|
46
46
|
var styles$a = require('@danske/sapphire-css/components/dropzone/dropzone.module.css');
|
|
@@ -2476,6 +2476,17 @@ const useShowToast = () => {
|
|
|
2476
2476
|
};
|
|
2477
2477
|
};
|
|
2478
2478
|
|
|
2479
|
+
const AccordionContext = React__default["default"].createContext({
|
|
2480
|
+
sidePadding: void 0
|
|
2481
|
+
});
|
|
2482
|
+
function useAccordionContext() {
|
|
2483
|
+
const context = React.useContext(AccordionContext);
|
|
2484
|
+
if (context) {
|
|
2485
|
+
return context;
|
|
2486
|
+
}
|
|
2487
|
+
throw new Error("Accordion context can only be used within Accordion component.");
|
|
2488
|
+
}
|
|
2489
|
+
|
|
2479
2490
|
var __defProp$h = Object.defineProperty;
|
|
2480
2491
|
var __defProps$f = Object.defineProperties;
|
|
2481
2492
|
var __getOwnPropDescs$f = Object.getOwnPropertyDescriptors;
|
|
@@ -2495,46 +2506,13 @@ var __spreadValues$h = (a, b) => {
|
|
|
2495
2506
|
return a;
|
|
2496
2507
|
};
|
|
2497
2508
|
var __spreadProps$f = (a, b) => __defProps$f(a, __getOwnPropDescs$f(b));
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
};
|
|
2503
|
-
return __spreadProps$f(__spreadValues$h({}, state), { toggleKey: onToggle });
|
|
2504
|
-
}
|
|
2505
|
-
function toggleKey(set, key, expansionMode = "multiple") {
|
|
2506
|
-
const res = new Set(set);
|
|
2507
|
-
if (res.has(key)) {
|
|
2508
|
-
res.delete(key);
|
|
2509
|
-
} else {
|
|
2510
|
-
if (expansionMode === "single")
|
|
2511
|
-
res.clear();
|
|
2512
|
-
res.add(key);
|
|
2513
|
-
}
|
|
2514
|
-
return res;
|
|
2515
|
-
}
|
|
2516
|
-
|
|
2517
|
-
var __defProp$g = Object.defineProperty;
|
|
2518
|
-
var __defProps$e = Object.defineProperties;
|
|
2519
|
-
var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
|
|
2520
|
-
var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
|
|
2521
|
-
var __hasOwnProp$g = Object.prototype.hasOwnProperty;
|
|
2522
|
-
var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
|
|
2523
|
-
var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2524
|
-
var __spreadValues$g = (a, b) => {
|
|
2525
|
-
for (var prop in b || (b = {}))
|
|
2526
|
-
if (__hasOwnProp$g.call(b, prop))
|
|
2527
|
-
__defNormalProp$g(a, prop, b[prop]);
|
|
2528
|
-
if (__getOwnPropSymbols$g)
|
|
2529
|
-
for (var prop of __getOwnPropSymbols$g(b)) {
|
|
2530
|
-
if (__propIsEnum$g.call(b, prop))
|
|
2531
|
-
__defNormalProp$g(a, prop, b[prop]);
|
|
2532
|
-
}
|
|
2533
|
-
return a;
|
|
2534
|
-
};
|
|
2535
|
-
var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
|
|
2509
|
+
const customPaddingStyleProps = (sidePadding) => ({
|
|
2510
|
+
paddingLeft: typeof sidePadding === "string" ? sidePadding : `${sidePadding}px`,
|
|
2511
|
+
paddingRight: typeof sidePadding === "string" ? sidePadding : `${sidePadding}px`
|
|
2512
|
+
});
|
|
2536
2513
|
function _AccordionItem(props) {
|
|
2537
2514
|
const { state, item } = props;
|
|
2515
|
+
const { sidePadding } = useAccordionContext();
|
|
2538
2516
|
const isOpen = state.expandedKeys.has(item.key);
|
|
2539
2517
|
const isDisabled = state.disabledKeys.has(item.key);
|
|
2540
2518
|
const { isHovered, hoverProps } = interactions.useHover({ isDisabled });
|
|
@@ -2553,25 +2531,65 @@ function _AccordionItem(props) {
|
|
|
2553
2531
|
}, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
2554
2532
|
role: "heading",
|
|
2555
2533
|
"aria-level": props.headerLevel
|
|
2556
|
-
}, /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$
|
|
2534
|
+
}, /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$f(__spreadValues$h({}, utils$1.mergeProps(buttonProps, hoverProps, pressProps, focusProps)), {
|
|
2557
2535
|
"aria-disabled": isDisabled,
|
|
2558
2536
|
ref,
|
|
2559
2537
|
className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-header"], styles__default$8["default"]["js-focus"], styles__default$8["default"]["js-hover"], {
|
|
2560
2538
|
[styles__default$8["default"]["is-focus"]]: isFocusVisible,
|
|
2561
2539
|
[styles__default$8["default"]["is-hover"]]: isHovered,
|
|
2562
2540
|
[styles__default$8["default"]["is-active"]]: isPressed
|
|
2563
|
-
})
|
|
2541
|
+
}),
|
|
2542
|
+
style: sidePadding ? customPaddingStyleProps(sidePadding) : {}
|
|
2564
2543
|
}), item.props.heading, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
2565
2544
|
className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-arrow"])
|
|
2566
|
-
}, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, null, /* @__PURE__ */ React__default["default"].createElement(react.ChevronDown, null))))), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$
|
|
2545
|
+
}, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, null, /* @__PURE__ */ React__default["default"].createElement(react.ChevronDown, null))))), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$f(__spreadValues$h({}, utils$1.mergeProps(regionProps, { onKeyDown })), {
|
|
2567
2546
|
"aria-hidden": !isOpen,
|
|
2568
2547
|
className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-content-wrapper"])
|
|
2569
2548
|
}), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
2570
|
-
className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-content"])
|
|
2549
|
+
className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-content"]),
|
|
2550
|
+
style: sidePadding ? customPaddingStyleProps(sidePadding) : {}
|
|
2571
2551
|
}, item.props.children)));
|
|
2572
2552
|
}
|
|
2573
2553
|
const AccordionItem = collections.Item;
|
|
2574
2554
|
|
|
2555
|
+
var __defProp$g = Object.defineProperty;
|
|
2556
|
+
var __defProps$e = Object.defineProperties;
|
|
2557
|
+
var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
|
|
2558
|
+
var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
|
|
2559
|
+
var __hasOwnProp$g = Object.prototype.hasOwnProperty;
|
|
2560
|
+
var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
|
|
2561
|
+
var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2562
|
+
var __spreadValues$g = (a, b) => {
|
|
2563
|
+
for (var prop in b || (b = {}))
|
|
2564
|
+
if (__hasOwnProp$g.call(b, prop))
|
|
2565
|
+
__defNormalProp$g(a, prop, b[prop]);
|
|
2566
|
+
if (__getOwnPropSymbols$g)
|
|
2567
|
+
for (var prop of __getOwnPropSymbols$g(b)) {
|
|
2568
|
+
if (__propIsEnum$g.call(b, prop))
|
|
2569
|
+
__defNormalProp$g(a, prop, b[prop]);
|
|
2570
|
+
}
|
|
2571
|
+
return a;
|
|
2572
|
+
};
|
|
2573
|
+
var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
|
|
2574
|
+
function useTreeState(props) {
|
|
2575
|
+
const state = tree.useTreeState(props);
|
|
2576
|
+
const onToggle = (key) => {
|
|
2577
|
+
state.setExpandedKeys(toggleKey(state.expandedKeys, key, props.expansionMode));
|
|
2578
|
+
};
|
|
2579
|
+
return __spreadProps$e(__spreadValues$g({}, state), { toggleKey: onToggle });
|
|
2580
|
+
}
|
|
2581
|
+
function toggleKey(set, key, expansionMode = "multiple") {
|
|
2582
|
+
const res = new Set(set);
|
|
2583
|
+
if (res.has(key)) {
|
|
2584
|
+
res.delete(key);
|
|
2585
|
+
} else {
|
|
2586
|
+
if (expansionMode === "single")
|
|
2587
|
+
res.clear();
|
|
2588
|
+
res.add(key);
|
|
2589
|
+
}
|
|
2590
|
+
return res;
|
|
2591
|
+
}
|
|
2592
|
+
|
|
2575
2593
|
var __defProp$f = Object.defineProperty;
|
|
2576
2594
|
var __defProps$d = Object.defineProperties;
|
|
2577
2595
|
var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
|
|
@@ -2607,29 +2625,39 @@ const _Accordion$1 = (_a, ref) => {
|
|
|
2607
2625
|
var _b = _a, {
|
|
2608
2626
|
expansionMode = "multiple",
|
|
2609
2627
|
headerLevel = 5,
|
|
2610
|
-
hideLastDivider = false
|
|
2628
|
+
hideLastDivider = false,
|
|
2629
|
+
hasNegativeSideMargin = false,
|
|
2630
|
+
sidePadding
|
|
2611
2631
|
} = _b, props = __objRest$d(_b, [
|
|
2612
2632
|
"expansionMode",
|
|
2613
2633
|
"headerLevel",
|
|
2614
|
-
"hideLastDivider"
|
|
2634
|
+
"hideLastDivider",
|
|
2635
|
+
"hasNegativeSideMargin",
|
|
2636
|
+
"sidePadding"
|
|
2615
2637
|
]);
|
|
2616
2638
|
sapphireReact.useThemeCheck();
|
|
2617
2639
|
const { styleProps } = sapphireReact.useSapphireStyleProps(props);
|
|
2618
2640
|
const state = useTreeState(__spreadProps$d(__spreadValues$f({}, props), { expansionMode }));
|
|
2619
2641
|
const forwardedRef = utils$1.useObjectRef(ref);
|
|
2620
2642
|
const { accordionProps } = accordion.useAccordion(props, state, forwardedRef);
|
|
2621
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
2643
|
+
return /* @__PURE__ */ React__default["default"].createElement(AccordionContext.Provider, {
|
|
2644
|
+
value: { sidePadding }
|
|
2645
|
+
}, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$d(__spreadValues$f({}, utils$1.mergeProps(accordionProps, utils$1.filterDOMProps(props, { labelable: true }))), {
|
|
2646
|
+
ref: forwardedRef,
|
|
2622
2647
|
className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion"], {
|
|
2623
|
-
[styles__default$8["default"]["sapphire-accordion--without-last-divider"]]: hideLastDivider
|
|
2648
|
+
[styles__default$8["default"]["sapphire-accordion--without-last-divider"]]: hideLastDivider,
|
|
2649
|
+
[styles__default$8["default"]["sapphire-accordion--negative-margin-self"]]: !sidePadding && hasNegativeSideMargin
|
|
2624
2650
|
}, styleProps.className),
|
|
2625
|
-
|
|
2626
|
-
|
|
2651
|
+
style: __spreadValues$f(__spreadValues$f({}, sidePadding && hasNegativeSideMargin ? {
|
|
2652
|
+
marginLeft: typeof sidePadding === "string" ? `calc(${sidePadding} * -1)` : `-${sidePadding}px`,
|
|
2653
|
+
width: `calc(100% + calc(${sidePadding} * 2${typeof sidePadding === "string" ? "" : "px"}))`
|
|
2654
|
+
} : {}), styleProps.style)
|
|
2627
2655
|
}), [...state.collection].map((item) => /* @__PURE__ */ React__default["default"].createElement(_AccordionItem, {
|
|
2628
2656
|
headerLevel,
|
|
2629
2657
|
key: item.key,
|
|
2630
2658
|
item,
|
|
2631
2659
|
state
|
|
2632
|
-
})));
|
|
2660
|
+
}))));
|
|
2633
2661
|
};
|
|
2634
2662
|
const Accordion = React.forwardRef(_Accordion$1);
|
|
2635
2663
|
|
|
@@ -3796,6 +3824,7 @@ Object.defineProperty(exports, 'useLocale', {
|
|
|
3796
3824
|
get: function () { return i18n.useLocale; }
|
|
3797
3825
|
});
|
|
3798
3826
|
exports.Accordion = _Accordion;
|
|
3827
|
+
exports.AccordionContext = AccordionContext;
|
|
3799
3828
|
exports.AlertDialog = AlertDialog;
|
|
3800
3829
|
exports.Avatar = Avatar;
|
|
3801
3830
|
exports.Calendar = Calendar;
|