通用
一个通用的标签和图标、辅助工具和基本组件。
安装
npm i -D @smui/common
演示
通用标签和图标
通用标签和图标也从使用它们的每个包中导出。
SmuiElement 组件
许多 SMUI 组件允许您自定义用于渲染它们的 DOM 元素。这使用 SmuiElement 组件完成。
em
元素! Svg 元素
在允许您自定义用于渲染它们的 DOM 元素的 SMUI 组件中,您可以使用“svg”标签来渲染 SVG。
Clicked: 0
辅助工具
类映射
从类名到条件的映射构建一个类字符串。当您需要向组件添加类时,这很有用,因为 Svelte 的“class:”指令在组件上不起作用。(它也对采用 addClass
和 removeClass
函数的操作很有用。)
分派
分派一个自定义事件。这与 Svelte 的组件事件系统不同,因为这些事件需要一个 DOM 元素作为目标,可以冒泡(默认情况下这样做),并且可以使用 event.preventDefault()
取消。所有 SMUI 事件都是使用它而不是 Svelte 的 createEventDispatcher
分派的。
Caught Event Detail: undefined
排除和前缀过滤器
排除与正常的 omit
函数不同,因为它还排除所有以给定字符串开头的属性,如果该字符串以“$”结尾。前缀过滤器过滤一个对象,只保留具有特定前缀的属性。它们通常一起使用,以允许将道具提供给组件中的多个元素。
转发事件生成器
构建一个操作以允许将 **所有** 事件从 Svelte 组件转发,并支持使用“$”语法的事件修饰符。
- 这对于 UI 库组件特别有用,因为它通常不知道所有所需用例将需要哪些事件。例如,如果按钮组件只转发
click
事件,那么任何需要mouseover
或keypress
事件的用例都无法使用它。 - 此外,使用 Svelte 内置事件转发系统的组件不允许在事件生命周期的“捕获”阶段使用事件监听器。它也不允许使用浏览器的内置
preventDefault
函数取消事件。事实上,Svelte 事件系统的一大优势,即您不需要元素作为事件目标,甚至不适用于 UI 库组件。
Clicked: 0, Key Pressed: None, Focused: false
使用操作
一个执行操作并在元素上运行它们的 action。 用于允许对组件执行操作,并将操作从一个组件转发到另一个组件,直到最终组件最终渲染 DOM 元素。
点击我。
按下我。
宣布
一个向使用屏幕阅读器的用户宣布文本字符串的函数。
其他组件
类添加器构建器
使用它构建一个 ClassAdder 组件。 ClassAdder 组件对于减小您的包大小很有用。 如果你有很多简单的组件只需要添加类/属性或设置上下文,使用 ClassAdder 组件意味着你的包中只有一个实际的 Svelte 组件,用于所有这些许多小组件。