UNPKG

toggles

Version:

A collection of React hooks for toggles with dynamic noun and verb APIs

41 lines (40 loc) 1.56 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.verbs = exports.negativeVerbs = exports.positiveVerbs = exports.verbPairs = void 0; var nouns_1 = require("./nouns"); // toggle verb pairs exports.verbPairs = { open: 'close', show: 'hide', turnOn: 'turnOff', check: 'uncheck', enable: 'disable', expand: 'collapse', activate: 'deactivate', start: 'end', connect: 'disconnect', focus: 'blur', mount: 'unmount', reveal: 'conceal', display: 'dismiss', lock: 'unlock', subscribe: 'unsubscribe' }; var createVerbs = function (keys, value) { return Object.fromEntries(keys.map(function (key) { return [key, function (noun) { return (0, nouns_1.setNounValue)(noun, value); }]; })); }; exports.positiveVerbs = createVerbs(Object.keys(exports.verbPairs), true); exports.negativeVerbs = createVerbs(Object.values(exports.verbPairs), false); var toggle = function (noun) { return (0, nouns_1.setNounValue)(noun, !(noun === null || noun === void 0 ? void 0 : noun.isActive)); }; exports.verbs = __assign(__assign(__assign({}, exports.positiveVerbs), exports.negativeVerbs), { toggle: toggle });