UNPKG

@workday/canvas-kit-preview-react

Version:

Canvas Kit Preview is made up of components that have the full design and a11y review, are part of the DS ecosystem and are approved for use in product. The API's could be subject to change, but not without strong communication and migration strategies.

87 lines (86 loc) 4.72 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SidePanelToggleButton = exports.sidePanelToggleButtonStencil = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const React = __importStar(require("react")); const common_1 = require("@workday/canvas-kit-react/common"); const button_1 = require("@workday/canvas-kit-react/button"); const canvas_system_icons_web_1 = require("@workday/canvas-system-icons-web"); const tooltip_1 = require("@workday/canvas-kit-react/tooltip"); const hooks_1 = require("./hooks"); const canvas_kit_styling_1 = require("@workday/canvas-kit-styling"); const canvas_tokens_web_1 = require("@workday/canvas-tokens-web"); exports.sidePanelToggleButtonStencil = (0, canvas_kit_styling_1.createStencil)({ base: { name: "163747", styles: "box-sizing:border-box;position:absolute;top:var(--cnvs-sys-space-x6);width:var(--cnvs-sys-space-x8);inset-inline-end:var(--cnvs-sys-space-x4);" }, modifiers: { state: { collapsing: { name: "3y2scd", styles: "margin:0;transform:scaleX(1);:dir(rtl){transform:scaleX(-1);}" }, collapsed: { name: "3ncugz", styles: "margin:auto;inset-inline-start:0;inset-inline-end:0;transform:scaleX(1);:dir(rtl){transform:scaleX(-1);}" }, expanded: { name: "12845b", styles: "margin:0;transform:scaleX(-1);:dir(rtl){transform:scaleX(1);}" }, expanding: { name: "3ejmq9", styles: "margin:0;transform:scaleX(-1);:dir(rtl){transform:scaleX(1);}" } }, origin: { left: { name: "299e3c", styles: "" }, right: { name: "1c7yw1", styles: "" } } }, compound: [ { modifiers: { state: 'collapsed', origin: 'right' }, styles: { name: "18211n", styles: "transform:scaleX(-1);" } }, { modifiers: { state: 'collapsing', origin: 'right' }, styles: { name: "2u5mv4", styles: "transform:scaleX(-1);inset-inline-start:var(--cnvs-sys-space-x4);" } }, { modifiers: { state: 'expanded', origin: 'right' }, styles: { name: "10u1jo", styles: "transform:scaleX(1);inset-inline-start:var(--cnvs-sys-space-x4);" } }, { modifiers: { state: 'expanding', origin: 'right' }, styles: { name: "6qhmy", styles: "transform:scaleX(1);inset-inline-start:var(--cnvs-sys-space-x4);" } } ] }, "side-panel-toggle-button-da8098"); /** * A toggle button styled specifically for the side panel container. */ exports.SidePanelToggleButton = (0, common_1.createComponent)('button')({ displayName: 'SidePanel.ToggleButton', Component({ variant = undefined, icon = canvas_system_icons_web_1.transformationImportIcon, tooltipTextExpand = 'Expand', tooltipTextCollapse = 'Collapse', ...elemProps }) { const context = React.useContext(hooks_1.SidePanelContext); return ((0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: context.state === 'collapsed' ? tooltipTextExpand : tooltipTextCollapse, type: "muted", children: (0, jsx_runtime_1.jsx)(button_1.TertiaryButton, { type: "button", icon: icon, variant: variant, ...(0, canvas_kit_styling_1.handleCsProp)(elemProps, (0, exports.sidePanelToggleButtonStencil)({ state: context.state, origin: context.origin, })), onClick: event => { var _a; //@ts-ignore this gets called from the useSidePanel hook. (_a = elemProps.onClick) === null || _a === void 0 ? void 0 : _a.call(elemProps, event); context.handleAnimationStart(); } }) })); }, });