UNPKG

lisn.js

Version:

Simply handle user gestures and actions. Includes widgets.

1 lines 7.2 kB
{"version":3,"file":"show.cjs","names":["MC","_interopRequireWildcard","require","_cssAlter","_action","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Show","register","registerAction","element","constructor","disableInitialTransition","hideElement","_show","_hide","_toggle","getMethods","do","undo","S_TOGGLE","exports","Hide","showElement","toggleShowElement"],"sources":["../../../src/ts/actions/show.ts"],"sourcesContent":["/**\n * @module Actions\n */\n\nimport * as MC from \"@lisn/globals/minification-constants\";\n\nimport {\n showElement,\n hideElement,\n toggleShowElement,\n disableInitialTransition,\n} from \"@lisn/utils/css-alter\";\n\nimport { Action, registerAction } from \"@lisn/actions/action\";\n\n/**\n * Shows or hides the given element with a smooth fading transition.\n *\n * **IMPORTANT:** When constructed, it will hide the element as a form of\n * initialization.\n *\n * -------\n *\n * To use with auto-widgets (HTML API) as part of a trigger specification:\n * - Action name: \"show\".\n * - Accepted string arguments: none\n * - Accepted options: none\n *\n * @example\n * ```html\n * <button id=\"btn\">Show/hide</button>\n * <div data-lisn-on-click=\"@show +target=#btn\"></div>\n * ```\n *\n * @category Showing/hiding elements\n */\nexport class Show implements Action {\n /**\n * Shows the element with a smooth fade in transition.\n */\n readonly do: () => Promise<void>;\n\n /**\n * Hides the element with a smooth fade out transition.\n */\n readonly undo: () => Promise<void>;\n\n /**\n * Shows the element if it is hidden, hides it otherwise.\n */\n readonly toggle: () => Promise<void>;\n\n static register() {\n registerAction(\"show\", (element) => new Show(element));\n }\n\n constructor(element: Element) {\n disableInitialTransition(element);\n hideElement(element); // initial state\n\n const { _show, _hide, _toggle } = getMethods(element);\n this.do = _show;\n this.undo = _hide;\n this[MC.S_TOGGLE] = _toggle;\n }\n}\n\n/**\n * Hides or shows the given element with a smooth fading transition.\n *\n * **IMPORTANT:** When constructed, it will remove any `lisn-hide` class from\n * the element as a form of initialization.\n *\n * -------\n *\n * To use with auto-widgets (HTML API) as part of a trigger specification:\n * - Action name: \"hide\".\n * - Accepted string arguments: none\n * - Accepted options: none\n *\n * @example\n * ```html\n * <button id=\"btn\">Show/hide</button>\n * <div data-lisn-on-click=\"@hide +target=#btn\"></div>\n * ```\n *\n * @category Showing/hiding elements\n */\nexport class Hide implements Action {\n /**\n * Hides the element with a smooth fade out transition.\n */\n readonly do: () => Promise<void>;\n\n /**\n * Shows the element with a smooth fade in transition.\n */\n readonly undo: () => Promise<void>;\n\n /**\n * Shows the element if it is hidden, hides it otherwise.\n */\n readonly toggle: () => Promise<void>;\n\n static register() {\n registerAction(\"hide\", (element) => new Hide(element));\n }\n\n constructor(element: Element) {\n disableInitialTransition(element);\n showElement(element); // initial state\n\n const { _show, _hide, _toggle } = getMethods(element);\n this.do = _hide;\n this.undo = _show;\n this[MC.S_TOGGLE] = _toggle;\n }\n}\n\n// --------------------\n\nconst getMethods = (element: Element) => {\n return {\n _show: async () => {\n await showElement(element); // ignore return val\n },\n\n _hide: async () => {\n await hideElement(element); // ignore return val\n },\n\n _toggle: async () => {\n await toggleShowElement(element); // ignore return val\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}