npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@x-app/nuxt-layouts

v0.1.1

Published

Reusable layout and UI components for Nuxt 3 and Nuxt 4

Readme

@x-app/nuxt-layouts

مكونات واجهة قابلة لإعادة الاستخدام في مشاريع Nuxt 3 وNuxt 4.

التثبيت

npm install @x-app/nuxt-layouts @x-app/easy-css @nuxt/icon

تعتمد الحزمة على @x-app/easy-css، لذلك تُثبت تلقائيًا. يجب على المشروع المستهلك تحميل stylesheet الخاص بها في إعداد Nuxt:

export default defineNuxtConfig({
  css: ["@x-app/easy-css/dist/easy-css.css"],
  modules: ["@nuxt/icon", "@x-app/nuxt-layouts"],
});

تحتاج المكونات التي تعرض الأيقونات إلى @nuxt/icon مسجلًا في modules كما في المثال.

الاستخدام

تُسجل المكونات تلقائيًا بالبادئة Layouts:

<template>
  <LayoutsContainer title="المحتوى">
    <LayoutsBtn label="حفظ" />
  </LayoutsContainer>
</template>

المكونات المتاحة: LayoutsBottomDrawer, LayoutsBtn, LayoutsCircularProgress, LayoutsContainer, LayoutsHeader, LayoutsLoader, LayoutsNavBar, LayoutsPagination, LayoutsPopup, LayoutsSiteMenu, وLayoutsTabs.

يمكن استيراد أي مكون يدويًا عند الحاجة:

<script setup>
import LayoutsBtn from "@x-app/nuxt-layouts/components/Btn";
</script>

<template>
  <LayoutsBtn label="متابعة" />
</template>

Header

لا تعتمد LayoutsHeader على Pinia. عند استخدام أيقونة القائمة الافتراضية، يرسل المكون حدث rightIconAction؛ اربطه لفتح القائمة الخاصة بتطبيقك:

<script setup>
function openMenu() {
  // افتح قائمة التطبيق هنا
}
</script>

<template>
  <LayoutsHeader title="الرئيسية" @right-icon-action="openMenu" />
</template>

كما يرسل leftIconAction وtitleAction للأزرار والعنوان المقابلين.

التطوير والبناء

npm install
npm run build

ينشئ البناء ملفات dist التي تتضمنها الحزمة عند تجهيزها للنشر على npm.

تجربة المكونات محليًا

يوجد تطبيق تجريبي في مجلد playground يستهلك هذه الحزمة محليًا ويعرض أمثلة للمكونات والتكامل مع Easy CSS وIconify:

cd ..
npm install
npm run build

cd playground
npm install
npm run dev

يبني الأمر داخل playground الوحدة مجددًا قبل بدء تطبيق Nuxt التجريبي، لتظهر أي تغييرات حديثة على المكونات.