UNPKG

@zag-js/date-picker

Version:

Core logic for the date-picker widget implemented as a state machine

59 lines (58 loc) 2.91 kB
// src/date-picker.dom.ts import { query, queryAll } from "@zag-js/dom-query"; var getLabelId = (ctx, index) => ctx.ids?.label?.(index) ?? `datepicker:${ctx.id}:label:${index}`; var getRootId = (ctx) => ctx.ids?.root ?? `datepicker:${ctx.id}`; var getTableId = (ctx, id) => ctx.ids?.table?.(id) ?? `datepicker:${ctx.id}:table:${id}`; var getTableHeaderId = (ctx, id) => ctx.ids?.tableHeader?.(id) ?? `datepicker:${ctx.id}:thead`; var getTableBodyId = (ctx, id) => ctx.ids?.tableBody?.(id) ?? `datepicker:${ctx.id}:tbody`; var getTableRowId = (ctx, id) => ctx.ids?.tableRow?.(id) ?? `datepicker:${ctx.id}:tr:${id}`; var getContentId = (ctx) => ctx.ids?.content ?? `datepicker:${ctx.id}:content`; var getCellTriggerId = (ctx, id) => ctx.ids?.cellTrigger?.(id) ?? `datepicker:${ctx.id}:cell-trigger:${id}`; var getPrevTriggerId = (ctx, view) => ctx.ids?.prevTrigger?.(view) ?? `datepicker:${ctx.id}:prev:${view}`; var getNextTriggerId = (ctx, view) => ctx.ids?.nextTrigger?.(view) ?? `datepicker:${ctx.id}:next:${view}`; var getViewTriggerId = (ctx, view) => ctx.ids?.viewTrigger?.(view) ?? `datepicker:${ctx.id}:view:${view}`; var getClearTriggerId = (ctx) => ctx.ids?.clearTrigger ?? `datepicker:${ctx.id}:clear`; var getControlId = (ctx) => ctx.ids?.control ?? `datepicker:${ctx.id}:control`; var getInputId = (ctx, index) => ctx.ids?.input?.(index) ?? `datepicker:${ctx.id}:input:${index}`; var getTriggerId = (ctx) => ctx.ids?.trigger ?? `datepicker:${ctx.id}:trigger`; var getPositionerId = (ctx) => ctx.ids?.positioner ?? `datepicker:${ctx.id}:positioner`; var getMonthSelectId = (ctx) => ctx.ids?.monthSelect ?? `datepicker:${ctx.id}:month-select`; var getYearSelectId = (ctx) => ctx.ids?.yearSelect ?? `datepicker:${ctx.id}:year-select`; var getFocusedCell = (ctx, view) => query(getContentEl(ctx), `[data-part=table-cell-trigger][data-view=${view}][data-focus]:not([data-outside-range])`); var getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx)); var getContentEl = (ctx) => ctx.getById(getContentId(ctx)); var getInputEls = (ctx) => queryAll(getControlEl(ctx), `[data-part=input]`); var getYearSelectEl = (ctx) => ctx.getById(getYearSelectId(ctx)); var getMonthSelectEl = (ctx) => ctx.getById(getMonthSelectId(ctx)); var getClearTriggerEl = (ctx) => ctx.getById(getClearTriggerId(ctx)); var getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx)); var getControlEl = (ctx) => ctx.getById(getControlId(ctx)); export { getCellTriggerId, getClearTriggerEl, getClearTriggerId, getContentEl, getContentId, getControlEl, getControlId, getFocusedCell, getInputEls, getInputId, getLabelId, getMonthSelectEl, getMonthSelectId, getNextTriggerId, getPositionerEl, getPositionerId, getPrevTriggerId, getRootId, getTableBodyId, getTableHeaderId, getTableId, getTableRowId, getTriggerEl, getTriggerId, getViewTriggerId, getYearSelectEl, getYearSelectId };