UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

28 lines (27 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useListItemSelect = void 0; const common_1 = require("@workday/canvas-kit-react/common"); const useListModel_1 = require("./useListModel"); /** * This elemProps hook adds selection support to a `*.Item` subcomponent of a collection. It adds a * click handler that toggles selection status according to the [Selection * Manager](#selection-manager) used. * * ```ts * const useMyItem = composeHooks( * useListItemSelect, // adds selection support to an item * useListItemRegister * ); * ``` */ exports.useListItemSelect = (0, common_1.createElemPropsHook)(useListModel_1.useListModel)(({ state, events }, _, elemProps = {}) => { const name = elemProps['data-id'] || ''; const onClick = (event) => { if (!state.nonInteractiveIds.includes(name) && event.currentTarget.getAttribute('aria-disabled') !== 'true') { events.select({ id: name }); } }; return { onClick }; });