constants.js 1007 Bytes
// Constants used by table helpers

export const FIELD_KEY_CELL_VARIANT = '_cellVariants'
export const FIELD_KEY_ROW_VARIANT = '_rowVariant'
export const FIELD_KEY_SHOW_DETAILS = '_showDetails'

// Object of item keys that should be ignored for headers and
// stringification and filter events
export const IGNORED_FIELD_KEYS = [
  FIELD_KEY_CELL_VARIANT,
  FIELD_KEY_ROW_VARIANT,
  FIELD_KEY_SHOW_DETAILS
].reduce((result, key) => ({ ...result, [key]: true }), {})

// Filter CSS selector for click/dblclick/etc. events
// If any of these selectors match the clicked element, we ignore the event
export const EVENT_FILTER = [
  'a',
  'a *', // Include content inside links
  'button',
  'button *', // Include content inside buttons
  'input:not(.disabled):not([disabled])',
  'select:not(.disabled):not([disabled])',
  'textarea:not(.disabled):not([disabled])',
  '[role="link"]',
  '[role="link"] *',
  '[role="button"]',
  '[role="button"] *',
  '[tabindex]:not(.disabled):not([disabled])'
].join(',')