lisn.js
Version:
Simply handle user gestures and actions. Includes widgets.
1 lines • 7.62 kB
Source Map (JSON)
{"version":3,"file":"display.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","Display","register","registerAction","element","constructor","undisplayElementNow","_display","_undisplay","_toggle","getMethods","do","undo","S_TOGGLE","exports","Undisplay","displayElementNow","displayElement","undisplayElement","toggleDisplayElement"],"sources":["../../../src/ts/actions/display.ts"],"sourcesContent":["/**\n * @module Actions\n *\n * @categoryDescription Showing/hiding elements\n * {@link Display} and {@link Undisplay} displays or \"undisplays\" (display:\n * none) the given element.\n *\n * {@link Actions.Show | Show} and {@link Actions.Hide | Hide} show or hide the\n * given element with a smooth fading transition.\n */\n\nimport * as MC from \"@lisn/globals/minification-constants\";\n\nimport {\n displayElement,\n displayElementNow,\n undisplayElement,\n undisplayElementNow,\n toggleDisplayElement,\n} from \"@lisn/utils/css-alter\";\n\nimport { Action, registerAction } from \"@lisn/actions/action\";\n\n/**\n * Displays or \"undisplays\" (display: none) the given element.\n *\n * **IMPORTANT:** When constructed, it adds `display: none` to the element as a\n * form of initialization.\n *\n * -------\n *\n * To use with auto-widgets (HTML API) as part of a trigger specification:\n * - Action name: \"display\".\n * - Accepted string arguments: none\n * - Accepted options: none\n *\n * @example\n * ```html\n * <button id=\"btn\">Display/undisplay</button>\n * <div data-lisn-on-click=\"@display +target=#btn\"></div>\n * ```\n *\n * @category Showing/hiding elements\n */\nexport class Display implements Action {\n /**\n * It reverts the element to its original `display` property.\n */\n readonly do: () => Promise<void>;\n\n /**\n * Sets `display: none` on the element.\n */\n readonly undo: () => Promise<void>;\n\n /**\n * Displays the element if it's \"undisplayed\", otherwise \"undisplays\" it.\n */\n readonly toggle: () => Promise<void>;\n\n static register() {\n registerAction(\"display\", (element) => new Display(element));\n }\n\n constructor(element: Element) {\n undisplayElementNow(element); // initial state\n\n const { _display, _undisplay, _toggle } = getMethods(element);\n this.do = _display;\n this.undo = _undisplay;\n this[MC.S_TOGGLE] = _toggle;\n }\n}\n\n/**\n * \"Undisplays\" (display: none) or displays the given element.\n *\n * **IMPORTANT:** When constructed, it removes the `lisn-undisplay` class if\n * present on 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: \"undisplay\".\n * - Accepted string arguments: none\n * - Accepted options: none\n *\n * @example\n * ```html\n * <button id=\"btn\">Display/undisplay</button>\n * <div data-lisn-on-click=\"@undisplay +target=#btn\"></div>\n * ```\n *\n * @category Showing/hiding elements\n */\nexport class Undisplay implements Action {\n /**\n * Sets `display: none` on the element.\n */\n readonly do: () => Promise<void>;\n\n /**\n * It reverts the element to its original `display` property.\n */\n readonly undo: () => Promise<void>;\n\n /**\n * Displays the element if it's \"undisplayed\", otherwise \"undisplays\" it.\n */\n readonly toggle: () => Promise<void>;\n\n static register() {\n registerAction(\"undisplay\", (element) => new Undisplay(element));\n }\n\n constructor(element: Element) {\n displayElementNow(element); // initial state\n\n const { _display, _undisplay, _toggle } = getMethods(element);\n this.do = _undisplay;\n this.undo = _display;\n this[MC.S_TOGGLE] = _toggle;\n }\n}\n\n// --------------------\n\nconst getMethods = (element: Element) => {\n return {\n _display: async () => {\n await displayElement(element); // ignore return val\n },\n\n _undisplay: async () => {\n await undisplayElement(element); // ignore return val\n },\n\n _toggle: async () => {\n await toggleDisplayElement(element); // ignore return val\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}