Skip to content

v1.0.0 — multi-flavor rebuild

Latest

Choose a tag to compare

@ElecTreeFrying ElecTreeFrying released this 30 Jun 17:45

Install: VS Code Marketplace · ext install ElecTreeFrying.nativescript-angular-html-snippets

Added

  • Multiplatform support — snippets now cover five NativeScript flavors: Angular (html), Core (xml), Vue (vue), React (typescriptreact/javascriptreact), and Svelte (svelte). 805 snippets total.
  • Code generator (tools/, run with npm run generate) — snippet content is derived from @nativescript/core v9 TypeScript types, walking inheritance for each component's full property set. It reads both @nsProperty/@nsEvent annotations and Property/CssProperty registrations (which carry most real markup props), and folds in the implementation <Name>Base classes that the public .d.ts flattens away. README and reference.md tables are generated too, so they can no longer drift.
  • Two-way binding in -prop/-comp for two-way-capable props (where a <prop>Change event exists): Angular [(prop)], Svelte bind:prop.
  • Ready-made layout examples (ns-<layout>-snippet-N) carried forward from the original pack and rendered for every flavor.
  • NavigationButton (Angular/Core/Vue/Svelte) and ActionBarExtension (Angular) restored; Repeater (legacy @nsView list component) added.
  • LiquidGlass and LiquidGlassContainer — iOS Liquid Glass effect containers (driven by the inherited iosGlassEffect View property), for all five flavors.
  • Enum-typed properties now expand to value hints, e.g. iosIndicatorViewStyle="${2:(medium|large)}".
  • .gitattributes enforcing LF (fixes the recurring CRLF spurious-diff problem); snippet validator (npm run validate).

Changes

  • Rebuilt every snippet against current NativeScript (v9.0.20) — a three-major-version leap across more than six years, from the v6.4.0 the original pack was authored against.
  • -prop/-comp variants now use sequential tab-stops + a final $0 (fixes the mirrored-tab-stop bug) and document the inherited View properties.
  • Corrected event names derived from the static member (e.g. blur, not blurEvent; isLoadingChange, not isLoading).
  • Accurate property attribution: component-specific CSS props (placeholderColor, tintColor, tab/segmented colors, …) are scoped to their component instead of listed as universal View props; read-only status getters (e.g. Image.isLoading) are excluded.
  • Cleaner enum hints: drop noise CSS-wide keywords (initial/inherit/unset/revert), expand string-literal aliases/enums, resolve trivial aliases to primitives, and cap oversized unions. -prop uses two-way binding (Angular [(x)], Svelte bind:x); -comp shows every property + event explicitly.
  • Source: URLs verified against the current docs (/api/class/<Tag>, gestures → /guide/gestures, icons → /ui/action-bar).
  • Broadened extension display name/description to all flavors; fixed anuglar keyword typo.

Removed

  • The whole modern tab-navigation family — Tabs, BottomNavigation, TabStrip, TabStripItem, TabContentItem — verified absent from @nativescript/core v9.0.20 (0 class declarations); it ships in a separate plugin now. Planned for a future plugin-aware release.
  • SplitView is emitted only for Angular/Core (it is not registered in the Vue/React/Svelte element registries).

Full Changelog: v0.1.4...v1.0.0