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

@atlasoflivingaustralia/ala-mantine

v1.0.4

Published

Shared ALA theming & components using the Mantine component library

Readme

ALA Mantine Library

NPM Version

This library is currently in a pre-release state (v1.0.x), and is subject to change.

Shared ALA theming & components using the Mantine component library

Prerequisites

This library requires the following peer dependencies in your dependant project:

  • React 18.2.0 or newer
  • Mantine 7.12.0 or newer

Installation

~~NOTE: This package exports the Mantine theme and components as untransplied TypeScript, a toolchain/framework such as Vite/Next.js is needed to use it.~~

NOTE: From version 1.0 onwards, this package exports transpiled JS code. This is a major change and may require client apps to be aware of this change. The reason for changing to transpiled JS, was to make the development process easier by enabling hot-linking of library and app for instand changes to be observed. Its also worth noting that transpiled JS is the most common format puiblished to npm, and is the most reliable mechanism as well as being the "expected" format by client apps.

PostCSS is required as a development depencency in your application, and can be install using the following:

yarn add --dev postcss postcss-preset-mantine postcss-simple-vars

Once this is done, you're ready to install ala-mantine!

yarn / npm

This package can be installed with yarn / npm using the following command(s):

yarn add @atlasoflivingaustralia/ala-mantine

or

npm i @atlasoflivingaustralia/ala-mantine

Local Development

To enable live updating of ala-mantine changes in a client application via yarn link, run the following commands.

In the ala-mantine root directory, run:

yarn link
yarn dev 

In your client app, run:

yarn link @atlasoflivingaustralia/ala-mantine

When you're done developing and want to go back to the published version, you just run:

yarn unlink @atlasoflivingaustralia/ala-mantine
yarn install --force

This will restore the normal npm registry version.

Alternatively, you can use yalc, which is slower (requires push for each change) and necessitates the cache to be cleared regularly (node_modules/.vite). This is a useful sanity check after using yarn link, before pushing changes to NPM.

Yalc is needed to use ala-mantine locally. See here for Yalc installation documentation.

  1. Once installed, in the ala-mantine root folder, run yalc publish.
  2. In your dependant application, run yalc add @atlasoflivingaustralia/ala-mantine, followed by yarn to install it as a dependency.
  3. PostCSS is also required in your dependant application for the component library. Please see the installation intructions here.
  4. Once development work is done, revert the import for @atlasoflivingaustralia/ala-mantine by running yarn add @atlasoflivingaustralia/ala-mantine.

Publishing to NPM

Once you've made changes to ala-mantine, run yalc push from the ala-mantine root folder to automatically push all changes to the dependent applications.

Then, in your dependent applications, make sure to remove any cache (.vite, .next or equivalent) and re-run.

To publish changes to NPM, you need to have a login for https://www.npmjs.com and be added to the ALA group (Ask Matt). Ensure that a new version number is set in package.json and create a new GH release for it, documenting the changes.

# 1. login will redirect you to npm site - you'll need an account and be a member of the ALA org
npm login
# 2. push changes to npm
npm publish

Usage

See the ALA Mantine Demo application for specific implementation examples

Theme

ALA's Mantine theme can be imported & used in your project like so:

// Root mantine styles
import "@mantine/core/styles.css";

// Mantine provider & theme
import { MantineProvider } from "@mantine/core";
import { theme } from "@atlasoflivingaustralia/ala-mantine";

function App() {
  return (
    <MantineProvider theme={theme}>
      {/* your application here */}
    </MantineProvider>
  );
}

export default App;

Don't forget to add the @mantine/core/styles.css import at the root of your application too!

Components

This project additionaly provides several high-level components that are leveraged across multiple ALA applications, and can be utilised in your own project.

E.g., the ALA <Header> component can be used with either the 2026 "new" ALA skin or the previous "legacy" skin:

import {
  Header,
  Footer
} from '@atlasoflivingaustralia/ala-mantine';
import { useAuth } from 'react-oidc-context';

function App() {
  def isLegacySkin = true // or leave blank to get default `false` value
  def handleSignout = null; // needs implementing
  const auth = useAuth();

  return <Header
      isAuthenticated={auth.isAuthenticated}
      onAuthClick={
        () => {
        if (auth.isAuthenticated) {
          handleSignout(auth);
        } else {
          auth.signinRedirect();
        }
      }}
      homeUrl={import.meta.env.VITE_ALA_HOME_PAGE || ''}
      onSearchClick={() => (window.location.href = 'https://bie.ala.org.au')}
      fullWidth 
      compact
      myProfileUrl={import.meta.env.VITE_ALA_USER_PROFILE || ''}
      isLegacySkin={isLegacySkin}
    />
}

export default App;

Another example is the <ConservationStatus> component can be implemented like so:

import { ConservationStatus } from "@atlasoflivingaustralia/ala-mantine";

function App() {
  return <ConservationStatus key="EN" withLabel />;
}

export default App;