# CxJS > CxJS is a feature-rich JavaScript (TypeScript) framework for building complex web front-ends, such as portals, dashboards and admin applications. ## Documentation Sets - [Complete Documentation](https://new.cxjs.io/llms-full.txt): Full CxJS documentation including all guides and API references - [Key Documentation](https://new.cxjs.io/llms-small.txt): Essential CxJS documentation for getting started ## Notes - This content is auto-generated from the official CxJS documentation. - Pages are ordered according to the documentation navigation structure. ## Documentation Pages ### Introduction #### Getting Started - [What is CxJS](https://new.cxjs.io/docs/intro/what-is-cxjs.md): Overview of CxJS framework, its purpose, and key features - [Hello World](https://new.cxjs.io/docs/intro/hello-world.md): Build your first CxJS application step by step - [Installation](https://new.cxjs.io/docs/intro/installation.md): Set up CxJS in your project using npm or yarn - [Themes](https://new.cxjs.io/docs/intro/themes.md): Apply and customize visual themes for your application - [Tailwind CSS](https://new.cxjs.io/docs/intro/tailwind-css.md): Integrate Tailwind CSS with CxJS for utility-first styling - [Application Templates](https://new.cxjs.io/docs/intro/application-templates.md): Starter templates and boilerplates for new projects - [AI (Skills)](https://new.cxjs.io/docs/intro/ai.md): Using AI coding assistants with CxJS #### Basics - [JSX Syntax](https://new.cxjs.io/docs/intro/jsx-syntax.md): CxJS-specific JSX syntax and configuration options - [Typed Models](https://new.cxjs.io/docs/intro/typed-models.md): Define type-safe data models with createModel - [Store](https://new.cxjs.io/docs/intro/store.md): Central state container for application data - [Data Binding](https://new.cxjs.io/docs/intro/data-binding.md): Connect UI components to store data with bindings - [Controllers](https://new.cxjs.io/docs/intro/controllers.md): Encapsulate business logic and computed values - [Formatting](https://new.cxjs.io/docs/intro/formatting.md): Format numbers, dates, and text for display #### Core Components - [HtmlElement](https://new.cxjs.io/docs/intro/html-element.md): Base component for rendering HTML elements with bindings - [PureContainer](https://new.cxjs.io/docs/intro/pure-container.md): Invisible container for grouping child components - [ContentResolver](https://new.cxjs.io/docs/intro/content-resolver.md): Dynamically resolve and render content based on data #### Authoring Widgets - [Functional Components](https://new.cxjs.io/docs/intro/functional-components.md): Create reusable components with functions - [Custom Components](https://new.cxjs.io/docs/intro/custom-components.md): Build custom widget classes extending CxJS base #### Migration - [Breaking Changes](https://new.cxjs.io/docs/intro/breaking-changes.md): List of breaking changes between major versions - [Migration Guide](https://new.cxjs.io/docs/intro/migration-guide.md): Step-by-step guide for upgrading CxJS versions #### Resources - [Sample Applications](https://new.cxjs.io/docs/intro/sample-applications.md): Example applications demonstrating CxJS patterns - [Component Libraries](https://new.cxjs.io/docs/intro/component-libraries.md): Add-on libraries that provide additional CxJS components ### Concepts #### Data Views - [Overview](https://new.cxjs.io/docs/concepts/data-views.md): Components that iterate and transform data - [Repeater](https://new.cxjs.io/docs/concepts/repeater.md): Render a template for each item in an array - [Sandbox](https://new.cxjs.io/docs/concepts/sandbox.md): Isolate store changes for cancel/save workflows - [PrivateStore](https://new.cxjs.io/docs/concepts/private-store.md): Create isolated store instances for components - [DataProxy](https://new.cxjs.io/docs/concepts/data-proxy.md): Transform data between parent and child stores - [Rescope](https://new.cxjs.io/docs/concepts/rescope.md): Remap store paths for nested components #### Selections - [Overview](https://new.cxjs.io/docs/concepts/selections.md): Track selected items in lists and grids - [KeySelection](https://new.cxjs.io/docs/concepts/key-selection.md): Select items by unique key identifier - [SimpleSelection](https://new.cxjs.io/docs/concepts/simple-selection.md): Basic single-item selection - [PropertySelection](https://new.cxjs.io/docs/concepts/property-selection.md): Selection stored in record properties #### Routing - [Overview](https://new.cxjs.io/docs/concepts/routing.md): Client-side routing and navigation - [Route](https://new.cxjs.io/docs/concepts/route.md): Define routes and render content based on URL - [RedirectRoute](https://new.cxjs.io/docs/concepts/redirect-route.md): Automatically redirect between routes - [Url](https://new.cxjs.io/docs/concepts/url.md): Build and parse URLs with parameters - [History](https://new.cxjs.io/docs/concepts/history.md): Manage browser history and navigation state #### Drag & Drop - [Overview](https://new.cxjs.io/docs/concepts/drag-and-drop.md): Implement drag and drop interactions - [DragSource](https://new.cxjs.io/docs/concepts/drag-source.md): Make elements draggable - [DropZone](https://new.cxjs.io/docs/concepts/drop-zone.md): Define areas that accept dropped items - [DragHandle](https://new.cxjs.io/docs/concepts/drag-handle.md): Restrict drag initiation to specific handles #### Advanced - [Keyboard Shortcuts](https://new.cxjs.io/docs/concepts/keyboard-shortcuts.md): Register and handle keyboard shortcuts - [Localization](https://new.cxjs.io/docs/concepts/localization.md): Translate UI text and format locale-specific data - [DetachedScope](https://new.cxjs.io/docs/concepts/detached-scope.md): Render components outside the normal hierarchy - [IsolatedScope](https://new.cxjs.io/docs/concepts/isolated-scope.md): Prevent store access from parent context #### Theming - [Overview](https://new.cxjs.io/docs/concepts/theming.md): How the CxJS SCSS theming system works - [CSS Variables Theme](https://new.cxjs.io/docs/concepts/css-variables-theme.md): Runtime theme customization with cx-theme-variables - [Classic Themes](https://new.cxjs.io/docs/concepts/classic-themes.md): Compile-time SCSS themes with variables, maps, and overrides - [CSS Tree-Shaking](https://new.cxjs.io/docs/concepts/css-tree-shaking.md): Reduce CSS bundle size by including only used widget styles ### Layout #### General Purpose - [Button](https://new.cxjs.io/docs/layout/button.md): Clickable button with various styles and states - [Tab](https://new.cxjs.io/docs/layout/tabs.md): Tabbed interface for switching between views - [Heading](https://new.cxjs.io/docs/layout/heading.md): Semantic heading elements (h1-h6) - [Text](https://new.cxjs.io/docs/layout/text.md): Text display with formatting and bindings - [Link](https://new.cxjs.io/docs/layout/link.md): Navigation links with routing support - [LinkButton](https://new.cxjs.io/docs/layout/link-button.md): Button styled as a link - [Icon](https://new.cxjs.io/docs/layout/icon.md): Display icons from icon libraries - [ProgressBar](https://new.cxjs.io/docs/layout/progress-bar.md): Visual progress indicator - [Resizer](https://new.cxjs.io/docs/layout/resizer.md): Draggable resize handle for panels - [HScroller](https://new.cxjs.io/docs/layout/hscroller.md): Horizontal scrolling container - [FlexBox](https://new.cxjs.io/docs/layout/flexbox.md): Flexbox-based layout container - [Section](https://new.cxjs.io/docs/layout/section.md): Card-like container with header and body #### App Layout - [Outer Layouts](https://new.cxjs.io/docs/layout/outer-layouts.md): Page-level layout templates - [ContentPlaceholder](https://new.cxjs.io/docs/layout/content-placeholder.md): Named slots for content injection - [Content](https://new.cxjs.io/docs/layout/content.md): Inject content into layout placeholders #### Inner Layouts - [Overview](https://new.cxjs.io/docs/layout/inner-layouts.md): Arrange form fields and labels - [LabelsLeftLayout](https://new.cxjs.io/docs/layout/labels-left-layout.md): Labels positioned to the left of fields - [LabelsTopLayout](https://new.cxjs.io/docs/layout/labels-top-layout.md): Labels positioned above fields - [FirstVisibleChildLayout](https://new.cxjs.io/docs/layout/first-visible-child-layout.md): Show only the first visible child - [UseParentLayout](https://new.cxjs.io/docs/layout/use-parent-layout.md): Inherit layout from parent component #### Overlays - [Window](https://new.cxjs.io/docs/layout/window.md): Modal dialog window - [Overlay](https://new.cxjs.io/docs/layout/overlay.md): Positioned overlay container - [Tooltip](https://new.cxjs.io/docs/layout/tooltip.md): Hover tooltips and popovers - [Toast](https://new.cxjs.io/docs/layout/toast.md): Temporary notification messages - [MsgBox](https://new.cxjs.io/docs/layout/msgbox.md): Alert, confirm, and prompt dialogs - [FlyweightTooltipTracker](https://new.cxjs.io/docs/layout/flyweight-tooltip-tracker.md): Efficient tooltips for many elements #### Menus - [Menu](https://new.cxjs.io/docs/layout/menu.md): Vertical menu with items and submenus - [ContextMenu](https://new.cxjs.io/docs/layout/context-menu.md): Right-click context menus - [Dropdown](https://new.cxjs.io/docs/layout/dropdown.md): Dropdown menu triggered by button ### Forms #### Fields - [TextField](https://new.cxjs.io/docs/forms/text-field.md): Single-line text input field - [TextArea](https://new.cxjs.io/docs/forms/text-area.md): Multi-line text input field - [NumberField](https://new.cxjs.io/docs/forms/number-field.md): Numeric input with formatting - [Checkbox](https://new.cxjs.io/docs/forms/checkbox.md): Boolean checkbox input - [Radio](https://new.cxjs.io/docs/forms/radio.md): Radio button for single selection - [Select](https://new.cxjs.io/docs/forms/select.md): Dropdown select input - [Switch](https://new.cxjs.io/docs/forms/switch.md): Toggle switch for boolean values #### Validation - [Overview](https://new.cxjs.io/docs/forms/validation.md): Form validation concepts and patterns - [ValidationGroup](https://new.cxjs.io/docs/forms/validation-group.md): Group fields for collective validation - [Validator](https://new.cxjs.io/docs/forms/validator.md): Custom validation rules - [ValidationError](https://new.cxjs.io/docs/forms/validation-error.md): Display validation error messages #### Lookups - [LookupField](https://new.cxjs.io/docs/forms/lookup-field.md): Searchable dropdown with remote data - [Custom Bindings](https://new.cxjs.io/docs/forms/custom-lookup-bindings.md): Bind multiple values from lookup - [Infinite List](https://new.cxjs.io/docs/forms/infinite-lookup-list.md): Load options on scroll - [Options Filter](https://new.cxjs.io/docs/forms/lookup-options-filter.md): Client-side option filtering - [Options Grouping](https://new.cxjs.io/docs/forms/lookup-options-grouping.md): Group options by category #### Date & Time - [DateField](https://new.cxjs.io/docs/forms/date-field.md): Date picker input - [Calendar](https://new.cxjs.io/docs/forms/calendar.md): Calendar widget for date selection - [DateTimeField](https://new.cxjs.io/docs/forms/date-time-field.md): Combined date and time picker - [MonthField](https://new.cxjs.io/docs/forms/month-field.md): Month and year picker - [MonthPicker](https://new.cxjs.io/docs/forms/month-picker.md): Month selection calendar #### File Upload - [UploadButton](https://new.cxjs.io/docs/forms/upload-button.md): File upload button - [Multi-file Upload](https://new.cxjs.io/docs/forms/multi-file-upload.md): Upload multiple files at once #### Lists - [List](https://new.cxjs.io/docs/forms/list.md): Selectable list of items - [Grouping](https://new.cxjs.io/docs/forms/list-grouping.md): Group list items by category - [Forwarding Keyboard Inputs](https://new.cxjs.io/docs/forms/list-forwarding-keyboard-inputs.md): Forward keyboard events to the list #### General - [ColorField](https://new.cxjs.io/docs/forms/color-field.md): Color picker input field - [ColorPicker](https://new.cxjs.io/docs/forms/color-picker.md): Color selection widget - [Slider](https://new.cxjs.io/docs/forms/slider.md): Range slider input - [Label](https://new.cxjs.io/docs/forms/label.md): Form field label - [FieldGroup](https://new.cxjs.io/docs/forms/field-group.md): Group related form fields - [LabeledContainer](https://new.cxjs.io/docs/forms/labeled-container.md): Container with label support - [HighlightedSearchText](https://new.cxjs.io/docs/forms/highlighted-search-text.md): Highlight matching search text ### Tables #### Basics - [Grid](https://new.cxjs.io/docs/tables/grid.md): Data grid with sorting, filtering, and selection - [Searching and Filtering](https://new.cxjs.io/docs/tables/searching-and-filtering.md): Filter grid data with search inputs - [Pagination](https://new.cxjs.io/docs/tables/pagination.md): Page through large datasets - [Multiple Selection](https://new.cxjs.io/docs/tables/multiple-selection.md): Select multiple grid rows - [Buffering](https://new.cxjs.io/docs/tables/buffering.md): Virtualized rendering for large datasets - [Infinite Scrolling](https://new.cxjs.io/docs/tables/infinite-scrolling.md): Load more data on scroll #### Columns - [Complex Headers](https://new.cxjs.io/docs/tables/complex-headers.md): Multi-row and grouped column headers - [Header Menu](https://new.cxjs.io/docs/tables/header-menu.md): Column header dropdown menus - [Column Resizing](https://new.cxjs.io/docs/tables/column-resizing.md): Drag to resize column widths - [Dynamic Columns](https://new.cxjs.io/docs/tables/dynamic-columns.md): Add and remove columns dynamically - [Column Reordering](https://new.cxjs.io/docs/tables/column-reordering.md): Drag to reorder columns - [Fixed Columns](https://new.cxjs.io/docs/tables/fixed-columns.md): Lock columns to left or right edge #### Rows - [Row Expanding](https://new.cxjs.io/docs/tables/row-expanding.md): Expand rows to show detail content - [Row Drag and Drop](https://new.cxjs.io/docs/tables/row-drag-and-drop.md): Reorder rows with drag and drop #### Editing - [Cell Editing](https://new.cxjs.io/docs/tables/cell-editing.md): Edit individual cells inline - [Row Editing](https://new.cxjs.io/docs/tables/row-editing.md): Edit entire rows at once - [Inline Edit](https://new.cxjs.io/docs/tables/inline-edit.md): Edit data directly in the grid - [Form Edit](https://new.cxjs.io/docs/tables/form-edit.md): Edit rows in a separate form #### Data Adapters - [Overview](https://new.cxjs.io/docs/tables/data-adapters.md): Transform data for grid display - [ArrayAdapter](https://new.cxjs.io/docs/tables/array-adapter.md): Simple array data source - [GroupAdapter](https://new.cxjs.io/docs/tables/group-adapter.md): Group and aggregate data - [TreeAdapter](https://new.cxjs.io/docs/tables/tree-adapter.md): Hierarchical tree data source #### Grouping - [Grouping](https://new.cxjs.io/docs/tables/grouping.md): Group rows by column values - [Dynamic Grouping](https://new.cxjs.io/docs/tables/dynamic-grouping.md): User-controlled grouping options #### Trees - [TreeNode](https://new.cxjs.io/docs/tables/tree-node.md): Expandable tree node component - [Tree Grid](https://new.cxjs.io/docs/tables/tree-grid.md): Grid with hierarchical data - [Searching Tree Grids](https://new.cxjs.io/docs/tables/searching-tree-grids.md): Search within tree structures - [Tree Operations](https://new.cxjs.io/docs/tables/tree-operations.md): Add, remove, and move tree nodes - [Tree Drag and Drop](https://new.cxjs.io/docs/tables/tree-drag-and-drop.md): Drag and drop in tree grids ### Charts #### SVG Primitives - [Svg](https://new.cxjs.io/docs/charts/svg.md): SVG container element - [Rectangle](https://new.cxjs.io/docs/charts/rectangle.md): SVG rectangle shape - [Ellipse](https://new.cxjs.io/docs/charts/ellipse.md): SVG ellipse and circle shapes - [Line](https://new.cxjs.io/docs/charts/line.md): SVG line element - [Text](https://new.cxjs.io/docs/charts/text.md): SVG text element with bindings - [ClipRect](https://new.cxjs.io/docs/charts/clip-rect.md): Clip content to rectangular region - [NonOverlappingRect](https://new.cxjs.io/docs/charts/non-overlapping-rect.md): Automatically position labels to avoid overlap #### Chart Basics - [Overview](https://new.cxjs.io/docs/charts/overview.md): Introduction to CxJS charting - [Chart](https://new.cxjs.io/docs/charts/chart.md): Chart container with axes configuration - [Gridlines](https://new.cxjs.io/docs/charts/gridlines.md): Background grid lines for charts - [Legend](https://new.cxjs.io/docs/charts/legend.md): Chart legend for series identification #### Axes - [NumericAxis](https://new.cxjs.io/docs/charts/numeric-axis.md): Axis for numeric data - [CategoryAxis](https://new.cxjs.io/docs/charts/category-axis.md): Axis for categorical data - [TimeAxis](https://new.cxjs.io/docs/charts/time-axis.md): Axis for date and time data - [Complex Labels](https://new.cxjs.io/docs/charts/complex-axis-labels.md): Custom axis label formatting - [Calculated Height](https://new.cxjs.io/docs/charts/calculated-chart-height.md): Dynamic chart height based on data #### Line Graphs - [LineGraph](https://new.cxjs.io/docs/charts/line-graph.md): Line chart from data array - [Stacked Lines Example](https://new.cxjs.io/docs/charts/stacked-lines.md): Multiple stacked line series #### Bars and Columns - [BarGraph](https://new.cxjs.io/docs/charts/bar-graph.md): Horizontal bar chart from data array - [Bar](https://new.cxjs.io/docs/charts/bar.md): Individual bar element - [ColumnGraph](https://new.cxjs.io/docs/charts/column-graph.md): Vertical column chart from data array - [Column](https://new.cxjs.io/docs/charts/column.md): Individual column element - [Stacked Bars Example](https://new.cxjs.io/docs/charts/stacked-bars.md): Stacked horizontal bars - [Stacked Columns Example](https://new.cxjs.io/docs/charts/stacked-columns.md): Stacked vertical columns - [Normalized Columns Example](https://new.cxjs.io/docs/charts/normalized-columns.md): 100% stacked columns - [Auto Width Columns Example](https://new.cxjs.io/docs/charts/auto-width-columns.md): Automatically sized column widths - [Bar Bullets Example](https://new.cxjs.io/docs/charts/bar-bullets.md): Bar chart with bullet markers - [Scrollable Bars Example](https://new.cxjs.io/docs/charts/scrollable-bars.md): Scrollable bar chart for many items - [Timeline Example](https://new.cxjs.io/docs/charts/timeline.md): Timeline visualization with bars - [Combined Chart Example](https://new.cxjs.io/docs/charts/combined-chart.md): Mix bars with other chart types #### Pie Charts - [PieChart](https://new.cxjs.io/docs/charts/pie-chart.md): Pie and donut charts - [PieLabel](https://new.cxjs.io/docs/charts/pie-label.md): Labels for pie slices - [Multi-level Pie Example](https://new.cxjs.io/docs/charts/multi-level-pie.md): Nested pie charts #### Markers and Ranges - [Marker](https://new.cxjs.io/docs/charts/marker.md): Point marker on chart - [ScatterGraph](https://new.cxjs.io/docs/charts/scatter-graph.md): Scatter plot from data array - [MarkerLine](https://new.cxjs.io/docs/charts/marker-line.md): Vertical or horizontal reference line - [Range](https://new.cxjs.io/docs/charts/range.md): Shaded range area on chart - [RangeMarker](https://new.cxjs.io/docs/charts/range-marker.md): Range marker with labels - [Swimlane](https://new.cxjs.io/docs/charts/swimlane.md): Horizontal swimlane band - [Swimlanes](https://new.cxjs.io/docs/charts/swimlanes.md): Multiple swimlane bands #### Utilities - [ColorMap](https://new.cxjs.io/docs/charts/color-map.md): Map data values to colors - [MouseTracker](https://new.cxjs.io/docs/charts/mouse-tracker.md): Track mouse position on chart - [MinMaxFinder](https://new.cxjs.io/docs/charts/min-max-finder.md): Find min/max values in data - [SnapPointFinder](https://new.cxjs.io/docs/charts/snap-point-finder.md): Snap cursor to nearest data point - [ValueAtFinder](https://new.cxjs.io/docs/charts/value-at-finder.md): Find value at cursor position - [PointReducers](https://new.cxjs.io/docs/charts/point-reducers.md): Aggregate and reduce chart data - [HoverSync](https://new.cxjs.io/docs/charts/hover-sync.md): Synchronize hover state across charts - [HoverSyncElement](https://new.cxjs.io/docs/charts/hover-sync-element.md): Apply hover effects to arbitrary elements ### Utilities #### Data Operations - [updateArray](https://new.cxjs.io/docs/utilities/update-array.md): Immutably update array elements - [append](https://new.cxjs.io/docs/utilities/append.md): Append elements to array - [merge](https://new.cxjs.io/docs/utilities/merge.md): Deep merge objects - [filter](https://new.cxjs.io/docs/utilities/filter.md): Filter array with predicate - [moveElement](https://new.cxjs.io/docs/utilities/move-element.md): Move element within array - [insertElement](https://new.cxjs.io/docs/utilities/insert-element.md): Insert element at index - [diffArrays](https://new.cxjs.io/docs/utilities/diff-arrays.md): Compare two arrays for differences #### Tree Operations - [updateTree](https://new.cxjs.io/docs/utilities/update-tree.md): Immutably update tree nodes - [findTreeNode](https://new.cxjs.io/docs/utilities/find-tree-node.md): Find node in tree structure - [findTreePath](https://new.cxjs.io/docs/utilities/find-tree-path.md): Get path to tree node - [removeTreeNodes](https://new.cxjs.io/docs/utilities/remove-tree-nodes.md): Remove nodes from tree #### Selectors & Computed - [Grouper](https://new.cxjs.io/docs/utilities/grouper.md): Group and aggregate data - [getComparer](https://new.cxjs.io/docs/utilities/get-comparer.md): Create comparison function - [Expression](https://new.cxjs.io/docs/utilities/expression.md): Dynamic expression evaluation #### Functions - [debounce](https://new.cxjs.io/docs/utilities/debounce.md): Delay function execution - [validatedDebounce](https://new.cxjs.io/docs/utilities/validated-debounce.md): Debounce with validation - [throttle](https://new.cxjs.io/docs/utilities/throttle.md): Limit function call frequency - [shallowEquals](https://new.cxjs.io/docs/utilities/shallow-equals.md): Shallow object comparison - [coalesce](https://new.cxjs.io/docs/utilities/coalesce.md): Return first defined value #### Search - [getSearchQueryPredicate](https://new.cxjs.io/docs/utilities/get-search-query-predicate.md): Create search filter function - [getSearchQueryHighlighter](https://new.cxjs.io/docs/utilities/get-search-query-highlighter.md): Highlight search matches - [escapeSpecialRegexCharacters](https://new.cxjs.io/docs/utilities/escape-special-regex-characters.md): Escape regex special chars #### Color - [parseColor](https://new.cxjs.io/docs/utilities/parse-color.md): Parse color strings - [Color Conversions](https://new.cxjs.io/docs/utilities/color-conversions.md): Convert between color formats #### Date - [zeroTime](https://new.cxjs.io/docs/utilities/zero-time.md): Set time to midnight - [monthStart](https://new.cxjs.io/docs/utilities/month-start.md): Get first day of month - [dateDiff](https://new.cxjs.io/docs/utilities/date-diff.md): Calculate date difference - [sameDate](https://new.cxjs.io/docs/utilities/same-date.md): Compare dates ignoring time - [minDate / maxDate](https://new.cxjs.io/docs/utilities/min-max-date.md): Find earliest or latest date - [encodeDate](https://new.cxjs.io/docs/utilities/encode-date.md): Encode date as string - [parseDateInvariant](https://new.cxjs.io/docs/utilities/parse-date-invariant.md): Parse date in invariant format #### DOM - [findFirst / closest](https://new.cxjs.io/docs/utilities/find-first-closest.md): Find DOM elements - [isFocusable](https://new.cxjs.io/docs/utilities/is-focusable.md): Check if element is focusable - [getActiveElement](https://new.cxjs.io/docs/utilities/get-active-element.md): Get currently focused element - [scrollElementIntoView](https://new.cxjs.io/docs/utilities/scroll-element-into-view.md): Scroll element into viewport - [findScrollableParent](https://new.cxjs.io/docs/utilities/find-scrollable-parent.md): Find scrollable ancestor - [getScrollerBoundingClientRect](https://new.cxjs.io/docs/utilities/get-scroller-bounding-client-rect.md): Get scroller bounds - [getTopLevelBoundingClientRect](https://new.cxjs.io/docs/utilities/get-top-level-bounding-client-rect.md): Get top-level element bounds - [getParentFrameBoundingClientRect](https://new.cxjs.io/docs/utilities/get-parent-frame-bounding-client-rect.md): Get parent frame bounds - [KeyCode](https://new.cxjs.io/docs/utilities/key-code.md): Keyboard key code constants #### Type Guards - [isArray](https://new.cxjs.io/docs/utilities/is-array.md): Check if value is array - [isObject](https://new.cxjs.io/docs/utilities/is-object.md): Check if value is object - [isString](https://new.cxjs.io/docs/utilities/is-string.md): Check if value is string - [isNumber](https://new.cxjs.io/docs/utilities/is-number.md): Check if value is number - [isFunction](https://new.cxjs.io/docs/utilities/is-function.md): Check if value is function - [isDefined](https://new.cxjs.io/docs/utilities/is-defined.md): Check if value is defined - [isUndefined](https://new.cxjs.io/docs/utilities/is-undefined.md): Check if value is undefined - [isNonEmptyArray](https://new.cxjs.io/docs/utilities/is-non-empty-array.md): Check for non-empty array - [isPromise](https://new.cxjs.io/docs/utilities/is-promise.md): Check if value is promise - [isDigit](https://new.cxjs.io/docs/utilities/is-digit.md): Check if character is digit - [isTouchDevice](https://new.cxjs.io/docs/utilities/is-touch-device.md): Detect touch-capable device - [isTouchEvent](https://new.cxjs.io/docs/utilities/is-touch-event.md): Check if event is touch event #### Misc - [Console](https://new.cxjs.io/docs/utilities/console.md): Debug logging utilities - [Event Callbacks](https://new.cxjs.io/docs/utilities/event-callbacks.md): Event handling helpers - [parseStyle](https://new.cxjs.io/docs/utilities/parse-style.md): Parse CSS style strings