For AI agents: the complete documentation index is available at https://payhon.github.io/AppKernia/en-US/llms.txt, the full documentation bundle is available at https://payhon.github.io/AppKernia/en-US/llms-full.txt, and this page is available as Markdown at https://payhon.github.io/AppKernia/en-US/mobile-components/index.md.

AK Mobile components

Business pages use components exported by apps/ak-mobile/components/ak-ui. AK UI isolates tokens, platform compatibility, touch sizing, event types, and the underlying uView or native implementation.

Pages see only the stable semantic `ak-*` contract, while underlying libraries and platform differences stay in the adapter layer. Compatibility fixes do not require every business page to change.

ScopeThis reference only documents components that exist in the current source. Conditional or not-yet-implemented entries such as AkPicker, AkDatePicker, and AkTabs are not presented as available.

Choosing a component

  1. Start with the semantically closest ak-* component; propose a new component only when the current layer cannot express the need.
  2. Keep data fetching, authorization, and business state in the Feature Page rather than a presentational component.
  3. Contain platform differences in AK UI or a platform adapter; feature pages do not accumulate scattered platform checks.
  4. Define loading, empty, error, disabled, long-text, and bilingual behavior before visual polish.
  5. If a feature seems to require direct up-* use, extend the AK UI adapter instead of creating a second public API in business pages.

Props, events, and slots

ContractRule
PropsUse stable serializable UTS types; pages translate visible copy before passing it in
EventsName semantic actions that already happened; loading/disabled states do not emit duplicates
SlotsExpose explicit content regions only; slots cannot bypass state, spacing, or accessibility rules
ModelDocument update timing, failure rollback, and platform differences for two-way state
StylePrefer design tokens and page overrides; arbitrary CSS is not a public input

The Props/Event/Slot tables on component pages reflect current source. A new field updates implementation, example, bilingual reference, platform evidence, and validation together.

ComponentPurposeStatus
ak-buttonPrimary, secondary, danger, loadingImplemented
ak-text-fieldLabel, input, password, disabled, errorImplemented
ak-cardContent containerImplemented
ak-cell-listSettings/profile list containerImplemented
ak-empty-stateEmpty state and next actionImplemented
ak-loadingLocal loading labelImplemented
ak-status-viewLoading/empty/error state compositionImplemented
ak-modalHigh-risk confirmationImplemented
ak-switchBoolean settingsImplemented
ak-iconControlled semantic iconsImplemented
ak-back-buttonSafe back with fallbackImplemented
ak-theme-rootTheme rootImplemented

Visible strings are translated by the page through AkI18n and passed in. Touch targets are at least 44×44. Loading/disabled states prevent repeated submission. Business pages never use up-* directly. Platform availability still requires matching Android, iOS, and HarmonyOS build/device evidence.

Reading platform evidence

  • Static check passed means types, imports, and constraints align; it is not a platform build.
  • Platform build passed means that compiler completed; it is not install, launch, or interaction acceptance.
  • Simulator passed covers only the named OS, version, and device model—not hardware.
  • Physical device passed records platform, OS, device, build type, and screenshot/log evidence.
  • HarmonyOS runtime claims require matching HBuilderX/DevEco output and real-device evidence.