@kya-os/consent 0.1.13 → 0.1.14

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 (126) hide show
  1. package/dist/bundle/inline.d.ts.map +1 -1
  2. package/dist/bundle/inline.js +2 -2
  3. package/dist/bundle/inline.js.map +1 -1
  4. package/dist/bundle/shell.d.ts +5 -0
  5. package/dist/bundle/shell.d.ts.map +1 -1
  6. package/dist/bundle/shell.js +3 -1
  7. package/dist/bundle/shell.js.map +1 -1
  8. package/dist/cjs/bundle/index.js +57 -0
  9. package/dist/cjs/bundle/index.js.map +1 -0
  10. package/dist/cjs/bundle/inline.js +22 -0
  11. package/dist/cjs/bundle/inline.js.map +1 -0
  12. package/dist/cjs/bundle/shell.js +291 -0
  13. package/dist/cjs/bundle/shell.js.map +1 -0
  14. package/dist/cjs/components/consent-button.js +180 -0
  15. package/dist/cjs/components/consent-button.js.map +1 -0
  16. package/dist/cjs/components/consent-checkbox.js +223 -0
  17. package/dist/cjs/components/consent-checkbox.js.map +1 -0
  18. package/dist/cjs/components/consent-input.js +335 -0
  19. package/dist/cjs/components/consent-input.js.map +1 -0
  20. package/dist/cjs/components/consent-oauth-button.js +392 -0
  21. package/dist/cjs/components/consent-oauth-button.js.map +1 -0
  22. package/dist/cjs/components/consent-otp-input.js +388 -0
  23. package/dist/cjs/components/consent-otp-input.js.map +1 -0
  24. package/dist/cjs/components/consent-permissions.js +433 -0
  25. package/dist/cjs/components/consent-permissions.js.map +1 -0
  26. package/dist/cjs/components/consent-shell.js +234 -0
  27. package/dist/cjs/components/consent-shell.js.map +1 -0
  28. package/dist/cjs/components/consent-terms.js +287 -0
  29. package/dist/cjs/components/consent-terms.js.map +1 -0
  30. package/dist/cjs/components/index.js +37 -0
  31. package/dist/cjs/components/index.js.map +1 -0
  32. package/dist/cjs/components/mcp-consent.js +1034 -0
  33. package/dist/cjs/components/mcp-consent.js.map +1 -0
  34. package/dist/cjs/constants/auth-modes.js +128 -0
  35. package/dist/cjs/constants/auth-modes.js.map +1 -0
  36. package/dist/cjs/constants/colors.js +40 -0
  37. package/dist/cjs/constants/colors.js.map +1 -0
  38. package/dist/cjs/constants/defaults.js +146 -0
  39. package/dist/cjs/constants/defaults.js.map +1 -0
  40. package/dist/cjs/constants/index.js +40 -0
  41. package/dist/cjs/constants/index.js.map +1 -0
  42. package/dist/cjs/index.js +49 -0
  43. package/dist/cjs/index.js.map +1 -0
  44. package/dist/cjs/package.json +1 -0
  45. package/dist/cjs/react/index.js +190 -0
  46. package/dist/cjs/react/index.js.map +1 -0
  47. package/dist/cjs/resolution/index.js +28 -0
  48. package/dist/cjs/resolution/index.js.map +1 -0
  49. package/dist/cjs/resolution/resolve-branding.js +159 -0
  50. package/dist/cjs/resolution/resolve-branding.js.map +1 -0
  51. package/dist/cjs/resolution/resolve-config.js +270 -0
  52. package/dist/cjs/resolution/resolve-config.js.map +1 -0
  53. package/dist/cjs/resolution/resolve-copy.js +136 -0
  54. package/dist/cjs/resolution/resolve-copy.js.map +1 -0
  55. package/dist/cjs/schemas/api.schemas.js +156 -0
  56. package/dist/cjs/schemas/api.schemas.js.map +1 -0
  57. package/dist/cjs/schemas/branding.schemas.js +57 -0
  58. package/dist/cjs/schemas/branding.schemas.js.map +1 -0
  59. package/dist/cjs/schemas/config.schemas.js +147 -0
  60. package/dist/cjs/schemas/config.schemas.js.map +1 -0
  61. package/dist/cjs/schemas/index.js +29 -0
  62. package/dist/cjs/schemas/index.js.map +1 -0
  63. package/dist/cjs/schemas/modes.schemas.js +107 -0
  64. package/dist/cjs/schemas/modes.schemas.js.map +1 -0
  65. package/dist/cjs/security/escape.js +206 -0
  66. package/dist/cjs/security/escape.js.map +1 -0
  67. package/dist/cjs/security/index.js +26 -0
  68. package/dist/cjs/security/index.js.map +1 -0
  69. package/dist/cjs/security/validators.js +210 -0
  70. package/dist/cjs/security/validators.js.map +1 -0
  71. package/dist/cjs/styles/css-variables.js +129 -0
  72. package/dist/cjs/styles/css-variables.js.map +1 -0
  73. package/dist/cjs/styles/index.js +28 -0
  74. package/dist/cjs/styles/index.js.map +1 -0
  75. package/dist/cjs/styles/stylesheet.js +204 -0
  76. package/dist/cjs/styles/stylesheet.js.map +1 -0
  77. package/dist/cjs/styles/tokens.js +183 -0
  78. package/dist/cjs/styles/tokens.js.map +1 -0
  79. package/dist/cjs/templates/base/base-template.js +282 -0
  80. package/dist/cjs/templates/base/base-template.js.map +1 -0
  81. package/dist/cjs/templates/base/components.js +295 -0
  82. package/dist/cjs/templates/base/components.js.map +1 -0
  83. package/dist/cjs/templates/base/index.js +26 -0
  84. package/dist/cjs/templates/base/index.js.map +1 -0
  85. package/dist/cjs/templates/index.js +34 -0
  86. package/dist/cjs/templates/index.js.map +1 -0
  87. package/dist/cjs/templates/modes/consent-only.template.js +74 -0
  88. package/dist/cjs/templates/modes/consent-only.template.js.map +1 -0
  89. package/dist/cjs/templates/modes/credentials.template.js +414 -0
  90. package/dist/cjs/templates/modes/credentials.template.js.map +1 -0
  91. package/dist/cjs/templates/modes/index.js +24 -0
  92. package/dist/cjs/templates/modes/index.js.map +1 -0
  93. package/dist/cjs/templates/modes/magic-link.template.js +196 -0
  94. package/dist/cjs/templates/modes/magic-link.template.js.map +1 -0
  95. package/dist/cjs/templates/modes/oauth.template.js +153 -0
  96. package/dist/cjs/templates/modes/oauth.template.js.map +1 -0
  97. package/dist/cjs/templates/modes/otp.template.js +316 -0
  98. package/dist/cjs/templates/modes/otp.template.js.map +1 -0
  99. package/dist/cjs/templates/modes/success.template.js +140 -0
  100. package/dist/cjs/templates/modes/success.template.js.map +1 -0
  101. package/dist/cjs/templates/registry.js +133 -0
  102. package/dist/cjs/templates/registry.js.map +1 -0
  103. package/dist/cjs/types/api.types.js +10 -0
  104. package/dist/cjs/types/api.types.js.map +1 -0
  105. package/dist/cjs/types/branding.types.js +10 -0
  106. package/dist/cjs/types/branding.types.js.map +1 -0
  107. package/dist/cjs/types/config.types.js +10 -0
  108. package/dist/cjs/types/config.types.js.map +1 -0
  109. package/dist/cjs/types/copy.types.js +10 -0
  110. package/dist/cjs/types/copy.types.js.map +1 -0
  111. package/dist/cjs/types/index.js +31 -0
  112. package/dist/cjs/types/index.js.map +1 -0
  113. package/dist/cjs/types/modes.types.js +140 -0
  114. package/dist/cjs/types/modes.types.js.map +1 -0
  115. package/dist/cjs/types/page.types.js +10 -0
  116. package/dist/cjs/types/page.types.js.map +1 -0
  117. package/dist/components/mcp-consent.d.ts +6 -0
  118. package/dist/components/mcp-consent.d.ts.map +1 -1
  119. package/dist/components/mcp-consent.js +14 -0
  120. package/dist/components/mcp-consent.js.map +1 -1
  121. package/dist/consent.js +7 -0
  122. package/dist/consent.min.js +2 -2
  123. package/dist/schemas/api.schemas.d.ts +116 -116
  124. package/dist/schemas/config.schemas.d.ts +116 -116
  125. package/dist/schemas/modes.schemas.d.ts +28 -28
  126. package/package.json +29 -15
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ /**
3
+ * Consent Button Web Component
4
+ *
5
+ * A styled button for consent pages that works in:
6
+ * - Browser (vanilla HTML)
7
+ * - React (via @lit/react wrapper)
8
+ * - SSR (Declarative Shadow DOM)
9
+ *
10
+ * @module components/consent-button
11
+ */
12
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.ConsentButton = void 0;
20
+ const lit_1 = require("lit");
21
+ const decorators_js_1 = require("lit/decorators.js");
22
+ /**
23
+ * ConsentButton - A themed button component
24
+ *
25
+ * @example
26
+ * ```html
27
+ * <consent-button variant="primary">Allow Access</consent-button>
28
+ * <consent-button variant="secondary">Cancel</consent-button>
29
+ * ```
30
+ *
31
+ * @csspart button - The native button element
32
+ * @cssprop --consent-primary - Primary brand color (default: #2563EB)
33
+ */
34
+ let ConsentButton = class ConsentButton extends lit_1.LitElement {
35
+ constructor() {
36
+ super();
37
+ /**
38
+ * Button variant - 'primary' (filled) or 'secondary' (outlined)
39
+ */
40
+ this.variant = 'primary';
41
+ /**
42
+ * Button type attribute (button, submit, reset)
43
+ */
44
+ this.type = 'button';
45
+ /**
46
+ * Disabled state
47
+ */
48
+ this.disabled = false;
49
+ /**
50
+ * Full width mode
51
+ */
52
+ this.fullWidth = false;
53
+ /**
54
+ * Loading state - shows spinner and disables button
55
+ */
56
+ this.loading = false;
57
+ this.internals = this.attachInternals();
58
+ }
59
+ handleClick() {
60
+ if (this.disabled || this.loading)
61
+ return;
62
+ const form = this.internals.form;
63
+ if (!form)
64
+ return;
65
+ if (this.type === 'submit') {
66
+ // Trigger form submission
67
+ form.requestSubmit();
68
+ }
69
+ else if (this.type === 'reset') {
70
+ form.reset();
71
+ }
72
+ }
73
+ render() {
74
+ return (0, lit_1.html) `
75
+ <button
76
+ part="button"
77
+ type="button"
78
+ ?disabled=${this.disabled || this.loading}
79
+ aria-busy=${this.loading}
80
+ @click=${this.handleClick}
81
+ >
82
+ ${this.loading ? (0, lit_1.html) `<span class="spinner"></span>` : null}
83
+ <slot></slot>
84
+ </button>
85
+ `;
86
+ }
87
+ };
88
+ exports.ConsentButton = ConsentButton;
89
+ // Enable form association
90
+ ConsentButton.formAssociated = true;
91
+ ConsentButton.styles = (0, lit_1.css) `
92
+ :host {
93
+ display: inline-block;
94
+ }
95
+
96
+ :host([full-width]) {
97
+ display: block;
98
+ width: 100%;
99
+ }
100
+
101
+ button {
102
+ /* Base styles - matches AgentShield PreviewButton exactly */
103
+ padding: 0.75rem 1rem;
104
+ height: 2.75rem;
105
+ border-radius: 0.5rem;
106
+ font-size: 0.875rem;
107
+ font-weight: 500;
108
+ font-family: inherit;
109
+ cursor: pointer;
110
+ transition: opacity 0.15s ease, background-color 0.15s ease;
111
+ border: none;
112
+ width: 100%;
113
+ display: inline-flex;
114
+ align-items: center;
115
+ justify-content: center;
116
+ gap: 0.5rem;
117
+ }
118
+
119
+ /* Primary variant */
120
+ :host([variant='primary']) button {
121
+ background-color: var(--consent-primary, #2563eb);
122
+ color: white;
123
+ }
124
+
125
+ :host([variant='primary']) button:hover:not(:disabled) {
126
+ opacity: 0.9;
127
+ }
128
+
129
+ /* Secondary variant */
130
+ :host([variant='secondary']) button {
131
+ background-color: transparent;
132
+ color: #374151;
133
+ border: 1px solid #d1d5db;
134
+ }
135
+
136
+ :host([variant='secondary']) button:hover:not(:disabled) {
137
+ background-color: #f9fafb;
138
+ }
139
+
140
+ /* Disabled state */
141
+ button:disabled {
142
+ opacity: 0.5;
143
+ cursor: not-allowed;
144
+ }
145
+
146
+ /* Loading spinner */
147
+ .spinner {
148
+ width: 1rem;
149
+ height: 1rem;
150
+ border: 2px solid currentColor;
151
+ border-top-color: transparent;
152
+ border-radius: 50%;
153
+ animation: spin 0.8s linear infinite;
154
+ }
155
+
156
+ @keyframes spin {
157
+ to {
158
+ transform: rotate(360deg);
159
+ }
160
+ }
161
+ `;
162
+ __decorate([
163
+ (0, decorators_js_1.property)({ type: String, reflect: true })
164
+ ], ConsentButton.prototype, "variant", void 0);
165
+ __decorate([
166
+ (0, decorators_js_1.property)({ type: String })
167
+ ], ConsentButton.prototype, "type", void 0);
168
+ __decorate([
169
+ (0, decorators_js_1.property)({ type: Boolean, reflect: true })
170
+ ], ConsentButton.prototype, "disabled", void 0);
171
+ __decorate([
172
+ (0, decorators_js_1.property)({ type: Boolean, attribute: 'full-width' })
173
+ ], ConsentButton.prototype, "fullWidth", void 0);
174
+ __decorate([
175
+ (0, decorators_js_1.property)({ type: Boolean, reflect: true })
176
+ ], ConsentButton.prototype, "loading", void 0);
177
+ exports.ConsentButton = ConsentButton = __decorate([
178
+ (0, decorators_js_1.customElement)('consent-button')
179
+ ], ConsentButton);
180
+ //# sourceMappingURL=consent-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent-button.js","sourceRoot":"","sources":["../../../src/components/consent-button.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;AAEH,6BAA4C;AAC5C,qDAA4D;AAO5D;;;;;;;;;;;GAWG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAU;IAM3C;QACE,KAAK,EAAE,CAAC;QAIV;;WAEG;QAEH,YAAO,GAAkB,SAAS,CAAC;QAEnC;;WAEG;QAEH,SAAI,GAAkC,QAAQ,CAAC;QAE/C;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;WAEG;QAEH,cAAS,GAAG,KAAK,CAAC;QAElB;;WAEG;QAEH,YAAO,GAAG,KAAK,CAAC;QA/Bd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAC1C,CAAC;IAwGO,WAAW;QACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,0BAA0B;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,OAAO,IAAA,UAAI,EAAA;;;;oBAIK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;oBAC7B,IAAI,CAAC,OAAO;iBACf,IAAI,CAAC,WAAW;;UAEvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,UAAI,EAAA,+BAA+B,CAAC,CAAC,CAAC,IAAI;;;KAG9D,CAAC;IACJ,CAAC;;AA5IU,sCAAa;AACxB,0BAA0B;AACnB,4BAAc,GAAG,IAAI,AAAP,CAAQ;AAuCb,oBAAM,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsE3B,AAtEqB,CAsEpB;AAhGF;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CACP;AAMnC;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACoB;AAM/C;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CAC1B;AAMjB;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gDACnC;AAMlB;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAC3B;wBAvCL,aAAa;IADzB,IAAA,6BAAa,EAAC,gBAAgB,CAAC;GACnB,aAAa,CA6IzB"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ /**
3
+ * Consent Checkbox Web Component
4
+ *
5
+ * A styled checkbox for consent pages with label support.
6
+ * Works in browser, React, and SSR environments.
7
+ * Implements Form Associated Custom Elements for proper form participation.
8
+ *
9
+ * @module components/consent-checkbox
10
+ */
11
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ConsentCheckbox = void 0;
19
+ const lit_1 = require("lit");
20
+ const decorators_js_1 = require("lit/decorators.js");
21
+ /**
22
+ * ConsentCheckbox - A themed checkbox component with label
23
+ *
24
+ * @example
25
+ * ```html
26
+ * <consent-checkbox name="terms" required>
27
+ * I agree to the <a href="/terms">Terms</a>
28
+ * </consent-checkbox>
29
+ * ```
30
+ *
31
+ * @fires change - Fired when checkbox state changes
32
+ * @csspart checkbox - The checkbox input element
33
+ * @csspart label - The label text wrapper
34
+ * @cssprop --consent-primary - Primary brand color for checked state
35
+ */
36
+ let ConsentCheckbox = class ConsentCheckbox extends lit_1.LitElement {
37
+ constructor() {
38
+ super();
39
+ /**
40
+ * Form field name
41
+ */
42
+ this.name = '';
43
+ /**
44
+ * Checked state
45
+ */
46
+ this.checked = false;
47
+ /**
48
+ * Required for form validation
49
+ */
50
+ this.required = false;
51
+ /**
52
+ * Disabled state
53
+ */
54
+ this.disabled = false;
55
+ /**
56
+ * Value when checked
57
+ */
58
+ this.value = 'on';
59
+ this.internals = this.attachInternals();
60
+ }
61
+ // Update form value when properties change
62
+ updated(changedProperties) {
63
+ if (changedProperties.has('checked') || changedProperties.has('value')) {
64
+ this.updateFormValue();
65
+ }
66
+ }
67
+ updateFormValue() {
68
+ // Update the form value based on checked state
69
+ if (this.checked) {
70
+ this.internals.setFormValue(this.value);
71
+ }
72
+ else {
73
+ this.internals.setFormValue(null);
74
+ }
75
+ }
76
+ handleChange(e) {
77
+ const input = e.target;
78
+ this.checked = input.checked;
79
+ this.updateFormValue();
80
+ // Dispatch a change event that bubbles
81
+ this.dispatchEvent(new CustomEvent('change', {
82
+ detail: { checked: this.checked, value: this.value },
83
+ bubbles: true,
84
+ composed: true,
85
+ }));
86
+ }
87
+ render() {
88
+ return (0, lit_1.html) `
89
+ <label part="label">
90
+ <input
91
+ part="checkbox"
92
+ type="checkbox"
93
+ name=${this.name}
94
+ .value=${this.value}
95
+ .checked=${this.checked}
96
+ ?required=${this.required}
97
+ ?disabled=${this.disabled}
98
+ @change=${this.handleChange}
99
+ />
100
+ <span class="text">
101
+ <slot></slot>
102
+ </span>
103
+ </label>
104
+ `;
105
+ }
106
+ };
107
+ exports.ConsentCheckbox = ConsentCheckbox;
108
+ // Enable form association
109
+ ConsentCheckbox.formAssociated = true;
110
+ ConsentCheckbox.styles = (0, lit_1.css) `
111
+ :host {
112
+ display: block;
113
+ }
114
+
115
+ label {
116
+ display: flex;
117
+ align-items: flex-start;
118
+ gap: 0.75rem;
119
+ cursor: pointer;
120
+ font-size: 0.875rem;
121
+ color: #374151;
122
+ line-height: 1.5;
123
+ }
124
+
125
+ :host([disabled]) label {
126
+ cursor: not-allowed;
127
+ opacity: 0.6;
128
+ }
129
+
130
+ /* Custom checkbox styling - matches AgentShield exactly */
131
+ input[type='checkbox'] {
132
+ /* Reset */
133
+ appearance: none;
134
+ -webkit-appearance: none;
135
+ margin: 0;
136
+
137
+ /* Size - matches AgentShield w-4 h-4 */
138
+ width: 1rem;
139
+ height: 1rem;
140
+ min-width: 1rem;
141
+ margin-top: 0.125rem; /* Align with text baseline */
142
+
143
+ /* Border */
144
+ border: 1px solid #d1d5db;
145
+ border-radius: 0.25rem;
146
+
147
+ /* Background */
148
+ background-color: white;
149
+
150
+ /* Interaction */
151
+ cursor: pointer;
152
+ position: relative;
153
+ transition: background-color 0.15s ease, border-color 0.15s ease;
154
+ }
155
+
156
+ input[type='checkbox']:hover:not(:disabled) {
157
+ border-color: var(--consent-primary, #2563eb);
158
+ }
159
+
160
+ input[type='checkbox']:focus-visible {
161
+ outline: 2px solid var(--consent-primary, #2563eb);
162
+ outline-offset: 2px;
163
+ }
164
+
165
+ /* Checked state */
166
+ input[type='checkbox']:checked {
167
+ background-color: var(--consent-primary, #2563eb);
168
+ border-color: var(--consent-primary, #2563eb);
169
+ }
170
+
171
+ /* Checkmark */
172
+ input[type='checkbox']:checked::after {
173
+ content: '';
174
+ position: absolute;
175
+ left: 4px;
176
+ top: 1px;
177
+ width: 5px;
178
+ height: 9px;
179
+ border: solid white;
180
+ border-width: 0 2px 2px 0;
181
+ transform: rotate(45deg);
182
+ }
183
+
184
+ /* Disabled */
185
+ input[type='checkbox']:disabled {
186
+ cursor: not-allowed;
187
+ opacity: 0.5;
188
+ }
189
+
190
+ /* Text wrapper */
191
+ .text {
192
+ flex: 1;
193
+ }
194
+
195
+ /* Links in label */
196
+ ::slotted(a) {
197
+ color: var(--consent-primary, #2563eb);
198
+ text-decoration: underline;
199
+ }
200
+
201
+ ::slotted(a:hover) {
202
+ text-decoration: none;
203
+ }
204
+ `;
205
+ __decorate([
206
+ (0, decorators_js_1.property)({ type: String })
207
+ ], ConsentCheckbox.prototype, "name", void 0);
208
+ __decorate([
209
+ (0, decorators_js_1.property)({ type: Boolean, reflect: true })
210
+ ], ConsentCheckbox.prototype, "checked", void 0);
211
+ __decorate([
212
+ (0, decorators_js_1.property)({ type: Boolean })
213
+ ], ConsentCheckbox.prototype, "required", void 0);
214
+ __decorate([
215
+ (0, decorators_js_1.property)({ type: Boolean, reflect: true })
216
+ ], ConsentCheckbox.prototype, "disabled", void 0);
217
+ __decorate([
218
+ (0, decorators_js_1.property)({ type: String })
219
+ ], ConsentCheckbox.prototype, "value", void 0);
220
+ exports.ConsentCheckbox = ConsentCheckbox = __decorate([
221
+ (0, decorators_js_1.customElement)('consent-checkbox')
222
+ ], ConsentCheckbox);
223
+ //# sourceMappingURL=consent-checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent-checkbox.js","sourceRoot":"","sources":["../../../src/components/consent-checkbox.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;AAEH,6BAA4C;AAC5C,qDAA4D;AAE5D;;;;;;;;;;;;;;GAcG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,gBAAU;IAM7C;QACE,KAAK,EAAE,CAAC;QAIV;;WAEG;QAEH,SAAI,GAAG,EAAE,CAAC;QAEV;;WAEG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;WAEG;QAEH,UAAK,GAAG,IAAI,CAAC;QA/BX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAC1C,CAAC;IAgID,2CAA2C;IACxB,OAAO,CAAC,iBAAuC;QAChE,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,+CAA+C;QAC/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,CAAQ;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,uCAAuC;QACvC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACpD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAEQ,MAAM;QACb,OAAO,IAAA,UAAI,EAAA;;;;;iBAKE,IAAI,CAAC,IAAI;mBACP,IAAI,CAAC,KAAK;qBACR,IAAI,CAAC,OAAO;sBACX,IAAI,CAAC,QAAQ;sBACb,IAAI,CAAC,QAAQ;oBACf,IAAI,CAAC,YAAY;;;;;;KAMhC,CAAC;IACJ,CAAC;;AA1LU,0CAAe;AAC1B,0BAA0B;AACnB,8BAAc,GAAG,IAAI,AAAP,CAAQ;AAuCb,sBAAM,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8F3B,AA9FqB,CA8FpB;AAxHF;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACjB;AAMV;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAC3B;AAMhB;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACX;AAMjB;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAC1B;AAMjB;IADC,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACd;0BAvCF,eAAe;IAD3B,IAAA,6BAAa,EAAC,kBAAkB,CAAC;GACrB,eAAe,CA2L3B"}