@primer/components 33.0.0-rc.b495ba4a → 33.0.0-rc.cface7dc
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/workflows/statuses.yml +32 -0
- package/.gitignore +1 -0
- package/CHANGELOG.md +6 -0
- package/contributor-docs/CONTRIBUTING.md +14 -58
- package/docs/content/{ActionList2.mdx → drafts/ActionList2.mdx} +5 -9
- package/docs/content/drafts/ActionMenu2.mdx +251 -0
- package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +9 -1
- package/docs/src/component-checklist.js +10 -2
- package/lib/ActionList2/Divider.d.ts +3 -2
- package/lib/ActionList2/Divider.js +10 -5
- package/lib/ActionList2/Item.js +21 -5
- package/lib/ActionList2/List.js +11 -1
- package/lib/ActionList2/MenuContext.d.ts +10 -0
- package/lib/ActionList2/MenuContext.js +15 -0
- package/lib/ActionList2/Selection.js +11 -0
- package/lib/ActionList2/index.d.ts +1 -2
- package/lib/ActionMenu2.d.ts +313 -0
- package/lib/ActionMenu2.js +91 -0
- package/lib/Autocomplete/Autocomplete.d.ts +2 -1
- package/lib/Autocomplete/AutocompleteInput.d.ts +2 -1
- package/lib/Button/Button.d.ts +2 -2
- package/lib/Button/ButtonClose.d.ts +2 -2
- package/lib/Button/ButtonDanger.d.ts +2 -2
- package/lib/Button/ButtonInvisible.d.ts +2 -2
- package/lib/Button/ButtonOutline.d.ts +2 -2
- package/lib/Button/ButtonPrimary.d.ts +2 -2
- package/lib/CircleOcticon.d.ts +35 -35
- package/lib/Dialog.d.ts +37 -37
- package/lib/Dropdown.d.ts +6 -6
- package/lib/DropdownMenu/DropdownButton.d.ts +6 -3
- package/lib/FilterList.d.ts +1 -1
- package/lib/Position.d.ts +4 -4
- package/lib/SelectMenu/SelectMenu.d.ts +11 -10
- package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
- package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
- package/lib/TextInputWithTokens.d.ts +2 -1
- package/lib/Token/AvatarToken.d.ts +1 -1
- package/lib/Token/IssueLabelToken.d.ts +1 -1
- package/lib/Token/Token.d.ts +1 -1
- package/lib/drafts.d.ts +1 -0
- package/lib/drafts.js +13 -0
- package/lib/stories/ActionMenu2.stories.js +433 -0
- package/lib-esm/ActionList2/Divider.d.ts +3 -2
- package/lib-esm/ActionList2/Divider.js +8 -5
- package/lib-esm/ActionList2/Item.js +19 -5
- package/lib-esm/ActionList2/List.js +9 -1
- package/lib-esm/ActionList2/MenuContext.d.ts +10 -0
- package/lib-esm/ActionList2/MenuContext.js +3 -0
- package/lib-esm/ActionList2/Selection.js +9 -0
- package/lib-esm/ActionList2/index.d.ts +1 -2
- package/lib-esm/ActionMenu2.d.ts +313 -0
- package/lib-esm/ActionMenu2.js +67 -0
- package/lib-esm/Autocomplete/Autocomplete.d.ts +2 -1
- package/lib-esm/Autocomplete/AutocompleteInput.d.ts +2 -1
- package/lib-esm/Button/Button.d.ts +2 -2
- package/lib-esm/Button/ButtonClose.d.ts +2 -2
- package/lib-esm/Button/ButtonDanger.d.ts +2 -2
- package/lib-esm/Button/ButtonInvisible.d.ts +2 -2
- package/lib-esm/Button/ButtonOutline.d.ts +2 -2
- package/lib-esm/Button/ButtonPrimary.d.ts +2 -2
- package/lib-esm/CircleOcticon.d.ts +35 -35
- package/lib-esm/Dialog.d.ts +37 -37
- package/lib-esm/Dropdown.d.ts +6 -6
- package/lib-esm/DropdownMenu/DropdownButton.d.ts +6 -3
- package/lib-esm/FilterList.d.ts +1 -1
- package/lib-esm/Position.d.ts +4 -4
- package/lib-esm/SelectMenu/SelectMenu.d.ts +11 -10
- package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
- package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
- package/lib-esm/TextInputWithTokens.d.ts +2 -1
- package/lib-esm/Token/AvatarToken.d.ts +1 -1
- package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
- package/lib-esm/Token/Token.d.ts +1 -1
- package/lib-esm/drafts.d.ts +1 -0
- package/lib-esm/drafts.js +2 -1
- package/lib-esm/stories/ActionMenu2.stories.js +376 -0
- package/package-lock.json +303 -255
- package/package.json +4 -2
- package/script/component-status-project/build.ts +100 -0
- package/script/component-status-project/deploy.rb +142 -0
- package/src/ActionList2/Divider.tsx +13 -8
- package/src/ActionList2/Item.tsx +13 -3
- package/src/ActionList2/List.tsx +6 -2
- package/src/ActionList2/MenuContext.tsx +6 -0
- package/src/ActionList2/Selection.tsx +9 -0
- package/src/ActionMenu2.tsx +94 -0
- package/src/drafts.ts +1 -0
- package/src/stories/ActionMenu2.stories.tsx +551 -0
- package/stats.html +1 -1
- package/tsconfig.build.json +1 -1
- package/tsconfig.json +1 -1
@@ -10,5 +10,5 @@ export interface IssueLabelTokenProps extends TokenBaseProps {
|
|
10
10
|
*/
|
11
11
|
hideRemoveButton?: boolean;
|
12
12
|
}
|
13
|
-
declare const IssueLabelToken: React.ForwardRefExoticComponent<Pick<IssueLabelTokenProps, "default" | "muted" | "sizes" | "color" | "content" | "height" | "translate" | "width" | "hidden" | "children" | "value" | "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "text" | "start" | "size" | "wrap" | "open" | "list" | "multiple" | "role" | "type" | "name" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "
|
13
|
+
declare const IssueLabelToken: React.ForwardRefExoticComponent<Pick<IssueLabelTokenProps, "default" | "muted" | "sizes" | "color" | "property" | "content" | "height" | "translate" | "width" | "hidden" | "children" | "value" | "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "text" | "start" | "size" | "wrap" | "open" | "list" | "multiple" | "role" | "type" | "name" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "disabled" | "as" | "step" | "selected" | "download" | "href" | "hrefLang" | "media" | "rel" | "target" | "max" | "method" | "min" | "crossOrigin" | "classID" | "useMap" | "wmode" | "integrity" | "charSet" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "playsInline" | "preload" | "src" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "manifest" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "required" | "challenge" | "keyType" | "keyParams" | "htmlFor" | "httpEquiv" | "high" | "low" | "optimum" | "reversed" | "async" | "defer" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "colSpan" | "headers" | "rowSpan" | "scope" | "cols" | "rows" | "kind" | "srcLang" | "poster" | "onRemove" | "isSelected" | "hideRemoveButton" | "fillColor"> & React.RefAttributes<HTMLElement>>;
|
14
14
|
export default IssueLabelToken;
|
package/lib/Token/Token.d.ts
CHANGED
@@ -11,5 +11,5 @@ export interface TokenProps extends TokenBaseProps {
|
|
11
11
|
*/
|
12
12
|
hideRemoveButton?: boolean;
|
13
13
|
}
|
14
|
-
declare const Token: React.ForwardRefExoticComponent<Pick<TokenProps & SxProp, "default" | "muted" | "sizes" | "color" | "content" | "height" | "translate" | "width" | "hidden" | "children" | "value" | "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "text" | "start" | "size" | "wrap" | "open" | "list" | "multiple" | "role" | "sx" | "type" | "name" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "
|
14
|
+
declare const Token: React.ForwardRefExoticComponent<Pick<TokenProps & SxProp, "default" | "muted" | "sizes" | "color" | "property" | "content" | "height" | "translate" | "width" | "hidden" | "children" | "value" | "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "text" | "start" | "size" | "wrap" | "open" | "list" | "multiple" | "role" | "sx" | "type" | "name" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "disabled" | "as" | "step" | "selected" | "download" | "href" | "hrefLang" | "media" | "rel" | "target" | "max" | "method" | "min" | "crossOrigin" | "classID" | "useMap" | "wmode" | "integrity" | "charSet" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "playsInline" | "preload" | "src" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "manifest" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "required" | "challenge" | "keyType" | "keyParams" | "htmlFor" | "httpEquiv" | "high" | "low" | "optimum" | "reversed" | "async" | "defer" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "colSpan" | "headers" | "rowSpan" | "scope" | "cols" | "rows" | "kind" | "srcLang" | "poster" | "leadingVisual" | "onRemove" | "isSelected" | "hideRemoveButton"> & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>>;
|
15
15
|
export default Token;
|
package/lib/drafts.d.ts
CHANGED
package/lib/drafts.js
CHANGED
@@ -28,4 +28,17 @@ Object.keys(_NewButton).forEach(function (key) {
|
|
28
28
|
return _NewButton[key];
|
29
29
|
}
|
30
30
|
});
|
31
|
+
});
|
32
|
+
|
33
|
+
var _ActionMenu = require("./ActionMenu2");
|
34
|
+
|
35
|
+
Object.keys(_ActionMenu).forEach(function (key) {
|
36
|
+
if (key === "default" || key === "__esModule") return;
|
37
|
+
if (key in exports && exports[key] === _ActionMenu[key]) return;
|
38
|
+
Object.defineProperty(exports, key, {
|
39
|
+
enumerable: true,
|
40
|
+
get: function () {
|
41
|
+
return _ActionMenu[key];
|
42
|
+
}
|
43
|
+
});
|
31
44
|
});
|
@@ -0,0 +1,433 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.SimpleListStory = SimpleListStory;
|
7
|
+
exports.ActionsStory = ActionsStory;
|
8
|
+
exports.ExternalAnchor = ExternalAnchor;
|
9
|
+
exports.ControlledMenu = ControlledMenu;
|
10
|
+
exports.CustomAnchor = CustomAnchor;
|
11
|
+
exports.MemexTableMenu = MemexTableMenu;
|
12
|
+
exports.MemexViewOptionsMenu = MemexViewOptionsMenu;
|
13
|
+
exports.UnexpectedSelectionVariant = UnexpectedSelectionVariant;
|
14
|
+
exports.default = void 0;
|
15
|
+
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
17
|
+
|
18
|
+
var _ = require("..");
|
19
|
+
|
20
|
+
var _BaseStyles = _interopRequireDefault(require("../BaseStyles"));
|
21
|
+
|
22
|
+
var _ActionMenu = require("../ActionMenu2");
|
23
|
+
|
24
|
+
var _ActionList = require("../ActionList2");
|
25
|
+
|
26
|
+
var _Button = _interopRequireWildcard(require("../Button"));
|
27
|
+
|
28
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
29
|
+
|
30
|
+
var _Text = _interopRequireDefault(require("../Text"));
|
31
|
+
|
32
|
+
var _TextInput = _interopRequireDefault(require("../TextInput"));
|
33
|
+
|
34
|
+
var _StyledOcticon = _interopRequireDefault(require("../StyledOcticon"));
|
35
|
+
|
36
|
+
var _FormGroup = _interopRequireDefault(require("../FormGroup"));
|
37
|
+
|
38
|
+
var _octiconsReact = require("@primer/octicons-react");
|
39
|
+
|
40
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
41
|
+
|
42
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
43
|
+
|
44
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
45
|
+
|
46
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
47
|
+
|
48
|
+
const meta = {
|
49
|
+
title: 'Composite components/ActionMenu2',
|
50
|
+
component: _ActionMenu.ActionMenu,
|
51
|
+
decorators: [Story => /*#__PURE__*/_react.default.createElement(_.ThemeProvider, null, /*#__PURE__*/_react.default.createElement(_BaseStyles.default, null, /*#__PURE__*/_react.default.createElement(Story, null)))],
|
52
|
+
parameters: {
|
53
|
+
controls: {
|
54
|
+
disabled: true
|
55
|
+
}
|
56
|
+
}
|
57
|
+
};
|
58
|
+
var _default = meta;
|
59
|
+
exports.default = _default;
|
60
|
+
|
61
|
+
function SimpleListStory() {
|
62
|
+
const [actionFired, fireAction] = _react.default.useState('');
|
63
|
+
|
64
|
+
const onSelect = name => fireAction(name);
|
65
|
+
|
66
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h1", null, "Simple Menu"), /*#__PURE__*/_react.default.createElement("h2", null, "Last option activated: ", actionFired), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu, null, /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu.Button, null, "Menu"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
67
|
+
onSelect: () => onSelect('Copy link')
|
68
|
+
}, "Copy link", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318C")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
69
|
+
onSelect: () => onSelect('Quote reply')
|
70
|
+
}, "Quote reply", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318Q")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
71
|
+
onSelect: () => onSelect('Edit comment')
|
72
|
+
}, "Edit comment", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318E")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
73
|
+
variant: "danger",
|
74
|
+
onSelect: () => onSelect('Delete file')
|
75
|
+
}, "Delete file", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318D")))));
|
76
|
+
}
|
77
|
+
|
78
|
+
SimpleListStory.storyName = 'Simple Menu';
|
79
|
+
|
80
|
+
function ActionsStory() {
|
81
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h1", null, "Actions"), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu, {
|
82
|
+
overlayProps: {
|
83
|
+
width: 'medium'
|
84
|
+
}
|
85
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu.Button, {
|
86
|
+
"aria-label": "Open Actions Menu"
|
87
|
+
}, /*#__PURE__*/_react.default.createElement(_octiconsReact.ServerIcon, null)), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.ServerIcon, null)), "Open current Codespace", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Description, {
|
88
|
+
variant: "block"
|
89
|
+
}, "Your existing Codespace will be opened to its previous state, and you'll be asked to manually switch to new-branch."), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318O")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.PlusCircleIcon, null)), "Create new Codespace", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Description, {
|
90
|
+
variant: "block"
|
91
|
+
}, "Create a brand new Codespace with a fresh image and checkout this branch."), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318C")))));
|
92
|
+
}
|
93
|
+
|
94
|
+
ActionsStory.storyName = 'Actions';
|
95
|
+
|
96
|
+
function ExternalAnchor() {
|
97
|
+
const [actionFired, fireAction] = _react.default.useState('');
|
98
|
+
|
99
|
+
const onSelect = name => fireAction(name);
|
100
|
+
|
101
|
+
const [open, setOpen] = _react.default.useState(false);
|
102
|
+
|
103
|
+
const triggerRef = /*#__PURE__*/_react.default.createRef();
|
104
|
+
|
105
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h1", null, "External Anchor"), /*#__PURE__*/_react.default.createElement("h2", null, "External Open State: ", open ? 'Open' : 'Closed'), /*#__PURE__*/_react.default.createElement("h2", null, "Last option activated: ", actionFired), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
106
|
+
ref: triggerRef,
|
107
|
+
onClick: () => setOpen(!open)
|
108
|
+
}, open ? 'Close Menu' : 'Open Menu')), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu, {
|
109
|
+
open: open,
|
110
|
+
onOpenChange: setOpen,
|
111
|
+
anchorRef: triggerRef
|
112
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
113
|
+
onSelect: () => onSelect('Copy link')
|
114
|
+
}, "Copy link", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318C")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
115
|
+
onSelect: () => onSelect('Quote reply')
|
116
|
+
}, "Quote reply", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318Q")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
117
|
+
onSelect: () => onSelect('Edit comment')
|
118
|
+
}, "Edit comment", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318E")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
119
|
+
variant: "danger",
|
120
|
+
onSelect: () => onSelect('Delete file')
|
121
|
+
}, "Delete file", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318D")))));
|
122
|
+
}
|
123
|
+
|
124
|
+
ExternalAnchor.storyName = 'External Anchor';
|
125
|
+
|
126
|
+
function ControlledMenu() {
|
127
|
+
const [actionFired, fireAction] = _react.default.useState('');
|
128
|
+
|
129
|
+
const onSelect = name => fireAction(name);
|
130
|
+
|
131
|
+
const [open, setOpen] = _react.default.useState(false);
|
132
|
+
|
133
|
+
const triggerRef = /*#__PURE__*/_react.default.createRef();
|
134
|
+
|
135
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h1", null, "Controlled Menu"), /*#__PURE__*/_react.default.createElement("h2", null, "External Open State: ", open ? 'Open' : 'Closed'), /*#__PURE__*/_react.default.createElement("h2", null, "Last option activated: ", actionFired), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
136
|
+
ref: triggerRef,
|
137
|
+
onClick: () => setOpen(!open)
|
138
|
+
}, open ? 'Close Menu' : 'Open Menu')), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu, {
|
139
|
+
open: open,
|
140
|
+
onOpenChange: setOpen,
|
141
|
+
overlayProps: {
|
142
|
+
// Because the component is controlled from outside, but the anchor is still internal,
|
143
|
+
// clicking the external button should not be counted as "clicking outside"
|
144
|
+
ignoreClickRefs: [triggerRef]
|
145
|
+
}
|
146
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu.Button, null, "Anchor"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
147
|
+
onSelect: () => onSelect('Copy link')
|
148
|
+
}, "Copy link", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318C")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
149
|
+
onSelect: () => onSelect('Quote reply')
|
150
|
+
}, "Quote reply", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318Q")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
151
|
+
onSelect: () => onSelect('Edit comment')
|
152
|
+
}, "Edit comment", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318E")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
153
|
+
variant: "danger",
|
154
|
+
onSelect: () => onSelect('Delete file')
|
155
|
+
}, "Delete file", /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.TrailingVisual, null, "\u2318D")))));
|
156
|
+
}
|
157
|
+
|
158
|
+
ControlledMenu.storyName = 'Controlled Menu';
|
159
|
+
|
160
|
+
function CustomAnchor() {
|
161
|
+
const [actionFired, fireAction] = _react.default.useState('');
|
162
|
+
|
163
|
+
const onSelect = name => fireAction(name);
|
164
|
+
|
165
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h1", null, "Custom Anchor"), /*#__PURE__*/_react.default.createElement("h2", null, "Last option activated: ", actionFired), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu, null, /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu.Anchor, null, /*#__PURE__*/_react.default.createElement("summary", {
|
166
|
+
style: {
|
167
|
+
cursor: 'pointer'
|
168
|
+
},
|
169
|
+
"aria-label": "Open column options"
|
170
|
+
}, /*#__PURE__*/_react.default.createElement(_octiconsReact.KebabHorizontalIcon, null))), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
171
|
+
onSelect: () => onSelect('Rename')
|
172
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.PencilIcon, null)), "Rename"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
173
|
+
onSelect: () => onSelect('Archive')
|
174
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.ArchiveIcon, null)), "Archive all cards"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
175
|
+
variant: "danger",
|
176
|
+
onSelect: () => onSelect('Delete file')
|
177
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.TrashIcon, null)), "Delete"))));
|
178
|
+
}
|
179
|
+
|
180
|
+
CustomAnchor.storyName = 'Custom Anchor';
|
181
|
+
|
182
|
+
function MemexTableMenu() {
|
183
|
+
const [name, setName] = _react.default.useState('Estimate');
|
184
|
+
|
185
|
+
const inputRef = /*#__PURE__*/_react.default.createRef();
|
186
|
+
/** To add custom components to the Menu,
|
187
|
+
* you need to switch to a controlled menu
|
188
|
+
*/
|
189
|
+
|
190
|
+
|
191
|
+
const [open, setOpen] = _react.default.useState(false);
|
192
|
+
|
193
|
+
const handleKeyPress = event => {
|
194
|
+
if (event.key === 'Enter') {
|
195
|
+
setName(event.currentTarget.value);
|
196
|
+
setOpen(false);
|
197
|
+
}
|
198
|
+
};
|
199
|
+
/** This requires inside knowledge. If you to do this with onBlur
|
200
|
+
* on the input, it doesn't work :(
|
201
|
+
*/
|
202
|
+
|
203
|
+
|
204
|
+
const handleClickOutside = () => {
|
205
|
+
if (inputRef.current) setName(inputRef.current.value);
|
206
|
+
setOpen(false);
|
207
|
+
};
|
208
|
+
|
209
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h1", null, "Memex Table Menu"), /*#__PURE__*/_react.default.createElement(_Box.default, {
|
210
|
+
sx: {
|
211
|
+
width: 200,
|
212
|
+
display: 'flex',
|
213
|
+
justifyContent: 'space-between',
|
214
|
+
p: 2,
|
215
|
+
border: '1px solid',
|
216
|
+
borderColor: 'border.default'
|
217
|
+
}
|
218
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
219
|
+
sx: {
|
220
|
+
fontSize: 0,
|
221
|
+
fontWeight: 'bold'
|
222
|
+
}
|
223
|
+
}, name), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu, {
|
224
|
+
open: open,
|
225
|
+
onOpenChange: setOpen,
|
226
|
+
overlayProps: {
|
227
|
+
onClickOutside: handleClickOutside
|
228
|
+
}
|
229
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu.Button, {
|
230
|
+
"aria-label": "Open Estimate column options menu",
|
231
|
+
sx: {
|
232
|
+
p: 0,
|
233
|
+
display: 'flex',
|
234
|
+
alignItems: 'center',
|
235
|
+
justifyContent: 'center'
|
236
|
+
}
|
237
|
+
}, /*#__PURE__*/_react.default.createElement(_octiconsReact.TriangleDownIcon, null)), /*#__PURE__*/_react.default.createElement(_TextInput.default, {
|
238
|
+
ref: inputRef,
|
239
|
+
sx: {
|
240
|
+
m: 2
|
241
|
+
},
|
242
|
+
defaultValue: name,
|
243
|
+
onKeyPress: handleKeyPress
|
244
|
+
}), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu.Divider, {
|
245
|
+
sx: {
|
246
|
+
m: 0
|
247
|
+
}
|
248
|
+
}), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, "Sort ascending (123...)"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, "Sort descending (123...)"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, "Filter by values"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, "Group by values"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
249
|
+
disabled: true
|
250
|
+
}, "Hide field"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
251
|
+
variant: "danger"
|
252
|
+
}, "Delete file")))));
|
253
|
+
}
|
254
|
+
|
255
|
+
MemexTableMenu.storyName = 'Memex Table Menu';
|
256
|
+
/* copied from github/memex */
|
257
|
+
|
258
|
+
const LayoutToggleItem = ({
|
259
|
+
selected,
|
260
|
+
children,
|
261
|
+
Icon,
|
262
|
+
...props
|
263
|
+
}) => {
|
264
|
+
return /*#__PURE__*/_react.default.createElement(_FormGroup.default, {
|
265
|
+
sx: {
|
266
|
+
flex: 'auto',
|
267
|
+
borderRadius: 2,
|
268
|
+
border: '1px solid',
|
269
|
+
borderColor: selected ? 'accent.emphasis' : 'border.default',
|
270
|
+
textAlign: 'center',
|
271
|
+
cursor: 'pointer',
|
272
|
+
backgroundColor: selected ? 'accent.subtle' : '',
|
273
|
+
boxShadow: selected ? theme => `inset 0 0 0 1px ${theme.colors.accent.emphasis}` : '',
|
274
|
+
mb: 2,
|
275
|
+
mt: 1,
|
276
|
+
'&:hover': {
|
277
|
+
backgroundColor: !selected ? 'canvas.subtle' : ''
|
278
|
+
},
|
279
|
+
'&:first-of-type': {
|
280
|
+
borderTopRightRadius: '0px',
|
281
|
+
borderBottomRightRadius: '0px',
|
282
|
+
borderRight: selected ? undefined : '0'
|
283
|
+
},
|
284
|
+
'&:last-of-type': {
|
285
|
+
borderTopLeftRadius: '0px',
|
286
|
+
borderBottomLeftRadius: '0px',
|
287
|
+
borderLeft: selected ? undefined : '0'
|
288
|
+
}
|
289
|
+
}
|
290
|
+
}, /*#__PURE__*/_react.default.createElement(_FormGroup.default.Label, _extends({
|
291
|
+
htmlFor: "layout-selector",
|
292
|
+
sx: {
|
293
|
+
fontWeight: 'normal',
|
294
|
+
cursor: 'pointer',
|
295
|
+
px: 3,
|
296
|
+
py: 2,
|
297
|
+
mb: 0
|
298
|
+
}
|
299
|
+
}, props), /*#__PURE__*/_react.default.createElement(_Box.default, {
|
300
|
+
sx: {
|
301
|
+
textAlign: 'center',
|
302
|
+
flexDirection: 'column',
|
303
|
+
m: 'auto',
|
304
|
+
alignItems: 'center',
|
305
|
+
display: 'flex'
|
306
|
+
}
|
307
|
+
}, /*#__PURE__*/_react.default.createElement(Icon, {
|
308
|
+
size: "medium"
|
309
|
+
}), /*#__PURE__*/_react.default.createElement(_Text.default, {
|
310
|
+
sx: {
|
311
|
+
color: selected ? 'fg.default' : 'fg.muted',
|
312
|
+
fontSize: 0
|
313
|
+
}
|
314
|
+
}, children))));
|
315
|
+
};
|
316
|
+
|
317
|
+
LayoutToggleItem.displayName = "LayoutToggleItem";
|
318
|
+
|
319
|
+
/* copied from github/memex */
|
320
|
+
const ViewChangeButtons = ({
|
321
|
+
setOpen
|
322
|
+
}) => /*#__PURE__*/_react.default.createElement(_Box.default, {
|
323
|
+
sx: {
|
324
|
+
display: 'flex'
|
325
|
+
}
|
326
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.ButtonInvisible, {
|
327
|
+
onClick: () => setOpen(false),
|
328
|
+
sx: {
|
329
|
+
flex: 'auto',
|
330
|
+
minWidth: '50%',
|
331
|
+
borderRight: '1px solid',
|
332
|
+
borderColor: 'border.default',
|
333
|
+
borderRadius: 0,
|
334
|
+
mt: -2,
|
335
|
+
mb: -2,
|
336
|
+
py: 3,
|
337
|
+
'&:hover': {
|
338
|
+
bg: 'canvas.inset'
|
339
|
+
}
|
340
|
+
}
|
341
|
+
}, "Save changes"), /*#__PURE__*/_react.default.createElement(_Button.ButtonInvisible, {
|
342
|
+
onClick: () => setOpen(false),
|
343
|
+
sx: {
|
344
|
+
flex: 'auto',
|
345
|
+
color: 'fg.muted',
|
346
|
+
borderRadius: 0,
|
347
|
+
mt: -2,
|
348
|
+
mb: -2,
|
349
|
+
py: 3,
|
350
|
+
fontWeight: 'normal',
|
351
|
+
'&:hover': {
|
352
|
+
bg: 'canvas.inset'
|
353
|
+
}
|
354
|
+
}
|
355
|
+
}, "Discard changes"));
|
356
|
+
|
357
|
+
ViewChangeButtons.displayName = "ViewChangeButtons";
|
358
|
+
|
359
|
+
function MemexViewOptionsMenu() {
|
360
|
+
const [open, setOpen] = _react.default.useState(false);
|
361
|
+
|
362
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h1", null, "Memex View Options Menu"), /*#__PURE__*/_react.default.createElement(_Box.default, {
|
363
|
+
sx: {
|
364
|
+
display: 'flex',
|
365
|
+
alignItems: 'center'
|
366
|
+
}
|
367
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.default, {
|
368
|
+
sx: {
|
369
|
+
fontSize: 1,
|
370
|
+
mr: 3
|
371
|
+
}
|
372
|
+
}, /*#__PURE__*/_react.default.createElement(_StyledOcticon.default, {
|
373
|
+
icon: _octiconsReact.ProjectIcon,
|
374
|
+
sx: {
|
375
|
+
mr: 2
|
376
|
+
}
|
377
|
+
}), "React"), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu, {
|
378
|
+
open: open,
|
379
|
+
onOpenChange: setOpen,
|
380
|
+
overlayProps: {
|
381
|
+
width: 'medium'
|
382
|
+
}
|
383
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu.Button, {
|
384
|
+
"aria-label": "Open View options menu",
|
385
|
+
sx: {
|
386
|
+
p: 0,
|
387
|
+
width: 18,
|
388
|
+
height: 18,
|
389
|
+
display: 'flex',
|
390
|
+
alignItems: 'center',
|
391
|
+
justifyContent: 'center'
|
392
|
+
}
|
393
|
+
}, /*#__PURE__*/_react.default.createElement(_octiconsReact.TriangleDownIcon, null)), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Group, {
|
394
|
+
title: "Layout"
|
395
|
+
}, /*#__PURE__*/_react.default.createElement("li", {
|
396
|
+
style: {
|
397
|
+
listStyle: 'none'
|
398
|
+
}
|
399
|
+
}, /*#__PURE__*/_react.default.createElement(_Box.default, {
|
400
|
+
sx: {
|
401
|
+
mx: 3,
|
402
|
+
display: 'flex'
|
403
|
+
}
|
404
|
+
}, /*#__PURE__*/_react.default.createElement(LayoutToggleItem, {
|
405
|
+
selected: true,
|
406
|
+
Icon: _octiconsReact.TableIcon
|
407
|
+
}, "Table"), /*#__PURE__*/_react.default.createElement(LayoutToggleItem, {
|
408
|
+
selected: false,
|
409
|
+
Icon: _octiconsReact.ProjectIcon
|
410
|
+
}, "Board")))), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Group, {
|
411
|
+
title: "Configuration"
|
412
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.ListUnorderedIcon, null)), "Title, Assignees, Status, Labels, Repositories"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.ListUnorderedIcon, null)), "group: none"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.ArrowDownIcon, null)), "sort: manual"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.SearchIcon, null)), "Search or filter this view")), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.PencilIcon, null)), "Rename view"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.VersionsIcon, null)), "Save changes to new view"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
413
|
+
disabled: true
|
414
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.LeadingVisual, null, /*#__PURE__*/_react.default.createElement(_octiconsReact.TrashIcon, null)), "Delete view"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement("li", {
|
415
|
+
style: {
|
416
|
+
listStyle: 'none'
|
417
|
+
}
|
418
|
+
}, /*#__PURE__*/_react.default.createElement(ViewChangeButtons, {
|
419
|
+
setOpen: setOpen
|
420
|
+
}))))));
|
421
|
+
}
|
422
|
+
|
423
|
+
MemexViewOptionsMenu.storyName = 'Memex View Options Menu';
|
424
|
+
|
425
|
+
function UnexpectedSelectionVariant() {
|
426
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h1", null, "Expect error if selectionVariant is passed"), /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu, null, /*#__PURE__*/_react.default.createElement(_ActionMenu.ActionMenu.Button, null, "Menu"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList, {
|
427
|
+
selectionVariant: "multiple"
|
428
|
+
}, /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, "Copy link"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, "Quote reply"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, null, "Edit comment"), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Divider, null), /*#__PURE__*/_react.default.createElement(_ActionList.ActionList.Item, {
|
429
|
+
variant: "danger"
|
430
|
+
}, "Delete file"))));
|
431
|
+
}
|
432
|
+
|
433
|
+
UnexpectedSelectionVariant.storyName = 'Unexpected selectionVariant';
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
import React from 'react';
|
2
|
+
import { SxProp } from '../sx';
|
2
3
|
/**
|
3
4
|
* Visually separates `Item`s or `Group`s in an `ActionList`.
|
4
5
|
*/
|
5
|
-
export declare
|
6
|
+
export declare const Divider: React.FC<SxProp>;
|
@@ -1,23 +1,26 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import Box from '../Box';
|
3
3
|
import { get } from '../constants';
|
4
|
-
|
4
|
+
import { merge } from '../sx';
|
5
5
|
/**
|
6
6
|
* Visually separates `Item`s or `Group`s in an `ActionList`.
|
7
7
|
*/
|
8
|
-
|
8
|
+
|
9
|
+
export const Divider = ({
|
10
|
+
sx = {}
|
11
|
+
}) => {
|
9
12
|
return /*#__PURE__*/React.createElement(Box, {
|
10
13
|
as: "li",
|
11
14
|
role: "separator",
|
12
|
-
sx: {
|
15
|
+
sx: merge({
|
13
16
|
height: 1,
|
14
17
|
backgroundColor: 'actionListItem.inlineDivider',
|
15
18
|
marginTop: theme => `calc(${get('space.2')(theme)} - 1px)`,
|
16
19
|
marginBottom: 2,
|
17
20
|
listStyle: 'none' // hide the ::marker inserted by browser's stylesheet
|
18
21
|
|
19
|
-
},
|
22
|
+
}, sx),
|
20
23
|
"data-component": "ActionList.Divider"
|
21
24
|
});
|
22
|
-
}
|
25
|
+
};
|
23
26
|
Divider.displayName = "Divider";
|