@spectrum-web-components/checkbox 0.0.0-20241209155954

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.
Files changed (43) hide show
  1. package/README.md +164 -0
  2. package/package.json +83 -0
  3. package/sp-checkbox.d.ts +6 -0
  4. package/sp-checkbox.dev.js +5 -0
  5. package/sp-checkbox.dev.js.map +7 -0
  6. package/sp-checkbox.js +2 -0
  7. package/sp-checkbox.js.map +7 -0
  8. package/src/Checkbox.d.ts +43 -0
  9. package/src/Checkbox.dev.js +192 -0
  10. package/src/Checkbox.dev.js.map +7 -0
  11. package/src/Checkbox.js +49 -0
  12. package/src/Checkbox.js.map +7 -0
  13. package/src/CheckboxBase.d.ts +9 -0
  14. package/src/CheckboxBase.dev.js +9 -0
  15. package/src/CheckboxBase.dev.js.map +7 -0
  16. package/src/CheckboxBase.js +2 -0
  17. package/src/CheckboxBase.js.map +7 -0
  18. package/src/CheckboxMixin.d.ts +14 -0
  19. package/src/CheckboxMixin.dev.js +71 -0
  20. package/src/CheckboxMixin.dev.js.map +7 -0
  21. package/src/CheckboxMixin.js +11 -0
  22. package/src/CheckboxMixin.js.map +7 -0
  23. package/src/checkbox-overrides.css.d.ts +2 -0
  24. package/src/checkbox-overrides.css.dev.js +7 -0
  25. package/src/checkbox-overrides.css.dev.js.map +7 -0
  26. package/src/checkbox-overrides.css.js +4 -0
  27. package/src/checkbox-overrides.css.js.map +7 -0
  28. package/src/checkbox.css.d.ts +2 -0
  29. package/src/checkbox.css.dev.js +7 -0
  30. package/src/checkbox.css.dev.js.map +7 -0
  31. package/src/checkbox.css.js +4 -0
  32. package/src/checkbox.css.js.map +7 -0
  33. package/src/index.d.ts +1 -0
  34. package/src/index.dev.js +3 -0
  35. package/src/index.dev.js.map +7 -0
  36. package/src/index.js +2 -0
  37. package/src/index.js.map +7 -0
  38. package/src/spectrum-checkbox.css.d.ts +2 -0
  39. package/src/spectrum-checkbox.css.dev.js +7 -0
  40. package/src/spectrum-checkbox.css.dev.js.map +7 -0
  41. package/src/spectrum-checkbox.css.js +4 -0
  42. package/src/spectrum-checkbox.css.js.map +7 -0
  43. package/src/spectrum-config.js +111 -0
package/README.md ADDED
@@ -0,0 +1,164 @@
1
+ ## Description
2
+
3
+ `<sp-checkbox>` allow users to select multiple items from a list of independent
4
+ options, or to mark an individual option as selected.
5
+
6
+ Should I use a checkbox or a switch? Use a switch when activating something
7
+ instead of selecting.
8
+
9
+ ### Usage
10
+
11
+ [![See it on NPM!](https://img.shields.io/npm/v/@spectrum-web-components/checkbox?style=for-the-badge)](https://www.npmjs.com/package/@spectrum-web-components/checkbox)
12
+ [![How big is this package in your project?](https://img.shields.io/bundlephobia/minzip/@spectrum-web-components/checkbox?style=for-the-badge)](https://bundlephobia.com/result?p=@spectrum-web-components/checkbox)
13
+ [![Try it on webcomponents.dev](https://img.shields.io/badge/Try%20it%20on-webcomponents.dev-green?style=for-the-badge)](https://webcomponents.dev/edit/collection/fO75441E1Q5ZlI0e9pgq/jeIGAXHMUrTp6hGMquoD/src/index.ts)
14
+
15
+ ```
16
+ yarn add @spectrum-web-components/checkbox
17
+ ```
18
+
19
+ Import the side effectful registration of `<sp-checkbox>` via:
20
+
21
+ ```
22
+ import '@spectrum-web-components/checkbox/sp-checkbox.js';
23
+ ```
24
+
25
+ When looking to leverage the `Checkbox` base class as a type and/or for extension purposes, do so via:
26
+
27
+ ```
28
+ import { Checkbox } from '@spectrum-web-components/checkbox';
29
+ ```
30
+
31
+ ## Sizes
32
+
33
+ <sp-tabs selected="m" auto label="Size Attribute Options">
34
+ <sp-tab value="s">Small</sp-tab>
35
+ <sp-tab-panel value="s">
36
+
37
+ ```html demo
38
+ <sp-field-group>
39
+ <sp-checkbox size="s">Small</sp-checkbox>
40
+ <sp-checkbox size="s" checked>Small Checked</sp-checkbox>
41
+ <sp-checkbox size="s" indeterminate>Small Indeterminate</sp-checkbox>
42
+ </sp-field-group>
43
+ ```
44
+
45
+ </sp-tab-panel>
46
+ <sp-tab value="m">Medium</sp-tab>
47
+ <sp-tab-panel value="m">
48
+
49
+ ```html demo
50
+ <sp-field-group>
51
+ <sp-checkbox size="m">Medium</sp-checkbox>
52
+ <sp-checkbox size="m" checked>Medium Checked</sp-checkbox>
53
+ <sp-checkbox size="m" indeterminate>Medium Indeterminate</sp-checkbox>
54
+ </sp-field-group>
55
+ ```
56
+
57
+ </sp-tab-panel>
58
+ <sp-tab value="l">Large</sp-tab>
59
+ <sp-tab-panel value="l">
60
+
61
+ ```html demo
62
+ <sp-field-group>
63
+ <sp-checkbox size="l">Large</sp-checkbox>
64
+ <sp-checkbox size="l" checked>Large Checked</sp-checkbox>
65
+ <sp-checkbox size="l" indeterminate>Large Indeterminate</sp-checkbox>
66
+ </sp-field-group>
67
+ ```
68
+
69
+ </sp-tab-panel>
70
+ <sp-tab value="xl">Extra Large</sp-tab>
71
+ <sp-tab-panel value="xl">
72
+
73
+ ```html demo
74
+ <sp-field-group>
75
+ <sp-checkbox size="xl">Extra Large</sp-checkbox>
76
+ <sp-checkbox size="xl" checked>Extra Large Checked</sp-checkbox>
77
+ <sp-checkbox size="xl" indeterminate>Extra Large Indeterminate</sp-checkbox>
78
+ </sp-field-group>
79
+ ```
80
+
81
+ </sp-tab-panel>
82
+ </sp-tabs>
83
+
84
+ ## Variants
85
+
86
+ ### Standard checkboxes
87
+
88
+ Standard checkboxes are the default style for checkboxes. They are optimal for
89
+ application panels where all visual elements are monochrome in order to direct
90
+ focus to the content.
91
+
92
+ ```html-live
93
+ <div style="display: flex; justify-content: space-between;">
94
+ <div style="display: flex; flex-direction: column;">
95
+ <h4 class="spectrum-Heading--subtitle1">Default</h4>
96
+ <sp-checkbox>Web component</sp-checkbox>
97
+ <sp-checkbox checked>Web component</sp-checkbox>
98
+ <sp-checkbox indeterminate>Web component</sp-checkbox>
99
+ </div>
100
+
101
+ <div style="display: flex; flex-direction: column;">
102
+ <h4 class="spectrum-Heading--subtitle1">Invalid</h4>
103
+ <sp-checkbox invalid>Web component</sp-checkbox>
104
+ <sp-checkbox checked invalid>Web component</sp-checkbox>
105
+ <sp-checkbox indeterminate invalid>Web component</sp-checkbox>
106
+ </div>
107
+
108
+ <div style="display: flex; flex-direction: column;">
109
+ <h4 class="spectrum-Heading--subtitle1">Disabled</h4>
110
+ <sp-checkbox disabled>Web component</sp-checkbox>
111
+ <sp-checkbox checked disabled>Web component</sp-checkbox>
112
+ <sp-checkbox indeterminate disabled>Web component</sp-checkbox>
113
+ </div>
114
+ </div>
115
+ ```
116
+
117
+ ### Emphasized checkboxes
118
+
119
+ Emphasized checkboxes are a secondary style for checkboxes. The blue color
120
+ provides a visual prominence that is optimal for forms, settings, lists or grids
121
+ of assets, etc. where the checkboxes need to be noticed.
122
+
123
+ ```html-live
124
+ <div style="display: flex; justify-content: space-between;">
125
+ <div style="display: flex; flex-direction: column; justify-content: space-between;">
126
+ <h4 class="spectrum-Heading--subtitle1">Default</h4>
127
+ <sp-checkbox emphasized>Web component</sp-checkbox>
128
+ <sp-checkbox emphasized checked>Web component</sp-checkbox>
129
+ <sp-checkbox emphasized indeterminate>Web component</sp-checkbox>
130
+ </div>
131
+
132
+ <div style="display: flex; flex-direction: column;">
133
+ <h4 class="spectrum-Heading--subtitle1">Invalid</h4>
134
+ <sp-checkbox emphasized invalid>Web component</sp-checkbox>
135
+ <sp-checkbox emphasized checked invalid>Web component</sp-checkbox>
136
+ <sp-checkbox emphasized indeterminate invalid>Web component</sp-checkbox>
137
+ </div>
138
+
139
+ <div style="display: flex; flex-direction: column;">
140
+ <h4 class="spectrum-Heading--subtitle1">Disabled</h4>
141
+ <sp-checkbox emphasized disabled>Web component</sp-checkbox>
142
+ <sp-checkbox emphasized checked disabled>Web component</sp-checkbox>
143
+ <sp-checkbox emphasized indeterminate disabled>Web component</sp-checkbox>
144
+ </div>
145
+ </div>
146
+ ```
147
+
148
+ ### Handling events
149
+
150
+ Event handlers for clicks and other user actions can be registered on an `<sp-checkbox>` as they would a standard `<input type="checkbox">` element.
151
+
152
+ ```html
153
+ <sp-checkbox
154
+ id="checkbox-example"
155
+ onclick="spAlert(this, '<sp-radio> clicked!')"
156
+ >
157
+ Web component
158
+ </sp-checkbox>
159
+ ```
160
+
161
+ ## Accessibility
162
+
163
+ Checkboxes are accessible by default, rendered in HTML using the `<input type="checkbox">` element. When the checkbox is set as `indeterminate` or
164
+ `invalid`, the appropriate ARIA state attribute will automatically be applied.
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "@spectrum-web-components/checkbox",
3
+ "version": "0.0.0-20241209155954",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "description": "",
8
+ "license": "Apache-2.0",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/adobe/spectrum-web-components.git",
12
+ "directory": "packages/checkbox"
13
+ },
14
+ "author": "",
15
+ "homepage": "https://opensource.adobe.com/spectrum-web-components/components/checkbox",
16
+ "bugs": {
17
+ "url": "https://github.com/adobe/spectrum-web-components/issues"
18
+ },
19
+ "main": "./src/index.js",
20
+ "module": "./src/index.js",
21
+ "type": "module",
22
+ "exports": {
23
+ ".": {
24
+ "development": "./src/index.dev.js",
25
+ "default": "./src/index.js"
26
+ },
27
+ "./package.json": "./package.json",
28
+ "./src/Checkbox.js": {
29
+ "development": "./src/Checkbox.dev.js",
30
+ "default": "./src/Checkbox.js"
31
+ },
32
+ "./src/CheckboxBase.js": {
33
+ "development": "./src/CheckboxBase.dev.js",
34
+ "default": "./src/CheckboxBase.js"
35
+ },
36
+ "./src/CheckboxMixin.js": {
37
+ "development": "./src/CheckboxMixin.dev.js",
38
+ "default": "./src/CheckboxMixin.js"
39
+ },
40
+ "./src/checkbox-overrides.css.js": "./src/checkbox-overrides.css.js",
41
+ "./src/checkbox.css.js": "./src/checkbox.css.js",
42
+ "./src/index.js": {
43
+ "development": "./src/index.dev.js",
44
+ "default": "./src/index.js"
45
+ },
46
+ "./sp-checkbox.js": {
47
+ "development": "./sp-checkbox.dev.js",
48
+ "default": "./sp-checkbox.js"
49
+ }
50
+ },
51
+ "scripts": {
52
+ "test": "echo \"Error: run tests from mono-repo root.\" && exit 1"
53
+ },
54
+ "files": [
55
+ "**/*.d.ts",
56
+ "**/*.js",
57
+ "**/*.js.map",
58
+ "custom-elements.json",
59
+ "!stories/",
60
+ "!test/"
61
+ ],
62
+ "keywords": [
63
+ "spectrum css",
64
+ "web components",
65
+ "lit-element",
66
+ "lit-html"
67
+ ],
68
+ "dependencies": {
69
+ "@spectrum-web-components/base": "0.0.0-20241209155954",
70
+ "@spectrum-web-components/icon": "0.0.0-20241209155954",
71
+ "@spectrum-web-components/icons-ui": "0.0.0-20241209155954",
72
+ "@spectrum-web-components/shared": "0.0.0-20241209155954"
73
+ },
74
+ "devDependencies": {
75
+ "@spectrum-css/checkbox": "^10.0.0-s2-foundations.18"
76
+ },
77
+ "types": "./src/index.d.ts",
78
+ "customElements": "custom-elements.json",
79
+ "sideEffects": [
80
+ "./sp-*.js",
81
+ "./**/*.dev.js"
82
+ ]
83
+ }
@@ -0,0 +1,6 @@
1
+ import { Checkbox } from './src/Checkbox.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'sp-checkbox': Checkbox;
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ import { Checkbox } from "./src/Checkbox.dev.js";
3
+ import { defineElement } from "@spectrum-web-components/base/src/define-element.js";
4
+ defineElement("sp-checkbox", Checkbox);
5
+ //# sourceMappingURL=sp-checkbox.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["sp-checkbox.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { Checkbox } from './src/Checkbox.dev.js'\nimport { defineElement } from '@spectrum-web-components/base/src/define-element.js';\n\ndefineElement('sp-checkbox', Checkbox);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sp-checkbox': Checkbox;\n }\n}\n"],
5
+ "mappings": ";AAWA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAE9B,cAAc,eAAe,QAAQ;",
6
+ "names": []
7
+ }
package/sp-checkbox.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";import{Checkbox as e}from"./src/Checkbox.js";import{defineElement as o}from"@spectrum-web-components/base/src/define-element.js";o("sp-checkbox",e);
2
+ //# sourceMappingURL=sp-checkbox.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["sp-checkbox.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { Checkbox } from './src/Checkbox.js';\nimport { defineElement } from '@spectrum-web-components/base/src/define-element.js';\n\ndefineElement('sp-checkbox', Checkbox);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sp-checkbox': Checkbox;\n }\n}\n"],
5
+ "mappings": "aAWA,OAAS,YAAAA,MAAgB,oBACzB,OAAS,iBAAAC,MAAqB,sDAE9BA,EAAc,cAAeD,CAAQ",
6
+ "names": ["Checkbox", "defineElement"]
7
+ }
@@ -0,0 +1,43 @@
1
+ import { CSSResultArray, PropertyValues, SpectrumElement, TemplateResult } from '@spectrum-web-components/base';
2
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark75.js';
3
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js';
4
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark200.js';
5
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark300.js';
6
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-dash75.js';
7
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-dash100.js';
8
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-dash200.js';
9
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-dash300.js';
10
+ declare const Checkbox_base: typeof SpectrumElement & {
11
+ new (...args: any[]): import("./CheckboxMixin.js").CheckboxElement;
12
+ prototype: import("./CheckboxMixin.js").CheckboxElement;
13
+ } & {
14
+ new (...args: any[]): import("@spectrum-web-components/base").SizedElementInterface;
15
+ prototype: import("@spectrum-web-components/base").SizedElementInterface;
16
+ };
17
+ /**
18
+ * @element sp-checkbox
19
+ * @slot - content to display as the label for the Checkbox
20
+ * @fires change - Announces a change in the `checked` property of a Checkbox
21
+ */
22
+ export declare class Checkbox extends Checkbox_base {
23
+ static shadowRootOptions: {
24
+ delegatesFocus: boolean;
25
+ mode: ShadowRootMode;
26
+ slotAssignment?: SlotAssignmentMode | undefined;
27
+ };
28
+ /**
29
+ * Disable this control. It will not receive focus or events
30
+ */
31
+ disabled: boolean;
32
+ indeterminate: boolean;
33
+ invalid: boolean;
34
+ emphasized: boolean;
35
+ tabIndex: number;
36
+ connectedCallback(): void;
37
+ static get styles(): CSSResultArray;
38
+ click(): void;
39
+ handleChange(): void;
40
+ protected render(): TemplateResult;
41
+ protected updated(changes: PropertyValues): void;
42
+ }
43
+ export {};
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __decorateClass = (decorators, target, key, kind) => {
5
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
6
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
7
+ if (decorator = decorators[i])
8
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9
+ if (kind && result) __defProp(target, key, result);
10
+ return result;
11
+ };
12
+ import {
13
+ html,
14
+ SizedMixin,
15
+ SpectrumElement
16
+ } from "@spectrum-web-components/base";
17
+ import { property } from "@spectrum-web-components/base/src/decorators.js";
18
+ import { CheckboxMixin } from "./CheckboxMixin.dev.js";
19
+ import checkboxStyles from "./checkbox.css.js";
20
+ import "@spectrum-web-components/icons-ui/icons/sp-icon-checkmark75.js";
21
+ import "@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js";
22
+ import "@spectrum-web-components/icons-ui/icons/sp-icon-checkmark200.js";
23
+ import "@spectrum-web-components/icons-ui/icons/sp-icon-checkmark300.js";
24
+ import "@spectrum-web-components/icons-ui/icons/sp-icon-dash75.js";
25
+ import "@spectrum-web-components/icons-ui/icons/sp-icon-dash100.js";
26
+ import "@spectrum-web-components/icons-ui/icons/sp-icon-dash200.js";
27
+ import "@spectrum-web-components/icons-ui/icons/sp-icon-dash300.js";
28
+ import checkmarkSmallStyles from "@spectrum-web-components/icon/src/spectrum-icon-checkmark.css.js";
29
+ import checkmarkSmallOverrides from "@spectrum-web-components/icon/src/icon-checkmark-overrides.css.js";
30
+ import dashSmallStyles from "@spectrum-web-components/icon/src/spectrum-icon-dash.css.js";
31
+ import dashSmallOverrides from "@spectrum-web-components/icon/src/icon-dash-overrides.css.js";
32
+ const checkmarkIcon = {
33
+ s: () => {
34
+ return html`
35
+ <sp-icon-checkmark75
36
+ id="checkmark"
37
+ class="spectrum-Icon spectrum-UIIcon-Checkmark75"
38
+ ></sp-icon-checkmark75>
39
+ `;
40
+ },
41
+ m: () => {
42
+ return html`
43
+ <sp-icon-checkmark100
44
+ id="checkmark"
45
+ class="spectrum-Icon spectrum-UIIcon-Checkmark100"
46
+ ></sp-icon-checkmark100>
47
+ `;
48
+ },
49
+ l: () => {
50
+ return html`
51
+ <sp-icon-checkmark200
52
+ id="checkmark"
53
+ class="spectrum-Icon spectrum-UIIcon-Checkmark200"
54
+ ></sp-icon-checkmark200>
55
+ `;
56
+ },
57
+ xl: () => {
58
+ return html`
59
+ <sp-icon-checkmark300
60
+ id="checkmark"
61
+ class="spectrum-Icon spectrum-UIIcon-Checkmark300"
62
+ ></sp-icon-checkmark300>
63
+ `;
64
+ }
65
+ };
66
+ const dashIcon = {
67
+ s: () => {
68
+ return html`
69
+ <sp-icon-dash75
70
+ id="partialCheckmark"
71
+ class="spectrum-Icon spectrum-UIIcon-Dash75"
72
+ ></sp-icon-dash75>
73
+ `;
74
+ },
75
+ m: () => {
76
+ return html`
77
+ <sp-icon-dash100
78
+ id="partialCheckmark"
79
+ class="spectrum-Icon spectrum-UIIcon-Dash100"
80
+ ></sp-icon-dash100>
81
+ `;
82
+ },
83
+ l: () => {
84
+ return html`
85
+ <sp-icon-dash200
86
+ id="partialCheckmark"
87
+ class="spectrum-Icon spectrum-UIIcon-Dash200"
88
+ ></sp-icon-dash200>
89
+ `;
90
+ },
91
+ xl: () => {
92
+ return html`
93
+ <sp-icon-dash300
94
+ id="partialCheckmark"
95
+ class="spectrum-Icon spectrum-UIIcon-Dash300"
96
+ ></sp-icon-dash300>
97
+ `;
98
+ }
99
+ };
100
+ export class Checkbox extends SizedMixin(CheckboxMixin(SpectrumElement), {
101
+ noDefaultSize: true
102
+ }) {
103
+ constructor() {
104
+ super(...arguments);
105
+ this.disabled = false;
106
+ this.indeterminate = false;
107
+ this.invalid = false;
108
+ this.emphasized = false;
109
+ this.tabIndex = 0;
110
+ }
111
+ connectedCallback() {
112
+ super.connectedCallback();
113
+ if (this.hasAttribute("autofocus")) {
114
+ this.updateComplete.then(() => {
115
+ this.focus();
116
+ });
117
+ }
118
+ }
119
+ static get styles() {
120
+ return [
121
+ checkboxStyles,
122
+ checkmarkSmallStyles,
123
+ dashSmallStyles,
124
+ checkmarkSmallOverrides,
125
+ dashSmallOverrides
126
+ ];
127
+ }
128
+ click() {
129
+ var _a;
130
+ if (this.disabled) {
131
+ return;
132
+ }
133
+ (_a = this.inputElement) == null ? void 0 : _a.click();
134
+ }
135
+ handleChange() {
136
+ this.indeterminate = false;
137
+ super.handleChange();
138
+ }
139
+ render() {
140
+ return html`
141
+ ${super.render()}
142
+ <span id="box">
143
+ ${this.checked ? checkmarkIcon[this.size]() : html``}
144
+ ${this.indeterminate ? dashIcon[this.size]() : html``}
145
+ </span>
146
+ <label id="label" for="input"><slot></slot></label>
147
+ `;
148
+ }
149
+ updated(changes) {
150
+ super.updated(changes);
151
+ if (changes.has("disabled") && (typeof changes.get("disabled") !== "undefined" || this.disabled)) {
152
+ if (this.disabled) {
153
+ this.inputElement.tabIndex = this.tabIndex;
154
+ this.tabIndex = -1;
155
+ } else {
156
+ this.tabIndex = this.inputElement.tabIndex;
157
+ this.inputElement.removeAttribute("tabindex");
158
+ }
159
+ this.inputElement.disabled = this.disabled;
160
+ }
161
+ if (changes.has("indeterminate")) {
162
+ this.inputElement.indeterminate = this.indeterminate;
163
+ }
164
+ if (changes.has("invalid")) {
165
+ if (this.invalid) {
166
+ this.inputElement.setAttribute("aria-invalid", "true");
167
+ } else {
168
+ this.inputElement.removeAttribute("aria-invalid");
169
+ }
170
+ }
171
+ }
172
+ }
173
+ Checkbox.shadowRootOptions = {
174
+ ...SpectrumElement.shadowRootOptions,
175
+ delegatesFocus: true
176
+ };
177
+ __decorateClass([
178
+ property({ type: Boolean, reflect: true })
179
+ ], Checkbox.prototype, "disabled", 2);
180
+ __decorateClass([
181
+ property({ type: Boolean, reflect: true })
182
+ ], Checkbox.prototype, "indeterminate", 2);
183
+ __decorateClass([
184
+ property({ type: Boolean, reflect: true })
185
+ ], Checkbox.prototype, "invalid", 2);
186
+ __decorateClass([
187
+ property({ type: Boolean, reflect: true })
188
+ ], Checkbox.prototype, "emphasized", 2);
189
+ __decorateClass([
190
+ property({ reflect: true, type: Number, attribute: "tabindex" })
191
+ ], Checkbox.prototype, "tabIndex", 2);
192
+ //# sourceMappingURL=Checkbox.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["Checkbox.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResultArray,\n DefaultElementSize,\n html,\n PropertyValues,\n SizedMixin,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { CheckboxMixin } from './CheckboxMixin.dev.js'\nimport checkboxStyles from './checkbox.css.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark75.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark200.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark300.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-dash75.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-dash100.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-dash200.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-dash300.js';\nimport checkmarkSmallStyles from '@spectrum-web-components/icon/src/spectrum-icon-checkmark.css.js';\nimport checkmarkSmallOverrides from '@spectrum-web-components/icon/src/icon-checkmark-overrides.css.js';\nimport dashSmallStyles from '@spectrum-web-components/icon/src/spectrum-icon-dash.css.js';\nimport dashSmallOverrides from '@spectrum-web-components/icon/src/icon-dash-overrides.css.js';\n\nconst checkmarkIcon = {\n s: () => {\n return html`\n <sp-icon-checkmark75\n id=\"checkmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Checkmark75\"\n ></sp-icon-checkmark75>\n `;\n },\n m: () => {\n return html`\n <sp-icon-checkmark100\n id=\"checkmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Checkmark100\"\n ></sp-icon-checkmark100>\n `;\n },\n l: () => {\n return html`\n <sp-icon-checkmark200\n id=\"checkmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Checkmark200\"\n ></sp-icon-checkmark200>\n `;\n },\n xl: () => {\n return html`\n <sp-icon-checkmark300\n id=\"checkmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Checkmark300\"\n ></sp-icon-checkmark300>\n `;\n },\n};\n\nconst dashIcon = {\n s: () => {\n return html`\n <sp-icon-dash75\n id=\"partialCheckmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Dash75\"\n ></sp-icon-dash75>\n `;\n },\n m: () => {\n return html`\n <sp-icon-dash100\n id=\"partialCheckmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Dash100\"\n ></sp-icon-dash100>\n `;\n },\n l: () => {\n return html`\n <sp-icon-dash200\n id=\"partialCheckmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Dash200\"\n ></sp-icon-dash200>\n `;\n },\n xl: () => {\n return html`\n <sp-icon-dash300\n id=\"partialCheckmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Dash300\"\n ></sp-icon-dash300>\n `;\n },\n};\n\n/**\n * @element sp-checkbox\n * @slot - content to display as the label for the Checkbox\n * @fires change - Announces a change in the `checked` property of a Checkbox\n */\nexport class Checkbox extends SizedMixin(CheckboxMixin(SpectrumElement), {\n noDefaultSize: true,\n}) {\n static override shadowRootOptions = {\n ...SpectrumElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Disable this control. It will not receive focus or events\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n @property({ type: Boolean, reflect: true })\n public indeterminate = false;\n\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n @property({ type: Boolean, reflect: true })\n public emphasized = false;\n\n @property({ reflect: true, type: Number, attribute: 'tabindex' })\n public override tabIndex = 0;\n\n public override connectedCallback(): void {\n super.connectedCallback();\n if (this.hasAttribute('autofocus')) {\n this.updateComplete.then(() => {\n this.focus();\n });\n }\n }\n\n public static override get styles(): CSSResultArray {\n return [\n checkboxStyles,\n checkmarkSmallStyles,\n dashSmallStyles,\n checkmarkSmallOverrides,\n dashSmallOverrides,\n ];\n }\n\n public override click(): void {\n if (this.disabled) {\n return;\n }\n\n this.inputElement?.click();\n }\n\n public override handleChange(): void {\n this.indeterminate = false;\n super.handleChange();\n }\n\n protected override render(): TemplateResult {\n return html`\n ${super.render()}\n <span id=\"box\">\n ${this.checked\n ? checkmarkIcon[this.size as DefaultElementSize]()\n : html``}\n ${this.indeterminate\n ? dashIcon[this.size as DefaultElementSize]()\n : html``}\n </span>\n <label id=\"label\" for=\"input\"><slot></slot></label>\n `;\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (\n changes.has('disabled') &&\n (typeof changes.get('disabled') !== 'undefined' || this.disabled)\n ) {\n if (this.disabled) {\n this.inputElement.tabIndex = this.tabIndex;\n this.tabIndex = -1;\n } else {\n this.tabIndex = this.inputElement.tabIndex;\n this.inputElement.removeAttribute('tabindex');\n }\n this.inputElement.disabled = this.disabled;\n }\n if (changes.has('indeterminate')) {\n this.inputElement.indeterminate = this.indeterminate;\n }\n if (changes.has('invalid')) {\n if (this.invalid) {\n this.inputElement.setAttribute('aria-invalid', 'true');\n } else {\n this.inputElement.removeAttribute('aria-invalid');\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";var m=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var r=(n,s,e,c)=>{for(var i=c>1?void 0:c?d(s,e):s,l=n.length-1,o;l>=0;l--)(o=n[l])&&(i=(c?o(s,e,i):o(i))||i);return c&&i&&m(s,e,i),i};import{html as t,SizedMixin as u,SpectrumElement as p}from"@spectrum-web-components/base";import{property as a}from"@spectrum-web-components/base/src/decorators.js";import{CheckboxMixin as h}from"./CheckboxMixin.js";import k from"./checkbox.css.js";import"@spectrum-web-components/icons-ui/icons/sp-icon-checkmark75.js";import"@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js";import"@spectrum-web-components/icons-ui/icons/sp-icon-checkmark200.js";import"@spectrum-web-components/icons-ui/icons/sp-icon-checkmark300.js";import"@spectrum-web-components/icons-ui/icons/sp-icon-dash75.js";import"@spectrum-web-components/icons-ui/icons/sp-icon-dash100.js";import"@spectrum-web-components/icons-ui/icons/sp-icon-dash200.js";import"@spectrum-web-components/icons-ui/icons/sp-icon-dash300.js";import b from"@spectrum-web-components/icon/src/spectrum-icon-checkmark.css.js";import f from"@spectrum-web-components/icon/src/icon-checkmark-overrides.css.js";import I from"@spectrum-web-components/icon/src/spectrum-icon-dash.css.js";import v from"@spectrum-web-components/icon/src/icon-dash-overrides.css.js";const S={s:()=>t`
2
+ <sp-icon-checkmark75
3
+ id="checkmark"
4
+ class="spectrum-Icon spectrum-UIIcon-Checkmark75"
5
+ ></sp-icon-checkmark75>
6
+ `,m:()=>t`
7
+ <sp-icon-checkmark100
8
+ id="checkmark"
9
+ class="spectrum-Icon spectrum-UIIcon-Checkmark100"
10
+ ></sp-icon-checkmark100>
11
+ `,l:()=>t`
12
+ <sp-icon-checkmark200
13
+ id="checkmark"
14
+ class="spectrum-Icon spectrum-UIIcon-Checkmark200"
15
+ ></sp-icon-checkmark200>
16
+ `,xl:()=>t`
17
+ <sp-icon-checkmark300
18
+ id="checkmark"
19
+ class="spectrum-Icon spectrum-UIIcon-Checkmark300"
20
+ ></sp-icon-checkmark300>
21
+ `},y={s:()=>t`
22
+ <sp-icon-dash75
23
+ id="partialCheckmark"
24
+ class="spectrum-Icon spectrum-UIIcon-Dash75"
25
+ ></sp-icon-dash75>
26
+ `,m:()=>t`
27
+ <sp-icon-dash100
28
+ id="partialCheckmark"
29
+ class="spectrum-Icon spectrum-UIIcon-Dash100"
30
+ ></sp-icon-dash100>
31
+ `,l:()=>t`
32
+ <sp-icon-dash200
33
+ id="partialCheckmark"
34
+ class="spectrum-Icon spectrum-UIIcon-Dash200"
35
+ ></sp-icon-dash200>
36
+ `,xl:()=>t`
37
+ <sp-icon-dash300
38
+ id="partialCheckmark"
39
+ class="spectrum-Icon spectrum-UIIcon-Dash300"
40
+ ></sp-icon-dash300>
41
+ `};export class Checkbox extends u(h(p),{noDefaultSize:!0}){constructor(){super(...arguments);this.disabled=!1;this.indeterminate=!1;this.invalid=!1;this.emphasized=!1;this.tabIndex=0}connectedCallback(){super.connectedCallback(),this.hasAttribute("autofocus")&&this.updateComplete.then(()=>{this.focus()})}static get styles(){return[k,b,I,f,v]}click(){var e;this.disabled||(e=this.inputElement)==null||e.click()}handleChange(){this.indeterminate=!1,super.handleChange()}render(){return t`
42
+ ${super.render()}
43
+ <span id="box">
44
+ ${this.checked?S[this.size]():t``}
45
+ ${this.indeterminate?y[this.size]():t``}
46
+ </span>
47
+ <label id="label" for="input"><slot></slot></label>
48
+ `}updated(e){super.updated(e),e.has("disabled")&&(typeof e.get("disabled")!="undefined"||this.disabled)&&(this.disabled?(this.inputElement.tabIndex=this.tabIndex,this.tabIndex=-1):(this.tabIndex=this.inputElement.tabIndex,this.inputElement.removeAttribute("tabindex")),this.inputElement.disabled=this.disabled),e.has("indeterminate")&&(this.inputElement.indeterminate=this.indeterminate),e.has("invalid")&&(this.invalid?this.inputElement.setAttribute("aria-invalid","true"):this.inputElement.removeAttribute("aria-invalid"))}}Checkbox.shadowRootOptions={...p.shadowRootOptions,delegatesFocus:!0},r([a({type:Boolean,reflect:!0})],Checkbox.prototype,"disabled",2),r([a({type:Boolean,reflect:!0})],Checkbox.prototype,"indeterminate",2),r([a({type:Boolean,reflect:!0})],Checkbox.prototype,"invalid",2),r([a({type:Boolean,reflect:!0})],Checkbox.prototype,"emphasized",2),r([a({reflect:!0,type:Number,attribute:"tabindex"})],Checkbox.prototype,"tabIndex",2);
49
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["Checkbox.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResultArray,\n DefaultElementSize,\n html,\n PropertyValues,\n SizedMixin,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { CheckboxMixin } from './CheckboxMixin.js';\nimport checkboxStyles from './checkbox.css.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark75.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark100.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark200.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-checkmark300.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-dash75.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-dash100.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-dash200.js';\nimport '@spectrum-web-components/icons-ui/icons/sp-icon-dash300.js';\nimport checkmarkSmallStyles from '@spectrum-web-components/icon/src/spectrum-icon-checkmark.css.js';\nimport checkmarkSmallOverrides from '@spectrum-web-components/icon/src/icon-checkmark-overrides.css.js';\nimport dashSmallStyles from '@spectrum-web-components/icon/src/spectrum-icon-dash.css.js';\nimport dashSmallOverrides from '@spectrum-web-components/icon/src/icon-dash-overrides.css.js';\n\nconst checkmarkIcon = {\n s: () => {\n return html`\n <sp-icon-checkmark75\n id=\"checkmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Checkmark75\"\n ></sp-icon-checkmark75>\n `;\n },\n m: () => {\n return html`\n <sp-icon-checkmark100\n id=\"checkmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Checkmark100\"\n ></sp-icon-checkmark100>\n `;\n },\n l: () => {\n return html`\n <sp-icon-checkmark200\n id=\"checkmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Checkmark200\"\n ></sp-icon-checkmark200>\n `;\n },\n xl: () => {\n return html`\n <sp-icon-checkmark300\n id=\"checkmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Checkmark300\"\n ></sp-icon-checkmark300>\n `;\n },\n};\n\nconst dashIcon = {\n s: () => {\n return html`\n <sp-icon-dash75\n id=\"partialCheckmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Dash75\"\n ></sp-icon-dash75>\n `;\n },\n m: () => {\n return html`\n <sp-icon-dash100\n id=\"partialCheckmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Dash100\"\n ></sp-icon-dash100>\n `;\n },\n l: () => {\n return html`\n <sp-icon-dash200\n id=\"partialCheckmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Dash200\"\n ></sp-icon-dash200>\n `;\n },\n xl: () => {\n return html`\n <sp-icon-dash300\n id=\"partialCheckmark\"\n class=\"spectrum-Icon spectrum-UIIcon-Dash300\"\n ></sp-icon-dash300>\n `;\n },\n};\n\n/**\n * @element sp-checkbox\n * @slot - content to display as the label for the Checkbox\n * @fires change - Announces a change in the `checked` property of a Checkbox\n */\nexport class Checkbox extends SizedMixin(CheckboxMixin(SpectrumElement), {\n noDefaultSize: true,\n}) {\n static override shadowRootOptions = {\n ...SpectrumElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Disable this control. It will not receive focus or events\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n @property({ type: Boolean, reflect: true })\n public indeterminate = false;\n\n @property({ type: Boolean, reflect: true })\n public invalid = false;\n\n @property({ type: Boolean, reflect: true })\n public emphasized = false;\n\n @property({ reflect: true, type: Number, attribute: 'tabindex' })\n public override tabIndex = 0;\n\n public override connectedCallback(): void {\n super.connectedCallback();\n if (this.hasAttribute('autofocus')) {\n this.updateComplete.then(() => {\n this.focus();\n });\n }\n }\n\n public static override get styles(): CSSResultArray {\n return [\n checkboxStyles,\n checkmarkSmallStyles,\n dashSmallStyles,\n checkmarkSmallOverrides,\n dashSmallOverrides,\n ];\n }\n\n public override click(): void {\n if (this.disabled) {\n return;\n }\n\n this.inputElement?.click();\n }\n\n public override handleChange(): void {\n this.indeterminate = false;\n super.handleChange();\n }\n\n protected override render(): TemplateResult {\n return html`\n ${super.render()}\n <span id=\"box\">\n ${this.checked\n ? checkmarkIcon[this.size as DefaultElementSize]()\n : html``}\n ${this.indeterminate\n ? dashIcon[this.size as DefaultElementSize]()\n : html``}\n </span>\n <label id=\"label\" for=\"input\"><slot></slot></label>\n `;\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (\n changes.has('disabled') &&\n (typeof changes.get('disabled') !== 'undefined' || this.disabled)\n ) {\n if (this.disabled) {\n this.inputElement.tabIndex = this.tabIndex;\n this.tabIndex = -1;\n } else {\n this.tabIndex = this.inputElement.tabIndex;\n this.inputElement.removeAttribute('tabindex');\n }\n this.inputElement.disabled = this.disabled;\n }\n if (changes.has('indeterminate')) {\n this.inputElement.indeterminate = this.indeterminate;\n }\n if (changes.has('invalid')) {\n if (this.invalid) {\n this.inputElement.setAttribute('aria-invalid', 'true');\n } else {\n this.inputElement.removeAttribute('aria-invalid');\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["html", "SizedMixin", "SpectrumElement", "property", "CheckboxMixin", "checkboxStyles", "checkmarkSmallStyles", "checkmarkSmallOverrides", "dashSmallStyles", "dashSmallOverrides", "checkmarkIcon", "dashIcon", "_a", "changes", "__decorateClass"]
7
+ }
@@ -0,0 +1,9 @@
1
+ import { Focusable } from '@spectrum-web-components/shared/src/focusable.js';
2
+ declare const CheckboxBase_base: typeof Focusable & {
3
+ new (...args: any[]): import("./CheckboxMixin.js").CheckboxElement;
4
+ prototype: import("./CheckboxMixin.js").CheckboxElement;
5
+ };
6
+ export declare class CheckboxBase extends CheckboxBase_base {
7
+ get focusElement(): HTMLElement;
8
+ }
9
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ import { Focusable } from "@spectrum-web-components/shared/src/focusable.js";
3
+ import { CheckboxMixin } from "./CheckboxMixin.dev.js";
4
+ export class CheckboxBase extends CheckboxMixin(Focusable) {
5
+ get focusElement() {
6
+ return this.inputElement;
7
+ }
8
+ }
9
+ //# sourceMappingURL=CheckboxBase.dev.js.map