@antipodes-medical/material-input

中文文档
1.0.1发布于 2023/04/27ISCCommonJS近 30 天下载 1830

原始使用文档
文档目录8 节
  1. Installation
  2. Utilisation
  3. Input existant
  4. Labels
  5. Placeholders
  6. Value
  7. Validation
  8. Custom styling

Material-input

Installation

yarn add @antipodes-medical/material-input
import '@antipodes-medical/material-input';

Utilisation

Il suffit d'insérer l'élément <material-input> dans votre élément html <form> et le tour est joué.
Un champ <input> visuellement caché sera créé qui synchronise ses valeurs avec le <material-input> afin de permettre aux formulaires normaux de reprendre la valeur.


<material-input name="username"></material-input>

Input existant

Si un input est déjà existant, vous pouvez le synchroniser avec l'élément <material-input>. Au lieu que l'élément créer un élément visuellement caché il va prendre celui déjà existant.


<material-input name="username" input-exist></material-input>
<input name="username" />

Ici l'élément <input name="username" /> sera utilisé par l'élément <material-input>.

Labels

Par défaut, les 'material input' utilisent des label flottants qui peuvent être définies via l'attribut label. Cela signifie que le label ressemble à un placeholder, lorsque le champ est centré ou rempli, il est déplacé au-dessus du texte de l'utilisateur.


<material-input name="username" label="Choose your username"></material-input>

Placeholders

Vous pouvez utiliser des placeholder normaux à la place des labels, ou en combinaison avec elles. Si vous choisissez d'utiliser les deux, le label sera toujours au-dessus du placeholder si vous choisissez d'utiliser les deux.


<material-input name="username" label="username" placeholder="Choose your username"></material-input>

Value

Comme un champ de saisie normal, vous pouvez définir la valeur à l'aide de l'attribut value en html ou via javascript, soit en définissant l'attribut ou en définissant directement la propriété value.

<!-- html -->
<material-input name="animal" value="cat"></material-input>
// javascript
document.querySelector('material-input.animal').value = 'cat';
document.querySelector('material-input.animal').setAttribute('value', 'cat');

Validation

La validation fonctionne comme avec tout élément <input> par défaut. Ajoutez un required ou définissez le type sur email et vous obtiendrez les notifications de validation du navigateur. De plus, l'élément material-input aura un style valid ou invalid.

De plus, il est possible de définir explicitement un champ comme étant invalide en utilisant la méthode par défaut setCustomValidity sur l'entrée "matérielle". Vous pouvez en savoir plus sur la fonctionnalité setCustomValidity sur MDN .

document.querySelector('material-input.customValidatedItem').setCustomValidity('This is not valid.');

Backend validation

Si vous validez vos formulaires via votre backend (ce que vous devriez faire !), vous pouvez ajouter un attribut invalid ou valid au material-input. Cela mettra le champ dans l'état défini.

Error messages

Vous pouvez définir l'attribut message, qui ajoutera un message d'erreur sous le champ. Il s'agit toujours d'un message d'erreur, quel que soit l'état dans lequel se trouve le champ.

Autovalidate

Lorsque vous ajoutez l'attribut autovalidate à l'entrée material-input, le champ sera validé à chaque événement keydown. Cependant, cela signifie qu'un champ sans règles de validation sera toujours valide et recevra immédiatement l'attribut valid.

Custom styling

/* select your specific input or all */
material-input.some-class {
    /* the text font family of the input */
    --material-input-text-font-family: inherit;

    /* the text font size of the input */
    --material-input-text-font-size: 1em;

    /* the text letter spacing of the input */
    --material-input-text-letter-spacing: inherit;

    /* the text font weight of the input */
    --material-input-text-font-weight: inherit;

    /* the text color of the input */
    --material-input-text-color: black;

    /* the padding of the input */
    --material-input-text-padding: 1.4em 1em .6em 10px;

    /* the text color of the placeholder or the floating label on an empty field */
    --material-input-placeholder-color: grey;

    /* the color of the border and label when the field is focused */
    --material-input-highlight-color: indigo;

    /* the color of the border and label when the field is in an invalid state */
    --material-input-invalid-color: red;

    /* the color of the border and label when the field is in a valid state */
    --material-input-valid-color: green;

    /* the default color of the bottom border */
    --material-input-border-color: orange;

    /* the height of the bottom border when the field is not focused */
    --material-input-line-height: 1px;

    /* the height of the bottom border when the field is focused */
    --material-input-highlight-line-height: 3px;

    /* The placeholder left */
    --material-input-placeholder-left: 10px;

    /* The placeholder top */
    --material-input-placeholder-top: 1.42em;
}

版本与发布记录

@antipodes-medical/material-input 共发布 17 个版本,首次发布于 2022/03/12;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.1latest2023/04/273 年前
1.0.02023/04/183 年前
0.9.12022/10/034 年前
0.9.02022/08/304 年前
0.8.22022/08/054 年前
0.8.12022/08/014 年前

关于 @antipodes-medical/material-input 的常见问题

如何安装 @antipodes-medical/material-input?

在项目目录运行 npm install @antipodes-medical/material-input,或使用 pnpm add / yarn add / bun add。

@antipodes-medical/material-input 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/antipodes-medical__material-input 是否存在。

@antipodes-medical/material-input 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@antipodes-medical/material-input 可以商用吗?

@antipodes-medical/material-input 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@antipodes-medical/material-input 的下载量有多少?

根据 npm 官方下载统计,@antipodes-medical/material-input 在 2026/10/06 – 2026/11/04 这 30 天内被下载 1,830 次,日均约 61 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@antipodes-medical/material-input 还在维护吗?

最新版本 1.0.1 发布于 2023/04/27(3 年前);至今共发布 17 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/03/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。