@devtools-ui/action 0.4.1--canary.62.3837 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,103 @@
1
+ # @devtools-ui/action
2
+
3
+ ## Overview
4
+
5
+ `@devtools-ui/action` is a component package designed to be leveraged by a [Player-UI assets plugin](https://player-ui.github.io/next/plugins).
6
+
7
+ It provides a `Action` component that can be used to allow a user interaction (e.g., [transition](https://player-ui.github.io/next/content/navigation)), usually rendered as a `<button>`.
8
+
9
+ ## Installation
10
+
11
+ To install `@devtools-ui/action`, you can use pnpm or yarn:
12
+
13
+ ```sh
14
+ pnpm i @devtools-ui/action
15
+ ```
16
+
17
+ or
18
+
19
+ ```sh
20
+ yarn add @devtools-ui/action
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ You can leverage this asset through the `@devtools-ui/plugin`:
26
+
27
+ ```ts
28
+ import { Action } from "@devtools-ui/plugin";
29
+
30
+ // and use it to define your Player-UI content:
31
+ myFlow = {
32
+ id: "my_flow",
33
+ views: [
34
+ <MyView>
35
+ <MyView.Actions>
36
+ <Action exp={e`noop`}>
37
+ <Action.Label>Label</Action.Label>
38
+ <Action.Icon>
39
+ <Asset type="icon">
40
+ <property name="value">SomeIcon</property>
41
+ </Asset>
42
+ </Action.Icon>
43
+ </Action>
44
+ </MyView.Actions>
45
+ </MyView>,
46
+ ],
47
+ };
48
+ ```
49
+
50
+ For more information on how to author Player-UI content using DSL, please check our [Player-UI docs](https://player-ui.github.io/next/dsl#tsxjsx-content-authoring-player-dsl).
51
+
52
+ Or, your can leverage this asset in your own plugin:
53
+
54
+ ```ts
55
+ // TransformPlugin.ts
56
+ import type { Player, PlayerPlugin } from "@player-ui/player";
57
+ import { AssetTransformPlugin } from "@player-ui/asset-transform-plugin";
58
+ import { actionTransform } from "@devtools-ui/action";
59
+
60
+ export class TransformsPlugin implements PlayerPlugin {
61
+ name = "my-plugin-transforms";
62
+
63
+ apply(player: Player) {
64
+ player.registerPlugin(
65
+ new AssetTransformPlugin([[{ type: "action" }, actionTransform]])
66
+ );
67
+ }
68
+ }
69
+ ```
70
+
71
+ ```ts
72
+ // AssetRegistryPlugin.ts
73
+ import React from "react";
74
+ import type { Player } from "@player-ui/player";
75
+ import type {
76
+ ExtendedPlayerPlugin,
77
+ ReactPlayer,
78
+ ReactPlayerPlugin,
79
+ } from "@player-ui/react";
80
+ import { AssetProviderPlugin } from "@player-ui/asset-provider-plugin-react";
81
+ import { TransformsPlugin } from "./TransformPlugin";
82
+ import { ActionAsset, ActionComponent } from "@devtools-ui/action";
83
+
84
+ export class AssetsRegistryPlugin
85
+ implements ReactPlayerPlugin, ExtendedPlayerPlugin<[ActionAsset]>
86
+ {
87
+ name = "my-plugin";
88
+
89
+ applyReact(reactPlayer: ReactPlayer) {
90
+ reactPlayer.registerPlugin(
91
+ new AssetProviderPlugin([["action", ActionComponent]])
92
+ );
93
+ }
94
+
95
+ apply(player: Player) {
96
+ player.registerPlugin(new TransformsPlugin());
97
+ }
98
+ }
99
+ ```
100
+
101
+ ## Contributing
102
+
103
+ We welcome contributions to `@devtools-ui/action`!
package/package.json CHANGED
@@ -1,10 +1,16 @@
1
1
  {
2
+ "sideEffects": false,
3
+ "files": [
4
+ "dist",
5
+ "src",
6
+ "types"
7
+ ],
2
8
  "name": "@devtools-ui/action",
3
- "version": "0.4.1--canary.62.3837",
9
+ "version": "0.4.1",
4
10
  "main": "dist/cjs/index.cjs",
5
11
  "dependencies": {
6
- "@devtools-ui/text": "0.4.1--canary.62.3837",
7
- "@devtools-ui/collection": "0.4.1--canary.62.3837",
12
+ "@devtools-ui/text": "0.4.1",
13
+ "@devtools-ui/collection": "0.4.1",
8
14
  "@chakra-ui/react": "^2.8.2",
9
15
  "@emotion/react": "^11.11.4",
10
16
  "@emotion/styled": "^11.11.0",
@@ -16,7 +22,6 @@
16
22
  },
17
23
  "module": "dist/index.legacy-esm.js",
18
24
  "types": "types/index.d.ts",
19
- "sideEffects": false,
20
25
  "exports": {
21
26
  "./package.json": "./package.json",
22
27
  "./dist/index.css": "./dist/index.css",
@@ -26,11 +31,6 @@
26
31
  "default": "./dist/cjs/index.cjs"
27
32
  }
28
33
  },
29
- "files": [
30
- "dist",
31
- "src",
32
- "types"
33
- ],
34
34
  "peerDependencies": {
35
35
  "@player-lang/react-dsl": "1.0.1",
36
36
  "@player-ui/types": "0.15.5",
@@ -1,6 +1,6 @@
1
1
  import type { TextAsset } from "@devtools-ui/text";
2
2
  import type { Asset, AssetWrapper, Expression } from "@player-ui/types";
3
- export type Variant = "solid" | "outline" | "ghost" | "link";
3
+ export declare type Variant = "solid" | "outline" | "ghost" | "link";
4
4
  export interface ActionAsset extends Asset<"action"> {
5
5
  /**text value for action */
6
6
  value?: string;