@nvidia-elements/core 2.20.1 → 2.20.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.155.0}/helpers/esm/decorate.js +1 -2
- package/dist/_virtual/_rolldown/runtime.js +1 -2
- package/dist/accordion/accordion-content.js +1 -2
- package/dist/accordion/accordion-content.js.map +1 -1
- package/dist/accordion/accordion-group.js +1 -2
- package/dist/accordion/accordion-group.js.map +1 -1
- package/dist/accordion/accordion-header.js +1 -2
- package/dist/accordion/accordion-header.js.map +1 -1
- package/dist/accordion/accordion.examples.js +1 -2
- package/dist/accordion/accordion.examples.js.map +1 -1
- package/dist/accordion/accordion.js +1 -2
- package/dist/accordion/accordion.js.map +1 -1
- package/dist/accordion/accordion2.js +7 -8
- package/dist/accordion/accordion2.js.map +1 -1
- package/dist/accordion/define.js +0 -1
- package/dist/accordion/define.js.map +1 -1
- package/dist/accordion/index.js +1 -2
- package/dist/alert/alert-group.js +1 -2
- package/dist/alert/alert-group.js.map +1 -1
- package/dist/alert/alert-group2.js +3 -4
- package/dist/alert/alert-group2.js.map +1 -1
- package/dist/alert/alert.examples.js +1 -2
- package/dist/alert/alert.examples.js.map +1 -1
- package/dist/alert/alert.global.js +1 -2
- package/dist/alert/alert.global.js.map +1 -1
- package/dist/alert/alert.js +1 -2
- package/dist/alert/alert.js.map +1 -1
- package/dist/alert/alert2.js +3 -4
- package/dist/alert/alert2.js.map +1 -1
- package/dist/alert/define.js +0 -1
- package/dist/alert/define.js.map +1 -1
- package/dist/avatar/avatar-group.js +1 -2
- package/dist/avatar/avatar-group.js.map +1 -1
- package/dist/avatar/avatar-group2.js +2 -3
- package/dist/avatar/avatar-group2.js.map +1 -1
- package/dist/avatar/avatar.examples.js +1 -2
- package/dist/avatar/avatar.examples.js.map +1 -1
- package/dist/avatar/avatar.js +1 -2
- package/dist/avatar/avatar.js.map +1 -1
- package/dist/avatar/avatar2.js +3 -4
- package/dist/avatar/avatar2.js.map +1 -1
- package/dist/avatar/define.js +0 -1
- package/dist/avatar/define.js.map +1 -1
- package/dist/badge/badge.examples.js +1 -2
- package/dist/badge/badge.examples.js.map +1 -1
- package/dist/badge/badge.js +1 -2
- package/dist/badge/badge.js.map +1 -1
- package/dist/badge/badge2.js +3 -4
- package/dist/badge/badge2.js.map +1 -1
- package/dist/badge/define.js +1 -2
- package/dist/badge/define.js.map +1 -1
- package/dist/badge/index.js +1 -2
- package/dist/breadcrumb/breadcrumb.examples.js +1 -2
- package/dist/breadcrumb/breadcrumb.examples.js.map +1 -1
- package/dist/breadcrumb/breadcrumb.js +1 -2
- package/dist/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/breadcrumb/breadcrumb2.js +3 -4
- package/dist/breadcrumb/breadcrumb2.js.map +1 -1
- package/dist/breadcrumb/define.js +1 -2
- package/dist/breadcrumb/define.js.map +1 -1
- package/dist/breadcrumb/index.js +1 -2
- package/dist/bundles/index.js +22 -10
- package/dist/button/button.examples.js +1 -2
- package/dist/button/button.examples.js.map +1 -1
- package/dist/button/button.js +1 -2
- package/dist/button/button.js.map +1 -1
- package/dist/button/button2.js +3 -4
- package/dist/button/button2.js.map +1 -1
- package/dist/button/define.js +1 -2
- package/dist/button/define.js.map +1 -1
- package/dist/button/index.js +1 -2
- package/dist/button-group/button-group.examples.js +1 -2
- package/dist/button-group/button-group.examples.js.map +1 -1
- package/dist/button-group/button-group.global.js +1 -2
- package/dist/button-group/button-group.global.js.map +1 -1
- package/dist/button-group/button-group.js +1 -2
- package/dist/button-group/button-group.js.map +1 -1
- package/dist/button-group/button-group2.js +3 -4
- package/dist/button-group/button-group2.js.map +1 -1
- package/dist/button-group/define.js +1 -2
- package/dist/button-group/define.js.map +1 -1
- package/dist/button-group/index.js +1 -2
- package/dist/card/card-content.js +1 -2
- package/dist/card/card-content.js.map +1 -1
- package/dist/card/card-footer.js +1 -2
- package/dist/card/card-footer.js.map +1 -1
- package/dist/card/card-header.js +1 -2
- package/dist/card/card-header.js.map +1 -1
- package/dist/card/card.examples.js +1 -2
- package/dist/card/card.examples.js.map +1 -1
- package/dist/card/card.js +1 -2
- package/dist/card/card.js.map +1 -1
- package/dist/card/card2.js +6 -7
- package/dist/card/card2.js.map +1 -1
- package/dist/card/define.js +0 -1
- package/dist/card/define.js.map +1 -1
- package/dist/card/index.js +1 -2
- package/dist/chat-message/chat-message.examples.js +1 -2
- package/dist/chat-message/chat-message.examples.js.map +1 -1
- package/dist/chat-message/chat-message.global.js +1 -2
- package/dist/chat-message/chat-message.global.js.map +1 -1
- package/dist/chat-message/chat-message.js +1 -2
- package/dist/chat-message/chat-message.js.map +1 -1
- package/dist/chat-message/chat-message2.js +3 -4
- package/dist/chat-message/chat-message2.js.map +1 -1
- package/dist/chat-message/define.js +1 -2
- package/dist/chat-message/define.js.map +1 -1
- package/dist/chat-message/index.js +1 -2
- package/dist/checkbox/checkbox-group.js +1 -2
- package/dist/checkbox/checkbox-group.js.map +1 -1
- package/dist/checkbox/checkbox-group2.js +3 -4
- package/dist/checkbox/checkbox-group2.js.map +1 -1
- package/dist/checkbox/checkbox.examples.js +1 -2
- package/dist/checkbox/checkbox.examples.js.map +1 -1
- package/dist/checkbox/checkbox.js +1 -2
- package/dist/checkbox/checkbox.js.map +1 -1
- package/dist/checkbox/checkbox2.js +3 -4
- package/dist/checkbox/checkbox2.js.map +1 -1
- package/dist/checkbox/define.js +0 -1
- package/dist/checkbox/define.js.map +1 -1
- package/dist/color/color.examples.js +1 -2
- package/dist/color/color.examples.js.map +1 -1
- package/dist/color/color.global.js +1 -2
- package/dist/color/color.global.js.map +1 -1
- package/dist/color/color.js +1 -2
- package/dist/color/color.js.map +1 -1
- package/dist/color/color2.js +3 -4
- package/dist/color/color2.js.map +1 -1
- package/dist/color/define.js +0 -1
- package/dist/color/define.js.map +1 -1
- package/dist/color/index.js +1 -2
- package/dist/combobox/combobox.examples.js +1 -2
- package/dist/combobox/combobox.examples.js.map +1 -1
- package/dist/combobox/combobox.js +1 -2
- package/dist/combobox/combobox.js.map +1 -1
- package/dist/combobox/combobox2.js +3 -4
- package/dist/combobox/combobox2.js.map +1 -1
- package/dist/combobox/define.js +0 -1
- package/dist/combobox/define.js.map +1 -1
- package/dist/combobox/index.js +1 -2
- package/dist/copy-button/copy-button.examples.js +1 -2
- package/dist/copy-button/copy-button.examples.js.map +1 -1
- package/dist/copy-button/copy-button.js +1 -2
- package/dist/copy-button/copy-button.js.map +1 -1
- package/dist/copy-button/copy-button2.js +3 -4
- package/dist/copy-button/copy-button2.js.map +1 -1
- package/dist/copy-button/define.js +1 -2
- package/dist/copy-button/define.js.map +1 -1
- package/dist/copy-button/index.js +1 -2
- package/dist/date/date.examples.js +1 -2
- package/dist/date/date.examples.js.map +1 -1
- package/dist/date/date.js +1 -2
- package/dist/date/date.js.map +1 -1
- package/dist/date/date2.js +3 -4
- package/dist/date/date2.js.map +1 -1
- package/dist/date/define.js +0 -1
- package/dist/date/define.js.map +1 -1
- package/dist/date/index.js +1 -2
- package/dist/datetime/datetime.examples.js +1 -2
- package/dist/datetime/datetime.examples.js.map +1 -1
- package/dist/datetime/datetime.js +1 -2
- package/dist/datetime/datetime.js.map +1 -1
- package/dist/datetime/datetime2.js +3 -4
- package/dist/datetime/datetime2.js.map +1 -1
- package/dist/datetime/define.js +0 -1
- package/dist/datetime/define.js.map +1 -1
- package/dist/datetime/index.js +1 -2
- package/dist/dialog/define.js +0 -1
- package/dist/dialog/define.js.map +1 -1
- package/dist/dialog/dialog-footer.js +1 -2
- package/dist/dialog/dialog-footer.js.map +1 -1
- package/dist/dialog/dialog-footer2.js +2 -3
- package/dist/dialog/dialog-footer2.js.map +1 -1
- package/dist/dialog/dialog-header.js +1 -2
- package/dist/dialog/dialog-header.js.map +1 -1
- package/dist/dialog/dialog-header2.js +2 -3
- package/dist/dialog/dialog-header2.js.map +1 -1
- package/dist/dialog/dialog.examples.js +1 -2
- package/dist/dialog/dialog.examples.js.map +1 -1
- package/dist/dialog/dialog.global.js +1 -2
- package/dist/dialog/dialog.global.js.map +1 -1
- package/dist/dialog/dialog.js +1 -2
- package/dist/dialog/dialog.js.map +1 -1
- package/dist/dialog/dialog2.js +3 -4
- package/dist/dialog/dialog2.js.map +1 -1
- package/dist/divider/define.js +1 -2
- package/dist/divider/define.js.map +1 -1
- package/dist/divider/divider.examples.js +1 -2
- package/dist/divider/divider.examples.js.map +1 -1
- package/dist/divider/divider.js +1 -2
- package/dist/divider/divider.js.map +1 -1
- package/dist/divider/divider2.js +3 -4
- package/dist/divider/divider2.js.map +1 -1
- package/dist/divider/index.js +1 -2
- package/dist/dot/define.js +1 -2
- package/dist/dot/define.js.map +1 -1
- package/dist/dot/dot.examples.js +1 -2
- package/dist/dot/dot.examples.js.map +1 -1
- package/dist/dot/dot.js +1 -2
- package/dist/dot/dot.js.map +1 -1
- package/dist/dot/dot2.js +3 -4
- package/dist/dot/dot2.js.map +1 -1
- package/dist/dot/index.js +1 -2
- package/dist/drag-handle/define.js +1 -2
- package/dist/drag-handle/define.js.map +1 -1
- package/dist/drag-handle/drag-handle.examples.js +1 -2
- package/dist/drag-handle/drag-handle.examples.js.map +1 -1
- package/dist/drag-handle/drag-handle.js +1 -2
- package/dist/drag-handle/drag-handle.js.map +1 -1
- package/dist/drag-handle/drag-handle2.js +3 -4
- package/dist/drag-handle/drag-handle2.js.map +1 -1
- package/dist/drag-handle/index.js +1 -2
- package/dist/drawer/define.js +0 -1
- package/dist/drawer/define.js.map +1 -1
- package/dist/drawer/drawer-content.js +1 -2
- package/dist/drawer/drawer-content.js.map +1 -1
- package/dist/drawer/drawer-content2.js +2 -3
- package/dist/drawer/drawer-content2.js.map +1 -1
- package/dist/drawer/drawer-footer.js +1 -2
- package/dist/drawer/drawer-footer.js.map +1 -1
- package/dist/drawer/drawer-footer2.js +2 -3
- package/dist/drawer/drawer-footer2.js.map +1 -1
- package/dist/drawer/drawer-header.js +1 -2
- package/dist/drawer/drawer-header.js.map +1 -1
- package/dist/drawer/drawer-header2.js +2 -3
- package/dist/drawer/drawer-header2.js.map +1 -1
- package/dist/drawer/drawer.examples.js +1 -2
- package/dist/drawer/drawer.examples.js.map +1 -1
- package/dist/drawer/drawer.js +1 -2
- package/dist/drawer/drawer.js.map +1 -1
- package/dist/drawer/drawer2.js +3 -4
- package/dist/drawer/drawer2.js.map +1 -1
- package/dist/dropdown/define.js +0 -1
- package/dist/dropdown/define.js.map +1 -1
- package/dist/dropdown/dropdown-footer.js +1 -2
- package/dist/dropdown/dropdown-footer.js.map +1 -1
- package/dist/dropdown/dropdown-footer2.js +2 -3
- package/dist/dropdown/dropdown-footer2.js.map +1 -1
- package/dist/dropdown/dropdown-header.js +1 -2
- package/dist/dropdown/dropdown-header.js.map +1 -1
- package/dist/dropdown/dropdown-header2.js +2 -3
- package/dist/dropdown/dropdown-header2.js.map +1 -1
- package/dist/dropdown/dropdown.examples.js +1 -2
- package/dist/dropdown/dropdown.examples.js.map +1 -1
- package/dist/dropdown/dropdown.js +1 -2
- package/dist/dropdown/dropdown.js.map +1 -1
- package/dist/dropdown/dropdown2.js +3 -4
- package/dist/dropdown/dropdown2.js.map +1 -1
- package/dist/dropdown-group/define.js +1 -2
- package/dist/dropdown-group/define.js.map +1 -1
- package/dist/dropdown-group/dropdown-group.examples.js +1 -2
- package/dist/dropdown-group/dropdown-group.examples.js.map +1 -1
- package/dist/dropdown-group/dropdown-group.global.js +1 -2
- package/dist/dropdown-group/dropdown-group.global.js.map +1 -1
- package/dist/dropdown-group/dropdown-group.js +3 -4
- package/dist/dropdown-group/dropdown-group.js.map +1 -1
- package/dist/dropdown-group/index.js +1 -2
- package/dist/dropzone/define.js +1 -2
- package/dist/dropzone/define.js.map +1 -1
- package/dist/dropzone/dropzone.examples.js +1 -2
- package/dist/dropzone/dropzone.examples.js.map +1 -1
- package/dist/dropzone/dropzone.js +1 -2
- package/dist/dropzone/dropzone.js.map +1 -1
- package/dist/dropzone/dropzone.util.js +1 -2
- package/dist/dropzone/dropzone.util.js.map +1 -1
- package/dist/dropzone/dropzone2.js +3 -4
- package/dist/dropzone/dropzone2.js.map +1 -1
- package/dist/dropzone/index.js +1 -2
- package/dist/file/define.js +0 -1
- package/dist/file/define.js.map +1 -1
- package/dist/file/file.examples.js +1 -2
- package/dist/file/file.examples.js.map +1 -1
- package/dist/file/file.global.js +1 -2
- package/dist/file/file.global.js.map +1 -1
- package/dist/file/file.js +1 -2
- package/dist/file/file.js.map +1 -1
- package/dist/file/file2.js +2 -3
- package/dist/file/file2.js.map +1 -1
- package/dist/file/index.js +1 -2
- package/dist/format-bytes/define.js +1 -2
- package/dist/format-bytes/define.js.map +1 -1
- package/dist/format-bytes/format-bytes.examples.js +1 -2
- package/dist/format-bytes/format-bytes.examples.js.map +1 -1
- package/dist/format-bytes/format-bytes.js +1 -2
- package/dist/format-bytes/format-bytes.js.map +1 -1
- package/dist/format-bytes/format-bytes2.js +3 -4
- package/dist/format-bytes/format-bytes2.js.map +1 -1
- package/dist/format-bytes/index.js +1 -2
- package/dist/format-datetime/define.js +1 -2
- package/dist/format-datetime/define.js.map +1 -1
- package/dist/format-datetime/format-datetime.examples.js +1 -2
- package/dist/format-datetime/format-datetime.examples.js.map +1 -1
- package/dist/format-datetime/format-datetime.js +1 -2
- package/dist/format-datetime/format-datetime.js.map +1 -1
- package/dist/format-datetime/format-datetime2.js +3 -4
- package/dist/format-datetime/format-datetime2.js.map +1 -1
- package/dist/format-datetime/index.js +1 -2
- package/dist/format-number/define.js +1 -2
- package/dist/format-number/define.js.map +1 -1
- package/dist/format-number/format-number.examples.js +1 -2
- package/dist/format-number/format-number.examples.js.map +1 -1
- package/dist/format-number/format-number.js +1 -2
- package/dist/format-number/format-number.js.map +1 -1
- package/dist/format-number/format-number2.js +3 -4
- package/dist/format-number/format-number2.js.map +1 -1
- package/dist/format-number/index.js +1 -2
- package/dist/format-relative-time/define.js +1 -2
- package/dist/format-relative-time/define.js.map +1 -1
- package/dist/format-relative-time/format-relative-time.examples.js +1 -2
- package/dist/format-relative-time/format-relative-time.examples.js.map +1 -1
- package/dist/format-relative-time/format-relative-time.js +1 -2
- package/dist/format-relative-time/format-relative-time.js.map +1 -1
- package/dist/format-relative-time/format-relative-time2.js +3 -4
- package/dist/format-relative-time/format-relative-time2.js.map +1 -1
- package/dist/format-relative-time/index.js +1 -2
- package/dist/format-truncate/define.js +1 -2
- package/dist/format-truncate/define.js.map +1 -1
- package/dist/format-truncate/format-truncate.examples.js +1 -2
- package/dist/format-truncate/format-truncate.examples.js.map +1 -1
- package/dist/format-truncate/format-truncate.js +1 -2
- package/dist/format-truncate/format-truncate.js.map +1 -1
- package/dist/format-truncate/format-truncate2.js +4 -5
- package/dist/format-truncate/format-truncate2.js.map +1 -1
- package/dist/format-truncate/index.js +1 -2
- package/dist/format-truncate/utils.js +0 -1
- package/dist/format-truncate/utils.js.map +1 -1
- package/dist/forms/actions.examples.js +1 -2
- package/dist/forms/actions.examples.js.map +1 -1
- package/dist/forms/control/control.examples.js +1 -2
- package/dist/forms/control/control.examples.js.map +1 -1
- package/dist/forms/control/control.global.js +1 -2
- package/dist/forms/control/control.global.js.map +1 -1
- package/dist/forms/control/control.js +1 -2
- package/dist/forms/control/control.js.map +1 -1
- package/dist/forms/control/control2.js +4 -13
- package/dist/forms/control/control2.js.map +1 -1
- package/dist/forms/control-group/control-group.js +1 -2
- package/dist/forms/control-group/control-group.js.map +1 -1
- package/dist/forms/control-group/control-group2.js +3 -4
- package/dist/forms/control-group/control-group2.js.map +1 -1
- package/dist/forms/control-message/control-message.js +1 -2
- package/dist/forms/control-message/control-message.js.map +1 -1
- package/dist/forms/control-message/control-message2.js +3 -4
- package/dist/forms/control-message/control-message2.js.map +1 -1
- package/dist/forms/define.js +0 -1
- package/dist/forms/define.js.map +1 -1
- package/dist/forms/forms.examples.js +1 -2
- package/dist/forms/forms.examples.js.map +1 -1
- package/dist/forms/utils/layout.js +1 -2
- package/dist/forms/utils/layout.js.map +1 -1
- package/dist/forms/utils/states.js +1 -2
- package/dist/forms/utils/states.js.map +1 -1
- package/dist/forms/validation.examples.js +1 -2
- package/dist/forms/validation.examples.js.map +1 -1
- package/dist/gauge/define.js +1 -2
- package/dist/gauge/define.js.map +1 -1
- package/dist/gauge/gauge.examples.js +1 -2
- package/dist/gauge/gauge.examples.js.map +1 -1
- package/dist/gauge/gauge.js +1 -2
- package/dist/gauge/gauge.js.map +1 -1
- package/dist/gauge/gauge2.js +3 -4
- package/dist/gauge/gauge2.js.map +1 -1
- package/dist/gauge/index.js +1 -2
- package/dist/grid/cell/cell.js +1 -2
- package/dist/grid/cell/cell.js.map +1 -1
- package/dist/grid/cell/cell2.js +2 -3
- package/dist/grid/cell/cell2.js.map +1 -1
- package/dist/grid/column/column.js +1 -2
- package/dist/grid/column/column.js.map +1 -1
- package/dist/grid/column/column2.js +3 -4
- package/dist/grid/column/column2.js.map +1 -1
- package/dist/grid/define.js +0 -1
- package/dist/grid/define.js.map +1 -1
- package/dist/grid/footer/footer.js +1 -2
- package/dist/grid/footer/footer.js.map +1 -1
- package/dist/grid/footer/footer2.js +3 -4
- package/dist/grid/footer/footer2.js.map +1 -1
- package/dist/grid/grid.examples.js +1 -2
- package/dist/grid/grid.examples.js.map +1 -1
- package/dist/grid/grid.global.js +1 -2
- package/dist/grid/grid.global.js.map +1 -1
- package/dist/grid/grid.js +1 -2
- package/dist/grid/grid.js.map +1 -1
- package/dist/grid/grid2.js +3 -4
- package/dist/grid/grid2.js.map +1 -1
- package/dist/grid/header/header.js +1 -2
- package/dist/grid/header/header.js.map +1 -1
- package/dist/grid/header/header2.js +3 -4
- package/dist/grid/header/header2.js.map +1 -1
- package/dist/grid/placeholder/placeholder.js +1 -2
- package/dist/grid/placeholder/placeholder.js.map +1 -1
- package/dist/grid/placeholder/placeholder2.js +2 -3
- package/dist/grid/placeholder/placeholder2.js.map +1 -1
- package/dist/grid/row/row.js +1 -2
- package/dist/grid/row/row.js.map +1 -1
- package/dist/grid/row/row2.js +3 -4
- package/dist/grid/row/row2.js.map +1 -1
- package/dist/icon/define.js +0 -1
- package/dist/icon/define.js.map +1 -1
- package/dist/icon/icon.examples.js +1 -2
- package/dist/icon/icon.examples.js.map +1 -1
- package/dist/icon/icon.js +1 -2
- package/dist/icon/icon.js.map +1 -1
- package/dist/icon/icon2.js +4 -5
- package/dist/icon/icon2.js.map +1 -1
- package/dist/icon/icons/academic-cap.js +1 -2
- package/dist/icon/icons/academic-cap.js.map +1 -1
- package/dist/icon/icons/add-asset.js +1 -2
- package/dist/icon/icons/add-asset.js.map +1 -1
- package/dist/icon/icons/add-comment.js +1 -2
- package/dist/icon/icons/add-comment.js.map +1 -1
- package/dist/icon/icons/add-grid.js +1 -2
- package/dist/icon/icons/add-grid.js.map +1 -1
- package/dist/icon/icons/add-user.js +1 -2
- package/dist/icon/icons/add-user.js.map +1 -1
- package/dist/icon/icons/add.js +1 -2
- package/dist/icon/icons/add.js.map +1 -1
- package/dist/icon/icons/ancestors.js +1 -2
- package/dist/icon/icons/ancestors.js.map +1 -1
- package/dist/icon/icons/archive.js +1 -2
- package/dist/icon/icons/archive.js.map +1 -1
- package/dist/icon/icons/arrow-angle.js +1 -2
- package/dist/icon/icons/arrow-angle.js.map +1 -1
- package/dist/icon/icons/arrow-both.js +1 -2
- package/dist/icon/icons/arrow-both.js.map +1 -1
- package/dist/icon/icons/arrow-cycle.js +1 -2
- package/dist/icon/icons/arrow-cycle.js.map +1 -1
- package/dist/icon/icons/arrow-path-rounded-square.js +1 -2
- package/dist/icon/icons/arrow-path-rounded-square.js.map +1 -1
- package/dist/icon/icons/arrow-stop.js +1 -2
- package/dist/icon/icons/arrow-stop.js.map +1 -1
- package/dist/icon/icons/arrow.js +1 -2
- package/dist/icon/icons/arrow.js.map +1 -1
- package/dist/icon/icons/at-symbol.js +1 -2
- package/dist/icon/icons/at-symbol.js.map +1 -1
- package/dist/icon/icons/backspace.js +1 -2
- package/dist/icon/icons/backspace.js.map +1 -1
- package/dist/icon/icons/bar-pill-stack.js +1 -2
- package/dist/icon/icons/bar-pill-stack.js.map +1 -1
- package/dist/icon/icons/bars-3-bottom-left.js +1 -2
- package/dist/icon/icons/bars-3-bottom-left.js.map +1 -1
- package/dist/icon/icons/bars-3-bottom-right.js +1 -2
- package/dist/icon/icons/bars-3-bottom-right.js.map +1 -1
- package/dist/icon/icons/bars-3-center-left.js +1 -2
- package/dist/icon/icons/bars-3-center-left.js.map +1 -1
- package/dist/icon/icons/bars-3.js +1 -2
- package/dist/icon/icons/bars-3.js.map +1 -1
- package/dist/icon/icons/bars-4.js +1 -2
- package/dist/icon/icons/bars-4.js.map +1 -1
- package/dist/icon/icons/beaker.js +1 -2
- package/dist/icon/icons/beaker.js.map +1 -1
- package/dist/icon/icons/bell-slash.js +1 -2
- package/dist/icon/icons/bell-slash.js.map +1 -1
- package/dist/icon/icons/bell-solid.js +1 -2
- package/dist/icon/icons/bell-solid.js.map +1 -1
- package/dist/icon/icons/bell.js +1 -2
- package/dist/icon/icons/bell.js.map +1 -1
- package/dist/icon/icons/bold.js +1 -2
- package/dist/icon/icons/bold.js.map +1 -1
- package/dist/icon/icons/book-solid.js +1 -2
- package/dist/icon/icons/book-solid.js.map +1 -1
- package/dist/icon/icons/book.js +1 -2
- package/dist/icon/icons/book.js.map +1 -1
- package/dist/icon/icons/bookmark-solid.js +1 -2
- package/dist/icon/icons/bookmark-solid.js.map +1 -1
- package/dist/icon/icons/bookmark.js +1 -2
- package/dist/icon/icons/bookmark.js.map +1 -1
- package/dist/icon/icons/bounding-box.js +1 -2
- package/dist/icon/icons/bounding-box.js.map +1 -1
- package/dist/icon/icons/branch.js +1 -2
- package/dist/icon/icons/branch.js.map +1 -1
- package/dist/icon/icons/briefcase.js +1 -2
- package/dist/icon/icons/briefcase.js.map +1 -1
- package/dist/icon/icons/broadcast.js +1 -2
- package/dist/icon/icons/broadcast.js.map +1 -1
- package/dist/icon/icons/browser.js +1 -2
- package/dist/icon/icons/browser.js.map +1 -1
- package/dist/icon/icons/bug.js +1 -2
- package/dist/icon/icons/bug.js.map +1 -1
- package/dist/icon/icons/calendar.js +1 -2
- package/dist/icon/icons/calendar.js.map +1 -1
- package/dist/icon/icons/camera.js +1 -2
- package/dist/icon/icons/camera.js.map +1 -1
- package/dist/icon/icons/cancel.js +1 -2
- package/dist/icon/icons/cancel.js.map +1 -1
- package/dist/icon/icons/caret.js +1 -2
- package/dist/icon/icons/caret.js.map +1 -1
- package/dist/icon/icons/carets-closed-square.js +1 -2
- package/dist/icon/icons/carets-closed-square.js.map +1 -1
- package/dist/icon/icons/carousel.js +1 -2
- package/dist/icon/icons/carousel.js.map +1 -1
- package/dist/icon/icons/category-list.js +1 -2
- package/dist/icon/icons/category-list.js.map +1 -1
- package/dist/icon/icons/chart-bar.js +1 -2
- package/dist/icon/icons/chart-bar.js.map +1 -1
- package/dist/icon/icons/chat-bubble-solid.js +1 -2
- package/dist/icon/icons/chat-bubble-solid.js.map +1 -1
- package/dist/icon/icons/chat-bubble.js +1 -2
- package/dist/icon/icons/chat-bubble.js.map +1 -1
- package/dist/icon/icons/chat-bubbles.js +1 -2
- package/dist/icon/icons/chat-bubbles.js.map +1 -1
- package/dist/icon/icons/check-badge-solid.js +1 -2
- package/dist/icon/icons/check-badge-solid.js.map +1 -1
- package/dist/icon/icons/check-badge.js +1 -2
- package/dist/icon/icons/check-badge.js.map +1 -1
- package/dist/icon/icons/check.js +1 -2
- package/dist/icon/icons/check.js.map +1 -1
- package/dist/icon/icons/checklist.js +1 -2
- package/dist/icon/icons/checklist.js.map +1 -1
- package/dist/icon/icons/checkmark-circle-solid.js +1 -2
- package/dist/icon/icons/checkmark-circle-solid.js.map +1 -1
- package/dist/icon/icons/checkmark-circle.js +1 -2
- package/dist/icon/icons/checkmark-circle.js.map +1 -1
- package/dist/icon/icons/chevron.js +1 -2
- package/dist/icon/icons/chevron.js.map +1 -1
- package/dist/icon/icons/chip.js +1 -2
- package/dist/icon/icons/chip.js.map +1 -1
- package/dist/icon/icons/circle-angled-line-solid.js +1 -2
- package/dist/icon/icons/circle-angled-line-solid.js.map +1 -1
- package/dist/icon/icons/circle-angled-line.js +1 -2
- package/dist/icon/icons/circle-angled-line.js.map +1 -1
- package/dist/icon/icons/circle-dash.js +1 -2
- package/dist/icon/icons/circle-dash.js.map +1 -1
- package/dist/icon/icons/circle-dot-arrows.js +1 -2
- package/dist/icon/icons/circle-dot-arrows.js.map +1 -1
- package/dist/icon/icons/circle-dot.js +1 -2
- package/dist/icon/icons/circle-dot.js.map +1 -1
- package/dist/icon/icons/circle-half.js +1 -2
- package/dist/icon/icons/circle-half.js.map +1 -1
- package/dist/icon/icons/circle-rule.js +1 -2
- package/dist/icon/icons/circle-rule.js.map +1 -1
- package/dist/icon/icons/circle-tick.js +1 -2
- package/dist/icon/icons/circle-tick.js.map +1 -1
- package/dist/icon/icons/circle.js +1 -2
- package/dist/icon/icons/circle.js.map +1 -1
- package/dist/icon/icons/clipboard.js +1 -2
- package/dist/icon/icons/clipboard.js.map +1 -1
- package/dist/icon/icons/clock-circle-arrow.js +1 -2
- package/dist/icon/icons/clock-circle-arrow.js.map +1 -1
- package/dist/icon/icons/clock.js +1 -2
- package/dist/icon/icons/clock.js.map +1 -1
- package/dist/icon/icons/cloud-download.js +1 -2
- package/dist/icon/icons/cloud-download.js.map +1 -1
- package/dist/icon/icons/cloud-upload.js +1 -2
- package/dist/icon/icons/cloud-upload.js.map +1 -1
- package/dist/icon/icons/cloud.js +1 -2
- package/dist/icon/icons/cloud.js.map +1 -1
- package/dist/icon/icons/code.js +1 -2
- package/dist/icon/icons/code.js.map +1 -1
- package/dist/icon/icons/collapse-all.js +1 -2
- package/dist/icon/icons/collapse-all.js.map +1 -1
- package/dist/icon/icons/collapse-details.js +1 -2
- package/dist/icon/icons/collapse-details.js.map +1 -1
- package/dist/icon/icons/color-palette.js +1 -2
- package/dist/icon/icons/color-palette.js.map +1 -1
- package/dist/icon/icons/columns.js +1 -2
- package/dist/icon/icons/columns.js.map +1 -1
- package/dist/icon/icons/compare.js +1 -2
- package/dist/icon/icons/compare.js.map +1 -1
- package/dist/icon/icons/computer.js +1 -2
- package/dist/icon/icons/computer.js.map +1 -1
- package/dist/icon/icons/connect-node.js +1 -2
- package/dist/icon/icons/connect-node.js.map +1 -1
- package/dist/icon/icons/connected-blocks.js +1 -2
- package/dist/icon/icons/connected-blocks.js.map +1 -1
- package/dist/icon/icons/copy.js +1 -2
- package/dist/icon/icons/copy.js.map +1 -1
- package/dist/icon/icons/cross-hairs.js +1 -2
- package/dist/icon/icons/cross-hairs.js.map +1 -1
- package/dist/icon/icons/cursor-rays.js +1 -2
- package/dist/icon/icons/cursor-rays.js.map +1 -1
- package/dist/icon/icons/cursor-ripples.js +1 -2
- package/dist/icon/icons/cursor-ripples.js.map +1 -1
- package/dist/icon/icons/data-management.js +1 -2
- package/dist/icon/icons/data-management.js.map +1 -1
- package/dist/icon/icons/delete-node.js +1 -2
- package/dist/icon/icons/delete-node.js.map +1 -1
- package/dist/icon/icons/delete-solid.js +1 -2
- package/dist/icon/icons/delete-solid.js.map +1 -1
- package/dist/icon/icons/delete.js +1 -2
- package/dist/icon/icons/delete.js.map +1 -1
- package/dist/icon/icons/doc-checkmark.js +1 -2
- package/dist/icon/icons/doc-checkmark.js.map +1 -1
- package/dist/icon/icons/dock-bottom.js +1 -2
- package/dist/icon/icons/dock-bottom.js.map +1 -1
- package/dist/icon/icons/dock-none.js +1 -2
- package/dist/icon/icons/dock-none.js.map +1 -1
- package/dist/icon/icons/dock-side.js +1 -2
- package/dist/icon/icons/dock-side.js.map +1 -1
- package/dist/icon/icons/document-clipboard.js +1 -2
- package/dist/icon/icons/document-clipboard.js.map +1 -1
- package/dist/icon/icons/document.js +1 -2
- package/dist/icon/icons/document.js.map +1 -1
- package/dist/icon/icons/dot-solid.js +1 -2
- package/dist/icon/icons/dot-solid.js.map +1 -1
- package/dist/icon/icons/dot.js +1 -2
- package/dist/icon/icons/dot.js.map +1 -1
- package/dist/icon/icons/double-chevron.js +1 -2
- package/dist/icon/icons/double-chevron.js.map +1 -1
- package/dist/icon/icons/download.js +1 -2
- package/dist/icon/icons/download.js.map +1 -1
- package/dist/icon/icons/drag.js +1 -2
- package/dist/icon/icons/drag.js.map +1 -1
- package/dist/icon/icons/dropper.js +1 -2
- package/dist/icon/icons/dropper.js.map +1 -1
- package/dist/icon/icons/duplicate.js +1 -2
- package/dist/icon/icons/duplicate.js.map +1 -1
- package/dist/icon/icons/edit.js +1 -2
- package/dist/icon/icons/edit.js.map +1 -1
- package/dist/icon/icons/ellipses.js +1 -2
- package/dist/icon/icons/ellipses.js.map +1 -1
- package/dist/icon/icons/envelope.js +1 -2
- package/dist/icon/icons/envelope.js.map +1 -1
- package/dist/icon/icons/exclamation-circle-solid.js +1 -2
- package/dist/icon/icons/exclamation-circle-solid.js.map +1 -1
- package/dist/icon/icons/exclamation-circle.js +1 -2
- package/dist/icon/icons/exclamation-circle.js.map +1 -1
- package/dist/icon/icons/exclamation-mark.js +1 -2
- package/dist/icon/icons/exclamation-mark.js.map +1 -1
- package/dist/icon/icons/exclamation-triangle-solid.js +1 -2
- package/dist/icon/icons/exclamation-triangle-solid.js.map +1 -1
- package/dist/icon/icons/exclamation-triangle.js +1 -2
- package/dist/icon/icons/exclamation-triangle.js.map +1 -1
- package/dist/icon/icons/expand-all.js +1 -2
- package/dist/icon/icons/expand-all.js.map +1 -1
- package/dist/icon/icons/expand-details.js +1 -2
- package/dist/icon/icons/expand-details.js.map +1 -1
- package/dist/icon/icons/expression.js +1 -2
- package/dist/icon/icons/expression.js.map +1 -1
- package/dist/icon/icons/eye-hidden.js +1 -2
- package/dist/icon/icons/eye-hidden.js.map +1 -1
- package/dist/icon/icons/eye.js +1 -2
- package/dist/icon/icons/eye.js.map +1 -1
- package/dist/icon/icons/face-frown.js +1 -2
- package/dist/icon/icons/face-frown.js.map +1 -1
- package/dist/icon/icons/face-smile-solid.js +1 -2
- package/dist/icon/icons/face-smile-solid.js.map +1 -1
- package/dist/icon/icons/face-smile.js +1 -2
- package/dist/icon/icons/face-smile.js.map +1 -1
- package/dist/icon/icons/fast-forward-10.js +1 -2
- package/dist/icon/icons/fast-forward-10.js.map +1 -1
- package/dist/icon/icons/fast-forward.js +1 -2
- package/dist/icon/icons/fast-forward.js.map +1 -1
- package/dist/icon/icons/film.js +1 -2
- package/dist/icon/icons/film.js.map +1 -1
- package/dist/icon/icons/filter-solid.js +1 -2
- package/dist/icon/icons/filter-solid.js.map +1 -1
- package/dist/icon/icons/filter.js +1 -2
- package/dist/icon/icons/filter.js.map +1 -1
- package/dist/icon/icons/flag-solid.js +1 -2
- package/dist/icon/icons/flag-solid.js.map +1 -1
- package/dist/icon/icons/flag.js +1 -2
- package/dist/icon/icons/flag.js.map +1 -1
- package/dist/icon/icons/fold.js +1 -2
- package/dist/icon/icons/fold.js.map +1 -1
- package/dist/icon/icons/folder.js +1 -2
- package/dist/icon/icons/folder.js.map +1 -1
- package/dist/icon/icons/fork.js +1 -2
- package/dist/icon/icons/fork.js.map +1 -1
- package/dist/icon/icons/gear-solid.js +1 -2
- package/dist/icon/icons/gear-solid.js.map +1 -1
- package/dist/icon/icons/gear.js +1 -2
- package/dist/icon/icons/gear.js.map +1 -1
- package/dist/icon/icons/globe-alt.js +1 -2
- package/dist/icon/icons/globe-alt.js.map +1 -1
- package/dist/icon/icons/globe.js +1 -2
- package/dist/icon/icons/globe.js.map +1 -1
- package/dist/icon/icons/group-boxes.js +1 -2
- package/dist/icon/icons/group-boxes.js.map +1 -1
- package/dist/icon/icons/group.js +1 -2
- package/dist/icon/icons/group.js.map +1 -1
- package/dist/icon/icons/hand.js +1 -2
- package/dist/icon/icons/hand.js.map +1 -1
- package/dist/icon/icons/hash.js +1 -2
- package/dist/icon/icons/hash.js.map +1 -1
- package/dist/icon/icons/heading.js +1 -2
- package/dist/icon/icons/heading.js.map +1 -1
- package/dist/icon/icons/home-solid.js +1 -2
- package/dist/icon/icons/home-solid.js.map +1 -1
- package/dist/icon/icons/home.js +1 -2
- package/dist/icon/icons/home.js.map +1 -1
- package/dist/icon/icons/horizontal-rule.js +1 -2
- package/dist/icon/icons/horizontal-rule.js.map +1 -1
- package/dist/icon/icons/hourglass-end.js +1 -2
- package/dist/icon/icons/hourglass-end.js.map +1 -1
- package/dist/icon/icons/hourglass-mid.js +1 -2
- package/dist/icon/icons/hourglass-mid.js.map +1 -1
- package/dist/icon/icons/hourglass-start.js +1 -2
- package/dist/icon/icons/hourglass-start.js.map +1 -1
- package/dist/icon/icons/hourglass.js +1 -2
- package/dist/icon/icons/hourglass.js.map +1 -1
- package/dist/icon/icons/identification.js +1 -2
- package/dist/icon/icons/identification.js.map +1 -1
- package/dist/icon/icons/image.js +1 -2
- package/dist/icon/icons/image.js.map +1 -1
- package/dist/icon/icons/inbox.js +1 -2
- package/dist/icon/icons/inbox.js.map +1 -1
- package/dist/icon/icons/infinity.js +1 -2
- package/dist/icon/icons/infinity.js.map +1 -1
- package/dist/icon/icons/information-circle-solid.js +1 -2
- package/dist/icon/icons/information-circle-solid.js.map +1 -1
- package/dist/icon/icons/information-circle.js +1 -2
- package/dist/icon/icons/information-circle.js.map +1 -1
- package/dist/icon/icons/inspect.js +1 -2
- package/dist/icon/icons/inspect.js.map +1 -1
- package/dist/icon/icons/italic.js +1 -2
- package/dist/icon/icons/italic.js.map +1 -1
- package/dist/icon/icons/key.js +1 -2
- package/dist/icon/icons/key.js.map +1 -1
- package/dist/icon/icons/keyboard.js +1 -2
- package/dist/icon/icons/keyboard.js.map +1 -1
- package/dist/icon/icons/laptop-phone.js +1 -2
- package/dist/icon/icons/laptop-phone.js.map +1 -1
- package/dist/icon/icons/layers.js +1 -2
- package/dist/icon/icons/layers.js.map +1 -1
- package/dist/icon/icons/lifebuoy.js +1 -2
- package/dist/icon/icons/lifebuoy.js.map +1 -1
- package/dist/icon/icons/lightbulb.js +1 -2
- package/dist/icon/icons/lightbulb.js.map +1 -1
- package/dist/icon/icons/lightning-bolt-solid.js +1 -2
- package/dist/icon/icons/lightning-bolt-solid.js.map +1 -1
- package/dist/icon/icons/lightning-bolt.js +1 -2
- package/dist/icon/icons/lightning-bolt.js.map +1 -1
- package/dist/icon/icons/link.js +1 -2
- package/dist/icon/icons/link.js.map +1 -1
- package/dist/icon/icons/list-ordered.js +1 -2
- package/dist/icon/icons/list-ordered.js.map +1 -1
- package/dist/icon/icons/list-unordered.js +1 -2
- package/dist/icon/icons/list-unordered.js.map +1 -1
- package/dist/icon/icons/lock-solid.js +1 -2
- package/dist/icon/icons/lock-solid.js.map +1 -1
- package/dist/icon/icons/lock.js +1 -2
- package/dist/icon/icons/lock.js.map +1 -1
- package/dist/icon/icons/login.js +1 -2
- package/dist/icon/icons/login.js.map +1 -1
- package/dist/icon/icons/logout.js +1 -2
- package/dist/icon/icons/logout.js.map +1 -1
- package/dist/icon/icons/looping-off.js +1 -2
- package/dist/icon/icons/looping-off.js.map +1 -1
- package/dist/icon/icons/looping.js +1 -2
- package/dist/icon/icons/looping.js.map +1 -1
- package/dist/icon/icons/map-drives.js +1 -2
- package/dist/icon/icons/map-drives.js.map +1 -1
- package/dist/icon/icons/map-pin.js +1 -2
- package/dist/icon/icons/map-pin.js.map +1 -1
- package/dist/icon/icons/map.js +1 -2
- package/dist/icon/icons/map.js.map +1 -1
- package/dist/icon/icons/markdown.js +1 -2
- package/dist/icon/icons/markdown.js.map +1 -1
- package/dist/icon/icons/maximize.js +1 -2
- package/dist/icon/icons/maximize.js.map +1 -1
- package/dist/icon/icons/megaphone.js +1 -2
- package/dist/icon/icons/megaphone.js.map +1 -1
- package/dist/icon/icons/menu.js +1 -2
- package/dist/icon/icons/menu.js.map +1 -1
- package/dist/icon/icons/merge.js +1 -2
- package/dist/icon/icons/merge.js.map +1 -1
- package/dist/icon/icons/meter.js +1 -2
- package/dist/icon/icons/meter.js.map +1 -1
- package/dist/icon/icons/minimize.js +1 -2
- package/dist/icon/icons/minimize.js.map +1 -1
- package/dist/icon/icons/minus-circle-solid.js +1 -2
- package/dist/icon/icons/minus-circle-solid.js.map +1 -1
- package/dist/icon/icons/minus-circle.js +1 -2
- package/dist/icon/icons/minus-circle.js.map +1 -1
- package/dist/icon/icons/minus.js +1 -2
- package/dist/icon/icons/minus.js.map +1 -1
- package/dist/icon/icons/moon.js +1 -2
- package/dist/icon/icons/moon.js.map +1 -1
- package/dist/icon/icons/more-actions.js +1 -2
- package/dist/icon/icons/more-actions.js.map +1 -1
- package/dist/icon/icons/multiselect.js +1 -2
- package/dist/icon/icons/multiselect.js.map +1 -1
- package/dist/icon/icons/music-note.js +1 -2
- package/dist/icon/icons/music-note.js.map +1 -1
- package/dist/icon/icons/newspaper.js +1 -2
- package/dist/icon/icons/newspaper.js.map +1 -1
- package/dist/icon/icons/not-allowed.js +1 -2
- package/dist/icon/icons/not-allowed.js.map +1 -1
- package/dist/icon/icons/numbers.js +1 -2
- package/dist/icon/icons/numbers.js.map +1 -1
- package/dist/icon/icons/office-building.js +1 -2
- package/dist/icon/icons/office-building.js.map +1 -1
- package/dist/icon/icons/outline.js +1 -2
- package/dist/icon/icons/outline.js.map +1 -1
- package/dist/icon/icons/paper-airplane.js +1 -2
- package/dist/icon/icons/paper-airplane.js.map +1 -1
- package/dist/icon/icons/paper-clip.js +1 -2
- package/dist/icon/icons/paper-clip.js.map +1 -1
- package/dist/icon/icons/pause.js +1 -2
- package/dist/icon/icons/pause.js.map +1 -1
- package/dist/icon/icons/pencil-square.js +1 -2
- package/dist/icon/icons/pencil-square.js.map +1 -1
- package/dist/icon/icons/person-2.js +1 -2
- package/dist/icon/icons/person-2.js.map +1 -1
- package/dist/icon/icons/person-3.js +1 -2
- package/dist/icon/icons/person-3.js.map +1 -1
- package/dist/icon/icons/person-circle.js +1 -2
- package/dist/icon/icons/person-circle.js.map +1 -1
- package/dist/icon/icons/person-solid.js +1 -2
- package/dist/icon/icons/person-solid.js.map +1 -1
- package/dist/icon/icons/person.js +1 -2
- package/dist/icon/icons/person.js.map +1 -1
- package/dist/icon/icons/phone.js +1 -2
- package/dist/icon/icons/phone.js.map +1 -1
- package/dist/icon/icons/picture-in-picture.js +1 -2
- package/dist/icon/icons/picture-in-picture.js.map +1 -1
- package/dist/icon/icons/pie-chart.js +1 -2
- package/dist/icon/icons/pie-chart.js.map +1 -1
- package/dist/icon/icons/pin-solid.js +1 -2
- package/dist/icon/icons/pin-solid.js.map +1 -1
- package/dist/icon/icons/pin.js +1 -2
- package/dist/icon/icons/pin.js.map +1 -1
- package/dist/icon/icons/pizza-slice.js +1 -2
- package/dist/icon/icons/pizza-slice.js.map +1 -1
- package/dist/icon/icons/placeholder.js +1 -2
- package/dist/icon/icons/placeholder.js.map +1 -1
- package/dist/icon/icons/play.js +1 -2
- package/dist/icon/icons/play.js.map +1 -1
- package/dist/icon/icons/plug.js +1 -2
- package/dist/icon/icons/plug.js.map +1 -1
- package/dist/icon/icons/plus-circle-solid.js +1 -2
- package/dist/icon/icons/plus-circle-solid.js.map +1 -1
- package/dist/icon/icons/plus-circle.js +1 -2
- package/dist/icon/icons/plus-circle.js.map +1 -1
- package/dist/icon/icons/plus-minus.js +1 -2
- package/dist/icon/icons/plus-minus.js.map +1 -1
- package/dist/icon/icons/pointer-solid.js +1 -2
- package/dist/icon/icons/pointer-solid.js.map +1 -1
- package/dist/icon/icons/pointer.js +1 -2
- package/dist/icon/icons/pointer.js.map +1 -1
- package/dist/icon/icons/priority-high.js +1 -2
- package/dist/icon/icons/priority-high.js.map +1 -1
- package/dist/icon/icons/priority-low.js +1 -2
- package/dist/icon/icons/priority-low.js.map +1 -1
- package/dist/icon/icons/priority-medium.js +1 -2
- package/dist/icon/icons/priority-medium.js.map +1 -1
- package/dist/icon/icons/projector.js +1 -2
- package/dist/icon/icons/projector.js.map +1 -1
- package/dist/icon/icons/pull-close.js +1 -2
- package/dist/icon/icons/pull-close.js.map +1 -1
- package/dist/icon/icons/pull-draft.js +1 -2
- package/dist/icon/icons/pull-draft.js.map +1 -1
- package/dist/icon/icons/pull-open.js +1 -2
- package/dist/icon/icons/pull-open.js.map +1 -1
- package/dist/icon/icons/pulse.js +1 -2
- package/dist/icon/icons/pulse.js.map +1 -1
- package/dist/icon/icons/puzzle-piece.js +1 -2
- package/dist/icon/icons/puzzle-piece.js.map +1 -1
- package/dist/icon/icons/question-mark-circle-solid.js +1 -2
- package/dist/icon/icons/question-mark-circle-solid.js.map +1 -1
- package/dist/icon/icons/question-mark-circle.js +1 -2
- package/dist/icon/icons/question-mark-circle.js.map +1 -1
- package/dist/icon/icons/rectangle-group.js +1 -2
- package/dist/icon/icons/rectangle-group.js.map +1 -1
- package/dist/icon/icons/rectangle-stack-horizontal.js +1 -2
- package/dist/icon/icons/rectangle-stack-horizontal.js.map +1 -1
- package/dist/icon/icons/rectangle-stack-vertical.js +1 -2
- package/dist/icon/icons/rectangle-stack-vertical.js.map +1 -1
- package/dist/icon/icons/redo.js +1 -2
- package/dist/icon/icons/redo.js.map +1 -1
- package/dist/icon/icons/refresh.js +1 -2
- package/dist/icon/icons/refresh.js.map +1 -1
- package/dist/icon/icons/reply.js +1 -2
- package/dist/icon/icons/reply.js.map +1 -1
- package/dist/icon/icons/rewind-10.js +1 -2
- package/dist/icon/icons/rewind-10.js.map +1 -1
- package/dist/icon/icons/rewind.js +1 -2
- package/dist/icon/icons/rewind.js.map +1 -1
- package/dist/icon/icons/rocketship.js +1 -2
- package/dist/icon/icons/rocketship.js.map +1 -1
- package/dist/icon/icons/running.js +1 -2
- package/dist/icon/icons/running.js.map +1 -1
- package/dist/icon/icons/scale.js +1 -2
- package/dist/icon/icons/scale.js.map +1 -1
- package/dist/icon/icons/scissors.js +1 -2
- package/dist/icon/icons/scissors.js.map +1 -1
- package/dist/icon/icons/search.js +1 -2
- package/dist/icon/icons/search.js.map +1 -1
- package/dist/icon/icons/sensor.js +1 -2
- package/dist/icon/icons/sensor.js.map +1 -1
- package/dist/icon/icons/server-stack.js +1 -2
- package/dist/icon/icons/server-stack.js.map +1 -1
- package/dist/icon/icons/server.js +1 -2
- package/dist/icon/icons/server.js.map +1 -1
- package/dist/icon/icons/shapes.js +1 -2
- package/dist/icon/icons/shapes.js.map +1 -1
- package/dist/icon/icons/share.js +1 -2
- package/dist/icon/icons/share.js.map +1 -1
- package/dist/icon/icons/signal-slash.js +1 -2
- package/dist/icon/icons/signal-slash.js.map +1 -1
- package/dist/icon/icons/signal.js +1 -2
- package/dist/icon/icons/signal.js.map +1 -1
- package/dist/icon/icons/signpost.js +1 -2
- package/dist/icon/icons/signpost.js.map +1 -1
- package/dist/icon/icons/sort-ascending.js +1 -2
- package/dist/icon/icons/sort-ascending.js.map +1 -1
- package/dist/icon/icons/sort-descending.js +1 -2
- package/dist/icon/icons/sort-descending.js.map +1 -1
- package/dist/icon/icons/soundwave.js +1 -2
- package/dist/icon/icons/soundwave.js.map +1 -1
- package/dist/icon/icons/sparkles-solid.js +1 -2
- package/dist/icon/icons/sparkles-solid.js.map +1 -1
- package/dist/icon/icons/sparkles.js +1 -2
- package/dist/icon/icons/sparkles.js.map +1 -1
- package/dist/icon/icons/split-horizontal.js +1 -2
- package/dist/icon/icons/split-horizontal.js.map +1 -1
- package/dist/icon/icons/split-none.js +1 -2
- package/dist/icon/icons/split-none.js.map +1 -1
- package/dist/icon/icons/split-vertical.js +1 -2
- package/dist/icon/icons/split-vertical.js.map +1 -1
- package/dist/icon/icons/star-half.js +1 -2
- package/dist/icon/icons/star-half.js.map +1 -1
- package/dist/icon/icons/star-stroke.js +1 -2
- package/dist/icon/icons/star-stroke.js.map +1 -1
- package/dist/icon/icons/star.js +1 -2
- package/dist/icon/icons/star.js.map +1 -1
- package/dist/icon/icons/start.js +1 -2
- package/dist/icon/icons/start.js.map +1 -1
- package/dist/icon/icons/status-offline.js +1 -2
- package/dist/icon/icons/status-offline.js.map +1 -1
- package/dist/icon/icons/status-online.js +1 -2
- package/dist/icon/icons/status-online.js.map +1 -1
- package/dist/icon/icons/stop-sign.js +1 -2
- package/dist/icon/icons/stop-sign.js.map +1 -1
- package/dist/icon/icons/stop.js +1 -2
- package/dist/icon/icons/stop.js.map +1 -1
- package/dist/icon/icons/stopwatch.js +1 -2
- package/dist/icon/icons/stopwatch.js.map +1 -1
- package/dist/icon/icons/strikethrough.js +1 -2
- package/dist/icon/icons/strikethrough.js.map +1 -1
- package/dist/icon/icons/sun.js +1 -2
- package/dist/icon/icons/sun.js.map +1 -1
- package/dist/icon/icons/swatch.js +1 -2
- package/dist/icon/icons/swatch.js.map +1 -1
- package/dist/icon/icons/switch-apps.js +1 -2
- package/dist/icon/icons/switch-apps.js.map +1 -1
- package/dist/icon/icons/switch.js +1 -2
- package/dist/icon/icons/switch.js.map +1 -1
- package/dist/icon/icons/table.js +1 -2
- package/dist/icon/icons/table.js.map +1 -1
- package/dist/icon/icons/tag.js +1 -2
- package/dist/icon/icons/tag.js.map +1 -1
- package/dist/icon/icons/task.js +1 -2
- package/dist/icon/icons/task.js.map +1 -1
- package/dist/icon/icons/telescope.js +1 -2
- package/dist/icon/icons/telescope.js.map +1 -1
- package/dist/icon/icons/template.js +1 -2
- package/dist/icon/icons/template.js.map +1 -1
- package/dist/icon/icons/terminal.js +1 -2
- package/dist/icon/icons/terminal.js.map +1 -1
- package/dist/icon/icons/thumb-solid.js +1 -2
- package/dist/icon/icons/thumb-solid.js.map +1 -1
- package/dist/icon/icons/thumb.js +1 -2
- package/dist/icon/icons/thumb.js.map +1 -1
- package/dist/icon/icons/traffic-cone.js +1 -2
- package/dist/icon/icons/traffic-cone.js.map +1 -1
- package/dist/icon/icons/transparent-box.js +1 -2
- package/dist/icon/icons/transparent-box.js.map +1 -1
- package/dist/icon/icons/trend-down.js +1 -2
- package/dist/icon/icons/trend-down.js.map +1 -1
- package/dist/icon/icons/trend-up.js +1 -2
- package/dist/icon/icons/trend-up.js.map +1 -1
- package/dist/icon/icons/trophy.js +1 -2
- package/dist/icon/icons/trophy.js.map +1 -1
- package/dist/icon/icons/truck.js +1 -2
- package/dist/icon/icons/truck.js.map +1 -1
- package/dist/icon/icons/typography.js +1 -2
- package/dist/icon/icons/typography.js.map +1 -1
- package/dist/icon/icons/undo.js +1 -2
- package/dist/icon/icons/undo.js.map +1 -1
- package/dist/icon/icons/unlock-solid.js +1 -2
- package/dist/icon/icons/unlock-solid.js.map +1 -1
- package/dist/icon/icons/unlock.js +1 -2
- package/dist/icon/icons/unlock.js.map +1 -1
- package/dist/icon/icons/upload.js +1 -2
- package/dist/icon/icons/upload.js.map +1 -1
- package/dist/icon/icons/video-camera.js +1 -2
- package/dist/icon/icons/video-camera.js.map +1 -1
- package/dist/icon/icons/view-as-grid.js +1 -2
- package/dist/icon/icons/view-as-grid.js.map +1 -1
- package/dist/icon/icons/volume-muted.js +1 -2
- package/dist/icon/icons/volume-muted.js.map +1 -1
- package/dist/icon/icons/volume-solid.js +1 -2
- package/dist/icon/icons/volume-solid.js.map +1 -1
- package/dist/icon/icons/volume.js +1 -2
- package/dist/icon/icons/volume.js.map +1 -1
- package/dist/icon/icons/wifi.js +1 -2
- package/dist/icon/icons/wifi.js.map +1 -1
- package/dist/icon/icons/wrench-solid.js +1 -2
- package/dist/icon/icons/wrench-solid.js.map +1 -1
- package/dist/icon/icons/wrench.js +1 -2
- package/dist/icon/icons/wrench.js.map +1 -1
- package/dist/icon/icons/x-circle-solid.js +1 -2
- package/dist/icon/icons/x-circle-solid.js.map +1 -1
- package/dist/icon/icons/x-circle.js +1 -2
- package/dist/icon/icons/x-circle.js.map +1 -1
- package/dist/icon/icons/zoom-in.js +1 -2
- package/dist/icon/icons/zoom-in.js.map +1 -1
- package/dist/icon/icons/zoom-out.js +1 -2
- package/dist/icon/icons/zoom-out.js.map +1 -1
- package/dist/icon/icons.js +1 -2
- package/dist/icon/icons.js.map +1 -1
- package/dist/icon/server.js +1 -2
- package/dist/icon/server.js.map +1 -1
- package/dist/icon-button/define.js +1 -2
- package/dist/icon-button/define.js.map +1 -1
- package/dist/icon-button/icon-button.examples.js +1 -2
- package/dist/icon-button/icon-button.examples.js.map +1 -1
- package/dist/icon-button/icon-button.js +1 -2
- package/dist/icon-button/icon-button.js.map +1 -1
- package/dist/icon-button/icon-button2.js +3 -4
- package/dist/icon-button/icon-button2.js.map +1 -1
- package/dist/icon-button/index.js +1 -2
- package/dist/iframe/define.js +1 -2
- package/dist/iframe/define.js.map +1 -1
- package/dist/iframe/iframe.examples.js +1 -2
- package/dist/iframe/iframe.examples.js.map +1 -1
- package/dist/iframe/iframe.js +1 -2
- package/dist/iframe/iframe.js.map +1 -1
- package/dist/iframe/iframe2.js +12 -27
- package/dist/iframe/iframe2.js.map +1 -1
- package/dist/iframe/index.js +1 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/input/define.js +0 -1
- package/dist/input/define.js.map +1 -1
- package/dist/input/input-group.examples.js +1 -2
- package/dist/input/input-group.examples.js.map +1 -1
- package/dist/input/input-group.global.js +1 -2
- package/dist/input/input-group.global.js.map +1 -1
- package/dist/input/input-group.js +1 -2
- package/dist/input/input-group.js.map +1 -1
- package/dist/input/input-group2.js +2 -3
- package/dist/input/input-group2.js.map +1 -1
- package/dist/input/input.examples.js +1 -2
- package/dist/input/input.examples.js.map +1 -1
- package/dist/input/input.js +1 -2
- package/dist/input/input.js.map +1 -1
- package/dist/input/input2.js +3 -4
- package/dist/input/input2.js.map +1 -1
- package/dist/internal/controllers/audit.controller.js +1 -2
- package/dist/internal/controllers/audit.controller.js.map +1 -1
- package/dist/internal/controllers/gesture.controller.examples.js +1 -2
- package/dist/internal/controllers/gesture.controller.examples.js.map +1 -1
- package/dist/internal/controllers/gesture.controller.js +14 -41
- package/dist/internal/controllers/gesture.controller.js.map +1 -1
- package/dist/internal/controllers/key-state.controller.js +1 -2
- package/dist/internal/controllers/key-state.controller.js.map +1 -1
- package/dist/internal/controllers/keynav-grid.controller.examples.js +1 -2
- package/dist/internal/controllers/keynav-grid.controller.examples.js.map +1 -1
- package/dist/internal/controllers/keynav-grid.controller.js +3 -7
- package/dist/internal/controllers/keynav-grid.controller.js.map +1 -1
- package/dist/internal/controllers/keynav-list.controller.examples.js +1 -2
- package/dist/internal/controllers/keynav-list.controller.examples.js.map +1 -1
- package/dist/internal/controllers/keynav-list.controller.js +2 -3
- package/dist/internal/controllers/keynav-list.controller.js.map +1 -1
- package/dist/internal/controllers/keynav-spatial.controller.js +1 -2
- package/dist/internal/controllers/keynav-spatial.controller.js.map +1 -1
- package/dist/internal/controllers/popover.examples.js +1 -2
- package/dist/internal/controllers/popover.examples.js.map +1 -1
- package/dist/internal/controllers/state-expanded.controller.js +1 -2
- package/dist/internal/controllers/state-expanded.controller.js.map +1 -1
- package/dist/internal/controllers/state-highlighted.controller.js +1 -2
- package/dist/internal/controllers/state-highlighted.controller.js.map +1 -1
- package/dist/internal/controllers/state-scroll.controller.js +1 -2
- package/dist/internal/controllers/state-scroll.controller.js.map +1 -1
- package/dist/internal/controllers/state-selected.controller.js +2 -11
- package/dist/internal/controllers/state-selected.controller.js.map +1 -1
- package/dist/internal/controllers/type-anchor.controller.js +1 -2
- package/dist/internal/controllers/type-anchor.controller.js.map +1 -1
- package/dist/internal/controllers/type-closable.controller.js +1 -2
- package/dist/internal/controllers/type-closable.controller.js.map +1 -1
- package/dist/internal/controllers/type-expandable.controller.js +1 -2
- package/dist/internal/controllers/type-expandable.controller.js.map +1 -1
- package/dist/internal/controllers/type-native-popover.controller.js +2 -7
- package/dist/internal/controllers/type-native-popover.controller.js.map +1 -1
- package/dist/internal/controllers/type-native-popover.utils.js +1 -2
- package/dist/internal/controllers/type-native-popover.utils.js.map +1 -1
- package/dist/internal/controllers/type-popover.controller.examples.js +1 -2
- package/dist/internal/controllers/type-popover.controller.examples.js.map +1 -1
- package/dist/internal/controllers/type-selectable.controller.js +1 -2
- package/dist/internal/controllers/type-selectable.controller.js.map +1 -1
- package/dist/internal/controllers/type-ssr.controller.js +1 -2
- package/dist/internal/controllers/type-ssr.controller.js.map +1 -1
- package/dist/internal/decorators/host-attr.js +1 -2
- package/dist/internal/decorators/host-attr.js.map +1 -1
- package/dist/internal/decorators/scoped-registry.js +1 -2
- package/dist/internal/decorators/scoped-registry.js.map +1 -1
- package/dist/internal/index.js +1 -2
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/services/log.service.js +1 -2
- package/dist/internal/services/log.service.js.map +1 -1
- package/dist/internal/services/transition.service.js +0 -1
- package/dist/internal/services/transition.service.js.map +1 -1
- package/dist/internal/styles/base.js +1 -2
- package/dist/internal/styles/base.js.map +1 -1
- package/dist/internal/styles/color.state.js +1 -2
- package/dist/internal/styles/color.state.js.map +1 -1
- package/dist/internal/styles/index.js +1 -2
- package/dist/internal/styles/index.js.map +1 -1
- package/dist/internal/styles/interaction-state.js +1 -2
- package/dist/internal/styles/interaction-state.js.map +1 -1
- package/dist/internal/styles/popover.js +1 -2
- package/dist/internal/styles/popover.js.map +1 -1
- package/dist/internal/styles/popover2.js +1 -2
- package/dist/internal/styles/popover2.js.map +1 -1
- package/dist/internal/styles/status.state.js +1 -2
- package/dist/internal/styles/status.state.js.map +1 -1
- package/dist/internal/styles/support.state.js +1 -2
- package/dist/internal/styles/support.state.js.map +1 -1
- package/dist/internal/types/index.js +1 -2
- package/dist/internal/types/index.js.map +1 -1
- package/dist/internal/utils/a11y.js +1 -2
- package/dist/internal/utils/a11y.js.map +1 -1
- package/dist/internal/utils/audit-logs.js +1 -2
- package/dist/internal/utils/audit-logs.js.map +1 -1
- package/dist/internal/utils/audit.js +1 -2
- package/dist/internal/utils/audit.js.map +1 -1
- package/dist/internal/utils/dom.js +2 -9
- package/dist/internal/utils/dom.js.map +1 -1
- package/dist/internal/utils/events.js +3 -8
- package/dist/internal/utils/events.js.map +1 -1
- package/dist/internal/utils/focus.js +3 -26
- package/dist/internal/utils/focus.js.map +1 -1
- package/dist/internal/utils/keynav.js +1 -2
- package/dist/internal/utils/keynav.js.map +1 -1
- package/dist/internal/utils/numeric.js +1 -2
- package/dist/internal/utils/numeric.js.map +1 -1
- package/dist/internal/utils/objects.js +1 -2
- package/dist/internal/utils/objects.js.map +1 -1
- package/dist/internal/utils/strings.js +1 -2
- package/dist/internal/utils/strings.js.map +1 -1
- package/dist/internal/utils/supports.js +1 -2
- package/dist/internal/utils/supports.js.map +1 -1
- package/dist/joystick/define.js +1 -2
- package/dist/joystick/define.js.map +1 -1
- package/dist/joystick/index.js +1 -2
- package/dist/joystick/joystick.examples.js +1 -2
- package/dist/joystick/joystick.examples.js.map +1 -1
- package/dist/joystick/joystick.js +1 -2
- package/dist/joystick/joystick.js.map +1 -1
- package/dist/joystick/joystick2.js +7 -8
- package/dist/joystick/joystick2.js.map +1 -1
- package/dist/logo/define.js +1 -2
- package/dist/logo/define.js.map +1 -1
- package/dist/logo/index.js +1 -2
- package/dist/logo/logo.examples.js +1 -2
- package/dist/logo/logo.examples.js.map +1 -1
- package/dist/logo/logo.js +1 -2
- package/dist/logo/logo.js.map +1 -1
- package/dist/logo/logo2.js +3 -4
- package/dist/logo/logo2.js.map +1 -1
- package/dist/menu/define.js +0 -1
- package/dist/menu/define.js.map +1 -1
- package/dist/menu/menu-group.js +1 -2
- package/dist/menu/menu-group.js.map +1 -1
- package/dist/menu/menu-group2.js +3 -4
- package/dist/menu/menu-group2.js.map +1 -1
- package/dist/menu/menu-item.js +1 -2
- package/dist/menu/menu-item.js.map +1 -1
- package/dist/menu/menu-item2.js +3 -4
- package/dist/menu/menu-item2.js.map +1 -1
- package/dist/menu/menu.examples.js +1 -2
- package/dist/menu/menu.examples.js.map +1 -1
- package/dist/menu/menu.global.js +1 -2
- package/dist/menu/menu.global.js.map +1 -1
- package/dist/menu/menu.js +1 -2
- package/dist/menu/menu.js.map +1 -1
- package/dist/menu/menu2.js +19 -15
- package/dist/menu/menu2.js.map +1 -1
- package/dist/month/define.js +0 -1
- package/dist/month/define.js.map +1 -1
- package/dist/month/index.js +1 -2
- package/dist/month/month.examples.js +1 -2
- package/dist/month/month.examples.js.map +1 -1
- package/dist/month/month.js +1 -2
- package/dist/month/month.js.map +1 -1
- package/dist/month/month2.js +3 -4
- package/dist/month/month2.js.map +1 -1
- package/dist/notification/define.js +0 -1
- package/dist/notification/define.js.map +1 -1
- package/dist/notification/notification-group.js +1 -2
- package/dist/notification/notification-group.js.map +1 -1
- package/dist/notification/notification-group2.js +3 -4
- package/dist/notification/notification-group2.js.map +1 -1
- package/dist/notification/notification.examples.js +1 -2
- package/dist/notification/notification.examples.js.map +1 -1
- package/dist/notification/notification.js +1 -2
- package/dist/notification/notification.js.map +1 -1
- package/dist/notification/notification2.js +3 -4
- package/dist/notification/notification2.js.map +1 -1
- package/dist/page/define.js +0 -1
- package/dist/page/define.js.map +1 -1
- package/dist/page/page-panel/page-panel-content.js +1 -2
- package/dist/page/page-panel/page-panel-content.js.map +1 -1
- package/dist/page/page-panel/page-panel-content2.js +2 -3
- package/dist/page/page-panel/page-panel-content2.js.map +1 -1
- package/dist/page/page-panel/page-panel-footer.js +1 -2
- package/dist/page/page-panel/page-panel-footer.js.map +1 -1
- package/dist/page/page-panel/page-panel-footer2.js +3 -4
- package/dist/page/page-panel/page-panel-footer2.js.map +1 -1
- package/dist/page/page-panel/page-panel-header.js +1 -2
- package/dist/page/page-panel/page-panel-header.js.map +1 -1
- package/dist/page/page-panel/page-panel-header2.js +3 -4
- package/dist/page/page-panel/page-panel-header2.js.map +1 -1
- package/dist/page/page-panel/page-panel.global.js +1 -2
- package/dist/page/page-panel/page-panel.global.js.map +1 -1
- package/dist/page/page-panel/page-panel.js +1 -2
- package/dist/page/page-panel/page-panel.js.map +1 -1
- package/dist/page/page-panel/page-panel2.js +3 -4
- package/dist/page/page-panel/page-panel2.js.map +1 -1
- package/dist/page/page.examples.js +1 -2
- package/dist/page/page.examples.js.map +1 -1
- package/dist/page/page.js +2 -3
- package/dist/page/page.js.map +1 -1
- package/dist/page/page2.js +3 -4
- package/dist/page/page2.js.map +1 -1
- package/dist/page-header/define.js +1 -2
- package/dist/page-header/define.js.map +1 -1
- package/dist/page-header/index.js +1 -2
- package/dist/page-header/page-header.examples.js +1 -2
- package/dist/page-header/page-header.examples.js.map +1 -1
- package/dist/page-header/page-header.global.js +1 -2
- package/dist/page-header/page-header.global.js.map +1 -1
- package/dist/page-header/page-header.js +1 -2
- package/dist/page-header/page-header.js.map +1 -1
- package/dist/page-header/page-header2.js +2 -3
- package/dist/page-header/page-header2.js.map +1 -1
- package/dist/page-loader/define.js +1 -2
- package/dist/page-loader/define.js.map +1 -1
- package/dist/page-loader/index.js +1 -2
- package/dist/page-loader/page-loader.examples.js +1 -2
- package/dist/page-loader/page-loader.examples.js.map +1 -1
- package/dist/page-loader/page-loader.js +1 -2
- package/dist/page-loader/page-loader.js.map +1 -1
- package/dist/page-loader/page-loader2.js +3 -4
- package/dist/page-loader/page-loader2.js.map +1 -1
- package/dist/pagination/define.js +1 -2
- package/dist/pagination/define.js.map +1 -1
- package/dist/pagination/index.js +1 -2
- package/dist/pagination/pagination.examples.js +1 -2
- package/dist/pagination/pagination.examples.js.map +1 -1
- package/dist/pagination/pagination.js +1 -2
- package/dist/pagination/pagination.js.map +1 -1
- package/dist/pagination/pagination2.js +3 -4
- package/dist/pagination/pagination2.js.map +1 -1
- package/dist/panel/define.js +0 -1
- package/dist/panel/define.js.map +1 -1
- package/dist/panel/index.js +1 -2
- package/dist/panel/panel-content.js +1 -2
- package/dist/panel/panel-content.js.map +1 -1
- package/dist/panel/panel-footer.js +1 -2
- package/dist/panel/panel-footer.js.map +1 -1
- package/dist/panel/panel-header.js +1 -2
- package/dist/panel/panel-header.js.map +1 -1
- package/dist/panel/panel.examples.js +1 -2
- package/dist/panel/panel.examples.js.map +1 -1
- package/dist/panel/panel.js +1 -2
- package/dist/panel/panel.js.map +1 -1
- package/dist/panel/panel2.js +6 -7
- package/dist/panel/panel2.js.map +1 -1
- package/dist/password/define.js +0 -1
- package/dist/password/define.js.map +1 -1
- package/dist/password/index.js +1 -2
- package/dist/password/password.examples.js +1 -2
- package/dist/password/password.examples.js.map +1 -1
- package/dist/password/password.js +1 -2
- package/dist/password/password.js.map +1 -1
- package/dist/password/password2.js +3 -4
- package/dist/password/password2.js.map +1 -1
- package/dist/polyfills/index.js +1 -2
- package/dist/polyfills/index.js.map +1 -1
- package/dist/preferences-input/define.js +1 -2
- package/dist/preferences-input/define.js.map +1 -1
- package/dist/preferences-input/index.js +1 -2
- package/dist/preferences-input/preferences-input.examples.js +1 -2
- package/dist/preferences-input/preferences-input.examples.js.map +1 -1
- package/dist/preferences-input/preferences-input.js +1 -2
- package/dist/preferences-input/preferences-input.js.map +1 -1
- package/dist/preferences-input/preferences-input2.js +3 -4
- package/dist/preferences-input/preferences-input2.js.map +1 -1
- package/dist/progress-bar/define.js +1 -2
- package/dist/progress-bar/define.js.map +1 -1
- package/dist/progress-bar/index.js +1 -2
- package/dist/progress-bar/progress-bar.examples.js +1 -2
- package/dist/progress-bar/progress-bar.examples.js.map +1 -1
- package/dist/progress-bar/progress-bar.js +1 -2
- package/dist/progress-bar/progress-bar.js.map +1 -1
- package/dist/progress-bar/progress-bar2.js +3 -4
- package/dist/progress-bar/progress-bar2.js.map +1 -1
- package/dist/progress-dot/define.js +1 -2
- package/dist/progress-dot/define.js.map +1 -1
- package/dist/progress-dot/index.js +1 -2
- package/dist/progress-dot/progress-dot.examples.js +1 -2
- package/dist/progress-dot/progress-dot.examples.js.map +1 -1
- package/dist/progress-dot/progress-dot.js +1 -2
- package/dist/progress-dot/progress-dot.js.map +1 -1
- package/dist/progress-dot/progress-dot2.js +3 -4
- package/dist/progress-dot/progress-dot2.js.map +1 -1
- package/dist/progress-ring/define.js +1 -2
- package/dist/progress-ring/define.js.map +1 -1
- package/dist/progress-ring/index.js +1 -2
- package/dist/progress-ring/progress-ring.examples.js +1 -2
- package/dist/progress-ring/progress-ring.examples.js.map +1 -1
- package/dist/progress-ring/progress-ring.js +1 -2
- package/dist/progress-ring/progress-ring.js.map +1 -1
- package/dist/progress-ring/progress-ring2.js +3 -4
- package/dist/progress-ring/progress-ring2.js.map +1 -1
- package/dist/progressive-filter-chip/define.js +1 -2
- package/dist/progressive-filter-chip/define.js.map +1 -1
- package/dist/progressive-filter-chip/index.js +1 -2
- package/dist/progressive-filter-chip/progressive-filter-chip.examples.js +1 -2
- package/dist/progressive-filter-chip/progressive-filter-chip.examples.js.map +1 -1
- package/dist/progressive-filter-chip/progressive-filter-chip.global.js +1 -2
- package/dist/progressive-filter-chip/progressive-filter-chip.global.js.map +1 -1
- package/dist/progressive-filter-chip/progressive-filter-chip.js +1 -2
- package/dist/progressive-filter-chip/progressive-filter-chip.js.map +1 -1
- package/dist/progressive-filter-chip/progressive-filter-chip2.js +3 -4
- package/dist/progressive-filter-chip/progressive-filter-chip2.js.map +1 -1
- package/dist/pulse/define.js +1 -2
- package/dist/pulse/define.js.map +1 -1
- package/dist/pulse/index.js +1 -2
- package/dist/pulse/pulse.examples.js +1 -2
- package/dist/pulse/pulse.examples.js.map +1 -1
- package/dist/pulse/pulse.js +1 -2
- package/dist/pulse/pulse.js.map +1 -1
- package/dist/pulse/pulse2.js +3 -4
- package/dist/pulse/pulse2.js.map +1 -1
- package/dist/radio/define.js +0 -1
- package/dist/radio/define.js.map +1 -1
- package/dist/radio/radio-group.js +1 -2
- package/dist/radio/radio-group.js.map +1 -1
- package/dist/radio/radio-group2.js +3 -4
- package/dist/radio/radio-group2.js.map +1 -1
- package/dist/radio/radio.examples.js +1 -2
- package/dist/radio/radio.examples.js.map +1 -1
- package/dist/radio/radio.js +1 -2
- package/dist/radio/radio.js.map +1 -1
- package/dist/radio/radio2.js +3 -4
- package/dist/radio/radio2.js.map +1 -1
- package/dist/range/define.js +0 -1
- package/dist/range/define.js.map +1 -1
- package/dist/range/index.js +1 -2
- package/dist/range/range.examples.js +1 -2
- package/dist/range/range.examples.js.map +1 -1
- package/dist/range/range.global.js +1 -2
- package/dist/range/range.global.js.map +1 -1
- package/dist/range/range.js +1 -2
- package/dist/range/range.js.map +1 -1
- package/dist/range/range2.js +3 -4
- package/dist/range/range2.js.map +1 -1
- package/dist/resize-handle/define.js +1 -2
- package/dist/resize-handle/define.js.map +1 -1
- package/dist/resize-handle/index.js +1 -2
- package/dist/resize-handle/resize-handle.examples.js +1 -2
- package/dist/resize-handle/resize-handle.examples.js.map +1 -1
- package/dist/resize-handle/resize-handle.js +1 -2
- package/dist/resize-handle/resize-handle.js.map +1 -1
- package/dist/resize-handle/resize-handle2.js +5 -6
- package/dist/resize-handle/resize-handle2.js.map +1 -1
- package/dist/search/define.js +0 -1
- package/dist/search/define.js.map +1 -1
- package/dist/search/index.js +1 -2
- package/dist/search/search.examples.js +1 -2
- package/dist/search/search.examples.js.map +1 -1
- package/dist/search/search.js +1 -2
- package/dist/search/search.js.map +1 -1
- package/dist/search/search2.js +3 -4
- package/dist/search/search2.js.map +1 -1
- package/dist/select/define.js +0 -1
- package/dist/select/define.js.map +1 -1
- package/dist/select/index.js +1 -2
- package/dist/select/select.examples.js +1 -2
- package/dist/select/select.examples.js.map +1 -1
- package/dist/select/select.global.js +1 -2
- package/dist/select/select.global.js.map +1 -1
- package/dist/select/select.js +1 -2
- package/dist/select/select.js.map +1 -1
- package/dist/select/select2.js +3 -4
- package/dist/select/select2.js.map +1 -1
- package/dist/skeleton/define.js +1 -2
- package/dist/skeleton/define.js.map +1 -1
- package/dist/skeleton/index.js +1 -2
- package/dist/skeleton/skeleton.examples.js +1 -2
- package/dist/skeleton/skeleton.examples.js.map +1 -1
- package/dist/skeleton/skeleton.js +1 -2
- package/dist/skeleton/skeleton.js.map +1 -1
- package/dist/skeleton/skeleton2.js +3 -4
- package/dist/skeleton/skeleton2.js.map +1 -1
- package/dist/sort-button/define.js +1 -2
- package/dist/sort-button/define.js.map +1 -1
- package/dist/sort-button/index.js +1 -2
- package/dist/sort-button/sort-button.examples.js +1 -2
- package/dist/sort-button/sort-button.examples.js.map +1 -1
- package/dist/sort-button/sort-button.js +1 -2
- package/dist/sort-button/sort-button.js.map +1 -1
- package/dist/sort-button/sort-button2.js +3 -4
- package/dist/sort-button/sort-button2.js.map +1 -1
- package/dist/sparkline/define.js +1 -2
- package/dist/sparkline/define.js.map +1 -1
- package/dist/sparkline/index.js +1 -2
- package/dist/sparkline/sparkline.examples.js +1 -2
- package/dist/sparkline/sparkline.examples.js.map +1 -1
- package/dist/sparkline/sparkline.js +1 -2
- package/dist/sparkline/sparkline.js.map +1 -1
- package/dist/sparkline/sparkline.utils.js +0 -1
- package/dist/sparkline/sparkline.utils.js.map +1 -1
- package/dist/sparkline/sparkline2.js +3 -4
- package/dist/sparkline/sparkline2.js.map +1 -1
- package/dist/star-rating/define.js +0 -1
- package/dist/star-rating/define.js.map +1 -1
- package/dist/star-rating/index.js +1 -2
- package/dist/star-rating/star-rating.examples.js +1 -2
- package/dist/star-rating/star-rating.examples.js.map +1 -1
- package/dist/star-rating/star-rating.js +1 -2
- package/dist/star-rating/star-rating.js.map +1 -1
- package/dist/star-rating/star-rating2.js +3 -4
- package/dist/star-rating/star-rating2.js.map +1 -1
- package/dist/steps/define.js +0 -1
- package/dist/steps/define.js.map +1 -1
- package/dist/steps/index.js +1 -2
- package/dist/steps/steps-item.js +1 -2
- package/dist/steps/steps-item.js.map +1 -1
- package/dist/steps/steps.examples.js +1 -2
- package/dist/steps/steps.examples.js.map +1 -1
- package/dist/steps/steps.js +1 -2
- package/dist/steps/steps.js.map +1 -1
- package/dist/steps/steps2.js +5 -6
- package/dist/steps/steps2.js.map +1 -1
- package/dist/switch/define.js +0 -1
- package/dist/switch/define.js.map +1 -1
- package/dist/switch/switch-group.js +1 -2
- package/dist/switch/switch-group.js.map +1 -1
- package/dist/switch/switch-group2.js +3 -4
- package/dist/switch/switch-group2.js.map +1 -1
- package/dist/switch/switch.examples.js +1 -2
- package/dist/switch/switch.examples.js.map +1 -1
- package/dist/switch/switch.js +1 -2
- package/dist/switch/switch.js.map +1 -1
- package/dist/switch/switch2.js +3 -4
- package/dist/switch/switch2.js.map +1 -1
- package/dist/tabs/define.js +0 -1
- package/dist/tabs/define.js.map +1 -1
- package/dist/tabs/tabs-group.js +1 -2
- package/dist/tabs/tabs-group.js.map +1 -1
- package/dist/tabs/tabs-group2.js +8 -17
- package/dist/tabs/tabs-group2.js.map +1 -1
- package/dist/tabs/tabs-item-group.js +1 -2
- package/dist/tabs/tabs-item-group.js.map +1 -1
- package/dist/tabs/tabs-item-group2.js +3 -4
- package/dist/tabs/tabs-item-group2.js.map +1 -1
- package/dist/tabs/tabs-item.js +1 -2
- package/dist/tabs/tabs-item.js.map +1 -1
- package/dist/tabs/tabs.examples.js +1 -2
- package/dist/tabs/tabs.examples.js.map +1 -1
- package/dist/tabs/tabs.global.js +1 -2
- package/dist/tabs/tabs.global.js.map +1 -1
- package/dist/tabs/tabs.js +1 -2
- package/dist/tabs/tabs.js.map +1 -1
- package/dist/tabs/tabs2.js +5 -6
- package/dist/tabs/tabs2.js.map +1 -1
- package/dist/tabs/utils.js +1 -2
- package/dist/tabs/utils.js.map +1 -1
- package/dist/tag/define.js +1 -2
- package/dist/tag/define.js.map +1 -1
- package/dist/tag/index.js +1 -2
- package/dist/tag/tag.examples.js +1 -2
- package/dist/tag/tag.examples.js.map +1 -1
- package/dist/tag/tag.js +1 -2
- package/dist/tag/tag.js.map +1 -1
- package/dist/tag/tag2.js +3 -4
- package/dist/tag/tag2.js.map +1 -1
- package/dist/textarea/define.js +0 -1
- package/dist/textarea/define.js.map +1 -1
- package/dist/textarea/index.js +1 -2
- package/dist/textarea/textarea.examples.js +1 -2
- package/dist/textarea/textarea.examples.js.map +1 -1
- package/dist/textarea/textarea.js +1 -2
- package/dist/textarea/textarea.js.map +1 -1
- package/dist/textarea/textarea2.js +2 -3
- package/dist/textarea/textarea2.js.map +1 -1
- package/dist/time/define.js +0 -1
- package/dist/time/define.js.map +1 -1
- package/dist/time/index.js +1 -2
- package/dist/time/time.examples.js +1 -2
- package/dist/time/time.examples.js.map +1 -1
- package/dist/time/time.js +1 -2
- package/dist/time/time.js.map +1 -1
- package/dist/time/time2.js +3 -4
- package/dist/time/time2.js.map +1 -1
- package/dist/toast/define.js +1 -2
- package/dist/toast/define.js.map +1 -1
- package/dist/toast/index.js +1 -2
- package/dist/toast/toast.examples.js +1 -2
- package/dist/toast/toast.examples.js.map +1 -1
- package/dist/toast/toast.js +1 -2
- package/dist/toast/toast.js.map +1 -1
- package/dist/toast/toast2.js +3 -4
- package/dist/toast/toast2.js.map +1 -1
- package/dist/toggletip/define.js +0 -1
- package/dist/toggletip/define.js.map +1 -1
- package/dist/toggletip/toggletip-footer.js +1 -2
- package/dist/toggletip/toggletip-footer.js.map +1 -1
- package/dist/toggletip/toggletip-footer2.js +2 -3
- package/dist/toggletip/toggletip-footer2.js.map +1 -1
- package/dist/toggletip/toggletip-header.js +1 -2
- package/dist/toggletip/toggletip-header.js.map +1 -1
- package/dist/toggletip/toggletip-header2.js +2 -3
- package/dist/toggletip/toggletip-header2.js.map +1 -1
- package/dist/toggletip/toggletip.examples.js +1 -2
- package/dist/toggletip/toggletip.examples.js.map +1 -1
- package/dist/toggletip/toggletip.global.js +1 -2
- package/dist/toggletip/toggletip.global.js.map +1 -1
- package/dist/toggletip/toggletip.js +1 -2
- package/dist/toggletip/toggletip.js.map +1 -1
- package/dist/toggletip/toggletip2.js +3 -4
- package/dist/toggletip/toggletip2.js.map +1 -1
- package/dist/toolbar/define.js +1 -2
- package/dist/toolbar/define.js.map +1 -1
- package/dist/toolbar/index.js +1 -2
- package/dist/toolbar/toolbar.examples.js +1 -2
- package/dist/toolbar/toolbar.examples.js.map +1 -1
- package/dist/toolbar/toolbar.js +1 -2
- package/dist/toolbar/toolbar.js.map +1 -1
- package/dist/toolbar/toolbar2.js +3 -4
- package/dist/toolbar/toolbar2.js.map +1 -1
- package/dist/tooltip/define.js +1 -2
- package/dist/tooltip/define.js.map +1 -1
- package/dist/tooltip/index.js +1 -2
- package/dist/tooltip/tooltip.examples.js +1 -2
- package/dist/tooltip/tooltip.examples.js.map +1 -1
- package/dist/tooltip/tooltip.js +1 -2
- package/dist/tooltip/tooltip.js.map +1 -1
- package/dist/tooltip/tooltip2.js +3 -4
- package/dist/tooltip/tooltip2.js.map +1 -1
- package/dist/tree/define.js +0 -1
- package/dist/tree/define.js.map +1 -1
- package/dist/tree/tree-node.js +1 -2
- package/dist/tree/tree-node.js.map +1 -1
- package/dist/tree/tree-node2.js +3 -4
- package/dist/tree/tree-node2.js.map +1 -1
- package/dist/tree/tree.examples.js +1 -2
- package/dist/tree/tree.examples.js.map +1 -1
- package/dist/tree/tree.global.js +1 -2
- package/dist/tree/tree.global.js.map +1 -1
- package/dist/tree/tree.js +1 -2
- package/dist/tree/tree.js.map +1 -1
- package/dist/tree/tree2.js +3 -4
- package/dist/tree/tree2.js.map +1 -1
- package/dist/tree/utils.js +1 -2
- package/dist/tree/utils.js.map +1 -1
- package/dist/week/define.js +0 -1
- package/dist/week/define.js.map +1 -1
- package/dist/week/index.js +1 -2
- package/dist/week/week.examples.js +1 -2
- package/dist/week/week.examples.js.map +1 -1
- package/dist/week/week.js +1 -2
- package/dist/week/week.js.map +1 -1
- package/dist/week/week2.js +3 -4
- package/dist/week/week2.js.map +1 -1
- package/package.json +9 -9
package/dist/input/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","names":[],"sources":["../../src/input/input.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\n:host {\n --padding: 0 var(--nve-ref-size-200);\n --font-size: var(--nve-ref-font-size-100);\n --height: var(--nve-ref-size-800);\n --background: var(--nve-sys-interaction-field-background);\n --color: var(--nve-sys-interaction-field-color);\n --border-radius: var(--nve-ref-border-radius-sm);\n --border: var(--nve-ref-border-width-md) solid transparent;\n --border-bottom: var(--border);\n --cursor: text;\n --font-weight: normal;\n --_icon-height: var(--height);\n --_font-size: var(--font-size);\n --width: 100%;\n --max-width: 100%;\n --min-width: initial;\n width: var(--width);\n max-width: var(--max-width);\n min-width: var(--min-width);\n}\n\n[input] {\n height: var(--height);\n background: var(--background);\n border: var(--border);\n border-bottom: var(--border-bottom);\n border-radius: var(--border-radius);\n color: var(--color);\n cursor: var(--cursor);\n width: var(--control-width);\n display: flex;\n align-content: stretch;\n}\n\n::slotted(input) {\n /* https://web.dev/accent-color/#guaranteeing-contrast */\n accent-color: var(--accent-color) !important;\n cursor: var(--cursor) !important;\n padding: var(--padding) !important;\n font-size: var(--font-size) !important;\n color: var(--color) !important;\n line-height: var(--height) !important;\n border: 0 !important;\n background: none !important;\n display: block !important;\n width: 100% !important;\n font-weight: var(--font-weight) !important;\n}\n\nnve-icon-button,\n::slotted(nve-icon-button) {\n --height: var(--_icon-height);\n align-self: center;\n}\n\n::slotted(nve-button:not([slot])) {\n --font-size: var(--_font-size);\n --padding: 0 var(--nve-ref-size-200);\n --color: var(--label-color);\n --height: 100%;\n}\n\n:host([rounded]) {\n --border-radius: var(--nve-ref-border-radius-full);\n}\n\n:host([status='error']),\n:host(:state(invalid)),\n:host(:state(error)) {\n --border: var(--nve-ref-border-width-md) solid var(--nve-sys-support-danger-emphasis-color);\n}\n\n:host([status='success']),\n:host(:state(success)) {\n --border: var(--nve-ref-border-width-md) solid var(--nve-sys-support-success-emphasis-color);\n}\n\n:host(:state(disabled)) {\n --border: var(--nve-ref-border-width-md) solid transparent;\n}\n\n:host([container='flat']) {\n --border-radius: 0;\n --box-shadow: none;\n --border-bottom: var(--nve-ref-border-width-md) solid var(--nve-ref-border-color-muted);\n}\n\n:host([container='flat']) [input] {\n background: inherit;\n}\n\n:host([container='flat']:focus-within) {\n --border-bottom: var(--nve-ref-border-width-md) solid var(--nve-ref-border-color-emphasis);\n}\n\n:host([container='flat']:focus-within) [input] {\n outline: 0 !important;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"input.js","names":["input_default"],"sources":["../../src/input/input.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\n:host {\n --padding: 0 var(--nve-ref-size-200);\n --font-size: var(--nve-ref-font-size-100);\n --height: var(--nve-ref-size-800);\n --background: var(--nve-sys-interaction-field-background);\n --color: var(--nve-sys-interaction-field-color);\n --border-radius: var(--nve-ref-border-radius-sm);\n --border: var(--nve-ref-border-width-md) solid transparent;\n --border-bottom: var(--border);\n --cursor: text;\n --font-weight: normal;\n --_icon-height: var(--height);\n --_font-size: var(--font-size);\n --width: 100%;\n --max-width: 100%;\n --min-width: initial;\n width: var(--width);\n max-width: var(--max-width);\n min-width: var(--min-width);\n}\n\n[input] {\n height: var(--height);\n background: var(--background);\n border: var(--border);\n border-bottom: var(--border-bottom);\n border-radius: var(--border-radius);\n color: var(--color);\n cursor: var(--cursor);\n width: var(--control-width);\n display: flex;\n align-content: stretch;\n}\n\n::slotted(input) {\n /* https://web.dev/accent-color/#guaranteeing-contrast */\n accent-color: var(--accent-color) !important;\n cursor: var(--cursor) !important;\n padding: var(--padding) !important;\n font-size: var(--font-size) !important;\n color: var(--color) !important;\n line-height: var(--height) !important;\n border: 0 !important;\n background: none !important;\n display: block !important;\n width: 100% !important;\n font-weight: var(--font-weight) !important;\n}\n\nnve-icon-button,\n::slotted(nve-icon-button) {\n --height: var(--_icon-height);\n align-self: center;\n}\n\n::slotted(nve-button:not([slot])) {\n --font-size: var(--_font-size);\n --padding: 0 var(--nve-ref-size-200);\n --color: var(--label-color);\n --height: 100%;\n}\n\n:host([rounded]) {\n --border-radius: var(--nve-ref-border-radius-full);\n}\n\n:host([status='error']),\n:host(:state(invalid)),\n:host(:state(error)) {\n --border: var(--nve-ref-border-width-md) solid var(--nve-sys-support-danger-emphasis-color);\n}\n\n:host([status='success']),\n:host(:state(success)) {\n --border: var(--nve-ref-border-width-md) solid var(--nve-sys-support-success-emphasis-color);\n}\n\n:host(:state(disabled)) {\n --border: var(--nve-ref-border-width-md) solid transparent;\n}\n\n:host([container='flat']) {\n --border-radius: 0;\n --box-shadow: none;\n --border-bottom: var(--nve-ref-border-width-md) solid var(--nve-ref-border-color-muted);\n}\n\n:host([container='flat']) [input] {\n background: inherit;\n}\n\n:host([container='flat']:focus-within) {\n --border-bottom: var(--nve-ref-border-width-md) solid var(--nve-ref-border-color-emphasis);\n}\n\n:host([container='flat']:focus-within) [input] {\n outline: 0 !important;\n}\n"],"mappings":""}
|
package/dist/input/input2.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useStyles as e } from "../internal/styles/index.js";
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
3
3
|
import { Control as n } from "../forms/control/control2.js";
|
|
4
4
|
import r from "./input.js";
|
|
5
5
|
import { property as i } from "lit/decorators/property.js";
|
|
6
|
-
|
|
6
|
+
// src/input/input.ts
|
|
7
7
|
var a = r, o = class extends n {
|
|
8
8
|
constructor(...e) {
|
|
9
9
|
super(...e), this.rounded = !1;
|
|
@@ -14,7 +14,7 @@ var a = r, o = class extends n {
|
|
|
14
14
|
static {
|
|
15
15
|
this.metadata = {
|
|
16
16
|
tag: "nve-input",
|
|
17
|
-
version: "2.20.
|
|
17
|
+
version: "2.20.3"
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
};
|
|
@@ -25,7 +25,6 @@ t([i({
|
|
|
25
25
|
type: Boolean,
|
|
26
26
|
reflect: !0
|
|
27
27
|
})], o.prototype, "rounded", void 0);
|
|
28
|
-
//#endregion
|
|
29
28
|
export { o as Input, a as inputStyles };
|
|
30
29
|
|
|
31
30
|
//# sourceMappingURL=input2.js.map
|
package/dist/input/input2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input2.js","names":[],"sources":["../../src/input/input.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { CSSResult } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport type { ContainerElement } from '@nvidia-elements/core/internal';\nimport { useStyles } from '@nvidia-elements/core/internal';\nimport { Control } from '@nvidia-elements/core/forms';\nimport styles from './input.css?inline';\n\nexport const inputStyles = styles;\n\n/**\n * @element nve-input\n * @description An input is a control that enables users to enter text.\n * @documentation https://nvidia.github.io/elements/docs/elements/input/\n * @since 0.3.0\n * @entrypoint \\@nvidia-elements/core/input\n * @cssprop --padding\n * @cssprop --font-size\n * @cssprop --height\n * @cssprop --background\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --cursor\n * @cssprop --color\n * @cssprop --font-weight\n * @cssprop --width\n * @cssprop --min-width\n * @cssprop --max-width\n * @cssprop --border-bottom\n * @cssprop --box-shadow\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input\n */\nexport class Input extends Control implements ContainerElement {\n /**\n * Reduces the visual container for a minimal borderless appearance while preserving whitespace bounds.\n * Use when embedding within another container such as a toolbar.\n */\n @property({ type: String, reflect: true }) container?: 'flat';\n\n /**\n * Sets the rounded visual style of the input.\n */\n @property({ type: Boolean, reflect: true }) rounded = false;\n\n static styles: CSSResult[] = useStyles([...Control.styles, styles]);\n\n static readonly metadata = {\n tag: 'nve-input',\n version: '0.0.0'\n };\n}\n"],"mappings":";;;;;;AAUA,
|
|
1
|
+
{"version":3,"file":"input2.js","names":["styles","_decorate","__decorate","input_default","inputStyles","Input","Control","_args","useStyles","property"],"sources":["../../src/input/input.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { CSSResult } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport type { ContainerElement } from '@nvidia-elements/core/internal';\nimport { useStyles } from '@nvidia-elements/core/internal';\nimport { Control } from '@nvidia-elements/core/forms';\nimport styles from './input.css?inline';\n\nexport const inputStyles = styles;\n\n/**\n * @element nve-input\n * @description An input is a control that enables users to enter text.\n * @documentation https://nvidia.github.io/elements/docs/elements/input/\n * @since 0.3.0\n * @entrypoint \\@nvidia-elements/core/input\n * @cssprop --padding\n * @cssprop --font-size\n * @cssprop --height\n * @cssprop --background\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --cursor\n * @cssprop --color\n * @cssprop --font-weight\n * @cssprop --width\n * @cssprop --min-width\n * @cssprop --max-width\n * @cssprop --border-bottom\n * @cssprop --box-shadow\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input\n */\nexport class Input extends Control implements ContainerElement {\n /**\n * Reduces the visual container for a minimal borderless appearance while preserving whitespace bounds.\n * Use when embedding within another container such as a toolbar.\n */\n @property({ type: String, reflect: true }) container?: 'flat';\n\n /**\n * Sets the rounded visual style of the input.\n */\n @property({ type: Boolean, reflect: true }) rounded = false;\n\n static styles: CSSResult[] = useStyles([...Control.styles, styles]);\n\n static readonly metadata = {\n tag: 'nve-input',\n version: '0.0.0'\n };\n}\n"],"mappings":";;;;;;AAUA,IAAaI,IAAcJ,GAwBdK,IAAb,cAA2BC,EAAoC;;EAUP,A,aAAA,KAAA,UAAA;;;EAEzB,KAAA,SAAAE,EAAU,CAAC,GAAGF,EAAQ,QAAQN,CAAM,CAAC;;;EAEvC,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;AACF;AAbGC,EAAA,CAAAQ,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAJ,EAAA,WAAA,aAAA,KAAA,CAAA,GAKxCJ,EAAA,CAAAQ,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAAJ,EAAA,WAAA,WAAA,KAAA,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { LogService as e } from "../services/log.service.js";
|
|
|
2
2
|
import { auditParentElement as t } from "../utils/audit.js";
|
|
3
3
|
import { getExcessiveInstanceLimitWarning as n, getInvalidParentWarning as r, getMultiplePageWarning as i } from "../utils/audit-logs.js";
|
|
4
4
|
import { GlobalStateService as a } from "@nvidia-elements/foundations/internal/state";
|
|
5
|
-
|
|
5
|
+
// src/internal/controllers/audit.controller.ts
|
|
6
6
|
var o = 50;
|
|
7
7
|
function s(e = {}) {
|
|
8
8
|
return (t) => t.addInitializer((t) => new c(t, e));
|
|
@@ -60,7 +60,6 @@ var c = class {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
|
-
//#endregion
|
|
64
63
|
export { c as AuditController, s as audit, o as excessiveInstanceLimit };
|
|
65
64
|
|
|
66
65
|
//# sourceMappingURL=audit.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.controller.js","names":[],"sources":["../../../src/internal/controllers/audit.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { GlobalStateService } from '@nvidia-elements/foundations/internal/state';\nimport { LogService } from '../services/log.service.js';\nimport { auditParentElement } from '../utils/audit.js';\nimport {\n getExcessiveInstanceLimitWarning,\n getInvalidParentWarning,\n getMultiplePageWarning\n} from '../utils/audit-logs.js';\n\nexport const excessiveInstanceLimit = 50;\n\nexport interface AuditOptions {\n excessiveInstanceLimit?: number;\n alternates?: { name: string; use: string }[];\n}\n\nexport interface AuditMetadata {\n parents?: string[];\n}\n\ninterface AuditRegistry {\n [key: string]: {\n count?: number;\n excessiveInstanceLimitAudited?: boolean;\n };\n}\n\nexport function audit<T extends Audit>(options: AuditOptions = {}): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!((instance: T) => new AuditController(instance, options));\n}\n\nexport type Audit = ReactiveElement;\n\nexport class AuditController<T extends Audit> implements ReactiveController {\n #counted = false;\n\n get #hostAuditState() {\n return GlobalStateService.state.audit[this.host.localName] ?? { count: 0 };\n }\n\n get #production() {\n return GlobalStateService.state.env === 'production';\n }\n\n get #hostMetadata() {\n return (this.host.constructor as unknown as { metadata: AuditMetadata }).metadata;\n }\n\n constructor(\n private host: T,\n private options: AuditOptions\n ) {\n if (!this.#production) {\n this.host.addController(this);\n this.#initializeAudit();\n }\n }\n\n async hostConnected() {\n if (!this.#production) this.#auditExcessiveInstanceLimit();\n await this.host.updateComplete;\n if (!this.#production && this.host.isConnected) {\n this.#auditParentElement();\n }\n }\n\n hostDisconnected() {\n this.#cleanupExcessiveInstanceLimit();\n }\n\n #initializeAudit() {\n if (!GlobalStateService.state.audit[this.host.localName]) {\n this.#update({ [this.host.localName]: { count: 0 } });\n }\n }\n\n #auditExcessiveInstanceLimit() {\n const limit = this.options.excessiveInstanceLimit;\n if (limit === undefined || this.#counted) return;\n\n this.#counted = true;\n const count = (this.#hostAuditState.count ?? 0) + 1;\n const audited = this.#hostAuditState.excessiveInstanceLimitAudited ?? false;\n const shouldWarn = count > limit && !audited;\n this.#update({ [this.host.localName]: { count, excessiveInstanceLimitAudited: audited || shouldWarn } });\n\n if (shouldWarn && this.#counted) {\n LogService.warn(\n this.host.localName === 'nve-page'\n ? getMultiplePageWarning(count)\n : getExcessiveInstanceLimitWarning(count, this.host.localName)\n );\n }\n }\n\n #cleanupExcessiveInstanceLimit() {\n const limit = this.options.excessiveInstanceLimit;\n if (limit === undefined || !this.#counted) return;\n\n this.#counted = false;\n const count = Math.max(0, (this.#hostAuditState.count ?? 0) - 1);\n this.#update({\n [this.host.localName]: {\n count,\n excessiveInstanceLimitAudited: count > limit && this.#hostAuditState.excessiveInstanceLimitAudited\n }\n });\n }\n\n #update(registry: AuditRegistry) {\n GlobalStateService.dispatch('NVE_ELEMENTS_AUDIT_UPDATE', { audit: registry });\n }\n\n #auditParentElement() {\n if (this.#hostMetadata.parents) {\n const [valid, validParents] = auditParentElement(this.host);\n if (!valid) {\n LogService.warn(getInvalidParentWarning(this.host.localName, validParents.join(', ')));\n }\n }\n }\n}\n"],"mappings":";;;;;AAcA,
|
|
1
|
+
{"version":3,"file":"audit.controller.js","names":["excessiveInstanceLimit","audit","target","AuditController","instance","options","#hostAuditState","GlobalStateService","#production","#hostMetadata","host","#initializeAudit","#auditExcessiveInstanceLimit","#auditParentElement","#cleanupExcessiveInstanceLimit","#update","limit","#counted","count","audited","shouldWarn","LogService","getMultiplePageWarning","getExcessiveInstanceLimitWarning","registry","valid","validParents","auditParentElement","getInvalidParentWarning"],"sources":["../../../src/internal/controllers/audit.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { GlobalStateService } from '@nvidia-elements/foundations/internal/state';\nimport { LogService } from '../services/log.service.js';\nimport { auditParentElement } from '../utils/audit.js';\nimport {\n getExcessiveInstanceLimitWarning,\n getInvalidParentWarning,\n getMultiplePageWarning\n} from '../utils/audit-logs.js';\n\nexport const excessiveInstanceLimit = 50;\n\nexport interface AuditOptions {\n excessiveInstanceLimit?: number;\n alternates?: { name: string; use: string }[];\n}\n\nexport interface AuditMetadata {\n parents?: string[];\n}\n\ninterface AuditRegistry {\n [key: string]: {\n count?: number;\n excessiveInstanceLimitAudited?: boolean;\n };\n}\n\nexport function audit<T extends Audit>(options: AuditOptions = {}): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!((instance: T) => new AuditController(instance, options));\n}\n\nexport type Audit = ReactiveElement;\n\nexport class AuditController<T extends Audit> implements ReactiveController {\n #counted = false;\n\n get #hostAuditState() {\n return GlobalStateService.state.audit[this.host.localName] ?? { count: 0 };\n }\n\n get #production() {\n return GlobalStateService.state.env === 'production';\n }\n\n get #hostMetadata() {\n return (this.host.constructor as unknown as { metadata: AuditMetadata }).metadata;\n }\n\n constructor(\n private host: T,\n private options: AuditOptions\n ) {\n if (!this.#production) {\n this.host.addController(this);\n this.#initializeAudit();\n }\n }\n\n async hostConnected() {\n if (!this.#production) this.#auditExcessiveInstanceLimit();\n await this.host.updateComplete;\n if (!this.#production && this.host.isConnected) {\n this.#auditParentElement();\n }\n }\n\n hostDisconnected() {\n this.#cleanupExcessiveInstanceLimit();\n }\n\n #initializeAudit() {\n if (!GlobalStateService.state.audit[this.host.localName]) {\n this.#update({ [this.host.localName]: { count: 0 } });\n }\n }\n\n #auditExcessiveInstanceLimit() {\n const limit = this.options.excessiveInstanceLimit;\n if (limit === undefined || this.#counted) return;\n\n this.#counted = true;\n const count = (this.#hostAuditState.count ?? 0) + 1;\n const audited = this.#hostAuditState.excessiveInstanceLimitAudited ?? false;\n const shouldWarn = count > limit && !audited;\n this.#update({ [this.host.localName]: { count, excessiveInstanceLimitAudited: audited || shouldWarn } });\n\n if (shouldWarn && this.#counted) {\n LogService.warn(\n this.host.localName === 'nve-page'\n ? getMultiplePageWarning(count)\n : getExcessiveInstanceLimitWarning(count, this.host.localName)\n );\n }\n }\n\n #cleanupExcessiveInstanceLimit() {\n const limit = this.options.excessiveInstanceLimit;\n if (limit === undefined || !this.#counted) return;\n\n this.#counted = false;\n const count = Math.max(0, (this.#hostAuditState.count ?? 0) - 1);\n this.#update({\n [this.host.localName]: {\n count,\n excessiveInstanceLimitAudited: count > limit && this.#hostAuditState.excessiveInstanceLimitAudited\n }\n });\n }\n\n #update(registry: AuditRegistry) {\n GlobalStateService.dispatch('NVE_ELEMENTS_AUDIT_UPDATE', { audit: registry });\n }\n\n #auditParentElement() {\n if (this.#hostMetadata.parents) {\n const [valid, validParents] = auditParentElement(this.host);\n if (!valid) {\n LogService.warn(getInvalidParentWarning(this.host.localName, validParents.join(', ')));\n }\n }\n }\n}\n"],"mappings":";;;;;AAcA,IAAaA,IAAyB;AAkBtC,SAAgBC,EAAuB,IAAwB,CAAC,GAAmB;CACjF,QAAQ,MACNC,EAAO,gBAAiB,MAAgB,IAAIC,EAAgBC,GAAUC,CAAO,CAAC;AAClF;AAIA,IAAaF,IAAb,MAA4E;CAC1E,KAAW;CAEX,IAAIG,KAAkB;EACpB,OAAOC,EAAmB,MAAM,MAAM,KAAK,KAAK,cAAc,EAAE,OAAO,EAAE;CAC3E;CAEA,IAAIC,KAAc;EAChB,OAAOD,EAAmB,MAAM,QAAQ;CAC1C;CAEA,IAAIE,KAAgB;EAClB,OAAQ,KAAK,KAAK,YAAuD;CAC3E;CAEA,YACE,GACA,GACA;EACA,AAHQ,KAAA,OAAAC,GACA,KAAA,UAAAL,GAEH,KAAKG,OACR,KAAK,KAAK,cAAc,IAAI,GAC5B,KAAKG,GAAiB;CAE1B;CAEA,MAAM,gBAAgB;EAGpB,AAFK,KAAKH,MAAa,KAAKI,GAA6B,GACzD,MAAM,KAAK,KAAK,gBACZ,CAAC,KAAKJ,MAAe,KAAK,KAAK,eACjC,KAAKK,GAAoB;CAE7B;CAEA,mBAAmB;EACjB,KAAKC,GAA+B;CACtC;CAEA,KAAmB;EACjB,AAAKP,EAAmB,MAAM,MAAM,KAAK,KAAK,cAC5C,KAAKQ,GAAQ,GAAG,KAAK,KAAK,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC;CAExD;CAEA,KAA+B;EAC7B,IAAMC,IAAQ,KAAK,QAAQ;EAC3B,IAAIA,MAAU,KAAA,KAAa,KAAKC,IAAU;EAE1C,KAAKA,KAAW;EAChB,IAAMC,KAAS,KAAKZ,GAAgB,SAAS,KAAK,GAC5Ca,IAAU,KAAKb,GAAgB,iCAAiC,IAChEc,IAAaF,IAAQF,KAAS,CAACG;EAGrC,AAFA,KAAKJ,GAAQ,GAAG,KAAK,KAAK,YAAY;GAAE;GAAO,+BAA+BI,KAAWC;EAAW,EAAE,CAAC,GAEnGA,KAAc,KAAKH,MACrBI,EAAW,KACT,KAAK,KAAK,cAAc,aACpBC,EAAuBJ,CAAK,IAC5BK,EAAiCL,GAAO,KAAK,KAAK,SAAS,CACjE;CAEJ;CAEA,KAAiC;EAC/B,IAAMF,IAAQ,KAAK,QAAQ;EAC3B,IAAIA,MAAU,KAAA,KAAa,CAAC,KAAKC,IAAU;EAE3C,KAAKA,KAAW;EAChB,IAAMC,IAAQ,KAAK,IAAI,IAAI,KAAKZ,GAAgB,SAAS,KAAK,CAAC;EAC/D,KAAKS,GAAQ,GACV,KAAK,KAAK,YAAY;GACrB;GACA,+BAA+BG,IAAQF,KAAS,KAAKV,GAAgB;EACvE,EACF,CAAC;CACH;CAEA,GAAQ,GAAyB;EAC/B,EAAmB,SAAS,6BAA6B,EAAE,OAAOkB,EAAS,CAAC;CAC9E;CAEA,KAAsB;EACpB,IAAI,KAAKf,GAAc,SAAS;GAC9B,IAAM,CAACgB,GAAOC,KAAgBC,EAAmB,KAAK,IAAI;GAC1D,AAAKF,KACHJ,EAAW,KAAKO,EAAwB,KAAK,KAAK,WAAWF,EAAa,KAAK,IAAI,CAAC,CAAC;EAEzF;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gesture.controller.examples.js","names":[],"sources":["../../../src/internal/controllers/gesture.controller.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css, html, LitElement } from 'lit';\nimport { GestureController } from '@nvidia-elements/core/internal';\n\nexport default {\n title: 'Internal/Controllers'\n};\n\nclass GestureDemoElement extends LitElement {\n readonly #gestureController = new GestureController(this, {});\n\n static styles = css`\n :host {\n cursor: grab;\n display: grid;\n height: 64px;\n place-items: center;\n width: 64px;\n }\n\n :host([data-active]) {\n cursor: grabbing;\n }\n `;\n\n constructor() {\n super();\n this.#gestureController.target = this;\n }\n\n render() {\n return html`drag`;\n }\n}\n\nif (!customElements.get('gesture-controller-demo-element')) {\n customElements.define('gesture-controller-demo-element', GestureDemoElement);\n}\n\n/**\n * @summary Synchronously claimed pointer input produces drag gestures while preserving start and end input. Use this pattern when a control owns a pointer sequence.\n * @tags test-case\n */\nexport const Drag = {\n render: () => html`\n<gesture-controller-demo-element></gesture-controller-demo-element>\n<script type=\"module\">\n const element = document.querySelector('gesture-controller-demo-element');\n let x = 0;\n let y = 0;\n\n element.addEventListener('nve-gesture-input', ({ detail }) => {\n if (detail.kind === 'pointerdown' && detail.claim({ kind: 'drag' })) element.dataset.active = '';\n if (detail.kind === 'pointerend') delete element.dataset.active;\n });\n\n element.addEventListener('nve-gesture', ({ detail }) => {\n if (detail.kind !== 'drag') return;\n x += detail.movementX;\n y += detail.movementY;\n element.style.translate = x + 'px ' + y + 'px';\n });\n</script>\n`\n};\n"],"mappings":";AAGA,
|
|
1
|
+
{"version":3,"file":"gesture.controller.examples.js","names":["gesture_controller_examples_default"],"sources":["../../../src/internal/controllers/gesture.controller.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css, html, LitElement } from 'lit';\nimport { GestureController } from '@nvidia-elements/core/internal';\n\nexport default {\n title: 'Internal/Controllers'\n};\n\nclass GestureDemoElement extends LitElement {\n readonly #gestureController = new GestureController(this, {});\n\n static styles = css`\n :host {\n cursor: grab;\n display: grid;\n height: 64px;\n place-items: center;\n width: 64px;\n }\n\n :host([data-active]) {\n cursor: grabbing;\n }\n `;\n\n constructor() {\n super();\n this.#gestureController.target = this;\n }\n\n render() {\n return html`drag`;\n }\n}\n\nif (!customElements.get('gesture-controller-demo-element')) {\n customElements.define('gesture-controller-demo-element', GestureDemoElement);\n}\n\n/**\n * @summary Synchronously claimed pointer input produces drag gestures while preserving start and end input. Use this pattern when a control owns a pointer sequence.\n * @tags test-case\n */\nexport const Drag = {\n render: () => html`\n<gesture-controller-demo-element></gesture-controller-demo-element>\n<script type=\"module\">\n const element = document.querySelector('gesture-controller-demo-element');\n let x = 0;\n let y = 0;\n\n element.addEventListener('nve-gesture-input', ({ detail }) => {\n if (detail.kind === 'pointerdown' && detail.claim({ kind: 'drag' })) element.dataset.active = '';\n if (detail.kind === 'pointerend') delete element.dataset.active;\n });\n\n element.addEventListener('nve-gesture', ({ detail }) => {\n if (detail.kind !== 'drag') return;\n x += detail.movementX;\n y += detail.movementY;\n element.style.translate = x + 'px ' + y + 'px';\n });\n</script>\n`\n};\n"],"mappings":";AAGA,IAAAA,IAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/internal/controllers/gesture.controller.ts
|
|
2
2
|
var e = [
|
|
3
3
|
"contextmenu",
|
|
4
4
|
"dragstart",
|
|
@@ -71,25 +71,7 @@ var e = [
|
|
|
71
71
|
};
|
|
72
72
|
#f = (e) => {
|
|
73
73
|
let t = this.#a;
|
|
74
|
-
|
|
75
|
-
if (e.type === "contextmenu" && e instanceof MouseEvent) {
|
|
76
|
-
this.#m(e);
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (e.type === "selectstart") {
|
|
80
|
-
this.#h(e);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
if (e instanceof WheelEvent) {
|
|
84
|
-
this.#_(e);
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
if (e instanceof PointerEvent) {
|
|
88
|
-
this.#g(e);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
this.#p(e);
|
|
92
|
-
}
|
|
74
|
+
t && e.currentTarget === t && (e.type === "contextmenu" && e instanceof MouseEvent ? this.#m(e) : e.type === "selectstart" ? this.#h(e) : e instanceof WheelEvent ? this.#_(e) : e instanceof PointerEvent ? this.#g(e) : this.#p(e));
|
|
93
75
|
};
|
|
94
76
|
#p(e) {
|
|
95
77
|
e.type !== "dragstart" || this.#t.shouldIgnoreEvent?.(e) || this.#t.suppressNativeDrag && e.preventDefault();
|
|
@@ -102,11 +84,7 @@ var e = [
|
|
|
102
84
|
}
|
|
103
85
|
#g(e) {
|
|
104
86
|
let t = l(e);
|
|
105
|
-
|
|
106
|
-
this.#n.has(e.pointerId) && this.#S(e, t);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
e.type === "pointerdown" ? this.#t.shouldIgnoreEvent?.(e) || this.#v(e) : e.type === "pointermove" && this.#n.has(e.pointerId) && this.#y(e);
|
|
87
|
+
t === void 0 ? e.type === "pointerdown" ? this.#t.shouldIgnoreEvent?.(e) || this.#v(e) : e.type === "pointermove" && this.#n.has(e.pointerId) && this.#y(e) : this.#n.has(e.pointerId) && this.#S(e, t);
|
|
110
88
|
}
|
|
111
89
|
#_(e) {
|
|
112
90
|
let t = this.#a;
|
|
@@ -157,7 +135,7 @@ var e = [
|
|
|
157
135
|
}
|
|
158
136
|
#y(e) {
|
|
159
137
|
let t = this.#b(e);
|
|
160
|
-
t && (e.stopPropagation(),
|
|
138
|
+
t && (e.stopPropagation(), t.movementX === 0 && t.movementY === 0 || this.#n.size >= 2 && this.#C(e) || t.gestureKind !== void 0 && (e.preventDefault(), this.#x(e, t, t.gestureKind)));
|
|
161
139
|
}
|
|
162
140
|
#b(e) {
|
|
163
141
|
let t = this.#n.get(e.pointerId);
|
|
@@ -180,7 +158,7 @@ var e = [
|
|
|
180
158
|
#S(e, t) {
|
|
181
159
|
let n = this.#n.get(e.pointerId);
|
|
182
160
|
if (!n) return;
|
|
183
|
-
let r = u(t), i = r ? n.clientX : e.clientX, a = r ? n.clientY : e.clientY;
|
|
161
|
+
let r = u(t, e), i = r ? n.clientX : e.clientX, a = r ? n.clientY : e.clientY;
|
|
184
162
|
e.stopPropagation(), this.#I({
|
|
185
163
|
clientX: i,
|
|
186
164
|
clientY: a,
|
|
@@ -264,19 +242,15 @@ var e = [
|
|
|
264
242
|
startCenterClientX: s(n.clientX, r.clientX),
|
|
265
243
|
startCenterClientY: s(n.clientY, r.clientY)
|
|
266
244
|
}, o = t(a);
|
|
267
|
-
|
|
268
|
-
this.#i = {
|
|
269
|
-
firstPointerId: e.firstPointerId,
|
|
270
|
-
secondPointerId: e.secondPointerId,
|
|
271
|
-
status: "declined"
|
|
272
|
-
};
|
|
273
|
-
return;
|
|
274
|
-
}
|
|
275
|
-
this.#i = {
|
|
245
|
+
this.#i = o ? {
|
|
276
246
|
context: o.context,
|
|
277
247
|
distance: i,
|
|
278
248
|
status: "active",
|
|
279
249
|
...a
|
|
250
|
+
} : {
|
|
251
|
+
firstPointerId: e.firstPointerId,
|
|
252
|
+
secondPointerId: e.secondPointerId,
|
|
253
|
+
status: "declined"
|
|
280
254
|
};
|
|
281
255
|
}
|
|
282
256
|
#D() {
|
|
@@ -300,7 +274,7 @@ var e = [
|
|
|
300
274
|
}
|
|
301
275
|
#A() {
|
|
302
276
|
let e = this.#o;
|
|
303
|
-
this.#o = void 0,
|
|
277
|
+
this.#o = void 0, e && e.target.style.getPropertyValue("touch-action") === e.applied && (e.value ? e.target.style.setProperty("touch-action", e.value, e.priority) : e.target.style.removeProperty("touch-action"));
|
|
304
278
|
}
|
|
305
279
|
#j() {
|
|
306
280
|
let e = this.#a;
|
|
@@ -325,7 +299,7 @@ var e = [
|
|
|
325
299
|
}
|
|
326
300
|
#P() {
|
|
327
301
|
let e = this.#s;
|
|
328
|
-
this.#s = void 0,
|
|
302
|
+
this.#s = void 0, e && e.target.style.getPropertyValue("user-select") === e.applied && e.target.style.getPropertyPriority("user-select") === e.appliedPriority && (e.value ? e.target.style.setProperty("user-select", e.value, e.priority) : e.target.style.removeProperty("user-select"));
|
|
329
303
|
}
|
|
330
304
|
#F(e) {
|
|
331
305
|
this.#e.dispatchEvent(new CustomEvent("nve-gesture", {
|
|
@@ -362,13 +336,12 @@ function l(e) {
|
|
|
362
336
|
if (e.type === "lostpointercapture") return "lost-capture";
|
|
363
337
|
if (e.type === "pointermove" && e.buttons === 0) return "buttons-released";
|
|
364
338
|
}
|
|
365
|
-
function u(e) {
|
|
366
|
-
return e === "cancel" || e === "lost-capture";
|
|
339
|
+
function u(e, t) {
|
|
340
|
+
return e === "cancel" || e === "lost-capture" && t.buttons !== 0;
|
|
367
341
|
}
|
|
368
342
|
function d(e, t, n = 1) {
|
|
369
343
|
return t === WheelEvent.DOM_DELTA_LINE ? e * r : t === WheelEvent.DOM_DELTA_PAGE ? e * n : e;
|
|
370
344
|
}
|
|
371
|
-
//#endregion
|
|
372
345
|
export { a as GestureController };
|
|
373
346
|
|
|
374
347
|
//# sourceMappingURL=gesture.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gesture.controller.js","names":[],"sources":["../../../src/internal/controllers/gesture.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveControllerHost } from 'lit';\n\nconst GESTURE_EVENT_TYPES = [\n 'contextmenu',\n 'dragstart',\n 'lostpointercapture',\n 'pointercancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'selectstart',\n 'wheel'\n] as const;\n\nconst WHEEL_ZOOM_EXPONENT_PER_PIXEL = 0.002;\n\n/**\n * Browsers expose trackpad pinch as Ctrl-modified wheel input, so Ctrl-wheel uses a higher zoom gain.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/ctrlKey\n */\nconst CTRL_WHEEL_ZOOM_GAIN = 10;\n\nconst WHEEL_LINE_PIXELS = 16;\n\ninterface PointerState {\n clientX: number;\n clientY: number;\n gestureKind: PointerClaimOptions['kind'];\n movementX: number;\n movementY: number;\n pinchCandidate: boolean;\n readonly pointerType: string;\n readonly startClientX: number;\n readonly startClientY: number;\n}\n\nexport interface PointerClaimOptions {\n readonly kind?: 'drag' | 'pan';\n readonly pinchCandidate?: boolean;\n}\n\nexport interface PinchStartDecision<TContext> {\n readonly context: TContext;\n}\n\n/** Coordinates and deltas use CSS pixels; movement is sample-relative and total displacement is start-relative. */\nexport interface PointerMovementGesture {\n readonly event: PointerEvent;\n readonly clientX: number;\n readonly clientY: number;\n readonly movementX: number;\n readonly movementY: number;\n readonly startClientX: number;\n readonly startClientY: number;\n readonly totalDisplacementX: number;\n readonly totalDisplacementY: number;\n}\n\nexport interface PinchStart {\n readonly firstPointerId: number;\n readonly firstPointerType: string;\n readonly firstStartClientX: number;\n readonly firstStartClientY: number;\n readonly secondPointerId: number;\n readonly secondPointerType: string;\n readonly secondStartClientX: number;\n readonly secondStartClientY: number;\n readonly startCenterClientX: number;\n readonly startCenterClientY: number;\n}\n\nexport interface PinchGesture<TContext> extends PinchStart {\n readonly kind: 'pinch';\n readonly event: PointerEvent;\n readonly context: TContext;\n /** Current pointer distance divided by the starting pointer distance. */\n readonly scale: number;\n readonly centerClientX: number;\n readonly centerClientY: number;\n}\n\n/**\n * Per-event wheel input normalized to CSS pixels.\n *\n * Modifier-assisted trackpad pinch remains wheel input: consumers can classify it using the native event's\n * `ctrlKey` or `metaKey` without conflating it with the start-relative lifecycle of a two-pointer pinch.\n */\nexport interface WheelGesture {\n readonly kind: 'wheel';\n readonly event: WheelEvent;\n readonly clientX: number;\n readonly clientY: number;\n readonly deltaX: number;\n readonly deltaY: number;\n}\n\nexport type PointerEndReason = 'up' | 'cancel' | 'lost-capture' | 'buttons-released';\n\nexport interface PointerEndGesture extends PointerMovementGesture {\n readonly kind: 'pointerend';\n /** Whether the pointer session ended without an observed physical release. */\n readonly interrupted: boolean;\n readonly reason: PointerEndReason;\n}\n\nexport type Gesture<TPinchContext> =\n | (PointerMovementGesture & { readonly kind: 'drag' })\n | (PointerMovementGesture & { readonly kind: 'pan' })\n | PinchGesture<TPinchContext>;\n\nexport interface PointerDownInput {\n readonly event: PointerEvent;\n readonly kind: 'pointerdown';\n /**\n * Claims this pointer sequence once during the synchronous input dispatch and suppresses native text selection for\n * its lifetime; returns `false` after that window.\n */\n readonly claim: (options?: PointerClaimOptions) => boolean;\n}\n\nexport interface WheelGestureInput extends WheelGesture {\n /** Claims and prevents this wheel event during the synchronous input dispatch; returns `false` afterward. */\n readonly claim: () => boolean;\n}\n\n/** Claimable starts, claimed pointer terminals, and normalized claimable wheel input. */\nexport type GestureInput = PointerDownInput | PointerEndGesture | WheelGestureInput;\n\n/** Precedence policy for claims among nested GestureController targets. */\nexport type GestureClaimPriority = 'self-first' | 'descendant-first';\n\nexport interface GestureControllerOptions<TPinchContext = undefined> {\n /**\n * Skips admission of a new pointer sequence or a stateless native event.\n * The controller does not consult it again after a pointerdown claim.\n */\n readonly shouldIgnoreEvent?: (event: Event) => boolean;\n /**\n * Consulted once when the controller first observes two claimed pinch candidates.\n * Returning `undefined` declines that pair; otherwise the controller retains the context for its pinch lifetime.\n * The pair remains locked until fewer than two pinch candidates remain.\n */\n readonly beginPinch?: (start: PinchStart) => PinchStartDecision<TPinchContext> | undefined;\n /** Consulted independently for each context-menu event. */\n readonly shouldPreventContextMenu?: (event: MouseEvent) => boolean;\n /**\n * Determines precedence among nested GestureController targets.\n *\n * `self-first` is appropriate for a dedicated interaction surface.\n * `descendant-first` lets nested controllers claim input before this controller.\n *\n * Defaults to `self-first`.\n */\n readonly claimPriority?: GestureClaimPriority;\n /**\n * Consulted during native pointerdown capture before descendant handlers.\n *\n * Returning true calls preventDefault() on the pointerdown, but does not\n * claim the pointer, capture it, stop propagation, create pointer state,\n * suppress selection, or start a gesture.\n *\n * This is meaningful with `claimPriority: 'descendant-first'`. It lets an\n * activated higher-level interaction mode reserve a sequence for ordinary\n * target-phase application code while preserving nested GestureController\n * claim priority.\n */\n readonly shouldReservePointerDown?: (event: PointerEvent) => boolean;\n /** Prevents native HTML drag competition on a dedicated interaction surface. */\n readonly suppressNativeDrag?: boolean;\n /**\n * Inline `touch-action` for a dedicated interaction surface. The controller reevaluates a callback after host updates.\n * Restores the target's prior inline value afterward.\n * Avoid applying it to a general root that contains native interactive content.\n */\n readonly touchAction?: string | (() => string | undefined);\n}\n\ninterface PinchPair {\n readonly firstPointerId: number;\n readonly secondPointerId: number;\n}\n\ninterface PendingPinchState extends PinchPair {\n readonly status: 'pending';\n}\n\ninterface DeclinedPinchState extends PinchPair {\n readonly status: 'declined';\n}\n\ninterface ActivePinchState<TPinchContext> extends PinchPair, PinchStart {\n readonly context: TPinchContext;\n readonly distance: number;\n readonly status: 'active';\n}\n\ntype PinchState<TPinchContext> = PendingPinchState | DeclinedPinchState | ActivePinchState<TPinchContext>;\n\ninterface TouchActionState {\n readonly applied: string;\n readonly priority: string;\n readonly target: HTMLElement;\n readonly value: string;\n}\n\ninterface UserSelectState {\n readonly applied: string;\n readonly appliedPriority: string;\n readonly priority: string;\n readonly target: HTMLElement;\n readonly value: string;\n}\n\nclass SynchronousClaim<TOptions = void> {\n #action?: (options?: TOptions) => void;\n\n constructor(action: (options?: TOptions) => void) {\n this.#action = action;\n }\n\n readonly claim = (options?: TOptions): boolean => {\n const action = this.#action;\n if (!action) return false;\n this.#action = undefined;\n action(options);\n return true;\n };\n\n close(): void {\n this.#action = undefined;\n }\n}\n\ntype GestureHost = EventTarget & ReactiveControllerHost;\n\n/**\n * Normalizes claimable platform pointer and wheel input on a dynamically assigned target.\n * A pointer claim owns native input competition for its lifetime: the controller prevents claimed movement and text\n * selection, and can suppress native drag when configured.\n */\nexport class GestureController<TPinchContext = undefined> implements ReactiveController {\n readonly #host: GestureHost;\n readonly #options: GestureControllerOptions<TPinchContext>;\n readonly #pointerStates = new Map<number, PointerState>();\n #connected = false;\n #pinch?: PinchState<TPinchContext>;\n #target?: HTMLElement;\n #touchActionState?: TouchActionState;\n #userSelectState?: UserSelectState;\n\n constructor(host: GestureHost, options: GestureControllerOptions<TPinchContext>) {\n this.#host = host;\n this.#options = options;\n host.addController(this);\n }\n\n getWheelZoomFactor(input: Pick<WheelGesture, 'deltaY' | 'event'>): number {\n const gain = input.event.ctrlKey ? CTRL_WHEEL_ZOOM_GAIN : 1;\n return 2 ** (-input.deltaY * WHEEL_ZOOM_EXPONENT_PER_PIXEL * gain);\n }\n\n set target(target: HTMLElement | undefined) {\n if (target === this.#target) return;\n this.#removeTargetListeners();\n this.#resetGestureState();\n this.#target = target;\n this.#addTargetListeners();\n }\n\n hostConnected(): void {\n this.#connected = true;\n this.#addTargetListeners();\n }\n\n hostDisconnected(): void {\n this.#removeTargetListeners();\n this.#resetGestureState();\n this.#connected = false;\n }\n\n hostUpdated(): void {\n this.#syncTouchAction();\n }\n\n #addTargetListeners(): void {\n const target = this.#target;\n if (!this.#connected || !target) return;\n const capture = this.#options.claimPriority !== 'descendant-first';\n for (const type of GESTURE_EVENT_TYPES) target.addEventListener(type, this.#handleEvent, capture);\n if (this.#shouldListenForPointerDownReservation()) {\n target.addEventListener('pointerdown', this.#handlePointerDownReservation, true);\n }\n this.#applyTouchAction(target);\n }\n\n #removeTargetListeners(): void {\n const target = this.#target;\n if (!this.#connected || !target) return;\n const capture = this.#options.claimPriority !== 'descendant-first';\n for (const type of GESTURE_EVENT_TYPES) target.removeEventListener(type, this.#handleEvent, capture);\n if (this.#shouldListenForPointerDownReservation()) {\n target.removeEventListener('pointerdown', this.#handlePointerDownReservation, true);\n }\n this.#restoreTouchAction();\n }\n\n #shouldListenForPointerDownReservation(): boolean {\n return this.#options.claimPriority === 'descendant-first' && this.#options.shouldReservePointerDown !== undefined;\n }\n\n #handlePointerDownReservation = (event: PointerEvent): void => {\n const target = this.#target;\n if (\n !target ||\n event.currentTarget !== target ||\n event.defaultPrevented ||\n this.#options.shouldIgnoreEvent?.(event)\n ) {\n return;\n }\n if (this.#options.shouldReservePointerDown?.(event)) event.preventDefault();\n };\n\n #handleEvent = (event: Event): void => {\n const target = this.#target;\n if (!target || event.currentTarget !== target) return;\n if (event.type === 'contextmenu' && event instanceof MouseEvent) {\n this.#handleContextMenu(event);\n return;\n }\n if (event.type === 'selectstart') {\n this.#handleSelectStart(event);\n return;\n }\n if (event instanceof WheelEvent) {\n this.#handleWheel(event);\n return;\n }\n if (event instanceof PointerEvent) {\n this.#handlePointerEvent(event);\n return;\n }\n this.#handleNativeDrag(event);\n };\n\n #handleNativeDrag(event: Event): void {\n if (event.type !== 'dragstart' || this.#options.shouldIgnoreEvent?.(event)) return;\n if (this.#options.suppressNativeDrag) event.preventDefault();\n }\n\n #handleContextMenu(event: MouseEvent): void {\n if (this.#options.shouldIgnoreEvent?.(event)) return;\n if (this.#options.shouldPreventContextMenu?.(event)) event.preventDefault();\n }\n\n #handleSelectStart(event: Event): void {\n if (this.#pointerStates.size > 0) event.preventDefault();\n }\n\n #handlePointerEvent(event: PointerEvent): void {\n const reason = getPointerEndReason(event);\n if (reason !== undefined) {\n if (this.#pointerStates.has(event.pointerId)) this.#endPointer(event, reason);\n return;\n }\n if (event.type === 'pointerdown') {\n if (!this.#options.shouldIgnoreEvent?.(event)) this.#handlePointerDown(event);\n } else if (event.type === 'pointermove' && this.#pointerStates.has(event.pointerId)) {\n this.#handlePointerMove(event);\n }\n }\n\n #handleWheel(event: WheelEvent): void {\n const target = this.#target;\n if (!target || this.#options.shouldIgnoreEvent?.(event)) return;\n const pageBounds = event.deltaMode === WheelEvent.DOM_DELTA_PAGE ? target.getBoundingClientRect() : undefined;\n const deltaX = normalizeWheelDelta(event.deltaX, event.deltaMode, pageBounds?.width);\n const deltaY = normalizeWheelDelta(event.deltaY, event.deltaMode, pageBounds?.height);\n const claimWindow = new SynchronousClaim(() => {\n event.preventDefault();\n event.stopPropagation();\n });\n try {\n this.#dispatchGestureInput({\n claim: claimWindow.claim,\n clientX: event.clientX,\n clientY: event.clientY,\n deltaX,\n deltaY,\n event,\n kind: 'wheel'\n });\n } finally {\n claimWindow.close();\n }\n }\n\n #handlePointerDown(event: PointerEvent): void {\n const claimWindow = new SynchronousClaim<PointerClaimOptions>(options => {\n this.#pointerStates.set(event.pointerId, {\n clientX: event.clientX,\n clientY: event.clientY,\n gestureKind: options?.kind,\n movementX: 0,\n movementY: 0,\n pinchCandidate: options?.pinchCandidate ?? false,\n pointerType: event.pointerType,\n startClientX: event.clientX,\n startClientY: event.clientY\n });\n const target = this.#target;\n if (target) this.#applyUserSelect(target);\n event.stopPropagation();\n this.#capturePointer(event.pointerId);\n });\n try {\n this.#dispatchGestureInput({ claim: claimWindow.claim, event, kind: 'pointerdown' });\n } finally {\n claimWindow.close();\n }\n this.#startPinchIfNeeded();\n }\n\n #handlePointerMove(event: PointerEvent): void {\n const pointerState = this.#updatePointerPosition(event);\n if (!pointerState) return;\n event.stopPropagation();\n if (pointerState.movementX === 0 && pointerState.movementY === 0) return;\n if (this.#pointerStates.size >= 2 && this.#handlePinch(event)) return;\n if (pointerState.gestureKind === undefined) return;\n event.preventDefault();\n this.#dispatchPointerMovementGesture(event, pointerState, pointerState.gestureKind);\n }\n\n #updatePointerPosition(event: PointerEvent): PointerState | undefined {\n const pointerState = this.#pointerStates.get(event.pointerId);\n if (!pointerState) return undefined;\n pointerState.movementX = calculateDisplacement(event.clientX, pointerState.clientX);\n pointerState.movementY = calculateDisplacement(event.clientY, pointerState.clientY);\n pointerState.clientX = event.clientX;\n pointerState.clientY = event.clientY;\n return pointerState;\n }\n\n #dispatchPointerMovementGesture(event: PointerEvent, pointerState: PointerState, kind: 'drag' | 'pan'): void {\n this.#dispatchGesture({\n clientX: pointerState.clientX,\n clientY: pointerState.clientY,\n event,\n kind,\n movementX: pointerState.movementX,\n movementY: pointerState.movementY,\n startClientX: pointerState.startClientX,\n startClientY: pointerState.startClientY,\n totalDisplacementX: calculateDisplacement(pointerState.clientX, pointerState.startClientX),\n totalDisplacementY: calculateDisplacement(pointerState.clientY, pointerState.startClientY)\n });\n }\n\n #endPointer(event: PointerEvent, reason: PointerEndReason): void {\n const pointerState = this.#pointerStates.get(event.pointerId);\n if (!pointerState) return;\n const interrupted = isPointerEndInterrupted(reason);\n const clientX = interrupted ? pointerState.clientX : event.clientX;\n const clientY = interrupted ? pointerState.clientY : event.clientY;\n event.stopPropagation();\n this.#dispatchGestureInput({\n clientX,\n clientY,\n event,\n interrupted,\n kind: 'pointerend',\n movementX: calculateDisplacement(clientX, pointerState.clientX),\n movementY: calculateDisplacement(clientY, pointerState.clientY),\n startClientX: pointerState.startClientX,\n startClientY: pointerState.startClientY,\n totalDisplacementX: calculateDisplacement(clientX, pointerState.startClientX),\n totalDisplacementY: calculateDisplacement(clientY, pointerState.startClientY),\n reason\n });\n this.#pointerStates.delete(event.pointerId);\n if (this.#pointerStates.size === 0) this.#restoreUserSelect();\n if (this.#countPinchCandidates() < 2) this.#pinch = undefined;\n }\n\n #handlePinch(event: PointerEvent): boolean {\n this.#startPinchIfNeeded();\n this.#beginPendingPinchIfPossible();\n const pinch = this.#pinch;\n const pointerState = this.#pointerStates.get(event.pointerId);\n if (!pinch || !pointerState?.pinchCandidate) return false;\n const isPairPointer = event.pointerId === pinch.firstPointerId || event.pointerId === pinch.secondPointerId;\n if (pinch.status === 'pending') return true;\n if (pinch.status === 'declined') return !isPairPointer;\n if (!isPairPointer) return true;\n return this.#dispatchActivePinch(event, pinch);\n }\n\n #dispatchActivePinch(event: PointerEvent, pinch: ActivePinchState<TPinchContext>): boolean {\n const first = this.#pointerStates.get(pinch.firstPointerId);\n const second = this.#pointerStates.get(pinch.secondPointerId);\n if (!first || !second) return true;\n const distance = calculatePointerDistance(first, second);\n if (distance <= 0) return true;\n const centerClientX = calculateMidpoint(first.clientX, second.clientX);\n const centerClientY = calculateMidpoint(first.clientY, second.clientY);\n event.preventDefault();\n this.#dispatchGesture({\n centerClientX,\n centerClientY,\n context: pinch.context,\n event,\n firstPointerId: pinch.firstPointerId,\n firstPointerType: pinch.firstPointerType,\n firstStartClientX: pinch.firstStartClientX,\n firstStartClientY: pinch.firstStartClientY,\n kind: 'pinch',\n scale: distance / pinch.distance,\n secondPointerId: pinch.secondPointerId,\n secondPointerType: pinch.secondPointerType,\n secondStartClientX: pinch.secondStartClientX,\n secondStartClientY: pinch.secondStartClientY,\n startCenterClientX: pinch.startCenterClientX,\n startCenterClientY: pinch.startCenterClientY\n });\n return true;\n }\n\n #startPinchIfNeeded(): void {\n const beginPinch = this.#options.beginPinch;\n if (this.#pinch || this.#pointerStates.size < 2 || !beginPinch) return;\n let firstPointerId: number | undefined;\n let secondPointerId: number | undefined;\n for (const pointerId of this.#pointerStates.keys()) {\n if (!this.#pointerStates.get(pointerId)?.pinchCandidate) continue;\n if (firstPointerId === undefined) firstPointerId = pointerId;\n else {\n secondPointerId = pointerId;\n break;\n }\n }\n if (firstPointerId === undefined || secondPointerId === undefined) return;\n this.#pinch = { firstPointerId, secondPointerId, status: 'pending' };\n this.#beginPendingPinchIfPossible();\n }\n\n #beginPendingPinchIfPossible(): void {\n const pinch = this.#pinch;\n const beginPinch = this.#options.beginPinch;\n if (pinch?.status !== 'pending' || !beginPinch) return;\n const first = this.#pointerStates.get(pinch.firstPointerId);\n const second = this.#pointerStates.get(pinch.secondPointerId);\n if (!first || !second) return;\n const distance = calculatePointerDistance(first, second);\n if (distance <= 0) return;\n const start: PinchStart = {\n firstPointerId: pinch.firstPointerId,\n firstPointerType: first.pointerType,\n firstStartClientX: first.startClientX,\n firstStartClientY: first.startClientY,\n secondPointerId: pinch.secondPointerId,\n secondPointerType: second.pointerType,\n secondStartClientX: second.startClientX,\n secondStartClientY: second.startClientY,\n startCenterClientX: calculateMidpoint(first.clientX, second.clientX),\n startCenterClientY: calculateMidpoint(first.clientY, second.clientY)\n };\n const decision = beginPinch(start);\n if (!decision) {\n this.#pinch = {\n firstPointerId: pinch.firstPointerId,\n secondPointerId: pinch.secondPointerId,\n status: 'declined'\n };\n return;\n }\n this.#pinch = {\n context: decision.context,\n distance,\n status: 'active',\n ...start\n };\n }\n\n #countPinchCandidates(): number {\n let count = 0;\n for (const pointerState of this.#pointerStates.values()) {\n if (pointerState.pinchCandidate) count += 1;\n }\n return count;\n }\n\n #capturePointer(pointerId: number): void {\n try {\n this.#target?.setPointerCapture?.(pointerId);\n } catch {\n // Synthetic test events and browser implementations may not have an active pointer to capture.\n }\n }\n\n #applyTouchAction(target: HTMLElement): void {\n const touchAction = this.#getTouchAction();\n if (touchAction === undefined) return;\n this.#touchActionState = {\n applied: touchAction,\n priority: target.style.getPropertyPriority('touch-action'),\n target,\n value: target.style.getPropertyValue('touch-action')\n };\n target.style.setProperty('touch-action', touchAction);\n }\n\n #restoreTouchAction(): void {\n const state = this.#touchActionState;\n this.#touchActionState = undefined;\n if (!state || state.target.style.getPropertyValue('touch-action') !== state.applied) return;\n if (state.value) {\n state.target.style.setProperty('touch-action', state.value, state.priority);\n } else {\n state.target.style.removeProperty('touch-action');\n }\n }\n\n #syncTouchAction(): void {\n const target = this.#target;\n if (!this.#connected || !target) return;\n const touchAction = this.#getTouchAction();\n if (touchAction === this.#touchActionState?.applied) return;\n this.#restoreTouchAction();\n if (touchAction !== undefined) this.#applyTouchAction(target);\n }\n\n #getTouchAction(): string | undefined {\n const touchAction = this.#options.touchAction;\n return typeof touchAction === 'function' ? touchAction() : touchAction;\n }\n\n #applyUserSelect(target: HTMLElement): void {\n if (this.#userSelectState) return;\n const applied = 'none';\n const appliedPriority = '';\n this.#userSelectState = {\n applied,\n appliedPriority,\n priority: target.style.getPropertyPriority('user-select'),\n target,\n value: target.style.getPropertyValue('user-select')\n };\n target.style.setProperty('user-select', applied, appliedPriority);\n }\n\n #restoreUserSelect(): void {\n const state = this.#userSelectState;\n this.#userSelectState = undefined;\n if (\n !state ||\n state.target.style.getPropertyValue('user-select') !== state.applied ||\n state.target.style.getPropertyPriority('user-select') !== state.appliedPriority\n ) {\n return;\n }\n if (state.value) {\n state.target.style.setProperty('user-select', state.value, state.priority);\n } else {\n state.target.style.removeProperty('user-select');\n }\n }\n\n #dispatchGesture(gesture: Gesture<TPinchContext>): void {\n this.#host.dispatchEvent(\n new CustomEvent<Gesture<TPinchContext>>('nve-gesture', {\n bubbles: false,\n cancelable: false,\n composed: false,\n detail: gesture\n })\n );\n }\n\n #dispatchGestureInput(input: GestureInput): void {\n this.#host.dispatchEvent(\n new CustomEvent<GestureInput>('nve-gesture-input', {\n bubbles: false,\n cancelable: false,\n composed: false,\n detail: input\n })\n );\n }\n\n #resetGestureState(): void {\n this.#pointerStates.clear();\n this.#pinch = undefined;\n this.#restoreUserSelect();\n }\n}\n\nfunction calculateDisplacement(position: number, origin: number): number {\n return position - origin;\n}\n\nfunction calculateMidpoint(first: number, second: number): number {\n return (first + second) / 2;\n}\n\nfunction calculatePointerDistance(first: PointerState, second: PointerState): number {\n return Math.hypot(first.clientX - second.clientX, first.clientY - second.clientY);\n}\n\nfunction getPointerEndReason(event: PointerEvent): PointerEndReason | undefined {\n if (event.type === 'pointerup') return 'up';\n if (event.type === 'pointercancel') return 'cancel';\n if (event.type === 'lostpointercapture') return 'lost-capture';\n if (event.type === 'pointermove' && event.buttons === 0) return 'buttons-released';\n return undefined;\n}\n\nfunction isPointerEndInterrupted(reason: PointerEndReason): boolean {\n return reason === 'cancel' || reason === 'lost-capture';\n}\n\nfunction normalizeWheelDelta(delta: number, deltaMode: number, pagePixels = 1): number {\n if (deltaMode === WheelEvent.DOM_DELTA_LINE) return delta * WHEEL_LINE_PIXELS;\n if (deltaMode === WheelEvent.DOM_DELTA_PAGE) return delta * pagePixels;\n return delta;\n}\n"],"mappings":";AAKA,IAAM,IAAsB;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GAEM,IAAgC,MAMhC,IAAuB,IAEvB,IAAoB,IA+LpB,IAAN,MAAwC;CACtC;CAEA,YAAY,GAAsC;EAChD,AAGgB,KAAA,SAAA,MAAgC;GAChD,IAAM,IAAS,KAAK;GAIpB,OAHK,KACL,KAAK,KAAU,KAAA,GACf,EAAO,CAAO,GACP,MAHa;EAItB,GATE,KAAK,KAAU;CACjB;CAUA,QAAc;EACZ,KAAK,KAAU,KAAA;CACjB;AACF,GASa,IAAb,MAAwF;CACtF;CACA;CACA,qBAA0B,IAAI,IAA0B;CACxD,KAAa;CACb;CACA;CACA;CACA;CAEA,YAAY,GAAmB,GAAkD;EAG/E,AAFA,KAAK,KAAQ,GACb,KAAK,KAAW,GAChB,EAAK,cAAc,IAAI;CACzB;CAEA,mBAAmB,GAAuD;EACxE,IAAM,IAAO,EAAM,MAAM,UAAU,IAAuB;EAC1D,OAAO,MAAM,CAAC,EAAM,SAAS,IAAgC;CAC/D;CAEA,IAAI,OAAO,GAAiC;EACtC,MAAW,KAAK,OACpB,KAAK,GAAuB,GAC5B,KAAK,GAAmB,GACxB,KAAK,KAAU,GACf,KAAK,GAAoB;CAC3B;CAEA,gBAAsB;EAEpB,AADA,KAAK,KAAa,IAClB,KAAK,GAAoB;CAC3B;CAEA,mBAAyB;EAGvB,AAFA,KAAK,GAAuB,GAC5B,KAAK,GAAmB,GACxB,KAAK,KAAa;CACpB;CAEA,cAAoB;EAClB,KAAK,GAAiB;CACxB;CAEA,KAA4B;EAC1B,IAAM,IAAS,KAAK;EACpB,IAAI,CAAC,KAAK,MAAc,CAAC,GAAQ;EACjC,IAAM,IAAU,KAAK,GAAS,kBAAkB;EAChD,KAAK,IAAM,KAAQ,GAAqB,EAAO,iBAAiB,GAAM,KAAK,IAAc,CAAO;EAIhG,AAHI,KAAK,GAAuC,KAC9C,EAAO,iBAAiB,eAAe,KAAK,IAA+B,EAAI,GAEjF,KAAK,GAAkB,CAAM;CAC/B;CAEA,KAA+B;EAC7B,IAAM,IAAS,KAAK;EACpB,IAAI,CAAC,KAAK,MAAc,CAAC,GAAQ;EACjC,IAAM,IAAU,KAAK,GAAS,kBAAkB;EAChD,KAAK,IAAM,KAAQ,GAAqB,EAAO,oBAAoB,GAAM,KAAK,IAAc,CAAO;EAInG,AAHI,KAAK,GAAuC,KAC9C,EAAO,oBAAoB,eAAe,KAAK,IAA+B,EAAI,GAEpF,KAAK,GAAoB;CAC3B;CAEA,KAAkD;EAChD,OAAO,KAAK,GAAS,kBAAkB,sBAAsB,KAAK,GAAS,6BAA6B,KAAA;CAC1G;CAEA,MAAiC,MAA8B;EAC7D,IAAM,IAAS,KAAK;EAElB,CAAC,KACD,EAAM,kBAAkB,KACxB,EAAM,oBACN,KAAK,GAAS,oBAAoB,CAAK,KAIrC,KAAK,GAAS,2BAA2B,CAAK,KAAG,EAAM,eAAe;CAC5E;CAEA,MAAgB,MAAuB;EACrC,IAAM,IAAS,KAAK;EAChB,OAAC,KAAU,EAAM,kBAAkB,IACvC;OAAI,EAAM,SAAS,iBAAiB,aAAiB,YAAY;IAC/D,KAAK,GAAmB,CAAK;IAC7B;GACF;GACA,IAAI,EAAM,SAAS,eAAe;IAChC,KAAK,GAAmB,CAAK;IAC7B;GACF;GACA,IAAI,aAAiB,YAAY;IAC/B,KAAK,GAAa,CAAK;IACvB;GACF;GACA,IAAI,aAAiB,cAAc;IACjC,KAAK,GAAoB,CAAK;IAC9B;GACF;GACA,KAAK,GAAkB,CAAK;EAb5B;CAcF;CAEA,GAAkB,GAAoB;EAChC,EAAM,SAAS,eAAe,KAAK,GAAS,oBAAoB,CAAK,KACrE,KAAK,GAAS,sBAAoB,EAAM,eAAe;CAC7D;CAEA,GAAmB,GAAyB;EACtC,KAAK,GAAS,oBAAoB,CAAK,KACvC,KAAK,GAAS,2BAA2B,CAAK,KAAG,EAAM,eAAe;CAC5E;CAEA,GAAmB,GAAoB;EACrC,AAAI,KAAK,GAAe,OAAO,KAAG,EAAM,eAAe;CACzD;CAEA,GAAoB,GAA2B;EAC7C,IAAM,IAAS,EAAoB,CAAK;EACxC,IAAI,MAAW,KAAA,GAAW;GACxB,AAAI,KAAK,GAAe,IAAI,EAAM,SAAS,KAAG,KAAK,GAAY,GAAO,CAAM;GAC5E;EACF;EACA,AAAI,EAAM,SAAS,gBACZ,KAAK,GAAS,oBAAoB,CAAK,KAAG,KAAK,GAAmB,CAAK,IACnE,EAAM,SAAS,iBAAiB,KAAK,GAAe,IAAI,EAAM,SAAS,KAChF,KAAK,GAAmB,CAAK;CAEjC;CAEA,GAAa,GAAyB;EACpC,IAAM,IAAS,KAAK;EACpB,IAAI,CAAC,KAAU,KAAK,GAAS,oBAAoB,CAAK,GAAG;EACzD,IAAM,IAAa,EAAM,cAAc,WAAW,iBAAiB,EAAO,sBAAsB,IAAI,KAAA,GAC9F,IAAS,EAAoB,EAAM,QAAQ,EAAM,WAAW,GAAY,KAAK,GAC7E,IAAS,EAAoB,EAAM,QAAQ,EAAM,WAAW,GAAY,MAAM,GAC9E,IAAc,IAAI,QAAuB;GAE7C,AADA,EAAM,eAAe,GACrB,EAAM,gBAAgB;EACxB,CAAC;EACD,IAAI;GACF,KAAK,GAAsB;IACzB,OAAO,EAAY;IACnB,SAAS,EAAM;IACf,SAAS,EAAM;IACf;IACA;IACA;IACA,MAAM;GACR,CAAC;EACH,UAAU;GACR,EAAY,MAAM;EACpB;CACF;CAEA,GAAmB,GAA2B;EAC5C,IAAM,IAAc,IAAI,GAAsC,MAAW;GACvE,KAAK,GAAe,IAAI,EAAM,WAAW;IACvC,SAAS,EAAM;IACf,SAAS,EAAM;IACf,aAAa,GAAS;IACtB,WAAW;IACX,WAAW;IACX,gBAAgB,GAAS,kBAAkB;IAC3C,aAAa,EAAM;IACnB,cAAc,EAAM;IACpB,cAAc,EAAM;GACtB,CAAC;GACD,IAAM,IAAS,KAAK;GAGpB,AAFI,KAAQ,KAAK,GAAiB,CAAM,GACxC,EAAM,gBAAgB,GACtB,KAAK,GAAgB,EAAM,SAAS;EACtC,CAAC;EACD,IAAI;GACF,KAAK,GAAsB;IAAE,OAAO,EAAY;IAAO;IAAO,MAAM;GAAc,CAAC;EACrF,UAAU;GACR,EAAY,MAAM;EACpB;EACA,KAAK,GAAoB;CAC3B;CAEA,GAAmB,GAA2B;EAC5C,IAAM,IAAe,KAAK,GAAuB,CAAK;EACjD,MACL,EAAM,gBAAgB,IAClB,EAAa,cAAc,KAAK,EAAa,cAAc,OAC3D,KAAK,GAAe,QAAQ,KAAK,KAAK,GAAa,CAAK,KACxD,EAAa,gBAAgB,KAAA,MACjC,EAAM,eAAe,GACrB,KAAK,GAAgC,GAAO,GAAc,EAAa,WAAW;CACpF;CAEA,GAAuB,GAA+C;EACpE,IAAM,IAAe,KAAK,GAAe,IAAI,EAAM,SAAS;EACvD,OAKL,OAJA,EAAa,YAAY,EAAsB,EAAM,SAAS,EAAa,OAAO,GAClF,EAAa,YAAY,EAAsB,EAAM,SAAS,EAAa,OAAO,GAClF,EAAa,UAAU,EAAM,SAC7B,EAAa,UAAU,EAAM,SACtB;CACT;CAEA,GAAgC,GAAqB,GAA4B,GAA4B;EAC3G,KAAK,GAAiB;GACpB,SAAS,EAAa;GACtB,SAAS,EAAa;GACtB;GACA;GACA,WAAW,EAAa;GACxB,WAAW,EAAa;GACxB,cAAc,EAAa;GAC3B,cAAc,EAAa;GAC3B,oBAAoB,EAAsB,EAAa,SAAS,EAAa,YAAY;GACzF,oBAAoB,EAAsB,EAAa,SAAS,EAAa,YAAY;EAC3F,CAAC;CACH;CAEA,GAAY,GAAqB,GAAgC;EAC/D,IAAM,IAAe,KAAK,GAAe,IAAI,EAAM,SAAS;EAC5D,IAAI,CAAC,GAAc;EACnB,IAAM,IAAc,EAAwB,CAAM,GAC5C,IAAU,IAAc,EAAa,UAAU,EAAM,SACrD,IAAU,IAAc,EAAa,UAAU,EAAM;EAkB3D,AAjBA,EAAM,gBAAgB,GACtB,KAAK,GAAsB;GACzB;GACA;GACA;GACA;GACA,MAAM;GACN,WAAW,EAAsB,GAAS,EAAa,OAAO;GAC9D,WAAW,EAAsB,GAAS,EAAa,OAAO;GAC9D,cAAc,EAAa;GAC3B,cAAc,EAAa;GAC3B,oBAAoB,EAAsB,GAAS,EAAa,YAAY;GAC5E,oBAAoB,EAAsB,GAAS,EAAa,YAAY;GAC5E;EACF,CAAC,GACD,KAAK,GAAe,OAAO,EAAM,SAAS,GACtC,KAAK,GAAe,SAAS,KAAG,KAAK,GAAmB,GACxD,KAAK,GAAsB,IAAI,MAAG,KAAK,KAAS,KAAA;CACtD;CAEA,GAAa,GAA8B;EAEzC,AADA,KAAK,GAAoB,GACzB,KAAK,GAA6B;EAClC,IAAM,IAAQ,KAAK,IACb,IAAe,KAAK,GAAe,IAAI,EAAM,SAAS;EAC5D,IAAI,CAAC,KAAS,CAAC,GAAc,gBAAgB,OAAO;EACpD,IAAM,IAAgB,EAAM,cAAc,EAAM,kBAAkB,EAAM,cAAc,EAAM;EAI5F,OAHI,EAAM,WAAW,YAAkB,KACnC,EAAM,WAAW,aAAmB,CAAC,IACzC,CAAK,KACE,KAAK,GAAqB,GAAO,CAAK;CAC/C;CAEA,GAAqB,GAAqB,GAAiD;EACzF,IAAM,IAAQ,KAAK,GAAe,IAAI,EAAM,cAAc,GACpD,IAAS,KAAK,GAAe,IAAI,EAAM,eAAe;EAC5D,IAAI,CAAC,KAAS,CAAC,GAAQ,OAAO;EAC9B,IAAM,IAAW,EAAyB,GAAO,CAAM;EACvD,IAAI,KAAY,GAAG,OAAO;EAC1B,IAAM,IAAgB,EAAkB,EAAM,SAAS,EAAO,OAAO,GAC/D,IAAgB,EAAkB,EAAM,SAAS,EAAO,OAAO;EAoBrE,OAnBA,EAAM,eAAe,GACrB,KAAK,GAAiB;GACpB;GACA;GACA,SAAS,EAAM;GACf;GACA,gBAAgB,EAAM;GACtB,kBAAkB,EAAM;GACxB,mBAAmB,EAAM;GACzB,mBAAmB,EAAM;GACzB,MAAM;GACN,OAAO,IAAW,EAAM;GACxB,iBAAiB,EAAM;GACvB,mBAAmB,EAAM;GACzB,oBAAoB,EAAM;GAC1B,oBAAoB,EAAM;GAC1B,oBAAoB,EAAM;GAC1B,oBAAoB,EAAM;EAC5B,CAAC,GACM;CACT;CAEA,KAA4B;EAC1B,IAAM,IAAa,KAAK,GAAS;EACjC,IAAI,KAAK,MAAU,KAAK,GAAe,OAAO,KAAK,CAAC,GAAY;EAChE,IAAI,GACA;EACJ,KAAK,IAAM,KAAa,KAAK,GAAe,KAAK,GAC1C,SAAK,GAAe,IAAI,CAAS,CAAC,EAAE,gBACzC;OAAI,MAAmB,KAAA,GAAW,IAAiB;QAC9C;IACH,IAAkB;IAClB;GACF;;EAEE,MAAmB,KAAA,KAAa,MAAoB,KAAA,MACxD,KAAK,KAAS;GAAE;GAAgB;GAAiB,QAAQ;EAAU,GACnE,KAAK,GAA6B;CACpC;CAEA,KAAqC;EACnC,IAAM,IAAQ,KAAK,IACb,IAAa,KAAK,GAAS;EACjC,IAAI,GAAO,WAAW,aAAa,CAAC,GAAY;EAChD,IAAM,IAAQ,KAAK,GAAe,IAAI,EAAM,cAAc,GACpD,IAAS,KAAK,GAAe,IAAI,EAAM,eAAe;EAC5D,IAAI,CAAC,KAAS,CAAC,GAAQ;EACvB,IAAM,IAAW,EAAyB,GAAO,CAAM;EACvD,IAAI,KAAY,GAAG;EACnB,IAAM,IAAoB;GACxB,gBAAgB,EAAM;GACtB,kBAAkB,EAAM;GACxB,mBAAmB,EAAM;GACzB,mBAAmB,EAAM;GACzB,iBAAiB,EAAM;GACvB,mBAAmB,EAAO;GAC1B,oBAAoB,EAAO;GAC3B,oBAAoB,EAAO;GAC3B,oBAAoB,EAAkB,EAAM,SAAS,EAAO,OAAO;GACnE,oBAAoB,EAAkB,EAAM,SAAS,EAAO,OAAO;EACrE,GACM,IAAW,EAAW,CAAK;EACjC,IAAI,CAAC,GAAU;GACb,KAAK,KAAS;IACZ,gBAAgB,EAAM;IACtB,iBAAiB,EAAM;IACvB,QAAQ;GACV;GACA;EACF;EACA,KAAK,KAAS;GACZ,SAAS,EAAS;GAClB;GACA,QAAQ;GACR,GAAG;EACL;CACF;CAEA,KAAgC;EAC9B,IAAI,IAAQ;EACZ,KAAK,IAAM,KAAgB,KAAK,GAAe,OAAO,GACpD,AAAI,EAAa,mBAAgB,KAAS;EAE5C,OAAO;CACT;CAEA,GAAgB,GAAyB;EACvC,IAAI;GACF,KAAK,IAAS,oBAAoB,CAAS;EAC7C,QAAQ,CAER;CACF;CAEA,GAAkB,GAA2B;EAC3C,IAAM,IAAc,KAAK,GAAgB;EACrC,MAAgB,KAAA,MACpB,KAAK,KAAoB;GACvB,SAAS;GACT,UAAU,EAAO,MAAM,oBAAoB,cAAc;GACzD;GACA,OAAO,EAAO,MAAM,iBAAiB,cAAc;EACrD,GACA,EAAO,MAAM,YAAY,gBAAgB,CAAW;CACtD;CAEA,KAA4B;EAC1B,IAAM,IAAQ,KAAK;EACnB,KAAK,KAAoB,KAAA,GACrB,GAAC,KAAS,EAAM,OAAO,MAAM,iBAAiB,cAAc,MAAM,EAAM,aACxE,EAAM,QACR,EAAM,OAAO,MAAM,YAAY,gBAAgB,EAAM,OAAO,EAAM,QAAQ,IAE1E,EAAM,OAAO,MAAM,eAAe,cAAc;CAEpD;CAEA,KAAyB;EACvB,IAAM,IAAS,KAAK;EACpB,IAAI,CAAC,KAAK,MAAc,CAAC,GAAQ;EACjC,IAAM,IAAc,KAAK,GAAgB;EACrC,MAAgB,KAAK,IAAmB,YAC5C,KAAK,GAAoB,GACrB,MAAgB,KAAA,KAAW,KAAK,GAAkB,CAAM;CAC9D;CAEA,KAAsC;EACpC,IAAM,IAAc,KAAK,GAAS;EAClC,OAAO,OAAO,KAAgB,aAAa,EAAY,IAAI;CAC7D;CAEA,GAAiB,GAA2B;EAC1C,IAAI,KAAK,IAAkB;EAC3B,IAAM,IAAU;EAShB,AAPA,KAAK,KAAmB;GACtB;GACA;GACA,UAAU,EAAO,MAAM,oBAAoB,aAAa;GACxD;GACA,OAAO,EAAO,MAAM,iBAAiB,aAAa;EACpD,GACA,EAAO,MAAM,YAAY,eAAe,GAAS,EAAe;CAClE;CAEA,KAA2B;EACzB,IAAM,IAAQ,KAAK;EACnB,KAAK,KAAmB,KAAA,GAEtB,GAAC,KACD,EAAM,OAAO,MAAM,iBAAiB,aAAa,MAAM,EAAM,WAC7D,EAAM,OAAO,MAAM,oBAAoB,aAAa,MAAM,EAAM,qBAI9D,EAAM,QACR,EAAM,OAAO,MAAM,YAAY,eAAe,EAAM,OAAO,EAAM,QAAQ,IAEzE,EAAM,OAAO,MAAM,eAAe,aAAa;CAEnD;CAEA,GAAiB,GAAuC;EACtD,KAAK,GAAM,cACT,IAAI,YAAoC,eAAe;GACrD,SAAS;GACT,YAAY;GACZ,UAAU;GACV,QAAQ;EACV,CAAC,CACH;CACF;CAEA,GAAsB,GAA2B;EAC/C,KAAK,GAAM,cACT,IAAI,YAA0B,qBAAqB;GACjD,SAAS;GACT,YAAY;GACZ,UAAU;GACV,QAAQ;EACV,CAAC,CACH;CACF;CAEA,KAA2B;EAGzB,AAFA,KAAK,GAAe,MAAM,GAC1B,KAAK,KAAS,KAAA,GACd,KAAK,GAAmB;CAC1B;AACF;AAEA,SAAS,EAAsB,GAAkB,GAAwB;CACvE,OAAO,IAAW;AACpB;AAEA,SAAS,EAAkB,GAAe,GAAwB;CAChE,QAAQ,IAAQ,KAAU;AAC5B;AAEA,SAAS,EAAyB,GAAqB,GAA8B;CACnF,OAAO,KAAK,MAAM,EAAM,UAAU,EAAO,SAAS,EAAM,UAAU,EAAO,OAAO;AAClF;AAEA,SAAS,EAAoB,GAAmD;CAC9E,IAAI,EAAM,SAAS,aAAa,OAAO;CACvC,IAAI,EAAM,SAAS,iBAAiB,OAAO;CAC3C,IAAI,EAAM,SAAS,sBAAsB,OAAO;CAChD,IAAI,EAAM,SAAS,iBAAiB,EAAM,YAAY,GAAG,OAAO;AAElE;AAEA,SAAS,EAAwB,GAAmC;CAClE,OAAO,MAAW,YAAY,MAAW;AAC3C;AAEA,SAAS,EAAoB,GAAe,GAAmB,IAAa,GAAW;CAGrF,OAFI,MAAc,WAAW,iBAAuB,IAAQ,IACxD,MAAc,WAAW,iBAAuB,IAAQ,IACrD;AACT"}
|
|
1
|
+
{"version":3,"file":"gesture.controller.js","names":["GESTURE_EVENT_TYPES","WHEEL_ZOOM_EXPONENT_PER_PIXEL","CTRL_WHEEL_ZOOM_GAIN","WHEEL_LINE_PIXELS","SynchronousClaim","action","#action","options","GestureController","#host","host","#options","gain","input","target","#target","#removeTargetListeners","#resetGestureState","#addTargetListeners","#connected","#syncTouchAction","capture","type","#handleEvent","#shouldListenForPointerDownReservation","#handlePointerDownReservation","#applyTouchAction","#restoreTouchAction","event","#handleContextMenu","#handleSelectStart","#handleWheel","#handlePointerEvent","#handleNativeDrag","#pointerStates","reason","getPointerEndReason","#handlePointerDown","#handlePointerMove","#endPointer","pageBounds","deltaX","normalizeWheelDelta","deltaY","claimWindow","#dispatchGestureInput","#applyUserSelect","#capturePointer","#startPinchIfNeeded","pointerState","#updatePointerPosition","#handlePinch","#dispatchPointerMovementGesture","calculateDisplacement","#dispatchGesture","interrupted","isPointerEndInterrupted","clientX","clientY","#restoreUserSelect","#countPinchCandidates","#pinch","#beginPendingPinchIfPossible","pinch","isPairPointer","#dispatchActivePinch","first","second","distance","calculatePointerDistance","centerClientX","calculateMidpoint","centerClientY","beginPinch","firstPointerId","secondPointerId","pointerId","start","decision","count","touchAction","#getTouchAction","#touchActionState","state","#userSelectState","applied","gesture","position","origin","deltaMode","delta","pagePixels"],"sources":["../../../src/internal/controllers/gesture.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveControllerHost } from 'lit';\n\nconst GESTURE_EVENT_TYPES = [\n 'contextmenu',\n 'dragstart',\n 'lostpointercapture',\n 'pointercancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'selectstart',\n 'wheel'\n] as const;\n\nconst WHEEL_ZOOM_EXPONENT_PER_PIXEL = 0.002;\n\n/**\n * Browsers expose trackpad pinch as Ctrl-modified wheel input, so Ctrl-wheel uses a higher zoom gain.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/ctrlKey\n */\nconst CTRL_WHEEL_ZOOM_GAIN = 10;\n\nconst WHEEL_LINE_PIXELS = 16;\n\ninterface PointerState {\n clientX: number;\n clientY: number;\n gestureKind: PointerClaimOptions['kind'];\n movementX: number;\n movementY: number;\n pinchCandidate: boolean;\n readonly pointerType: string;\n readonly startClientX: number;\n readonly startClientY: number;\n}\n\nexport interface PointerClaimOptions {\n readonly kind?: 'drag' | 'pan';\n readonly pinchCandidate?: boolean;\n}\n\nexport interface PinchStartDecision<TContext> {\n readonly context: TContext;\n}\n\n/** Coordinates and deltas use CSS pixels; movement is sample-relative and total displacement is start-relative. */\nexport interface PointerMovementGesture {\n readonly event: PointerEvent;\n readonly clientX: number;\n readonly clientY: number;\n readonly movementX: number;\n readonly movementY: number;\n readonly startClientX: number;\n readonly startClientY: number;\n readonly totalDisplacementX: number;\n readonly totalDisplacementY: number;\n}\n\nexport interface PinchStart {\n readonly firstPointerId: number;\n readonly firstPointerType: string;\n readonly firstStartClientX: number;\n readonly firstStartClientY: number;\n readonly secondPointerId: number;\n readonly secondPointerType: string;\n readonly secondStartClientX: number;\n readonly secondStartClientY: number;\n readonly startCenterClientX: number;\n readonly startCenterClientY: number;\n}\n\nexport interface PinchGesture<TContext> extends PinchStart {\n readonly kind: 'pinch';\n readonly event: PointerEvent;\n readonly context: TContext;\n /** Current pointer distance divided by the starting pointer distance. */\n readonly scale: number;\n readonly centerClientX: number;\n readonly centerClientY: number;\n}\n\n/**\n * Per-event wheel input normalized to CSS pixels.\n *\n * Modifier-assisted trackpad pinch remains wheel input: consumers can classify it using the native event's\n * `ctrlKey` or `metaKey` without conflating it with the start-relative lifecycle of a two-pointer pinch.\n */\nexport interface WheelGesture {\n readonly kind: 'wheel';\n readonly event: WheelEvent;\n readonly clientX: number;\n readonly clientY: number;\n readonly deltaX: number;\n readonly deltaY: number;\n}\n\nexport type PointerEndReason = 'up' | 'cancel' | 'lost-capture' | 'buttons-released';\n\nexport interface PointerEndGesture extends PointerMovementGesture {\n readonly kind: 'pointerend';\n /** Whether the pointer session ended without an observed physical release. */\n readonly interrupted: boolean;\n readonly reason: PointerEndReason;\n}\n\nexport type Gesture<TPinchContext> =\n | (PointerMovementGesture & { readonly kind: 'drag' })\n | (PointerMovementGesture & { readonly kind: 'pan' })\n | PinchGesture<TPinchContext>;\n\nexport interface PointerDownInput {\n readonly event: PointerEvent;\n readonly kind: 'pointerdown';\n /**\n * Claims this pointer sequence once during the synchronous input dispatch and suppresses native text selection for\n * its lifetime; returns `false` after that window.\n */\n readonly claim: (options?: PointerClaimOptions) => boolean;\n}\n\nexport interface WheelGestureInput extends WheelGesture {\n /** Claims and prevents this wheel event during the synchronous input dispatch; returns `false` afterward. */\n readonly claim: () => boolean;\n}\n\n/** Claimable starts, claimed pointer terminals, and normalized claimable wheel input. */\nexport type GestureInput = PointerDownInput | PointerEndGesture | WheelGestureInput;\n\n/** Precedence policy for claims among nested GestureController targets. */\nexport type GestureClaimPriority = 'self-first' | 'descendant-first';\n\nexport interface GestureControllerOptions<TPinchContext = undefined> {\n /**\n * Skips admission of a new pointer sequence or a stateless native event.\n * The controller does not consult it again after a pointerdown claim.\n */\n readonly shouldIgnoreEvent?: (event: Event) => boolean;\n /**\n * Consulted once when the controller first observes two claimed pinch candidates.\n * Returning `undefined` declines that pair; otherwise the controller retains the context for its pinch lifetime.\n * The pair remains locked until fewer than two pinch candidates remain.\n */\n readonly beginPinch?: (start: PinchStart) => PinchStartDecision<TPinchContext> | undefined;\n /** Consulted independently for each context-menu event. */\n readonly shouldPreventContextMenu?: (event: MouseEvent) => boolean;\n /**\n * Determines precedence among nested GestureController targets.\n *\n * `self-first` is appropriate for a dedicated interaction surface.\n * `descendant-first` lets nested controllers claim input before this controller.\n *\n * Defaults to `self-first`.\n */\n readonly claimPriority?: GestureClaimPriority;\n /**\n * Consulted during native pointerdown capture before descendant handlers.\n *\n * Returning true calls preventDefault() on the pointerdown, but does not\n * claim the pointer, capture it, stop propagation, create pointer state,\n * suppress selection, or start a gesture.\n *\n * This is meaningful with `claimPriority: 'descendant-first'`. It lets an\n * activated higher-level interaction mode reserve a sequence for ordinary\n * target-phase application code while preserving nested GestureController\n * claim priority.\n */\n readonly shouldReservePointerDown?: (event: PointerEvent) => boolean;\n /** Prevents native HTML drag competition on a dedicated interaction surface. */\n readonly suppressNativeDrag?: boolean;\n /**\n * Inline `touch-action` for a dedicated interaction surface. The controller reevaluates a callback after host updates.\n * Restores the target's prior inline value afterward.\n * Avoid applying it to a general root that contains native interactive content.\n */\n readonly touchAction?: string | (() => string | undefined);\n}\n\ninterface PinchPair {\n readonly firstPointerId: number;\n readonly secondPointerId: number;\n}\n\ninterface PendingPinchState extends PinchPair {\n readonly status: 'pending';\n}\n\ninterface DeclinedPinchState extends PinchPair {\n readonly status: 'declined';\n}\n\ninterface ActivePinchState<TPinchContext> extends PinchPair, PinchStart {\n readonly context: TPinchContext;\n readonly distance: number;\n readonly status: 'active';\n}\n\ntype PinchState<TPinchContext> = PendingPinchState | DeclinedPinchState | ActivePinchState<TPinchContext>;\n\ninterface TouchActionState {\n readonly applied: string;\n readonly priority: string;\n readonly target: HTMLElement;\n readonly value: string;\n}\n\ninterface UserSelectState {\n readonly applied: string;\n readonly appliedPriority: string;\n readonly priority: string;\n readonly target: HTMLElement;\n readonly value: string;\n}\n\nclass SynchronousClaim<TOptions = void> {\n #action?: (options?: TOptions) => void;\n\n constructor(action: (options?: TOptions) => void) {\n this.#action = action;\n }\n\n readonly claim = (options?: TOptions): boolean => {\n const action = this.#action;\n if (!action) return false;\n this.#action = undefined;\n action(options);\n return true;\n };\n\n close(): void {\n this.#action = undefined;\n }\n}\n\ntype GestureHost = EventTarget & ReactiveControllerHost;\n\n/**\n * Normalizes claimable platform pointer and wheel input on a dynamically assigned target.\n * A pointer claim owns native input competition for its lifetime: the controller prevents claimed movement and text\n * selection, and can suppress native drag when configured.\n */\nexport class GestureController<TPinchContext = undefined> implements ReactiveController {\n readonly #host: GestureHost;\n readonly #options: GestureControllerOptions<TPinchContext>;\n readonly #pointerStates = new Map<number, PointerState>();\n #connected = false;\n #pinch?: PinchState<TPinchContext>;\n #target?: HTMLElement;\n #touchActionState?: TouchActionState;\n #userSelectState?: UserSelectState;\n\n constructor(host: GestureHost, options: GestureControllerOptions<TPinchContext>) {\n this.#host = host;\n this.#options = options;\n host.addController(this);\n }\n\n getWheelZoomFactor(input: Pick<WheelGesture, 'deltaY' | 'event'>): number {\n const gain = input.event.ctrlKey ? CTRL_WHEEL_ZOOM_GAIN : 1;\n return 2 ** (-input.deltaY * WHEEL_ZOOM_EXPONENT_PER_PIXEL * gain);\n }\n\n set target(target: HTMLElement | undefined) {\n if (target === this.#target) return;\n this.#removeTargetListeners();\n this.#resetGestureState();\n this.#target = target;\n this.#addTargetListeners();\n }\n\n hostConnected(): void {\n this.#connected = true;\n this.#addTargetListeners();\n }\n\n hostDisconnected(): void {\n this.#removeTargetListeners();\n this.#resetGestureState();\n this.#connected = false;\n }\n\n hostUpdated(): void {\n this.#syncTouchAction();\n }\n\n #addTargetListeners(): void {\n const target = this.#target;\n if (!this.#connected || !target) return;\n const capture = this.#options.claimPriority !== 'descendant-first';\n for (const type of GESTURE_EVENT_TYPES) target.addEventListener(type, this.#handleEvent, capture);\n if (this.#shouldListenForPointerDownReservation()) {\n target.addEventListener('pointerdown', this.#handlePointerDownReservation, true);\n }\n this.#applyTouchAction(target);\n }\n\n #removeTargetListeners(): void {\n const target = this.#target;\n if (!this.#connected || !target) return;\n const capture = this.#options.claimPriority !== 'descendant-first';\n for (const type of GESTURE_EVENT_TYPES) target.removeEventListener(type, this.#handleEvent, capture);\n if (this.#shouldListenForPointerDownReservation()) {\n target.removeEventListener('pointerdown', this.#handlePointerDownReservation, true);\n }\n this.#restoreTouchAction();\n }\n\n #shouldListenForPointerDownReservation(): boolean {\n return this.#options.claimPriority === 'descendant-first' && this.#options.shouldReservePointerDown !== undefined;\n }\n\n #handlePointerDownReservation = (event: PointerEvent): void => {\n const target = this.#target;\n if (\n !target ||\n event.currentTarget !== target ||\n event.defaultPrevented ||\n this.#options.shouldIgnoreEvent?.(event)\n ) {\n return;\n }\n if (this.#options.shouldReservePointerDown?.(event)) event.preventDefault();\n };\n\n #handleEvent = (event: Event): void => {\n const target = this.#target;\n if (!target || event.currentTarget !== target) return;\n if (event.type === 'contextmenu' && event instanceof MouseEvent) {\n this.#handleContextMenu(event);\n return;\n }\n if (event.type === 'selectstart') {\n this.#handleSelectStart(event);\n return;\n }\n if (event instanceof WheelEvent) {\n this.#handleWheel(event);\n return;\n }\n if (event instanceof PointerEvent) {\n this.#handlePointerEvent(event);\n return;\n }\n this.#handleNativeDrag(event);\n };\n\n #handleNativeDrag(event: Event): void {\n if (event.type !== 'dragstart' || this.#options.shouldIgnoreEvent?.(event)) return;\n if (this.#options.suppressNativeDrag) event.preventDefault();\n }\n\n #handleContextMenu(event: MouseEvent): void {\n if (this.#options.shouldIgnoreEvent?.(event)) return;\n if (this.#options.shouldPreventContextMenu?.(event)) event.preventDefault();\n }\n\n #handleSelectStart(event: Event): void {\n if (this.#pointerStates.size > 0) event.preventDefault();\n }\n\n #handlePointerEvent(event: PointerEvent): void {\n const reason = getPointerEndReason(event);\n if (reason !== undefined) {\n if (this.#pointerStates.has(event.pointerId)) this.#endPointer(event, reason);\n return;\n }\n if (event.type === 'pointerdown') {\n if (!this.#options.shouldIgnoreEvent?.(event)) this.#handlePointerDown(event);\n } else if (event.type === 'pointermove' && this.#pointerStates.has(event.pointerId)) {\n this.#handlePointerMove(event);\n }\n }\n\n #handleWheel(event: WheelEvent): void {\n const target = this.#target;\n if (!target || this.#options.shouldIgnoreEvent?.(event)) return;\n const pageBounds = event.deltaMode === WheelEvent.DOM_DELTA_PAGE ? target.getBoundingClientRect() : undefined;\n const deltaX = normalizeWheelDelta(event.deltaX, event.deltaMode, pageBounds?.width);\n const deltaY = normalizeWheelDelta(event.deltaY, event.deltaMode, pageBounds?.height);\n const claimWindow = new SynchronousClaim(() => {\n event.preventDefault();\n event.stopPropagation();\n });\n try {\n this.#dispatchGestureInput({\n claim: claimWindow.claim,\n clientX: event.clientX,\n clientY: event.clientY,\n deltaX,\n deltaY,\n event,\n kind: 'wheel'\n });\n } finally {\n claimWindow.close();\n }\n }\n\n #handlePointerDown(event: PointerEvent): void {\n const claimWindow = new SynchronousClaim<PointerClaimOptions>(options => {\n this.#pointerStates.set(event.pointerId, {\n clientX: event.clientX,\n clientY: event.clientY,\n gestureKind: options?.kind,\n movementX: 0,\n movementY: 0,\n pinchCandidate: options?.pinchCandidate ?? false,\n pointerType: event.pointerType,\n startClientX: event.clientX,\n startClientY: event.clientY\n });\n const target = this.#target;\n if (target) this.#applyUserSelect(target);\n event.stopPropagation();\n this.#capturePointer(event.pointerId);\n });\n try {\n this.#dispatchGestureInput({ claim: claimWindow.claim, event, kind: 'pointerdown' });\n } finally {\n claimWindow.close();\n }\n this.#startPinchIfNeeded();\n }\n\n #handlePointerMove(event: PointerEvent): void {\n const pointerState = this.#updatePointerPosition(event);\n if (!pointerState) return;\n event.stopPropagation();\n if (pointerState.movementX === 0 && pointerState.movementY === 0) return;\n if (this.#pointerStates.size >= 2 && this.#handlePinch(event)) return;\n if (pointerState.gestureKind === undefined) return;\n event.preventDefault();\n this.#dispatchPointerMovementGesture(event, pointerState, pointerState.gestureKind);\n }\n\n #updatePointerPosition(event: PointerEvent): PointerState | undefined {\n const pointerState = this.#pointerStates.get(event.pointerId);\n if (!pointerState) return undefined;\n pointerState.movementX = calculateDisplacement(event.clientX, pointerState.clientX);\n pointerState.movementY = calculateDisplacement(event.clientY, pointerState.clientY);\n pointerState.clientX = event.clientX;\n pointerState.clientY = event.clientY;\n return pointerState;\n }\n\n #dispatchPointerMovementGesture(event: PointerEvent, pointerState: PointerState, kind: 'drag' | 'pan'): void {\n this.#dispatchGesture({\n clientX: pointerState.clientX,\n clientY: pointerState.clientY,\n event,\n kind,\n movementX: pointerState.movementX,\n movementY: pointerState.movementY,\n startClientX: pointerState.startClientX,\n startClientY: pointerState.startClientY,\n totalDisplacementX: calculateDisplacement(pointerState.clientX, pointerState.startClientX),\n totalDisplacementY: calculateDisplacement(pointerState.clientY, pointerState.startClientY)\n });\n }\n\n #endPointer(event: PointerEvent, reason: PointerEndReason): void {\n const pointerState = this.#pointerStates.get(event.pointerId);\n if (!pointerState) return;\n const interrupted = isPointerEndInterrupted(reason, event);\n const clientX = interrupted ? pointerState.clientX : event.clientX;\n const clientY = interrupted ? pointerState.clientY : event.clientY;\n event.stopPropagation();\n this.#dispatchGestureInput({\n clientX,\n clientY,\n event,\n interrupted,\n kind: 'pointerend',\n movementX: calculateDisplacement(clientX, pointerState.clientX),\n movementY: calculateDisplacement(clientY, pointerState.clientY),\n startClientX: pointerState.startClientX,\n startClientY: pointerState.startClientY,\n totalDisplacementX: calculateDisplacement(clientX, pointerState.startClientX),\n totalDisplacementY: calculateDisplacement(clientY, pointerState.startClientY),\n reason\n });\n this.#pointerStates.delete(event.pointerId);\n if (this.#pointerStates.size === 0) this.#restoreUserSelect();\n if (this.#countPinchCandidates() < 2) this.#pinch = undefined;\n }\n\n #handlePinch(event: PointerEvent): boolean {\n this.#startPinchIfNeeded();\n this.#beginPendingPinchIfPossible();\n const pinch = this.#pinch;\n const pointerState = this.#pointerStates.get(event.pointerId);\n if (!pinch || !pointerState?.pinchCandidate) return false;\n const isPairPointer = event.pointerId === pinch.firstPointerId || event.pointerId === pinch.secondPointerId;\n if (pinch.status === 'pending') return true;\n if (pinch.status === 'declined') return !isPairPointer;\n if (!isPairPointer) return true;\n return this.#dispatchActivePinch(event, pinch);\n }\n\n #dispatchActivePinch(event: PointerEvent, pinch: ActivePinchState<TPinchContext>): boolean {\n const first = this.#pointerStates.get(pinch.firstPointerId);\n const second = this.#pointerStates.get(pinch.secondPointerId);\n if (!first || !second) return true;\n const distance = calculatePointerDistance(first, second);\n if (distance <= 0) return true;\n const centerClientX = calculateMidpoint(first.clientX, second.clientX);\n const centerClientY = calculateMidpoint(first.clientY, second.clientY);\n event.preventDefault();\n this.#dispatchGesture({\n centerClientX,\n centerClientY,\n context: pinch.context,\n event,\n firstPointerId: pinch.firstPointerId,\n firstPointerType: pinch.firstPointerType,\n firstStartClientX: pinch.firstStartClientX,\n firstStartClientY: pinch.firstStartClientY,\n kind: 'pinch',\n scale: distance / pinch.distance,\n secondPointerId: pinch.secondPointerId,\n secondPointerType: pinch.secondPointerType,\n secondStartClientX: pinch.secondStartClientX,\n secondStartClientY: pinch.secondStartClientY,\n startCenterClientX: pinch.startCenterClientX,\n startCenterClientY: pinch.startCenterClientY\n });\n return true;\n }\n\n #startPinchIfNeeded(): void {\n const beginPinch = this.#options.beginPinch;\n if (this.#pinch || this.#pointerStates.size < 2 || !beginPinch) return;\n let firstPointerId: number | undefined;\n let secondPointerId: number | undefined;\n for (const pointerId of this.#pointerStates.keys()) {\n if (!this.#pointerStates.get(pointerId)?.pinchCandidate) continue;\n if (firstPointerId === undefined) firstPointerId = pointerId;\n else {\n secondPointerId = pointerId;\n break;\n }\n }\n if (firstPointerId === undefined || secondPointerId === undefined) return;\n this.#pinch = { firstPointerId, secondPointerId, status: 'pending' };\n this.#beginPendingPinchIfPossible();\n }\n\n #beginPendingPinchIfPossible(): void {\n const pinch = this.#pinch;\n const beginPinch = this.#options.beginPinch;\n if (pinch?.status !== 'pending' || !beginPinch) return;\n const first = this.#pointerStates.get(pinch.firstPointerId);\n const second = this.#pointerStates.get(pinch.secondPointerId);\n if (!first || !second) return;\n const distance = calculatePointerDistance(first, second);\n if (distance <= 0) return;\n const start: PinchStart = {\n firstPointerId: pinch.firstPointerId,\n firstPointerType: first.pointerType,\n firstStartClientX: first.startClientX,\n firstStartClientY: first.startClientY,\n secondPointerId: pinch.secondPointerId,\n secondPointerType: second.pointerType,\n secondStartClientX: second.startClientX,\n secondStartClientY: second.startClientY,\n startCenterClientX: calculateMidpoint(first.clientX, second.clientX),\n startCenterClientY: calculateMidpoint(first.clientY, second.clientY)\n };\n const decision = beginPinch(start);\n if (!decision) {\n this.#pinch = {\n firstPointerId: pinch.firstPointerId,\n secondPointerId: pinch.secondPointerId,\n status: 'declined'\n };\n return;\n }\n this.#pinch = {\n context: decision.context,\n distance,\n status: 'active',\n ...start\n };\n }\n\n #countPinchCandidates(): number {\n let count = 0;\n for (const pointerState of this.#pointerStates.values()) {\n if (pointerState.pinchCandidate) count += 1;\n }\n return count;\n }\n\n #capturePointer(pointerId: number): void {\n try {\n this.#target?.setPointerCapture?.(pointerId);\n } catch {\n // Synthetic test events and browser implementations may not have an active pointer to capture.\n }\n }\n\n #applyTouchAction(target: HTMLElement): void {\n const touchAction = this.#getTouchAction();\n if (touchAction === undefined) return;\n this.#touchActionState = {\n applied: touchAction,\n priority: target.style.getPropertyPriority('touch-action'),\n target,\n value: target.style.getPropertyValue('touch-action')\n };\n target.style.setProperty('touch-action', touchAction);\n }\n\n #restoreTouchAction(): void {\n const state = this.#touchActionState;\n this.#touchActionState = undefined;\n if (!state || state.target.style.getPropertyValue('touch-action') !== state.applied) return;\n if (state.value) {\n state.target.style.setProperty('touch-action', state.value, state.priority);\n } else {\n state.target.style.removeProperty('touch-action');\n }\n }\n\n #syncTouchAction(): void {\n const target = this.#target;\n if (!this.#connected || !target) return;\n const touchAction = this.#getTouchAction();\n if (touchAction === this.#touchActionState?.applied) return;\n this.#restoreTouchAction();\n if (touchAction !== undefined) this.#applyTouchAction(target);\n }\n\n #getTouchAction(): string | undefined {\n const touchAction = this.#options.touchAction;\n return typeof touchAction === 'function' ? touchAction() : touchAction;\n }\n\n #applyUserSelect(target: HTMLElement): void {\n if (this.#userSelectState) return;\n const applied = 'none';\n const appliedPriority = '';\n this.#userSelectState = {\n applied,\n appliedPriority,\n priority: target.style.getPropertyPriority('user-select'),\n target,\n value: target.style.getPropertyValue('user-select')\n };\n target.style.setProperty('user-select', applied, appliedPriority);\n }\n\n #restoreUserSelect(): void {\n const state = this.#userSelectState;\n this.#userSelectState = undefined;\n if (\n !state ||\n state.target.style.getPropertyValue('user-select') !== state.applied ||\n state.target.style.getPropertyPriority('user-select') !== state.appliedPriority\n ) {\n return;\n }\n if (state.value) {\n state.target.style.setProperty('user-select', state.value, state.priority);\n } else {\n state.target.style.removeProperty('user-select');\n }\n }\n\n #dispatchGesture(gesture: Gesture<TPinchContext>): void {\n this.#host.dispatchEvent(\n new CustomEvent<Gesture<TPinchContext>>('nve-gesture', {\n bubbles: false,\n cancelable: false,\n composed: false,\n detail: gesture\n })\n );\n }\n\n #dispatchGestureInput(input: GestureInput): void {\n this.#host.dispatchEvent(\n new CustomEvent<GestureInput>('nve-gesture-input', {\n bubbles: false,\n cancelable: false,\n composed: false,\n detail: input\n })\n );\n }\n\n #resetGestureState(): void {\n this.#pointerStates.clear();\n this.#pinch = undefined;\n this.#restoreUserSelect();\n }\n}\n\nfunction calculateDisplacement(position: number, origin: number): number {\n return position - origin;\n}\n\nfunction calculateMidpoint(first: number, second: number): number {\n return (first + second) / 2;\n}\n\nfunction calculatePointerDistance(first: PointerState, second: PointerState): number {\n return Math.hypot(first.clientX - second.clientX, first.clientY - second.clientY);\n}\n\nfunction getPointerEndReason(event: PointerEvent): PointerEndReason | undefined {\n if (event.type === 'pointerup') return 'up';\n if (event.type === 'pointercancel') return 'cancel';\n if (event.type === 'lostpointercapture') return 'lost-capture';\n if (event.type === 'pointermove' && event.buttons === 0) return 'buttons-released';\n return undefined;\n}\n\nfunction isPointerEndInterrupted(reason: PointerEndReason, event: PointerEvent): boolean {\n return reason === 'cancel' || (reason === 'lost-capture' && event.buttons !== 0);\n}\n\nfunction normalizeWheelDelta(delta: number, deltaMode: number, pagePixels = 1): number {\n if (deltaMode === WheelEvent.DOM_DELTA_LINE) return delta * WHEEL_LINE_PIXELS;\n if (deltaMode === WheelEvent.DOM_DELTA_PAGE) return delta * pagePixels;\n return delta;\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/internal/controllers/key-state.controller.ts
|
|
2
2
|
var e = class {
|
|
3
3
|
#e;
|
|
4
4
|
#t = /* @__PURE__ */ new Set();
|
|
@@ -78,7 +78,6 @@ var r = class {
|
|
|
78
78
|
e !== this.#i && (this.#i?.unsubscribe(this.#t), this.#i = e, this.#i?.subscribe(this.#t));
|
|
79
79
|
}
|
|
80
80
|
};
|
|
81
|
-
//#endregion
|
|
82
81
|
export { r as KeyStateController };
|
|
83
82
|
|
|
84
83
|
//# sourceMappingURL=key-state.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-state.controller.js","names":[],"sources":["../../../src/internal/controllers/key-state.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveControllerHost } from 'lit';\n\nexport interface KeyStateControllerOptions {\n readonly watchedCodes: ReadonlyArray<string>;\n}\n\ntype KeyStateHost = ReactiveControllerHost & Pick<HTMLElement, 'ownerDocument'>;\n\ninterface KeyStateSubscriber {\n readonly watchedCodes: ReadonlySet<string>;\n readonly requestUpdate: () => void;\n}\n\n/** Owns the keyboard state and global listeners shared by active controllers in one document. */\nclass DocumentKeyStateSource {\n readonly #document: Document;\n readonly #pressedCodes = new Set<string>();\n readonly #subscribers = new Set<KeyStateSubscriber>();\n\n constructor(document: Document) {\n this.#document = document;\n }\n\n subscribe(subscriber: KeyStateSubscriber): void {\n if (this.#subscribers.has(subscriber)) return;\n if (this.#subscribers.size === 0) this.#addListeners();\n this.#subscribers.add(subscriber);\n }\n\n unsubscribe(subscriber: KeyStateSubscriber): void {\n if (!this.#subscribers.delete(subscriber) || this.#subscribers.size > 0) return;\n this.#removeListeners();\n this.#pressedCodes.clear();\n }\n\n isPressed(code: string): boolean {\n return this.#pressedCodes.has(code);\n }\n\n #addListeners(): void {\n const view = this.#document.defaultView;\n view?.addEventListener('keydown', this.#handleKeyDown, true);\n view?.addEventListener('keyup', this.#handleKeyUp, true);\n view?.addEventListener('blur', this.#clear);\n this.#document.addEventListener('visibilitychange', this.#handleVisibilityChange);\n }\n\n #removeListeners(): void {\n const view = this.#document.defaultView;\n view?.removeEventListener('keydown', this.#handleKeyDown, true);\n view?.removeEventListener('keyup', this.#handleKeyUp, true);\n view?.removeEventListener('blur', this.#clear);\n this.#document.removeEventListener('visibilitychange', this.#handleVisibilityChange);\n }\n\n #handleKeyDown = (event: KeyboardEvent): void => {\n if (this.#pressedCodes.has(event.code)) return;\n this.#pressedCodes.add(event.code);\n this.#notifySubscribers(event.code);\n };\n\n #handleKeyUp = (event: KeyboardEvent): void => {\n if (!this.#pressedCodes.delete(event.code)) return;\n this.#notifySubscribers(event.code);\n };\n\n #handleVisibilityChange = (): void => {\n if (this.#document.visibilityState === 'hidden') this.#clear();\n };\n\n #clear = (): void => {\n if (this.#pressedCodes.size === 0) return;\n const changedCodes = [...this.#pressedCodes];\n this.#pressedCodes.clear();\n for (const subscriber of this.#subscribers) {\n if (changedCodes.some(code => subscriber.watchedCodes.has(code))) subscriber.requestUpdate();\n }\n };\n\n #notifySubscribers(code: string): void {\n for (const subscriber of this.#subscribers) {\n if (subscriber.watchedCodes.has(code)) subscriber.requestUpdate();\n }\n }\n}\n\nconst documentKeyStateSources = new WeakMap<Document, DocumentKeyStateSource>();\n\nfunction keyStateSourceFor(document: Document): DocumentKeyStateSource {\n let source = documentKeyStateSources.get(document);\n if (!source) {\n source = new DocumentKeyStateSource(document);\n documentKeyStateSources.set(document, source);\n }\n return source;\n}\n\n/** Provides host-scoped access to shared raw keyboard state without assigning interaction semantics to any key. */\nexport class KeyStateController implements ReactiveController {\n readonly #host: KeyStateHost;\n readonly #subscriber: KeyStateSubscriber;\n #connected = false;\n #enabled = false;\n #source?: DocumentKeyStateSource;\n\n constructor(host: KeyStateHost, { watchedCodes }: KeyStateControllerOptions) {\n this.#host = host;\n this.#subscriber = {\n watchedCodes: new Set(watchedCodes),\n requestUpdate: () => host.requestUpdate()\n };\n host.addController(this);\n }\n\n /** Enables shared keyboard tracking during the host's connected lifecycle. */\n get enabled(): boolean {\n return this.#enabled;\n }\n\n set enabled(value: boolean) {\n if (value === this.#enabled) return;\n this.#enabled = value;\n this.#syncSubscription();\n }\n\n /** Returns whether a key identified by `KeyboardEvent.code` is currently held. */\n isPressed(code: string): boolean {\n return this.#source?.isPressed(code) ?? false;\n }\n\n hostConnected(): void {\n this.#connected = true;\n this.#syncSubscription();\n }\n\n hostDisconnected(): void {\n this.#connected = false;\n this.#syncSubscription();\n }\n\n #syncSubscription(): void {\n const source = this.#connected && this.#enabled ? keyStateSourceFor(this.#host.ownerDocument) : undefined;\n if (source === this.#source) return;\n this.#source?.unsubscribe(this.#subscriber);\n this.#source = source;\n this.#source?.subscribe(this.#subscriber);\n }\n}\n"],"mappings":";AAiBA,
|
|
1
|
+
{"version":3,"file":"key-state.controller.js","names":["DocumentKeyStateSource","#document","document","#subscribers","subscriber","#addListeners","#removeListeners","#pressedCodes","code","view","#handleKeyDown","#handleKeyUp","#clear","#handleVisibilityChange","event","#notifySubscribers","changedCodes","documentKeyStateSources","keyStateSourceFor","source","KeyStateController","#host","host","#subscriber","watchedCodes","#enabled","value","#syncSubscription","#source","#connected"],"sources":["../../../src/internal/controllers/key-state.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveControllerHost } from 'lit';\n\nexport interface KeyStateControllerOptions {\n readonly watchedCodes: ReadonlyArray<string>;\n}\n\ntype KeyStateHost = ReactiveControllerHost & Pick<HTMLElement, 'ownerDocument'>;\n\ninterface KeyStateSubscriber {\n readonly watchedCodes: ReadonlySet<string>;\n readonly requestUpdate: () => void;\n}\n\n/** Owns the keyboard state and global listeners shared by active controllers in one document. */\nclass DocumentKeyStateSource {\n readonly #document: Document;\n readonly #pressedCodes = new Set<string>();\n readonly #subscribers = new Set<KeyStateSubscriber>();\n\n constructor(document: Document) {\n this.#document = document;\n }\n\n subscribe(subscriber: KeyStateSubscriber): void {\n if (this.#subscribers.has(subscriber)) return;\n if (this.#subscribers.size === 0) this.#addListeners();\n this.#subscribers.add(subscriber);\n }\n\n unsubscribe(subscriber: KeyStateSubscriber): void {\n if (!this.#subscribers.delete(subscriber) || this.#subscribers.size > 0) return;\n this.#removeListeners();\n this.#pressedCodes.clear();\n }\n\n isPressed(code: string): boolean {\n return this.#pressedCodes.has(code);\n }\n\n #addListeners(): void {\n const view = this.#document.defaultView;\n view?.addEventListener('keydown', this.#handleKeyDown, true);\n view?.addEventListener('keyup', this.#handleKeyUp, true);\n view?.addEventListener('blur', this.#clear);\n this.#document.addEventListener('visibilitychange', this.#handleVisibilityChange);\n }\n\n #removeListeners(): void {\n const view = this.#document.defaultView;\n view?.removeEventListener('keydown', this.#handleKeyDown, true);\n view?.removeEventListener('keyup', this.#handleKeyUp, true);\n view?.removeEventListener('blur', this.#clear);\n this.#document.removeEventListener('visibilitychange', this.#handleVisibilityChange);\n }\n\n #handleKeyDown = (event: KeyboardEvent): void => {\n if (this.#pressedCodes.has(event.code)) return;\n this.#pressedCodes.add(event.code);\n this.#notifySubscribers(event.code);\n };\n\n #handleKeyUp = (event: KeyboardEvent): void => {\n if (!this.#pressedCodes.delete(event.code)) return;\n this.#notifySubscribers(event.code);\n };\n\n #handleVisibilityChange = (): void => {\n if (this.#document.visibilityState === 'hidden') this.#clear();\n };\n\n #clear = (): void => {\n if (this.#pressedCodes.size === 0) return;\n const changedCodes = [...this.#pressedCodes];\n this.#pressedCodes.clear();\n for (const subscriber of this.#subscribers) {\n if (changedCodes.some(code => subscriber.watchedCodes.has(code))) subscriber.requestUpdate();\n }\n };\n\n #notifySubscribers(code: string): void {\n for (const subscriber of this.#subscribers) {\n if (subscriber.watchedCodes.has(code)) subscriber.requestUpdate();\n }\n }\n}\n\nconst documentKeyStateSources = new WeakMap<Document, DocumentKeyStateSource>();\n\nfunction keyStateSourceFor(document: Document): DocumentKeyStateSource {\n let source = documentKeyStateSources.get(document);\n if (!source) {\n source = new DocumentKeyStateSource(document);\n documentKeyStateSources.set(document, source);\n }\n return source;\n}\n\n/** Provides host-scoped access to shared raw keyboard state without assigning interaction semantics to any key. */\nexport class KeyStateController implements ReactiveController {\n readonly #host: KeyStateHost;\n readonly #subscriber: KeyStateSubscriber;\n #connected = false;\n #enabled = false;\n #source?: DocumentKeyStateSource;\n\n constructor(host: KeyStateHost, { watchedCodes }: KeyStateControllerOptions) {\n this.#host = host;\n this.#subscriber = {\n watchedCodes: new Set(watchedCodes),\n requestUpdate: () => host.requestUpdate()\n };\n host.addController(this);\n }\n\n /** Enables shared keyboard tracking during the host's connected lifecycle. */\n get enabled(): boolean {\n return this.#enabled;\n }\n\n set enabled(value: boolean) {\n if (value === this.#enabled) return;\n this.#enabled = value;\n this.#syncSubscription();\n }\n\n /** Returns whether a key identified by `KeyboardEvent.code` is currently held. */\n isPressed(code: string): boolean {\n return this.#source?.isPressed(code) ?? false;\n }\n\n hostConnected(): void {\n this.#connected = true;\n this.#syncSubscription();\n }\n\n hostDisconnected(): void {\n this.#connected = false;\n this.#syncSubscription();\n }\n\n #syncSubscription(): void {\n const source = this.#connected && this.#enabled ? keyStateSourceFor(this.#host.ownerDocument) : undefined;\n if (source === this.#source) return;\n this.#source?.unsubscribe(this.#subscriber);\n this.#source = source;\n this.#source?.subscribe(this.#subscriber);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keynav-grid.controller.examples.js","names":[],"sources":["../../../src/internal/controllers/keynav-grid.controller.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css, html, LitElement } from 'lit';\nimport { state } from 'lit/decorators/state.js';\nimport { keyNavigationGrid } from '@nvidia-elements/core/internal';\n\nexport default {\n title: 'Internal/Controllers'\n}\n\nconst styles = css`\n section {\n display: grid;\n gap: 4px;\n grid-template-columns: repeat(10, 50px);\n }\n\n .vertical {\n grid-template-rows: repeat(10, 1fr);\n grid-template-columns: 50px;\n }\n\n .row {\n display: contents;\n }\n\n button {\n width: 100%;\n height: 30px;\n min-width: 30px;\n display: block;\n }\n\n button[selected] {\n background: green;\n color: white;\n }\n`;\n\n@keyNavigationGrid<DemoKeyNavigationGridController>()\nclass DemoKeyNavigationGridController extends LitElement {\n get keynavGridConfig() {\n return {\n rows: this.shadowRoot.querySelectorAll<HTMLElement>('.row'),\n cells: this.shadowRoot.querySelectorAll<HTMLElement>('.cell')\n }\n }\n\n @state() private selected = '0,0';\n @state() private active = '';\n\n static styles = [styles];\n\n render() {\n return html`\n <p nve-text=\"body\">Selected: ${this.selected}</p>\n <p nve-text=\"body\">Active: ${this.active}</p>\n <section @nve-key-change=${e => (this.active = e.detail.activeItem.textContent)}>\n ${Array.from(Array(10).keys()).map(() => Array.from(Array(10).keys())).map((r, ri) => html`<div class=\"row\">\n ${r.map(c => html`<div class=\"cell\">\n <button ?selected=${this.selected === `${ri}-${c}`} @click=${e => (this.selected = e.target.innerText)}>${ri}-${c}</button>\n </div>`)}\n </div>`)}\n </section>\n `;\n }\n}\n\ncustomElements.get('demo-key-navigation-grid') || customElements.define('demo-key-navigation-grid', DemoKeyNavigationGridController);\n\n/**\n * @summary Grid-based keyboard navigation controller with arrow key support across rows and columns.\n * @tags test-case\n */\nexport const GridDemo = {\n render: () => html`<demo-key-navigation-grid></demo-key-navigation-grid>`\n};\n"],"mappings":";AAGA,
|
|
1
|
+
{"version":3,"file":"keynav-grid.controller.examples.js","names":["keynav_grid_controller_examples_default"],"sources":["../../../src/internal/controllers/keynav-grid.controller.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css, html, LitElement } from 'lit';\nimport { state } from 'lit/decorators/state.js';\nimport { keyNavigationGrid } from '@nvidia-elements/core/internal';\n\nexport default {\n title: 'Internal/Controllers'\n}\n\nconst styles = css`\n section {\n display: grid;\n gap: 4px;\n grid-template-columns: repeat(10, 50px);\n }\n\n .vertical {\n grid-template-rows: repeat(10, 1fr);\n grid-template-columns: 50px;\n }\n\n .row {\n display: contents;\n }\n\n button {\n width: 100%;\n height: 30px;\n min-width: 30px;\n display: block;\n }\n\n button[selected] {\n background: green;\n color: white;\n }\n`;\n\n@keyNavigationGrid<DemoKeyNavigationGridController>()\nclass DemoKeyNavigationGridController extends LitElement {\n get keynavGridConfig() {\n return {\n rows: this.shadowRoot.querySelectorAll<HTMLElement>('.row'),\n cells: this.shadowRoot.querySelectorAll<HTMLElement>('.cell')\n }\n }\n\n @state() private selected = '0,0';\n @state() private active = '';\n\n static styles = [styles];\n\n render() {\n return html`\n <p nve-text=\"body\">Selected: ${this.selected}</p>\n <p nve-text=\"body\">Active: ${this.active}</p>\n <section @nve-key-change=${e => (this.active = e.detail.activeItem.textContent)}>\n ${Array.from(Array(10).keys()).map(() => Array.from(Array(10).keys())).map((r, ri) => html`<div class=\"row\">\n ${r.map(c => html`<div class=\"cell\">\n <button ?selected=${this.selected === `${ri}-${c}`} @click=${e => (this.selected = e.target.innerText)}>${ri}-${c}</button>\n </div>`)}\n </div>`)}\n </section>\n `;\n }\n}\n\ncustomElements.get('demo-key-navigation-grid') || customElements.define('demo-key-navigation-grid', DemoKeyNavigationGridController);\n\n/**\n * @summary Grid-based keyboard navigation controller with arrow key support across rows and columns.\n * @tags test-case\n */\nexport const GridDemo = {\n render: () => html`<demo-key-navigation-grid></demo-key-navigation-grid>`\n};\n"],"mappings":";AAGA,IAAAA,IAAc"}
|
|
@@ -3,7 +3,7 @@ import { throttle as t } from "../utils/events.js";
|
|
|
3
3
|
import { focusElement as n, getActiveElement as r, isSimpleFocusable as i, setActiveKeyListItem as a } from "../utils/focus.js";
|
|
4
4
|
import { KeynavCode as o, getFlattenedDOMTree as s, getFlattenedFocusableItems as c, hasInvalidDOMGrid as l, isContextMenuClick as u, validKeyNavigationCode as d } from "../utils/dom.js";
|
|
5
5
|
import { GlobalStateService as f } from "@nvidia-elements/foundations/internal/state";
|
|
6
|
-
|
|
6
|
+
// src/internal/controllers/keynav-grid.controller.ts
|
|
7
7
|
function p() {
|
|
8
8
|
return (e) => e.addInitializer((e) => new m(e));
|
|
9
9
|
}
|
|
@@ -72,11 +72,8 @@ var m = class {
|
|
|
72
72
|
if (!d(t)) return;
|
|
73
73
|
this.#u();
|
|
74
74
|
let n = Array.from(this.#o), a = Array.from(this.#s);
|
|
75
|
-
if (f.state.env !== "production" && l(n))
|
|
76
|
-
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (i(r())) {
|
|
75
|
+
if (f.state.env !== "production" && l(n)) e.warn("Invalid grid structure, all rows must have the same number of cells");
|
|
76
|
+
else if (i(r())) {
|
|
80
77
|
let { x: e, y: r } = _(a, n, {
|
|
81
78
|
code: t.code,
|
|
82
79
|
ctrlKey: t.ctrlKey,
|
|
@@ -156,7 +153,6 @@ function _(e, t, n) {
|
|
|
156
153
|
y: u
|
|
157
154
|
};
|
|
158
155
|
}
|
|
159
|
-
//#endregion
|
|
160
156
|
export { m as KeyNavigationGridController, _ as getNextKeyGridItem, p as keyNavigationGrid };
|
|
161
157
|
|
|
162
158
|
//# sourceMappingURL=keynav-grid.controller.js.map
|