@heymantle/litho 0.0.4 → 0.0.5
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/dist/cjs/components/Autocomplete.js +23 -12
- package/dist/cjs/components/Button.js +44 -6
- package/dist/cjs/components/Card.js +1 -0
- package/dist/cjs/components/ColorField.js +2 -2
- package/dist/cjs/components/EmptyState.js +2 -2
- package/dist/cjs/components/Filters.js +4 -3
- package/dist/cjs/components/Frame.js +9 -9
- package/dist/cjs/components/HorizontalStack.js +9 -2
- package/dist/cjs/components/Icon.js +1 -0
- package/dist/cjs/components/List.js +3 -3
- package/dist/cjs/components/Pane.js +61 -17
- package/dist/cjs/components/Stack.js +223 -0
- package/dist/cjs/components/Table.js +1 -1
- package/dist/cjs/components/Tabs.js +41 -11
- package/dist/cjs/components/VerticalStack.js +8 -2
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/stories/ActionList.stories.js +1 -1
- package/dist/cjs/stories/Autocomplete.stories.js +20 -17
- package/dist/cjs/stories/Box.stories.js +14 -12
- package/dist/cjs/stories/ButtonGroup.stories.js +5 -5
- package/dist/cjs/stories/Card.stories.js +8 -8
- package/dist/cjs/stories/Checkbox.stories.js +3 -3
- package/dist/cjs/stories/ChoiceList.stories.js +13 -12
- package/dist/cjs/stories/Collapsible.stories.js +51 -39
- package/dist/cjs/stories/ColorField.stories.js +23 -19
- package/dist/cjs/stories/ContextualSaveBar.stories.js +15 -14
- package/dist/cjs/stories/DatePicker.stories.js +3 -3
- package/dist/cjs/stories/Divider.stories.js +64 -57
- package/dist/cjs/stories/DropZone.stories.js +25 -20
- package/dist/cjs/stories/Filters.stories.js +62 -60
- package/dist/cjs/stories/FooterHelp.stories.js +36 -31
- package/dist/cjs/stories/Form.stories.js +23 -20
- package/dist/cjs/stories/Grid.stories.js +58 -58
- package/dist/cjs/stories/Icon.stories.js +31 -28
- package/dist/cjs/stories/Image.stories.js +36 -36
- package/dist/cjs/stories/InlineError.stories.js +35 -34
- package/dist/cjs/stories/Label.stories.js +59 -59
- package/dist/cjs/stories/Layout.stories.js +44 -42
- package/dist/cjs/stories/LayoutSection.stories.js +114 -106
- package/dist/cjs/stories/Link.stories.js +14 -12
- package/dist/cjs/stories/List.stories.js +67 -50
- package/dist/cjs/stories/Listbox.stories.js +26 -22
- package/dist/cjs/stories/Loading.stories.js +59 -50
- package/dist/cjs/stories/Modal.stories.js +7 -7
- package/dist/cjs/stories/Page.stories.js +38 -29
- package/dist/cjs/stories/Pane.stories.js +135 -120
- package/dist/cjs/stories/Popover.stories.js +12 -8
- package/dist/cjs/stories/PopoverManager.stories.js +91 -83
- package/dist/cjs/stories/ProgressBar.stories.js +61 -54
- package/dist/cjs/stories/RadioButtonCard.stories.js +21 -21
- package/dist/cjs/stories/RangeSlider.stories.js +44 -40
- package/dist/cjs/stories/ResourceList.stories.js +46 -37
- package/dist/cjs/stories/SkeletonText.stories.js +23 -22
- package/dist/cjs/stories/Spinner.stories.js +46 -39
- package/dist/cjs/stories/Stack.stories.js +1397 -0
- package/dist/cjs/stories/Tabs.stories.js +1 -2
- package/dist/cjs/stories/Tag.stories.js +44 -36
- package/dist/cjs/stories/Thumbnail.stories.js +42 -38
- package/dist/cjs/stories/TimePicker.stories.js +33 -32
- package/dist/cjs/stories/Tip.stories.js +21 -21
- package/dist/cjs/stories/TopBar.stories.js +7 -5
- package/dist/esm/components/Autocomplete.js +23 -12
- package/dist/esm/components/Button.js +44 -6
- package/dist/esm/components/Card.js +1 -0
- package/dist/esm/components/ColorField.js +2 -2
- package/dist/esm/components/EmptyState.js +2 -2
- package/dist/esm/components/Filters.js +4 -3
- package/dist/esm/components/Frame.js +9 -9
- package/dist/esm/components/HorizontalStack.js +9 -2
- package/dist/esm/components/Icon.js +1 -0
- package/dist/esm/components/List.js +3 -3
- package/dist/esm/components/Pane.js +62 -18
- package/dist/esm/components/Stack.js +213 -0
- package/dist/esm/components/Table.js +1 -1
- package/dist/esm/components/Tabs.js +41 -11
- package/dist/esm/components/VerticalStack.js +8 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/stories/ActionList.stories.js +1 -1
- package/dist/esm/stories/Autocomplete.stories.js +20 -17
- package/dist/esm/stories/Box.stories.js +14 -12
- package/dist/esm/stories/ButtonGroup.stories.js +5 -5
- package/dist/esm/stories/Card.stories.js +8 -8
- package/dist/esm/stories/Checkbox.stories.js +3 -3
- package/dist/esm/stories/ChoiceList.stories.js +13 -12
- package/dist/esm/stories/Collapsible.stories.js +51 -39
- package/dist/esm/stories/ColorField.stories.js +23 -19
- package/dist/esm/stories/ContextualSaveBar.stories.js +15 -14
- package/dist/esm/stories/DatePicker.stories.js +3 -3
- package/dist/esm/stories/Divider.stories.js +64 -57
- package/dist/esm/stories/DropZone.stories.js +25 -20
- package/dist/esm/stories/Filters.stories.js +62 -60
- package/dist/esm/stories/FooterHelp.stories.js +36 -31
- package/dist/esm/stories/Form.stories.js +23 -20
- package/dist/esm/stories/Grid.stories.js +58 -58
- package/dist/esm/stories/Icon.stories.js +31 -28
- package/dist/esm/stories/Image.stories.js +36 -36
- package/dist/esm/stories/InlineError.stories.js +27 -26
- package/dist/esm/stories/Label.stories.js +59 -59
- package/dist/esm/stories/Layout.stories.js +44 -42
- package/dist/esm/stories/LayoutSection.stories.js +114 -106
- package/dist/esm/stories/Link.stories.js +14 -12
- package/dist/esm/stories/List.stories.js +67 -50
- package/dist/esm/stories/Listbox.stories.js +12 -8
- package/dist/esm/stories/Loading.stories.js +59 -50
- package/dist/esm/stories/Modal.stories.js +7 -7
- package/dist/esm/stories/Page.stories.js +7 -3
- package/dist/esm/stories/Pane.stories.js +95 -80
- package/dist/esm/stories/Popover.stories.js +12 -8
- package/dist/esm/stories/PopoverManager.stories.js +91 -83
- package/dist/esm/stories/ProgressBar.stories.js +61 -54
- package/dist/esm/stories/RadioButtonCard.stories.js +21 -21
- package/dist/esm/stories/RangeSlider.stories.js +34 -30
- package/dist/esm/stories/ResourceList.stories.js +46 -37
- package/dist/esm/stories/SkeletonText.stories.js +23 -22
- package/dist/esm/stories/Spinner.stories.js +40 -33
- package/dist/esm/stories/Stack.stories.js +1338 -0
- package/dist/esm/stories/Tabs.stories.js +1 -2
- package/dist/esm/stories/Tag.stories.js +27 -19
- package/dist/esm/stories/Thumbnail.stories.js +42 -38
- package/dist/esm/stories/TimePicker.stories.js +33 -32
- package/dist/esm/stories/Tip.stories.js +21 -21
- package/dist/esm/stories/TopBar.stories.js +7 -5
- package/dist/types/components/Autocomplete.d.ts +34 -29
- package/dist/types/components/Autocomplete.d.ts.map +1 -1
- package/dist/types/components/Button.d.ts +10 -0
- package/dist/types/components/Button.d.ts.map +1 -1
- package/dist/types/components/Card.d.ts +2 -0
- package/dist/types/components/Card.d.ts.map +1 -1
- package/dist/types/components/EmptyState.d.ts.map +1 -1
- package/dist/types/components/Filters.d.ts +3 -1
- package/dist/types/components/Filters.d.ts.map +1 -1
- package/dist/types/components/Frame.d.ts +3 -3
- package/dist/types/components/Frame.d.ts.map +1 -1
- package/dist/types/components/HorizontalStack.d.ts +2 -2
- package/dist/types/components/HorizontalStack.d.ts.map +1 -1
- package/dist/types/components/Icon.d.ts.map +1 -1
- package/dist/types/components/Pane.d.ts.map +1 -1
- package/dist/types/components/Stack.d.ts +49 -0
- package/dist/types/components/Stack.d.ts.map +1 -0
- package/dist/types/components/Tabs.d.ts +2 -0
- package/dist/types/components/Tabs.d.ts.map +1 -1
- package/dist/types/components/VerticalStack.d.ts +2 -2
- package/dist/types/components/VerticalStack.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/index.css +11 -0
- package/package.json +2 -2
|
@@ -248,17 +248,25 @@ function attachPropToTextField(children, prop) {
|
|
|
248
248
|
var option = param.option, allowMultiple = param.allowMultiple, selected = param.selected, onSelect = param.onSelect, setShowOptionsPopover = param.setShowOptionsPopover;
|
|
249
249
|
var isChecked = selected.includes(option.value);
|
|
250
250
|
if (allowMultiple) {
|
|
251
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)(
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
onChange: function() {
|
|
255
|
-
onSelect(isChecked ? selected.filter(function(v) {
|
|
256
|
-
return v !== option.value;
|
|
257
|
-
}) : _to_consumable_array(selected).concat([
|
|
258
|
-
option.value
|
|
259
|
-
]));
|
|
251
|
+
return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
252
|
+
onMouseDown: function(e) {
|
|
253
|
+
e.preventDefault();
|
|
260
254
|
},
|
|
261
|
-
|
|
255
|
+
onClick: function(e) {
|
|
256
|
+
e.stopPropagation();
|
|
257
|
+
},
|
|
258
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Checkbox.default, {
|
|
259
|
+
label: option.label,
|
|
260
|
+
checked: isChecked,
|
|
261
|
+
onChange: function() {
|
|
262
|
+
onSelect(isChecked ? selected.filter(function(v) {
|
|
263
|
+
return v !== option.value;
|
|
264
|
+
}) : _to_consumable_array(selected).concat([
|
|
265
|
+
option.value
|
|
266
|
+
]));
|
|
267
|
+
},
|
|
268
|
+
className: "px-2 py-1.5 cursor-pointer rounded-md hover-dark"
|
|
269
|
+
})
|
|
262
270
|
});
|
|
263
271
|
}
|
|
264
272
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
@@ -349,6 +357,8 @@ Autocomplete.displayName = "Autocomplete";
|
|
|
349
357
|
* @param {function} [props.onFocus] - Callback fired when the TextField gains focus (native TextField event).
|
|
350
358
|
* @param {string} [props.placeholder] - Placeholder text for the TextField.
|
|
351
359
|
* @param {string} [props.value] - The current value of the TextField.
|
|
360
|
+
* @param {string} [props.label] - The label for the TextField.
|
|
361
|
+
* @param {string} [props.labelHidden] - Whether to hide the label.
|
|
352
362
|
* @param {function} [props.onChange] - Callback fired when the TextField value changes.
|
|
353
363
|
*
|
|
354
364
|
* @example
|
|
@@ -356,7 +366,7 @@ Autocomplete.displayName = "Autocomplete";
|
|
|
356
366
|
* placeholder="Search..."
|
|
357
367
|
* onTextFieldFocus={() => console.log("Focused")}
|
|
358
368
|
* />
|
|
359
|
-
*/
|
|
369
|
+
*/ var AutocompleteTextField = function() {
|
|
360
370
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
361
371
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_TextField.default, _object_spread_props(_object_spread({}, props), {
|
|
362
372
|
onFocus: function() {
|
|
@@ -369,5 +379,6 @@ Autocomplete.displayName = "Autocomplete";
|
|
|
369
379
|
}
|
|
370
380
|
}));
|
|
371
381
|
};
|
|
372
|
-
Autocomplete.TextField
|
|
382
|
+
Autocomplete.TextField = AutocompleteTextField;
|
|
383
|
+
AutocompleteTextField.displayName = "Autocomplete.TextField";
|
|
373
384
|
var _default = Autocomplete;
|
|
@@ -249,6 +249,10 @@ var styles = (0, _tailwindvariants.tv)({
|
|
|
249
249
|
bordered: {
|
|
250
250
|
true: "border-tint-2",
|
|
251
251
|
false: ""
|
|
252
|
+
},
|
|
253
|
+
naked: {
|
|
254
|
+
true: "border-none bg-transparent p-0 hover:bg-transparent w-auto justify-start",
|
|
255
|
+
false: ""
|
|
252
256
|
}
|
|
253
257
|
},
|
|
254
258
|
compoundVariants: [
|
|
@@ -373,6 +377,7 @@ var styles = (0, _tailwindvariants.tv)({
|
|
|
373
377
|
destructive: false,
|
|
374
378
|
highlight: false,
|
|
375
379
|
pressed: false,
|
|
380
|
+
naked: false,
|
|
376
381
|
class: "bg-btn-secondary hover:bg-btn-secondary-low active:bg-btn-secondary-lower text-btn-secondary-fg hover:text-btn-secondary-fg-alt border-btn-secondary-border hover:border-btn-secondary-border-low active:border-btn-secondary-border-low\n dark:outline-hidden dark:border-transparent dark:shadow-btn-dark dark:border-t-tint-alt-3 dark:hover:border-t-tint-alt-2 dark:active:border-t-tint-alt-2"
|
|
377
382
|
},
|
|
378
383
|
{
|
|
@@ -384,6 +389,7 @@ var styles = (0, _tailwindvariants.tv)({
|
|
|
384
389
|
destructive: false,
|
|
385
390
|
highlight: false,
|
|
386
391
|
pressed: true,
|
|
392
|
+
naked: false,
|
|
387
393
|
class: "bg-btn-secondary hover:bg-btn-secondary-low active:bg-btn-secondary-lower text-btn-secondary-fg hover:text-btn-secondary-fg-alt border-btn-secondary-border hover:border-btn-secondary-border-low active:border-btn-secondary-border-low\n dark:outline-hidden dark:border-tint-10 dark:shadow-btn-pressed-dark dark:hover:border-tint-10 dark:active:border-tint-10"
|
|
388
394
|
},
|
|
389
395
|
{
|
|
@@ -434,16 +440,19 @@ var styles = (0, _tailwindvariants.tv)({
|
|
|
434
440
|
link: true,
|
|
435
441
|
disabled: false,
|
|
436
442
|
loading: false,
|
|
443
|
+
naked: false,
|
|
437
444
|
class: "bg-btn-link hover:bg-btn-link-low active:bg-btn-link-lower text-btn-link-fg hover:text-btn-link-fg-alt border-btn-link-border hover:border-btn-link-border-low active:border-btn-link-border-low"
|
|
438
445
|
},
|
|
439
446
|
{
|
|
440
447
|
link: true,
|
|
441
448
|
disabled: true,
|
|
449
|
+
naked: false,
|
|
442
450
|
class: "bg-btn-link-disabled text-btn-link-disabled-fg"
|
|
443
451
|
},
|
|
444
452
|
{
|
|
445
453
|
link: true,
|
|
446
454
|
loading: true,
|
|
455
|
+
naked: false,
|
|
447
456
|
class: "bg-btn-link-disabled text-btn-link-disabled-fg"
|
|
448
457
|
},
|
|
449
458
|
// Destructive buttons
|
|
@@ -510,6 +519,10 @@ var contentStyles = (0, _tailwindvariants.tv)({
|
|
|
510
519
|
small: "py-0.5",
|
|
511
520
|
large: "py-3",
|
|
512
521
|
medium: "py-1"
|
|
522
|
+
},
|
|
523
|
+
naked: {
|
|
524
|
+
true: "px-2",
|
|
525
|
+
false: ""
|
|
513
526
|
}
|
|
514
527
|
},
|
|
515
528
|
compoundVariants: [
|
|
@@ -569,6 +582,7 @@ var contentStyles = (0, _tailwindvariants.tv)({
|
|
|
569
582
|
hasIcon: false,
|
|
570
583
|
hasChildren: true,
|
|
571
584
|
disclosure: false,
|
|
585
|
+
naked: false,
|
|
572
586
|
class: "px-3"
|
|
573
587
|
},
|
|
574
588
|
{
|
|
@@ -618,6 +632,10 @@ var textStyles = (0, _tailwindvariants.tv)({
|
|
|
618
632
|
highlight: {
|
|
619
633
|
true: "",
|
|
620
634
|
false: ""
|
|
635
|
+
},
|
|
636
|
+
naked: {
|
|
637
|
+
true: "",
|
|
638
|
+
false: ""
|
|
621
639
|
}
|
|
622
640
|
},
|
|
623
641
|
compoundVariants: [
|
|
@@ -644,6 +662,7 @@ var textStyles = (0, _tailwindvariants.tv)({
|
|
|
644
662
|
primary: false,
|
|
645
663
|
plain: false,
|
|
646
664
|
link: false,
|
|
665
|
+
naked: false,
|
|
647
666
|
class: "text-btn-secondary-fg"
|
|
648
667
|
},
|
|
649
668
|
{
|
|
@@ -727,6 +746,11 @@ var textStyles = (0, _tailwindvariants.tv)({
|
|
|
727
746
|
highlight: true,
|
|
728
747
|
disabled: true,
|
|
729
748
|
class: "text-btn-highlight-disabled-fg"
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
link: true,
|
|
752
|
+
naked: true,
|
|
753
|
+
class: "text-blue-700 underline"
|
|
730
754
|
}
|
|
731
755
|
],
|
|
732
756
|
defaultVariants: {
|
|
@@ -768,6 +792,7 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
768
792
|
* @param {boolean} [props.ariaChecked] - Whether the button is checked (for toggle buttons).
|
|
769
793
|
* @param {React.Component} [props.icon] - Icon component to display within the button.
|
|
770
794
|
* @param {"default" | "primary" | "secondary" | "plain" | "link" | "destructive" | "highlight"} [props.iconColor='default'] - Color of the icon.
|
|
795
|
+
* @param {"default" | "sm" | "lg" | "xl"} [props.iconSize='default'] - Size of the icon.
|
|
771
796
|
* @param {boolean} [props.primary=false] - Whether to show the primary button style.
|
|
772
797
|
* @param {boolean} [props.highlight=false] - Whether to show the highlight button style.
|
|
773
798
|
* @param {boolean} [props.link=false] - Whether to show a link style.
|
|
@@ -775,10 +800,14 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
775
800
|
* @param {boolean} [props.disclosure=false] - Whether to show a disclosure arrow.
|
|
776
801
|
* @param {boolean} [props.disclosureRight=false] - Whether to show the disclosure on the right.
|
|
777
802
|
* @param {boolean} [props.plain=false] - Whether to show plain styling without background.
|
|
803
|
+
* @param {boolean} [props.naked=false] - Whether to show the naked styling.
|
|
778
804
|
* @param {"small" | "medium" | "large" | "stepper"} [props.size='medium'] - Size of the button ('small', 'medium', 'large', 'stepper').
|
|
779
805
|
* @param {boolean} [props.fullWidth] - Whether the button should take full width.
|
|
780
806
|
* @param {"left" | "center" | "right"} [props.align='center'] - Alignment of the button content ('left', 'center', 'right').
|
|
781
807
|
* @param {string} [props.tooltip] - Tooltip to show when hovering over the button.
|
|
808
|
+
* @param {"left" | "center" | "right"} [props.tooltipAlignment='right'] - Alignment of the tooltip ('left', 'center', 'right').
|
|
809
|
+
* @param {"above" | "below" | "left" | "right"} [props.tooltipPosition='above'] - Position of the tooltip ('above', 'below', 'left', 'right').
|
|
810
|
+
* @param {"inline-block" | "block" | "inline"} [props.tooltipDisplay='inline-block'] - Display type of the tooltip ('inline-block', 'block', 'inline').
|
|
782
811
|
* @param {Object} [props.connectedDisclosure] - Configuration for connected disclosure menu.
|
|
783
812
|
* @param {Array<import("./ActionList").ActionListItem>} [props.connectedDisclosure.actions] - Actions to show in the disclosure menu.
|
|
784
813
|
* @param {string} [props.className] - Additional CSS classes for the button.
|
|
@@ -828,7 +857,7 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
828
857
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
829
858
|
var darkMode = (0, _AppProvider.useDarkMode)().darkMode;
|
|
830
859
|
var _useState = _sliced_to_array((0, _react.useState)(false), 2), showConnectedDisclosurePopover = _useState[0], setShowConnectedDisclosurePopover = _useState[1];
|
|
831
|
-
var id = props.id, children = props.children, url = props.url, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, external = props.external, target = props.target, submit = props.submit, _props_loading = props.loading, loading = _props_loading === void 0 ? false : _props_loading, _props_pressed = props.pressed, pressed = _props_pressed === void 0 ? false : _props_pressed, accessibilityLabel = props.accessibilityLabel, role = props.role, ariaControls = props.ariaControls, ariaExpanded = props.ariaExpanded, ariaDescribedBy = props.ariaDescribedBy, ariaChecked = props.ariaChecked, icon = props.icon, _iconColor = props.iconColor, _props_bordered = props.bordered, bordered = _props_bordered === void 0 ? false : _props_bordered, _props_primary = props.primary, primary = _props_primary === void 0 ? false : _props_primary, _props_highlight = props.highlight, highlight = _props_highlight === void 0 ? false : _props_highlight, _props_link = props.link, link = _props_link === void 0 ? false : _props_link, _props_destructive = props.destructive, destructive = _props_destructive === void 0 ? false : _props_destructive, _props_disclosure = props.disclosure, disclosure = _props_disclosure === void 0 ? false : _props_disclosure, _props_disclosureRight = props.disclosureRight, disclosureRight = _props_disclosureRight === void 0 ? false : _props_disclosureRight, _props_plain = props.plain, plain = _props_plain === void 0 ? false : _props_plain, _props_size = props.size, size = _props_size === void 0 ? "medium" : _props_size, fullWidth = props.fullWidth, _props_align = props.align, align = _props_align === void 0 ? "center" : _props_align, connectedDisclosure = props.connectedDisclosure, className = props.className, contentClassName = props.contentClassName, rounded = props.rounded, onClick = props.onClick, onMouseDown = props.onMouseDown, tooltip = props.tooltip, _props_tooltipAlignment = props.tooltipAlignment, tooltipAlignment = _props_tooltipAlignment === void 0 ? "right" : _props_tooltipAlignment, _props_tooltipPosition = props.tooltipPosition, tooltipPosition = _props_tooltipPosition === void 0 ? "above" : _props_tooltipPosition, shadow = props.shadow, restProps = _object_without_properties(props, [
|
|
860
|
+
var id = props.id, children = props.children, url = props.url, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, external = props.external, target = props.target, submit = props.submit, _props_loading = props.loading, loading = _props_loading === void 0 ? false : _props_loading, _props_pressed = props.pressed, pressed = _props_pressed === void 0 ? false : _props_pressed, accessibilityLabel = props.accessibilityLabel, role = props.role, ariaControls = props.ariaControls, ariaExpanded = props.ariaExpanded, ariaDescribedBy = props.ariaDescribedBy, ariaChecked = props.ariaChecked, icon = props.icon, _iconColor = props.iconColor, _props_iconSize = props.iconSize, iconSize = _props_iconSize === void 0 ? "default" : _props_iconSize, _props_bordered = props.bordered, bordered = _props_bordered === void 0 ? false : _props_bordered, _props_primary = props.primary, primary = _props_primary === void 0 ? false : _props_primary, _props_highlight = props.highlight, highlight = _props_highlight === void 0 ? false : _props_highlight, _props_link = props.link, link = _props_link === void 0 ? false : _props_link, _props_destructive = props.destructive, destructive = _props_destructive === void 0 ? false : _props_destructive, _props_disclosure = props.disclosure, disclosure = _props_disclosure === void 0 ? false : _props_disclosure, _props_disclosureRight = props.disclosureRight, disclosureRight = _props_disclosureRight === void 0 ? false : _props_disclosureRight, _props_plain = props.plain, plain = _props_plain === void 0 ? false : _props_plain, _props_naked = props.naked, naked = _props_naked === void 0 ? false : _props_naked, _props_size = props.size, size = _props_size === void 0 ? "medium" : _props_size, fullWidth = props.fullWidth, _props_align = props.align, align = _props_align === void 0 ? "center" : _props_align, connectedDisclosure = props.connectedDisclosure, className = props.className, contentClassName = props.contentClassName, rounded = props.rounded, onClick = props.onClick, onMouseDown = props.onMouseDown, tooltip = props.tooltip, _props_tooltipAlignment = props.tooltipAlignment, tooltipAlignment = _props_tooltipAlignment === void 0 ? "right" : _props_tooltipAlignment, _props_tooltipPosition = props.tooltipPosition, tooltipPosition = _props_tooltipPosition === void 0 ? "above" : _props_tooltipPosition, _props_tooltipDisplay = props.tooltipDisplay, tooltipDisplay = _props_tooltipDisplay === void 0 ? "inline-block" : _props_tooltipDisplay, shadow = props.shadow, restProps = _object_without_properties(props, [
|
|
832
861
|
"id",
|
|
833
862
|
"children",
|
|
834
863
|
"url",
|
|
@@ -846,6 +875,7 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
846
875
|
"ariaChecked",
|
|
847
876
|
"icon",
|
|
848
877
|
"iconColor",
|
|
878
|
+
"iconSize",
|
|
849
879
|
"bordered",
|
|
850
880
|
"primary",
|
|
851
881
|
"highlight",
|
|
@@ -854,6 +884,7 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
854
884
|
"disclosure",
|
|
855
885
|
"disclosureRight",
|
|
856
886
|
"plain",
|
|
887
|
+
"naked",
|
|
857
888
|
"size",
|
|
858
889
|
"fullWidth",
|
|
859
890
|
"align",
|
|
@@ -866,6 +897,7 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
866
897
|
"tooltip",
|
|
867
898
|
"tooltipAlignment",
|
|
868
899
|
"tooltipPosition",
|
|
900
|
+
"tooltipDisplay",
|
|
869
901
|
"shadow"
|
|
870
902
|
]);
|
|
871
903
|
var hasIcon = !!icon;
|
|
@@ -903,14 +935,16 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
903
935
|
shadow: shadow,
|
|
904
936
|
darkMode: darkMode,
|
|
905
937
|
bordered: bordered,
|
|
906
|
-
align: align
|
|
938
|
+
align: align,
|
|
939
|
+
naked: naked
|
|
907
940
|
});
|
|
908
941
|
var contentClasses = contentStyles({
|
|
909
942
|
disclosure: disclosure,
|
|
910
943
|
hasIcon: hasIcon,
|
|
911
944
|
hasChildren: hasChildren,
|
|
912
945
|
size: size,
|
|
913
|
-
iconOnly: iconOnly
|
|
946
|
+
iconOnly: iconOnly,
|
|
947
|
+
naked: naked
|
|
914
948
|
});
|
|
915
949
|
var iconClasses = iconStyles();
|
|
916
950
|
var textClasses = textStyles({
|
|
@@ -921,7 +955,8 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
921
955
|
highlight: highlight,
|
|
922
956
|
pressed: pressed,
|
|
923
957
|
loading: loading,
|
|
924
|
-
disabled: disabled
|
|
958
|
+
disabled: disabled,
|
|
959
|
+
naked: naked
|
|
925
960
|
});
|
|
926
961
|
var connectedDisclosureClasses = connectedDisclosureStyles({
|
|
927
962
|
primary: primary,
|
|
@@ -969,7 +1004,8 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
969
1004
|
className: iconClasses,
|
|
970
1005
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Icon.default, {
|
|
971
1006
|
source: memoizedIcon,
|
|
972
|
-
color: disabled ? "disabled" : _iconColor || iconColor
|
|
1007
|
+
color: disabled ? "disabled" : _iconColor || iconColor,
|
|
1008
|
+
size: iconSize
|
|
973
1009
|
})
|
|
974
1010
|
}),
|
|
975
1011
|
hasChildren && /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
|
|
@@ -980,7 +1016,8 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
980
1016
|
className: "Litho-Button__DisclosureIcon relative -left-0.5",
|
|
981
1017
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Icon.default, {
|
|
982
1018
|
source: _polarisicons.CaretDownMinor,
|
|
983
|
-
color: disabled ? "disabled" : _iconColor || iconColor
|
|
1019
|
+
color: disabled ? "disabled" : _iconColor || iconColor,
|
|
1020
|
+
size: iconSize
|
|
984
1021
|
})
|
|
985
1022
|
})
|
|
986
1023
|
]
|
|
@@ -1032,6 +1069,7 @@ var connectedDisclosureStyles = (0, _tailwindvariants.tv)({
|
|
|
1032
1069
|
content: tooltip,
|
|
1033
1070
|
alignment: tooltipAlignment,
|
|
1034
1071
|
preferredPosition: tooltipPosition,
|
|
1072
|
+
display: tooltipDisplay,
|
|
1035
1073
|
children: showConnectedDisclosure ? contentWithDisclosure : content
|
|
1036
1074
|
});
|
|
1037
1075
|
}
|
|
@@ -532,6 +532,7 @@ var clickableRowStyles = (0, _tailwindvariants.tv)({
|
|
|
532
532
|
* @param {Function} [props.onClick] - Click handler for the row.
|
|
533
533
|
* @param {string} [props.id] - ID to apply to the row element.
|
|
534
534
|
* @param {string} [props.url] - URL to open when the row is clicked.
|
|
535
|
+
* @param {string} [props.className] - Additional classes to apply to the row.
|
|
535
536
|
* @param {boolean} [props.disabled=false] - Disables interaction with the row.
|
|
536
537
|
*
|
|
537
538
|
* @returns {React.ReactElement} The rendered ClickableRow component.
|
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
});
|
|
12
12
|
var _jsxruntime = require("react/jsx-runtime");
|
|
13
13
|
var _react = require("react");
|
|
14
|
-
var
|
|
14
|
+
var _reactcolorsketch = /*#__PURE__*/ _interop_require_default(require("@uiw/react-color-sketch"));
|
|
15
15
|
var _tailwindvariants = require("tailwind-variants");
|
|
16
16
|
var _Text = /*#__PURE__*/ _interop_require_default(require("./Text"));
|
|
17
17
|
function _array_like_to_array(arr, len) {
|
|
@@ -148,7 +148,7 @@ var colorCell = (0, _tailwindvariants.tv)({
|
|
|
148
148
|
style: zIndexOverride ? {
|
|
149
149
|
zIndex: zIndexOverride
|
|
150
150
|
} : {},
|
|
151
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(
|
|
151
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_reactcolorsketch.default, {
|
|
152
152
|
color: value,
|
|
153
153
|
onChange: function(param) {
|
|
154
154
|
var hex = param.hex;
|
|
@@ -50,10 +50,10 @@ var styles = (0, _tailwindvariants.tv)({
|
|
|
50
50
|
* @returns {JSX.Element} The rendered EmptyState component.
|
|
51
51
|
*/ function EmptyState() {
|
|
52
52
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
53
|
-
var description = props.description, icon = props.icon, iconSource = props.iconSource, primaryAction = props.primaryAction, secondaryAction = props.secondaryAction, title = props.title, _props_titleVariant = props.titleVariant, titleVariant = _props_titleVariant === void 0 ? "headingXl" : _props_titleVariant, _props_descriptionVariant = props.descriptionVariant, descriptionVariant = _props_descriptionVariant === void 0 ? "bodyLg" : _props_descriptionVariant, progress = props.progress;
|
|
53
|
+
var description = props.description, icon = props.icon, iconSource = props.iconSource, primaryAction = props.primaryAction, secondaryAction = props.secondaryAction, title = props.title, _props_titleVariant = props.titleVariant, titleVariant = _props_titleVariant === void 0 ? "headingXl" : _props_titleVariant, _props_descriptionVariant = props.descriptionVariant, descriptionVariant = _props_descriptionVariant === void 0 ? "bodyLg" : _props_descriptionVariant, progress = props.progress, className = props.className;
|
|
54
54
|
var classes = styles();
|
|
55
55
|
return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
56
|
-
className: classes,
|
|
56
|
+
className: "".concat(classes).concat(className ? " ".concat(className) : ""),
|
|
57
57
|
children: [
|
|
58
58
|
iconSource && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
59
59
|
className: "flex items-center justify-center w-16 h-16",
|
|
@@ -860,11 +860,11 @@ var tabActionIconStyles = (0, _tailwindvariants.tv)({
|
|
|
860
860
|
* @param {boolean} [props.subdued=false] - Whether the text field appears subdued.
|
|
861
861
|
* @param {boolean} [props.disableQueryField=false] - Whether the text field is disabled.
|
|
862
862
|
* @param {boolean} [props.transparent=true] - Whether the text field has a transparent background.
|
|
863
|
+
* @param {string} [props.autoComplete="on"] - Whether the text field should autocomplete.
|
|
863
864
|
* @returns {JSX.Element} The text field component.
|
|
864
|
-
*/ Filters.TextField = function
|
|
865
|
-
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
865
|
+
*/ Filters.TextField = function(props) {
|
|
866
866
|
var darkMode = (0, _AppProvider.useDarkMode)().darkMode;
|
|
867
|
-
var queryValue = props.queryValue, onQueryChange = props.onQueryChange, onQueryBlur = props.onQueryBlur, onQueryFocus = props.onQueryFocus, onQueryClear = props.onQueryClear, _props_queryPlaceholder = props.queryPlaceholder, queryPlaceholder = _props_queryPlaceholder === void 0 ? "Search" : _props_queryPlaceholder, disableQueryField = props.disableQueryField;
|
|
867
|
+
var queryValue = props.queryValue, onQueryChange = props.onQueryChange, onQueryBlur = props.onQueryBlur, onQueryFocus = props.onQueryFocus, onQueryClear = props.onQueryClear, _props_queryPlaceholder = props.queryPlaceholder, queryPlaceholder = _props_queryPlaceholder === void 0 ? "Search" : _props_queryPlaceholder, disableQueryField = props.disableQueryField, _props_autoComplete = props.autoComplete, autoComplete = _props_autoComplete === void 0 ? "on" : _props_autoComplete;
|
|
868
868
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
869
869
|
className: "p-1",
|
|
870
870
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TextField.default, {
|
|
@@ -877,6 +877,7 @@ var tabActionIconStyles = (0, _tailwindvariants.tv)({
|
|
|
877
877
|
disabled: disableQueryField,
|
|
878
878
|
subdued: darkMode,
|
|
879
879
|
transparent: !darkMode,
|
|
880
|
+
autoComplete: autoComplete,
|
|
880
881
|
clearButton: true,
|
|
881
882
|
onClearButtonClick: onQueryClear
|
|
882
883
|
})
|
|
@@ -182,14 +182,17 @@ var logoStyles = (0, _tailwindvariants.tv)({
|
|
|
182
182
|
* @param {number} props.logo.width - Width of the logo image.
|
|
183
183
|
* @param {boolean} props.showSearchTrigger - Whether to show the search trigger.
|
|
184
184
|
* @param {React.ReactNode} props.searchModal - Modal to render as the search modal.
|
|
185
|
-
* @param {function} props.
|
|
185
|
+
* @param {function} props.onToggleSearch - Function to toggle the search modal.
|
|
186
186
|
* @param {string} [props.className] - Additional CSS classes for the Frame.
|
|
187
187
|
* @param {React.ReactNode} props.children - Content to render within the Frame.
|
|
188
188
|
* @param {boolean} [props.alwaysShowUserMenuInTopBar] - Whether to always show the user menu in the top bar.
|
|
189
189
|
* @param {React.ReactNode} [props.headerAccessory] - Accessory to render in the header.
|
|
190
190
|
* @returns {React.ReactElement} The rendered Frame component.
|
|
191
191
|
*/ var Frame = function(param) {
|
|
192
|
-
var navigation = param.navigation, announcement = param.announcement, logo = param.logo, children = param.children, className = param.className, userMenu = param.userMenu, moreActions = param.moreActions, _param_showSearchTrigger = param.showSearchTrigger, showSearchTrigger = _param_showSearchTrigger === void 0 ? true : _param_showSearchTrigger, _param_alwaysShowUserMenuInTopBar = param.alwaysShowUserMenuInTopBar, alwaysShowUserMenuInTopBar = _param_alwaysShowUserMenuInTopBar === void 0 ? false : _param_alwaysShowUserMenuInTopBar,
|
|
192
|
+
var navigation = param.navigation, announcement = param.announcement, logo = param.logo, children = param.children, className = param.className, userMenu = param.userMenu, moreActions = param.moreActions, _param_showSearchTrigger = param.showSearchTrigger, showSearchTrigger = _param_showSearchTrigger === void 0 ? true : _param_showSearchTrigger, _param_alwaysShowUserMenuInTopBar = param.alwaysShowUserMenuInTopBar, alwaysShowUserMenuInTopBar = _param_alwaysShowUserMenuInTopBar === void 0 ? false : _param_alwaysShowUserMenuInTopBar, _param_searchLabel = param.searchLabel, searchLabel = _param_searchLabel === void 0 ? "Search" : _param_searchLabel, _param_searchIcon = param.searchIcon, searchIcon = _param_searchIcon === void 0 ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Icon.default, {
|
|
193
|
+
source: _polarisicons.SearchMajor,
|
|
194
|
+
color: "subdued"
|
|
195
|
+
}) : _param_searchIcon, searchModal = param.searchModal, onToggleSearch = param.onToggleSearch, headerAccessory = param.headerAccessory;
|
|
193
196
|
var darkMode = (0, _AppProvider.useDarkMode)().darkMode;
|
|
194
197
|
var _useContext = (0, _react.useContext)(_AppProvider.FrameContext), contentIsInIframe = _useContext.contentIsInIframe, contentIsFullPage = _useContext.contentIsFullPage, showMobileNavigation = _useContext.showMobileNavigation, setShowMobileNavigation = _useContext.setShowMobileNavigation, modalIsOpen = _useContext.modalIsOpen, paneIsOpen = _useContext.paneIsOpen, embedded = _useContext.embedded;
|
|
195
198
|
var _useState = _sliced_to_array((0, _react.useState)(""), 2), searchTriggerShortcutText = _useState[0], setSearchTriggerShortcutText = _useState[1];
|
|
@@ -227,7 +230,7 @@ var logoStyles = (0, _tailwindvariants.tv)({
|
|
|
227
230
|
var handleSearchShortcut = function(e) {
|
|
228
231
|
if ((e.metaKey || e.ctrlKey) && e.key === "k") {
|
|
229
232
|
e.preventDefault();
|
|
230
|
-
|
|
233
|
+
onToggleSearch();
|
|
231
234
|
}
|
|
232
235
|
};
|
|
233
236
|
window.addEventListener("keydown", handleSearchShortcut);
|
|
@@ -250,18 +253,15 @@ var logoStyles = (0, _tailwindvariants.tv)({
|
|
|
250
253
|
var searchTrigger = showSearchTrigger ? /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
251
254
|
className: "w-full pl-2 pr-3 h-8 rounded-md flex items-center gap-2 cursor-pointer bg-tint-2 hover:bg-tint-3 active:bg-tint-4 dark:bg-tint-alt-2 dark:hover:bg-tint-alt-3 dark:active:bg-tint-alt-4",
|
|
252
255
|
onClick: function() {
|
|
253
|
-
return
|
|
256
|
+
return onToggleSearch();
|
|
254
257
|
},
|
|
255
258
|
children: [
|
|
256
|
-
|
|
257
|
-
source: _polarisicons.SearchMajor,
|
|
258
|
-
color: "subdued"
|
|
259
|
-
}),
|
|
259
|
+
searchIcon,
|
|
260
260
|
/*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
261
261
|
className: "flex-1 text-low flex items-center justify-between gap-1",
|
|
262
262
|
children: [
|
|
263
263
|
/*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
|
|
264
|
-
children:
|
|
264
|
+
children: searchLabel
|
|
265
265
|
}),
|
|
266
266
|
/*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
|
|
267
267
|
className: "text-xs text-lowest hidden @md:block",
|
|
@@ -93,7 +93,13 @@ var styles = (0, _tailwindvariants.tv)({
|
|
|
93
93
|
base: "Litho-HorizontalStack flex flex-row",
|
|
94
94
|
variants: {
|
|
95
95
|
gap: {
|
|
96
|
-
none: "",
|
|
96
|
+
none: "gap-0",
|
|
97
|
+
// Semantic values (recommended)
|
|
98
|
+
xs: "gap-1",
|
|
99
|
+
sm: "gap-2",
|
|
100
|
+
md: "gap-4",
|
|
101
|
+
lg: "gap-8",
|
|
102
|
+
// Numeric values (backwards compatibility)
|
|
97
103
|
"0": "gap-0",
|
|
98
104
|
"px": "gap-px",
|
|
99
105
|
"0.5": "gap-0.5",
|
|
@@ -101,6 +107,7 @@ var styles = (0, _tailwindvariants.tv)({
|
|
|
101
107
|
"2": "gap-2",
|
|
102
108
|
"3": "gap-3",
|
|
103
109
|
"4": "gap-4",
|
|
110
|
+
"5": "gap-5",
|
|
104
111
|
"6": "gap-6",
|
|
105
112
|
"8": "gap-8",
|
|
106
113
|
"10": "gap-10"
|
|
@@ -136,7 +143,7 @@ var styles = (0, _tailwindvariants.tv)({
|
|
|
136
143
|
* @param {Object} [props={}] - Component props.
|
|
137
144
|
* @param {string} [props.as='div'] - The HTML element to render. Defaults to `div`.
|
|
138
145
|
* @param {React.ReactNode} [props.children] - Child elements to render inside the stack.
|
|
139
|
-
* @param {
|
|
146
|
+
* @param {('none'|'xs'|'sm'|'md'|'lg'|'0'|'px'|'0.5'|'1'|'2'|'3'|'4'|'5'|'6'|'8'|'10')} [props.gap] - Spacing between children. Semantic options: 'none', 'xs' (1), 'sm' (2), 'md' (4), 'lg' (8). Numeric options: '0', 'px', '0.5', '1', '2', '3', '4', '5', '6', '8', '10'.
|
|
140
147
|
* @param {string} [props.id] - Optional ID for the component.
|
|
141
148
|
* @param {string} [props.className] - Additional custom class names to apply to the component.
|
|
142
149
|
* @param {string} [props.align='start'] - Horizontal alignment of children. Options: 'start', 'center', 'end'.
|
|
@@ -13,6 +13,7 @@ var _jsxruntime = require("react/jsx-runtime");
|
|
|
13
13
|
var _polarisicons = require("@shopify/polaris-icons");
|
|
14
14
|
var _tailwindvariants = require("tailwind-variants");
|
|
15
15
|
var _react = require("react");
|
|
16
|
+
var _Text = /*#__PURE__*/ _interop_require_default(require("./Text"));
|
|
16
17
|
var _Button = /*#__PURE__*/ _interop_require_default(require("./Button"));
|
|
17
18
|
var _Popover = /*#__PURE__*/ _interop_require_default(require("./Popover"));
|
|
18
19
|
var _ActionList = /*#__PURE__*/ _interop_require_default(require("./ActionList"));
|
|
@@ -69,10 +70,13 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
69
70
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
70
71
|
}
|
|
71
72
|
var styles = (0, _tailwindvariants.tv)({
|
|
72
|
-
base: "Litho-Pane hidden md:block fixed inset-0 w-full md:left-auto md:max-w-
|
|
73
|
+
base: "Litho-Pane hidden md:block fixed inset-0 w-full md:left-auto md:max-w-[var(--litho-pane-width)] block bg-surface-lowest shadow-pane-inner pointer-events-auto"
|
|
73
74
|
});
|
|
74
75
|
var innerStyles = (0, _tailwindvariants.tv)({
|
|
75
|
-
base: "flex flex-col overflow-y-auto h-full"
|
|
76
|
+
base: "relative flex flex-col overflow-y-auto h-full"
|
|
77
|
+
});
|
|
78
|
+
var dragHandleStyles = (0, _tailwindvariants.tv)({
|
|
79
|
+
base: "cursor-col-resize absolute top-0 left-0 w-1 h-full transition-colors duration-300 hover-delay hover:bg-tint-3"
|
|
76
80
|
});
|
|
77
81
|
var PaneContext = /*#__PURE__*/ (0, _react.createContext)({});
|
|
78
82
|
function Pane() {
|
|
@@ -114,27 +118,57 @@ function Pane() {
|
|
|
114
118
|
}
|
|
115
119
|
function Header() {
|
|
116
120
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
117
|
-
var
|
|
121
|
+
var title = props.title, subtitle = props.subtitle, _props_actions = props.actions, actions = _props_actions === void 0 ? [] : _props_actions, _props_showCloseButton = props.showCloseButton, showCloseButton = _props_showCloseButton === void 0 ? true : _props_showCloseButton, _props_bottomBorder = props.bottomBorder, bottomBorder = _props_bottomBorder === void 0 ? true : _props_bottomBorder, subHeader = props.subHeader, tmp = props.backAction, _backAction = tmp === void 0 ? null : tmp, _props_expanded = props.expanded, expanded = _props_expanded === void 0 ? false : _props_expanded, _props_onToggleExpand = props.onToggleExpand, onToggleExpand = _props_onToggleExpand === void 0 ? function() {} : _props_onToggleExpand, _props_allowExpand = props.allowExpand, allowExpand = _props_allowExpand === void 0 ? true : _props_allowExpand;
|
|
118
122
|
var onClose = (0, _react.useContext)(PaneContext).onClose;
|
|
119
123
|
var showActionsOrClose = actions.length > 0 || showCloseButton;
|
|
120
|
-
var childCount = _react.Children.count(children);
|
|
121
124
|
var _useState = _sliced_to_array((0, _react.useState)(null), 2), showActionsPopover = _useState[0], setShowActionsPopover = _useState[1];
|
|
125
|
+
(0, _react.useEffect)(function() {
|
|
126
|
+
var width = expanded ? 'var(--litho-pane-width-expanded)' : 'var(--litho-pane-width-default)';
|
|
127
|
+
document.documentElement.style.setProperty('--litho-pane-width', width);
|
|
128
|
+
}, [
|
|
129
|
+
expanded
|
|
130
|
+
]);
|
|
131
|
+
var backAction = _backAction ? /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
132
|
+
className: "Litho-Page__Header--BackAction",
|
|
133
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
|
|
134
|
+
plain: true,
|
|
135
|
+
icon: _polarisicons.ArrowLeftMinor,
|
|
136
|
+
onClick: function() {
|
|
137
|
+
return _backAction === null || _backAction === void 0 ? void 0 : _backAction.onAction();
|
|
138
|
+
},
|
|
139
|
+
accessibilityLabel: _backAction === null || _backAction === void 0 ? void 0 : _backAction.accessibilityLabel
|
|
140
|
+
})
|
|
141
|
+
}) : null;
|
|
122
142
|
return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
143
|
+
className: "Litho-Pane__Header",
|
|
123
144
|
children: [
|
|
124
145
|
/*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
125
|
-
className: "
|
|
146
|
+
className: "flex items-center justify-between min-h-14 px-2 border-edge-subdued ".concat(bottomBorder ? "border-b" : ""),
|
|
126
147
|
children: [
|
|
127
|
-
/*#__PURE__*/ (0, _jsxruntime.
|
|
128
|
-
className: "
|
|
129
|
-
children:
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
children:
|
|
133
|
-
|
|
134
|
-
|
|
148
|
+
/*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
149
|
+
className: "flex items-center gap-2",
|
|
150
|
+
children: [
|
|
151
|
+
backAction,
|
|
152
|
+
/*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
153
|
+
children: [
|
|
154
|
+
title && typeof title === "string" ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
|
|
155
|
+
variant: "headingMd",
|
|
156
|
+
className: "!leading-5",
|
|
157
|
+
clampLines: 1,
|
|
158
|
+
children: title
|
|
159
|
+
}) : title,
|
|
160
|
+
subtitle && typeof subtitle === "string" ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Text.default, {
|
|
161
|
+
color: "subdued",
|
|
162
|
+
className: "!leading-4",
|
|
163
|
+
clampLines: 1,
|
|
164
|
+
children: subtitle
|
|
165
|
+
}) : subtitle
|
|
166
|
+
]
|
|
167
|
+
})
|
|
168
|
+
]
|
|
135
169
|
}),
|
|
136
170
|
showActionsOrClose && /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
137
|
-
className: "flex
|
|
171
|
+
className: "flex items-center justify-end",
|
|
138
172
|
children: [
|
|
139
173
|
actions.map(function(action, index) {
|
|
140
174
|
var showPopover = action.subActions || action.subSections;
|
|
@@ -171,6 +205,16 @@ function Header() {
|
|
|
171
205
|
}
|
|
172
206
|
return innerContent;
|
|
173
207
|
}),
|
|
208
|
+
allowExpand && /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
209
|
+
className: "hidden xl:block",
|
|
210
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
|
|
211
|
+
plain: true,
|
|
212
|
+
icon: expanded ? _polarisicons.MinimizeMajor : _polarisicons.MaximizeMajor,
|
|
213
|
+
onClick: onToggleExpand,
|
|
214
|
+
tooltip: expanded ? "Minimize" : "Expand",
|
|
215
|
+
tooltipPosition: "below"
|
|
216
|
+
})
|
|
217
|
+
}),
|
|
174
218
|
showCloseButton && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.default, {
|
|
175
219
|
plain: true,
|
|
176
220
|
icon: _polarisicons.CancelMajor,
|
|
@@ -192,9 +236,9 @@ function Header() {
|
|
|
192
236
|
Pane.Header = Header;
|
|
193
237
|
function Content() {
|
|
194
238
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
195
|
-
var children = props.children;
|
|
239
|
+
var children = props.children, _props_padded = props.padded, padded = _props_padded === void 0 ? true : _props_padded, className = props.className;
|
|
196
240
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
197
|
-
className: "flex-1 overflow-auto",
|
|
241
|
+
className: "Litho-Pane__Content flex-1 overflow-auto ".concat(padded ? "p-2" : "", " ").concat(className),
|
|
198
242
|
children: children
|
|
199
243
|
});
|
|
200
244
|
}
|
|
@@ -203,7 +247,7 @@ function Footer() {
|
|
|
203
247
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
204
248
|
var children = props.children, _props_topBorder = props.topBorder, topBorder = _props_topBorder === void 0 ? true : _props_topBorder;
|
|
205
249
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
206
|
-
className: "min-h-
|
|
250
|
+
className: "Litho-Pane__Footer min-h-12 ".concat(topBorder ? "border-t border-edge-subdued" : ""),
|
|
207
251
|
children: children
|
|
208
252
|
});
|
|
209
253
|
}
|