@bagaar/velvet-thunder 0.0.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.
Files changed (192) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +27 -0
  3. package/addon-main.cjs +4 -0
  4. package/declarations/-private/helpers/cn.d.ts +2 -0
  5. package/declarations/-private/helpers/cn.d.ts.map +1 -0
  6. package/declarations/components/velvet-alert.d.ts +21 -0
  7. package/declarations/components/velvet-alert.d.ts.map +1 -0
  8. package/declarations/components/velvet-avatar.d.ts +16 -0
  9. package/declarations/components/velvet-avatar.d.ts.map +1 -0
  10. package/declarations/components/velvet-button.d.ts +28 -0
  11. package/declarations/components/velvet-button.d.ts.map +1 -0
  12. package/declarations/components/velvet-checkbox-group.d.ts +30 -0
  13. package/declarations/components/velvet-checkbox-group.d.ts.map +1 -0
  14. package/declarations/components/velvet-checkbox.d.ts +28 -0
  15. package/declarations/components/velvet-checkbox.d.ts.map +1 -0
  16. package/declarations/components/velvet-disclosure.d.ts +34 -0
  17. package/declarations/components/velvet-disclosure.d.ts.map +1 -0
  18. package/declarations/components/velvet-dropdown/content.d.ts +16 -0
  19. package/declarations/components/velvet-dropdown/content.d.ts.map +1 -0
  20. package/declarations/components/velvet-dropdown.d.ts +60 -0
  21. package/declarations/components/velvet-dropdown.d.ts.map +1 -0
  22. package/declarations/components/velvet-icon/chevron-down.d.ts +7 -0
  23. package/declarations/components/velvet-icon/chevron-down.d.ts.map +1 -0
  24. package/declarations/components/velvet-icon/circle-check-solid.d.ts +7 -0
  25. package/declarations/components/velvet-icon/circle-check-solid.d.ts.map +1 -0
  26. package/declarations/components/velvet-icon/circle-exclamation-solid.d.ts +7 -0
  27. package/declarations/components/velvet-icon/circle-exclamation-solid.d.ts.map +1 -0
  28. package/declarations/components/velvet-icon/circle-info-solid.d.ts +7 -0
  29. package/declarations/components/velvet-icon/circle-info-solid.d.ts.map +1 -0
  30. package/declarations/components/velvet-icon/user.d.ts +7 -0
  31. package/declarations/components/velvet-icon/user.d.ts.map +1 -0
  32. package/declarations/components/velvet-icon/x-mark.d.ts +7 -0
  33. package/declarations/components/velvet-icon/x-mark.d.ts.map +1 -0
  34. package/declarations/components/velvet-icon-button.d.ts +28 -0
  35. package/declarations/components/velvet-icon-button.d.ts.map +1 -0
  36. package/declarations/components/velvet-icon-link.d.ts +19 -0
  37. package/declarations/components/velvet-icon-link.d.ts.map +1 -0
  38. package/declarations/components/velvet-input.d.ts +21 -0
  39. package/declarations/components/velvet-input.d.ts.map +1 -0
  40. package/declarations/components/velvet-link.d.ts +19 -0
  41. package/declarations/components/velvet-link.d.ts.map +1 -0
  42. package/declarations/components/velvet-progress.d.ts +19 -0
  43. package/declarations/components/velvet-progress.d.ts.map +1 -0
  44. package/declarations/components/velvet-radio-group.d.ts +25 -0
  45. package/declarations/components/velvet-radio-group.d.ts.map +1 -0
  46. package/declarations/components/velvet-radio.d.ts +25 -0
  47. package/declarations/components/velvet-radio.d.ts.map +1 -0
  48. package/declarations/components/velvet-select/option.d.ts +20 -0
  49. package/declarations/components/velvet-select/option.d.ts.map +1 -0
  50. package/declarations/components/velvet-select.d.ts +32 -0
  51. package/declarations/components/velvet-select.d.ts.map +1 -0
  52. package/declarations/components/velvet-spinner.d.ts +10 -0
  53. package/declarations/components/velvet-spinner.d.ts.map +1 -0
  54. package/declarations/components/velvet-switch.d.ts +18 -0
  55. package/declarations/components/velvet-switch.d.ts.map +1 -0
  56. package/declarations/components/velvet-tag.d.ts +15 -0
  57. package/declarations/components/velvet-tag.d.ts.map +1 -0
  58. package/declarations/components/velvet-textarea.d.ts +19 -0
  59. package/declarations/components/velvet-textarea.d.ts.map +1 -0
  60. package/declarations/components/velvet-tooltip/content.d.ts +16 -0
  61. package/declarations/components/velvet-tooltip/content.d.ts.map +1 -0
  62. package/declarations/components/velvet-tooltip.d.ts +59 -0
  63. package/declarations/components/velvet-tooltip.d.ts.map +1 -0
  64. package/declarations/index.d.ts +1 -0
  65. package/declarations/index.d.ts.map +1 -0
  66. package/declarations/modifiers/velvet-auto-animate.d.ts +9 -0
  67. package/declarations/modifiers/velvet-auto-animate.d.ts.map +1 -0
  68. package/declarations/template-registry.d.ts +92 -0
  69. package/declarations/template-registry.d.ts.map +1 -0
  70. package/declarations/test-support/index.d.ts +8 -0
  71. package/declarations/test-support/index.d.ts.map +1 -0
  72. package/dist/-private/helpers/cn.js +6 -0
  73. package/dist/-private/helpers/cn.js.map +1 -0
  74. package/dist/_app_/components/velvet-alert.js +1 -0
  75. package/dist/_app_/components/velvet-avatar.js +1 -0
  76. package/dist/_app_/components/velvet-button.js +1 -0
  77. package/dist/_app_/components/velvet-checkbox-group.js +1 -0
  78. package/dist/_app_/components/velvet-checkbox.js +1 -0
  79. package/dist/_app_/components/velvet-disclosure.js +1 -0
  80. package/dist/_app_/components/velvet-dropdown/content.js +1 -0
  81. package/dist/_app_/components/velvet-dropdown.js +1 -0
  82. package/dist/_app_/components/velvet-icon/chevron-down.js +1 -0
  83. package/dist/_app_/components/velvet-icon/circle-check-solid.js +1 -0
  84. package/dist/_app_/components/velvet-icon/circle-exclamation-solid.js +1 -0
  85. package/dist/_app_/components/velvet-icon/circle-info-solid.js +1 -0
  86. package/dist/_app_/components/velvet-icon/user.js +1 -0
  87. package/dist/_app_/components/velvet-icon/x-mark.js +1 -0
  88. package/dist/_app_/components/velvet-icon-button.js +1 -0
  89. package/dist/_app_/components/velvet-icon-link.js +1 -0
  90. package/dist/_app_/components/velvet-input.js +1 -0
  91. package/dist/_app_/components/velvet-link.js +1 -0
  92. package/dist/_app_/components/velvet-progress.js +1 -0
  93. package/dist/_app_/components/velvet-radio-group.js +1 -0
  94. package/dist/_app_/components/velvet-radio.js +1 -0
  95. package/dist/_app_/components/velvet-select/option.js +1 -0
  96. package/dist/_app_/components/velvet-select.js +1 -0
  97. package/dist/_app_/components/velvet-spinner.js +1 -0
  98. package/dist/_app_/components/velvet-switch.js +1 -0
  99. package/dist/_app_/components/velvet-tag.js +1 -0
  100. package/dist/_app_/components/velvet-textarea.js +1 -0
  101. package/dist/_app_/components/velvet-tooltip/content.js +1 -0
  102. package/dist/_app_/components/velvet-tooltip.js +1 -0
  103. package/dist/_app_/modifiers/velvet-auto-animate.js +1 -0
  104. package/dist/components/velvet-alert.js +40 -0
  105. package/dist/components/velvet-alert.js.map +1 -0
  106. package/dist/components/velvet-avatar.js +27 -0
  107. package/dist/components/velvet-avatar.js.map +1 -0
  108. package/dist/components/velvet-button.js +41 -0
  109. package/dist/components/velvet-button.js.map +1 -0
  110. package/dist/components/velvet-checkbox-group.js +27 -0
  111. package/dist/components/velvet-checkbox-group.js.map +1 -0
  112. package/dist/components/velvet-checkbox.js +74 -0
  113. package/dist/components/velvet-checkbox.js.map +1 -0
  114. package/dist/components/velvet-disclosure.js +48 -0
  115. package/dist/components/velvet-disclosure.js.map +1 -0
  116. package/dist/components/velvet-dropdown/content.js +10 -0
  117. package/dist/components/velvet-dropdown/content.js.map +1 -0
  118. package/dist/components/velvet-dropdown.js +116 -0
  119. package/dist/components/velvet-dropdown.js.map +1 -0
  120. package/dist/components/velvet-icon/chevron-down.js +10 -0
  121. package/dist/components/velvet-icon/chevron-down.js.map +1 -0
  122. package/dist/components/velvet-icon/circle-check-solid.js +10 -0
  123. package/dist/components/velvet-icon/circle-check-solid.js.map +1 -0
  124. package/dist/components/velvet-icon/circle-exclamation-solid.js +10 -0
  125. package/dist/components/velvet-icon/circle-exclamation-solid.js.map +1 -0
  126. package/dist/components/velvet-icon/circle-info-solid.js +10 -0
  127. package/dist/components/velvet-icon/circle-info-solid.js.map +1 -0
  128. package/dist/components/velvet-icon/user.js +10 -0
  129. package/dist/components/velvet-icon/user.js.map +1 -0
  130. package/dist/components/velvet-icon/x-mark.js +10 -0
  131. package/dist/components/velvet-icon/x-mark.js.map +1 -0
  132. package/dist/components/velvet-icon-button.js +41 -0
  133. package/dist/components/velvet-icon-button.js.map +1 -0
  134. package/dist/components/velvet-icon-link.js +40 -0
  135. package/dist/components/velvet-icon-link.js.map +1 -0
  136. package/dist/components/velvet-input.js +44 -0
  137. package/dist/components/velvet-input.js.map +1 -0
  138. package/dist/components/velvet-link.js +40 -0
  139. package/dist/components/velvet-link.js.map +1 -0
  140. package/dist/components/velvet-progress.js +42 -0
  141. package/dist/components/velvet-progress.js.map +1 -0
  142. package/dist/components/velvet-radio-group.js +27 -0
  143. package/dist/components/velvet-radio-group.js.map +1 -0
  144. package/dist/components/velvet-radio.js +55 -0
  145. package/dist/components/velvet-radio.js.map +1 -0
  146. package/dist/components/velvet-select/option.js +27 -0
  147. package/dist/components/velvet-select/option.js.map +1 -0
  148. package/dist/components/velvet-select.js +50 -0
  149. package/dist/components/velvet-select.js.map +1 -0
  150. package/dist/components/velvet-spinner.js +18 -0
  151. package/dist/components/velvet-spinner.js.map +1 -0
  152. package/dist/components/velvet-switch.js +34 -0
  153. package/dist/components/velvet-switch.js.map +1 -0
  154. package/dist/components/velvet-tag.js +18 -0
  155. package/dist/components/velvet-tag.js.map +1 -0
  156. package/dist/components/velvet-textarea.js +44 -0
  157. package/dist/components/velvet-textarea.js.map +1 -0
  158. package/dist/components/velvet-tooltip/content.js +10 -0
  159. package/dist/components/velvet-tooltip/content.js.map +1 -0
  160. package/dist/components/velvet-tooltip.js +111 -0
  161. package/dist/components/velvet-tooltip.js.map +1 -0
  162. package/dist/index.js +2 -0
  163. package/dist/index.js.map +1 -0
  164. package/dist/modifiers/velvet-auto-animate.js +12 -0
  165. package/dist/modifiers/velvet-auto-animate.js.map +1 -0
  166. package/dist/template-registry.js +2 -0
  167. package/dist/template-registry.js.map +1 -0
  168. package/dist/test-support/index.js +21 -0
  169. package/dist/test-support/index.js.map +1 -0
  170. package/package.json +177 -0
  171. package/tailwind/components/alert.cjs +23 -0
  172. package/tailwind/components/avatar.cjs +32 -0
  173. package/tailwind/components/button.cjs +45 -0
  174. package/tailwind/components/checkbox.cjs +47 -0
  175. package/tailwind/components/disclosure.cjs +11 -0
  176. package/tailwind/components/dropdown.cjs +7 -0
  177. package/tailwind/components/icon-button.cjs +41 -0
  178. package/tailwind/components/icon-link.cjs +33 -0
  179. package/tailwind/components/input.cjs +31 -0
  180. package/tailwind/components/link.cjs +33 -0
  181. package/tailwind/components/progress.cjs +23 -0
  182. package/tailwind/components/radio.cjs +47 -0
  183. package/tailwind/components/select.cjs +34 -0
  184. package/tailwind/components/spinner.cjs +31 -0
  185. package/tailwind/components/switch.cjs +71 -0
  186. package/tailwind/components/tag.cjs +25 -0
  187. package/tailwind/components/textarea.cjs +27 -0
  188. package/tailwind/components/tooltip.cjs +9 -0
  189. package/tailwind/content.cjs +8 -0
  190. package/tailwind/index.cjs +6 -0
  191. package/tailwind/plugin.cjs +66 -0
  192. package/tailwind/utilities/outline.cjs +10 -0
@@ -0,0 +1,41 @@
1
+ import { concat, hash } from '@ember/helper';
2
+ import { on } from '@ember/modifier';
3
+ import Component from '@glimmer/component';
4
+ import { or } from 'ember-truth-helpers';
5
+ import { cn } from '../-private/helpers/cn.js';
6
+ import VelvetIconChevronDown from './velvet-icon/chevron-down.js';
7
+ import VelvetIconXMark from './velvet-icon/x-mark.js';
8
+ import VelvetSpinner from './velvet-spinner.js';
9
+ import { precompileTemplate } from '@ember/template-compilation';
10
+ import { setComponentTemplate } from '@ember/component';
11
+
12
+ class VelvetIconButton extends Component {
13
+ clickHandler = event1 => {
14
+ const {
15
+ isDisabled: isDisabled1,
16
+ onClick: onClick1
17
+ } = this.args;
18
+ if (typeof onClick1 !== 'function' || isDisabled1 === true) {
19
+ return;
20
+ }
21
+ onClick1(event1);
22
+ };
23
+ static {
24
+ setComponentTemplate(precompileTemplate("\n {{#let (cn \"velvet-icon-button\" (concat \"velvet-icon-button-\" (or @size \"md\")) (concat \"velvet-icon-button-\" (or @variant \"primary\")) (if @isRound \"velvet-icon-button-round\") (if @isDisabled \"velvet-icon-button-disabled\") (if @isDisclosure (if @isExpanded \"velvet-icon-button-expanded\"))) as |className|}}\n {{#if @isRenderless}}\n {{yield (hash class=className)}}\n {{else}}\n <button class={{className}} disabled={{@isDisabled}} type={{or @type \"button\"}} {{on \"click\" this.clickHandler}} {{@privateDropdownTrigger}} ...attributes>\n {{#if @isLoading}}\n <VelvetSpinner />\n {{else if (has-block)}}\n {{yield (hash class=className)}}\n {{else if @isDisclosure}}\n {{#if @isExpanded}}\n <VelvetIconXMark class=\"velvet-icon-button-disclosure-icon\" />\n {{else}}\n <VelvetIconChevronDown class=\"velvet-icon-button-disclosure-icon\" />\n {{/if}}\n {{/if}}\n </button>\n {{/if}}\n {{/let}}\n ", {
25
+ scope: () => ({
26
+ cn,
27
+ concat,
28
+ or,
29
+ hash,
30
+ on,
31
+ VelvetSpinner,
32
+ VelvetIconXMark,
33
+ VelvetIconChevronDown
34
+ }),
35
+ strictMode: true
36
+ }), this);
37
+ }
38
+ }
39
+
40
+ export { VelvetIconButton as default };
41
+ //# sourceMappingURL=velvet-icon-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-icon-button.js","sources":["../../src/components/velvet-icon-button.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat, hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport type { ModifierLike } from '@glint/template';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nimport type { TriggerSignature } from './velvet-dropdown.gts';\nimport VelvetIconChevronDown from './velvet-icon/chevron-down.gts';\nimport VelvetIconXMark from './velvet-icon/x-mark.gts';\nimport VelvetSpinner from './velvet-spinner.gts';\nexport interface VelvetIconButtonSignature {\n Args: {\n /// Indicate if the icon button is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Indicate if the icon button discloses content.\n /// @default [false]\n isDisclosure?: boolean;\n /// Indicate if the icon button's disclosed content is expanded.\n /// @default [false]\n isExpanded?: boolean;\n /// Indicate if the icon button should render a loading state.\n /// @default [false]\n isLoading?: boolean;\n /// Make the icon button renderless.\n /// @default [false]\n isRenderless?: boolean;\n /// Indicate if the icon button is round.\n /// @default [false]\n isRound?: boolean;\n /// Handle the icon button's `click` event.\n /// @default [undefined]\n onClick?: (event: MouseEvent) => void;\n /// The size of the icon button.\n /// @default [\"md\"]\n size?: 'xs' | 'sm' | 'md' | 'lg';\n /// The type of the icon button.\n /// @default [\"button\"]\n type?: 'button' | 'reset' | 'submit';\n /// The appearance of the icon button.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n privateDropdownTrigger?: ModifierLike<TriggerSignature>;\n };\n Blocks: {\n /// The icon of the icon button.\n default: [{\n class: string;\n }];\n };\n Element: HTMLButtonElement;\n}\nexport default class VelvetIconButton extends Component<VelvetIconButtonSignature> {\n clickHandler = (event1: MouseEvent)=>{\n const { isDisabled: isDisabled1, onClick: onClick1 } = this.args;\n if (typeof onClick1 !== 'function' || isDisabled1 === true) {\n return;\n }\n onClick1(event1);\n };\n static{\n template(`\n {{#let\n (cn\n \"velvet-icon-button\"\n (concat \"velvet-icon-button-\" (or @size \"md\"))\n (concat \"velvet-icon-button-\" (or @variant \"primary\"))\n (if @isRound \"velvet-icon-button-round\")\n (if @isDisabled \"velvet-icon-button-disabled\")\n (if @isDisclosure (if @isExpanded \"velvet-icon-button-expanded\"))\n )\n as |className|\n }}\n {{#if @isRenderless}}\n {{yield (hash class=className)}}\n {{else}}\n <button\n class={{className}}\n disabled={{@isDisabled}}\n type={{or @type \"button\"}}\n {{on \"click\" this.clickHandler}}\n {{@privateDropdownTrigger}}\n ...attributes\n >\n {{#if @isLoading}}\n <VelvetSpinner />\n {{else if (has-block)}}\n {{yield (hash class=className)}}\n {{else if @isDisclosure}}\n {{#if @isExpanded}}\n <VelvetIconXMark class=\"velvet-icon-button-disclosure-icon\" />\n {{else}}\n <VelvetIconChevronDown\n class=\"velvet-icon-button-disclosure-icon\"\n />\n {{/if}}\n {{/if}}\n </button>\n {{/if}}\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LWljb24tYnV0dG9uLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQsIGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHsgTW9kaWZpZXJMaWtlIH0gZnJvbSAnQGdsaW50L3RlbXBsYXRlJztcbmltcG9ydCB7IG9yIH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMvY24udHMnO1xuaW1wb3J0IHR5cGUgeyBUcmlnZ2VyU2lnbmF0dXJlIH0gZnJvbSAnLi92ZWx2ZXQtZHJvcGRvd24uZ3RzJztcbmltcG9ydCBWZWx2ZXRJY29uQ2hldnJvbkRvd24gZnJvbSAnLi92ZWx2ZXQtaWNvbi9jaGV2cm9uLWRvd24uZ3RzJztcbmltcG9ydCBWZWx2ZXRJY29uWE1hcmsgZnJvbSAnLi92ZWx2ZXQtaWNvbi94LW1hcmsuZ3RzJztcbmltcG9ydCBWZWx2ZXRTcGlubmVyIGZyb20gJy4vdmVsdmV0LXNwaW5uZXIuZ3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBWZWx2ZXRJY29uQnV0dG9uU2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgaWNvbiBidXR0b24gaXMgZGlzYWJsZWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcblxuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgaWNvbiBidXR0b24gZGlzY2xvc2VzIGNvbnRlbnQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc0Rpc2Nsb3N1cmU_OiBib29sZWFuO1xuXG4gICAgLy8vIEluZGljYXRlIGlmIHRoZSBpY29uIGJ1dHRvbidzIGRpc2Nsb3NlZCBjb250ZW50IGlzIGV4cGFuZGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG5cbiAgICAvLy8gSW5kaWNhdGUgaWYgdGhlIGljb24gYnV0dG9uIHNob3VsZCByZW5kZXIgYSBsb2FkaW5nIHN0YXRlLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNMb2FkaW5nPzogYm9vbGVhbjtcblxuICAgIC8vLyBNYWtlIHRoZSBpY29uIGJ1dHRvbiByZW5kZXJsZXNzLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNSZW5kZXJsZXNzPzogYm9vbGVhbjtcblxuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgaWNvbiBidXR0b24gaXMgcm91bmQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc1JvdW5kPzogYm9vbGVhbjtcblxuICAgIC8vLyBIYW5kbGUgdGhlIGljb24gYnV0dG9uJ3MgYGNsaWNrYCBldmVudC5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICBvbkNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuXG4gICAgLy8vIFRoZSBzaXplIG9mIHRoZSBpY29uIGJ1dHRvbi5cbiAgICAvLy8gQGRlZmF1bHQgW1wibWRcIl1cbiAgICBzaXplPzogJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJztcblxuICAgIC8vLyBUaGUgdHlwZSBvZiB0aGUgaWNvbiBidXR0b24uXG4gICAgLy8vIEBkZWZhdWx0IFtcImJ1dHRvblwiXVxuICAgIHR5cGU_OiAnYnV0dG9uJyB8ICdyZXNldCcgfCAnc3VibWl0JztcblxuICAgIC8vLyBUaGUgYXBwZWFyYW5jZSBvZiB0aGUgaWNvbiBidXR0b24uXG4gICAgLy8vIEBkZWZhdWx0IFtcInByaW1hcnlcIl1cbiAgICB2YXJpYW50Pzogc3RyaW5nIHwgJ3ByaW1hcnknO1xuXG4gICAgcHJpdmF0ZURyb3Bkb3duVHJpZ2dlcj86IE1vZGlmaWVyTGlrZTxUcmlnZ2VyU2lnbmF0dXJlPjtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgLy8vIFRoZSBpY29uIG9mIHRoZSBpY29uIGJ1dHRvbi5cbiAgICBkZWZhdWx0OiBbeyBjbGFzczogc3RyaW5nIH1dO1xuICB9O1xuICBFbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsdmV0SWNvbkJ1dHRvbiBleHRlbmRzIENvbXBvbmVudDxWZWx2ZXRJY29uQnV0dG9uU2lnbmF0dXJlPiB7XG4gIGNsaWNrSGFuZGxlciA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIGNvbnN0IHsgaXNEaXNhYmxlZCwgb25DbGljayB9ID0gdGhpcy5hcmdzO1xuXG4gICAgaWYgKHR5cGVvZiBvbkNsaWNrICE9PSAnZnVuY3Rpb24nIHx8IGlzRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbkNsaWNrKGV2ZW50KTtcbiAgfTtcblxuICA8dGVtcGxhdGU-XG4gICAge3sjbGV0XG4gICAgICAoY25cbiAgICAgICAgXCJ2ZWx2ZXQtaWNvbi1idXR0b25cIlxuICAgICAgICAoY29uY2F0IFwidmVsdmV0LWljb24tYnV0dG9uLVwiIChvciBAc2l6ZSBcIm1kXCIpKVxuICAgICAgICAoY29uY2F0IFwidmVsdmV0LWljb24tYnV0dG9uLVwiIChvciBAdmFyaWFudCBcInByaW1hcnlcIikpXG4gICAgICAgIChpZiBAaXNSb3VuZCBcInZlbHZldC1pY29uLWJ1dHRvbi1yb3VuZFwiKVxuICAgICAgICAoaWYgQGlzRGlzYWJsZWQgXCJ2ZWx2ZXQtaWNvbi1idXR0b24tZGlzYWJsZWRcIilcbiAgICAgICAgKGlmIEBpc0Rpc2Nsb3N1cmUgKGlmIEBpc0V4cGFuZGVkIFwidmVsdmV0LWljb24tYnV0dG9uLWV4cGFuZGVkXCIpKVxuICAgICAgKVxuICAgICAgYXMgfGNsYXNzTmFtZXxcbiAgICB9fVxuICAgICAge3sjaWYgQGlzUmVuZGVybGVzc319XG4gICAgICAgIHt7eWllbGQgKGhhc2ggY2xhc3M9Y2xhc3NOYW1lKX19XG4gICAgICB7e2Vsc2V9fVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWV9fVxuICAgICAgICAgIGRpc2FibGVkPXt7QGlzRGlzYWJsZWR9fVxuICAgICAgICAgIHR5cGU9e3tvciBAdHlwZSBcImJ1dHRvblwifX1cbiAgICAgICAgICB7e29uIFwiY2xpY2tcIiB0aGlzLmNsaWNrSGFuZGxlcn19XG4gICAgICAgICAge3tAcHJpdmF0ZURyb3Bkb3duVHJpZ2dlcn19XG4gICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICA-XG4gICAgICAgICAge3sjaWYgQGlzTG9hZGluZ319XG4gICAgICAgICAgICA8VmVsdmV0U3Bpbm5lciAvPlxuICAgICAgICAgIHt7ZWxzZSBpZiAoaGFzLWJsb2NrKX19XG4gICAgICAgICAgICB7e3lpZWxkIChoYXNoIGNsYXNzPWNsYXNzTmFtZSl9fVxuICAgICAgICAgIHt7ZWxzZSBpZiBAaXNEaXNjbG9zdXJlfX1cbiAgICAgICAgICAgIHt7I2lmIEBpc0V4cGFuZGVkfX1cbiAgICAgICAgICAgICAgPFZlbHZldEljb25YTWFyayBjbGFzcz1cInZlbHZldC1pY29uLWJ1dHRvbi1kaXNjbG9zdXJlLWljb25cIiAvPlxuICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgPFZlbHZldEljb25DaGV2cm9uRG93blxuICAgICAgICAgICAgICAgIGNsYXNzPVwidmVsdmV0LWljb24tYnV0dG9uLWRpc2Nsb3N1cmUtaWNvblwiXG4gICAgICAgICAgICAgIC8-XG4gICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAge3svaWZ9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIHt7L2lmfX1cbiAgICB7ey9sZXR9fVxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLE1BQU0sRUFBRSxJQUFJLFFBQVEsZ0JBQWdCO0FBQzdDLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUNyQyxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLGNBQWMsWUFBWSxRQUFRLGtCQUFrQjtBQUNwRCxTQUFTLEVBQUUsUUFBUSxzQkFBc0I7QUFDekMsU0FBUyxFQUFFLFFBQVEsNEJBQTRCO0FBQy9DLGNBQWMsZ0JBQWdCLFFBQVEsd0JBQXdCO0FBQzlELE9BQU8sMkJBQTJCLGlDQUFpQztBQUNuRSxPQUFPLHFCQUFxQiwyQkFBMkI7QUFDdkQsT0FBTyxtQkFBbUIsdUJBQXVCO0FBRWpELGlCQUFpQjtJQUNmO1FBQ0UsNENBQTRDO1FBQzVDLG9CQUFvQjtRQUNwQixhQUFhLE9BQU87UUFFcEIsa0RBQWtEO1FBQ2xELG9CQUFvQjtRQUNwQixlQUFlLE9BQU87UUFFdEIsZ0VBQWdFO1FBQ2hFLG9CQUFvQjtRQUNwQixhQUFhLE9BQU87UUFFcEIsOERBQThEO1FBQzlELG9CQUFvQjtRQUNwQixZQUFZLE9BQU87UUFFbkIsb0NBQW9DO1FBQ3BDLG9CQUFvQjtRQUNwQixlQUFlLE9BQU87UUFFdEIseUNBQXlDO1FBQ3pDLG9CQUFvQjtRQUNwQixVQUFVLE9BQU87UUFFakIsMkNBQTJDO1FBQzNDLHdCQUF3QjtRQUN4QixXQUFXLE9BQU8sZUFBZSxJQUFJO1FBRXJDLGdDQUFnQztRQUNoQyxtQkFBbUI7UUFDbkIsT0FBTyxPQUFPLE9BQU8sT0FBTztRQUU1QixnQ0FBZ0M7UUFDaEMsdUJBQXVCO1FBQ3ZCLE9BQU8sV0FBVyxVQUFVO1FBRTVCLHNDQUFzQztRQUN0Qyx3QkFBd0I7UUFDeEIsVUFBVSxNQUFNLEdBQUc7UUFFbkIseUJBQXlCLGFBQWE7O0lBRXhDO1FBQ0UsZ0NBQWdDO1FBQ2hDO2dCQUFZLE9BQU8sTUFBTTs7O0lBRTNCLFNBQVM7O0FBR1gsZUFBZSxNQUFNLHlCQUF5QixVQUFVO0lBQ3RELGVBQWUsQ0FBQyxRQUFPO1FBQ3JCLE1BQU0sRUFBRSxZQUFBLFdBQVUsRUFBRSxTQUFBLFFBQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBRXpDLElBQUksT0FBTyxhQUFZLGNBQWMsZ0JBQWUsTUFBTTtZQUN4RDtRQUNGO1FBRUEsU0FBUTtJQUNWLEVBQUU7SUFFRixNQUFBO1FBQUEsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF1Q1YsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBdkNBO0FBd0NaIn0"],"names":["VelvetIconButton","Component","clickHandler","event1","isDisabled","isDisabled1","onClick","onClick1","args","setComponentTemplate","precompileTemplate","scope","cn","concat","or","hash","on","VelvetSpinner","VelvetIconXMark","VelvetIconChevronDown","strictMode"],"mappings":";;;;;;;;;;;AA8De,MAAMA,gBAAA,SAAyBC,SAAA,CAAU;AACtDC,EAAAA,YAAA,GAAgBC,MAAO,IAAA;IACrB,MAAM;AAAEC,MAAAA,UAAA,EAAAC,WAAU;AAAEC,MAAAA,OAAA,EAAAC,QAAAA;KAAS,GAAG,IAAI,CAACC,IAAI,CAAA;AAEzC,IAAA,IAAI,OAAOD,QAAA,KAAY,UAAcF,IAAAA,WAAA,KAAe,IAAM,EAAA;AACxD,MAAA,OAAA;AACF,KAAA;AAEAE,IAAAA,QAAA,CAAQJ,MAAA,CAAA,CAAA;AACV,GAAA,CAAA;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAuCA,qjCAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,IAAA;QAAAC,EAAA;QAAAC,aAAA;QAAAC,eAAA;AAAAC,QAAAA,qBAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,40 @@
1
+ import { concat } from '@ember/helper';
2
+ import { on } from '@ember/modifier';
3
+ import { service } from '@ember/service';
4
+ import Component from '@glimmer/component';
5
+ import 'ember-link';
6
+ import { or } from 'ember-truth-helpers';
7
+ import { cn } from '../-private/helpers/cn.js';
8
+ import { g, i } from 'decorator-transforms/runtime';
9
+ import { precompileTemplate } from '@ember/template-compilation';
10
+ import { setComponentTemplate } from '@ember/component';
11
+
12
+ class VelvetIconLink extends Component {
13
+ static {
14
+ g(this.prototype, "linkManagerService", [service('link-manager')]);
15
+ }
16
+ #linkManagerService = (i(this, "linkManagerService"), void 0);
17
+ get link() {
18
+ const {
19
+ to: to1
20
+ } = this.args;
21
+ if (typeof to1 === 'string') {
22
+ return this.linkManagerService.createLink(this.linkManagerService.getLinkParamsFromURL(to1));
23
+ }
24
+ return to1;
25
+ }
26
+ static {
27
+ setComponentTemplate(precompileTemplate("\n <a class={{cn \"velvet-icon-link\" (concat \"velvet-icon-link-\" (or @size \"md\")) (concat \"velvet-icon-link-\" (or @variant \"primary\")) (if @isRound \"velvet-icon-link-round\")}} href={{this.link.url}} {{on \"click\" this.link.transitionTo}} ...attributes>\n {{yield}}\n </a>\n ", {
28
+ scope: () => ({
29
+ cn,
30
+ concat,
31
+ or,
32
+ on
33
+ }),
34
+ strictMode: true
35
+ }), this);
36
+ }
37
+ }
38
+
39
+ export { VelvetIconLink as default };
40
+ //# sourceMappingURL=velvet-icon-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-icon-link.js","sources":["../../src/components/velvet-icon-link.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { type Link, type LinkManagerService } from 'ember-link';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetIconLinkSignature {\n Args: {\n /// Indicate if the icon link is round.\n /// @default [false]\n isRound?: boolean;\n /// The size of the icon link.\n /// @default [\"md\"]\n size?: 'xs' | 'sm' | 'md' | 'lg';\n /// A valid route path or a custom `ember-link` `Link` instance.\n /// @default [undefined]\n to: string | Link;\n /// The appearance of the icon link.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Blocks: {\n /// The icon of the icon link.\n default: [];\n };\n Element: HTMLAnchorElement;\n}\nexport default class VelvetIconLink extends Component<VelvetIconLinkSignature> {\n @service('link-manager')\n linkManagerService: LinkManagerService;\n get link() {\n const { to: to1 } = this.args;\n if (typeof to1 === 'string') {\n return this.linkManagerService.createLink(this.linkManagerService.getLinkParamsFromURL(to1));\n }\n return to1;\n }\n static{\n template(`\n <a\n class={{cn\n \"velvet-icon-link\"\n (concat \"velvet-icon-link-\" (or @size \"md\"))\n (concat \"velvet-icon-link-\" (or @variant \"primary\"))\n (if @isRound \"velvet-icon-link-round\")\n }}\n href={{this.link.url}}\n {{on \"click\" this.link.transitionTo}}\n ...attributes\n >\n {{yield}}\n </a>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LWljb24tbGluay5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5pbXBvcnQgeyBzZXJ2aWNlIH0gZnJvbSAnQGVtYmVyL3NlcnZpY2UnO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgdHlwZSBMaW5rLCB0eXBlIExpbmtNYW5hZ2VyU2VydmljZSB9IGZyb20gJ2VtYmVyLWxpbmsnO1xuaW1wb3J0IHsgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycy9jbi50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVsdmV0SWNvbkxpbmtTaWduYXR1cmUge1xuICBBcmdzOiB7XG4gICAgLy8vIEluZGljYXRlIGlmIHRoZSBpY29uIGxpbmsgaXMgcm91bmQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc1JvdW5kPzogYm9vbGVhbjtcblxuICAgIC8vLyBUaGUgc2l6ZSBvZiB0aGUgaWNvbiBsaW5rLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJtZFwiXVxuICAgIHNpemU_OiAneHMnIHwgJ3NtJyB8ICdtZCcgfCAnbGcnO1xuXG4gICAgLy8vIEEgdmFsaWQgcm91dGUgcGF0aCBvciBhIGN1c3RvbSBgZW1iZXItbGlua2AgYExpbmtgIGluc3RhbmNlLlxuICAgIC8vLyBAZGVmYXVsdCBbdW5kZWZpbmVkXVxuICAgIHRvOiBzdHJpbmcgfCBMaW5rO1xuXG4gICAgLy8vIFRoZSBhcHBlYXJhbmNlIG9mIHRoZSBpY29uIGxpbmsuXG4gICAgLy8vIEBkZWZhdWx0IFtcInByaW1hcnlcIl1cbiAgICB2YXJpYW50Pzogc3RyaW5nIHwgJ3ByaW1hcnknO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICAvLy8gVGhlIGljb24gb2YgdGhlIGljb24gbGluay5cbiAgICBkZWZhdWx0OiBbXTtcbiAgfTtcbiAgRWxlbWVudDogSFRNTEFuY2hvckVsZW1lbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbHZldEljb25MaW5rIGV4dGVuZHMgQ29tcG9uZW50PFZlbHZldEljb25MaW5rU2lnbmF0dXJlPiB7XG4gIEBzZXJ2aWNlKCdsaW5rLW1hbmFnZXInKSBkZWNsYXJlIGxpbmtNYW5hZ2VyU2VydmljZTogTGlua01hbmFnZXJTZXJ2aWNlO1xuXG4gIGdldCBsaW5rKCkge1xuICAgIGNvbnN0IHsgdG8gfSA9IHRoaXMuYXJncztcblxuICAgIGlmICh0eXBlb2YgdG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5saW5rTWFuYWdlclNlcnZpY2UuY3JlYXRlTGluayhcbiAgICAgICAgdGhpcy5saW5rTWFuYWdlclNlcnZpY2UuZ2V0TGlua1BhcmFtc0Zyb21VUkwodG8pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG87XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPGFcbiAgICAgIGNsYXNzPXt7Y25cbiAgICAgICAgXCJ2ZWx2ZXQtaWNvbi1saW5rXCJcbiAgICAgICAgKGNvbmNhdCBcInZlbHZldC1pY29uLWxpbmstXCIgKG9yIEBzaXplIFwibWRcIikpXG4gICAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtaWNvbi1saW5rLVwiIChvciBAdmFyaWFudCBcInByaW1hcnlcIikpXG4gICAgICAgIChpZiBAaXNSb3VuZCBcInZlbHZldC1pY29uLWxpbmstcm91bmRcIilcbiAgICAgIH19XG4gICAgICBocmVmPXt7dGhpcy5saW5rLnVybH19XG4gICAgICB7e29uIFwiY2xpY2tcIiB0aGlzLmxpbmsudHJhbnNpdGlvblRvfX1cbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICA-XG4gICAgICB7e3lpZWxkfX1cbiAgICA8L2E-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFDckMsU0FBUyxPQUFPLFFBQVEsaUJBQWlCO0FBQ3pDLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxLQUFLLElBQUksRUFBRSxLQUFLLGtCQUFrQixRQUFRLGFBQWE7QUFDaEUsU0FBUyxFQUFFLFFBQVEsc0JBQXNCO0FBQ3pDLFNBQVMsRUFBRSxRQUFRLDRCQUE0QjtBQUUvQyxpQkFBaUI7SUFDZjtRQUNFLHVDQUF1QztRQUN2QyxvQkFBb0I7UUFDcEIsVUFBVSxPQUFPO1FBRWpCLDhCQUE4QjtRQUM5QixtQkFBbUI7UUFDbkIsT0FBTyxPQUFPLE9BQU8sT0FBTztRQUU1QixnRUFBZ0U7UUFDaEUsd0JBQXdCO1FBQ3hCLElBQUksTUFBTSxHQUFHO1FBRWIsb0NBQW9DO1FBQ3BDLHdCQUF3QjtRQUN4QixVQUFVLE1BQU0sR0FBRzs7SUFFckI7UUFDRSw4QkFBOEI7UUFDOUI7O0lBRUYsU0FBUzs7QUFHWCxlQUFlLE1BQU0sdUJBQXVCLFVBQVU7SUFDcEQsQ0FBQyxRQUFRO0lBQXdCLG9CQUFvQixtQkFBbUI7SUFFeEUsSUFBSSxPQUFPO1FBQ1QsTUFBTSxFQUFFLElBQUEsR0FBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUk7UUFFeEIsSUFBSSxPQUFPLFFBQU8sVUFBVTtZQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUVqRDtRQUVBLE9BQU87SUFDVDtJQUVBLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY1YsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBZEE7QUFlWiJ9"],"names":["VelvetIconLink","Component","g","this","prototype","service","i","void 0","link","to","to1","args","linkManagerService","createLink","getLinkParamsFromURL","setComponentTemplate","precompileTemplate","scope","cn","concat","or","on","strictMode"],"mappings":";;;;;;;;;;;AAiCe,MAAMA,cAAA,SAAuBC,SAAA,CAAU;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,EAAA,oBAAA,EAAA,CACnDC,OAAA,CAAQ,cAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,mBAAA,IAAAC,CAAA,CAAAH,IAAA,yBAAAI,KAAA,CAAA,EAAA;AAET,EAAA,IAAIC,OAAO;IACT,MAAM;AAAEC,MAAAA,EAAA,EAAAC,GAAAA;KAAI,GAAG,IAAI,CAACC,IAAI,CAAA;IAExB,IAAI,OAAOD,GAAA,KAAO,QAAU,EAAA;AAC1B,MAAA,OAAO,IAAI,CAACE,kBAAkB,CAACC,UAAU,CACvC,IAAI,CAACD,kBAAkB,CAACE,oBAAoB,CAACJ,GAAA,CAAA,CAAA,CAAA;AAEjD,KAAA;AAEA,IAAA,OAAOA,GAAA,CAAA;AACT,GAAA;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CAcA,4SAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;AAAAC,QAAAA,EAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,44 @@
1
+ import { concat } from '@ember/helper';
2
+ import { on } from '@ember/modifier';
3
+ import Component from '@glimmer/component';
4
+ import { or } from 'ember-truth-helpers';
5
+ import { cn } from '../-private/helpers/cn.js';
6
+ import { precompileTemplate } from '@ember/template-compilation';
7
+ import { setComponentTemplate } from '@ember/component';
8
+
9
+ class VelvetInput extends Component {
10
+ changeHandler = event1 => {
11
+ const {
12
+ isDisabled: isDisabled1,
13
+ onChange: onChange1
14
+ } = this.args;
15
+ if (typeof onChange1 !== 'function' || isDisabled1 === true) {
16
+ return;
17
+ }
18
+ onChange1(event1.target.value, event1);
19
+ };
20
+ inputHandler = event1 => {
21
+ const {
22
+ isDisabled: isDisabled1,
23
+ onInput: onInput1
24
+ } = this.args;
25
+ if (typeof onInput1 !== 'function' || isDisabled1 === true) {
26
+ return;
27
+ }
28
+ onInput1(event1.target.value, event1);
29
+ };
30
+ static {
31
+ setComponentTemplate(precompileTemplate("\n <input class={{cn \"velvet-input\" (concat \"velvet-input-\" (or @size \"md\")) (concat \"velvet-input-\" (or @variant \"primary\")) (if @isInvalid \"velvet-input-invalid\") (if @isPill \"velvet-input-pill\") (if @isDisabled \"velvet-input-disabled\") \"form-input\"}} disabled={{@isDisabled}} placeholder={{@placeholder}} type={{or @type \"text\"}} value={{@value}} {{on \"change\" this.changeHandler}} {{on \"input\" this.inputHandler}} ...attributes />\n ", {
32
+ scope: () => ({
33
+ cn,
34
+ concat,
35
+ or,
36
+ on
37
+ }),
38
+ strictMode: true
39
+ }), this);
40
+ }
41
+ }
42
+
43
+ export { VelvetInput as default };
44
+ //# sourceMappingURL=velvet-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-input.js","sources":["../../src/components/velvet-input.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetInputSignature {\n Args: {\n /// Indicate if the input is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Indicate if the input is invalid.\n /// @default [false]\n isInvalid?: boolean;\n /// Indicate if the input is pill shaped.\n /// @default [false]\n isPill?: boolean;\n /// Handle the input's `change` event.\n /// @default [undefined]\n onChange?: (value: string, event: Event) => void;\n /// Handle the input's `input` event.\n /// @default [undefined]\n onInput?: (value: string, event: Event) => void;\n /// The placeholder of the input.\n /// @default [\"\"]\n placeholder?: string;\n /// The size of the input.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The type of the input.\n /// @default [\"\"]\n type?: string;\n /// The value of the input.\n /// @default [\"\"]\n value?: string;\n /// The appearance of the input.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Element: HTMLInputElement;\n}\nexport default class VelvetInput extends Component<VelvetInputSignature> {\n changeHandler = (event1: Event)=>{\n const { isDisabled: isDisabled1, onChange: onChange1 } = this.args;\n if (typeof onChange1 !== 'function' || isDisabled1 === true) {\n return;\n }\n onChange1((event1.target as HTMLInputElement).value, event1);\n };\n inputHandler = (event1: Event)=>{\n const { isDisabled: isDisabled1, onInput: onInput1 } = this.args;\n if (typeof onInput1 !== 'function' || isDisabled1 === true) {\n return;\n }\n onInput1((event1.target as HTMLInputElement).value, event1);\n };\n static{\n template(`\n <input\n class={{cn\n \"velvet-input\"\n (concat \"velvet-input-\" (or @size \"md\"))\n (concat \"velvet-input-\" (or @variant \"primary\"))\n (if @isInvalid \"velvet-input-invalid\")\n (if @isPill \"velvet-input-pill\")\n (if @isDisabled \"velvet-input-disabled\")\n \"form-input\"\n }}\n disabled={{@isDisabled}}\n placeholder={{@placeholder}}\n type={{or @type \"text\"}}\n value={{@value}}\n {{on \"change\" this.changeHandler}}\n {{on \"input\" this.inputHandler}}\n ...attributes\n />\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LWlucHV0Lmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQgfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IG9yIH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMvY24udHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlbHZldElucHV0U2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcblxuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAgICAvLy8gQGRlZmF1bHQgW2ZhbHNlXVxuICAgIGlzSW52YWxpZD86IGJvb2xlYW47XG5cbiAgICAvLy8gSW5kaWNhdGUgaWYgdGhlIGlucHV0IGlzIHBpbGwgc2hhcGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNQaWxsPzogYm9vbGVhbjtcblxuICAgIC8vLyBIYW5kbGUgdGhlIGlucHV0J3MgYGNoYW5nZWAgZXZlbnQuXG4gICAgLy8vIEBkZWZhdWx0IFt1bmRlZmluZWRdXG4gICAgb25DaGFuZ2U_OiAodmFsdWU6IHN0cmluZywgZXZlbnQ6IEV2ZW50KSA9PiB2b2lkO1xuXG4gICAgLy8vIEhhbmRsZSB0aGUgaW5wdXQncyBgaW5wdXRgIGV2ZW50LlxuICAgIC8vLyBAZGVmYXVsdCBbdW5kZWZpbmVkXVxuICAgIG9uSW5wdXQ_OiAodmFsdWU6IHN0cmluZywgZXZlbnQ6IEV2ZW50KSA9PiB2b2lkO1xuXG4gICAgLy8vIFRoZSBwbGFjZWhvbGRlciBvZiB0aGUgaW5wdXQuXG4gICAgLy8vIEBkZWZhdWx0IFtcIlwiXVxuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gICAgLy8vIFRoZSBzaXplIG9mIHRoZSBpbnB1dC5cbiAgICAvLy8gQGRlZmF1bHQgW1wibWRcIl1cbiAgICBzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xuXG4gICAgLy8vIFRoZSB0eXBlIG9mIHRoZSBpbnB1dC5cbiAgICAvLy8gQGRlZmF1bHQgW1wiXCJdXG4gICAgdHlwZT86IHN0cmluZztcblxuICAgIC8vLyBUaGUgdmFsdWUgb2YgdGhlIGlucHV0LlxuICAgIC8vLyBAZGVmYXVsdCBbXCJcIl1cbiAgICB2YWx1ZT86IHN0cmluZztcblxuICAgIC8vLyBUaGUgYXBwZWFyYW5jZSBvZiB0aGUgaW5wdXQuXG4gICAgLy8vIEBkZWZhdWx0IFtcInByaW1hcnlcIl1cbiAgICB2YXJpYW50Pzogc3RyaW5nIHwgJ3ByaW1hcnknO1xuICB9O1xuICBFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWx2ZXRJbnB1dCBleHRlbmRzIENvbXBvbmVudDxWZWx2ZXRJbnB1dFNpZ25hdHVyZT4ge1xuICBjaGFuZ2VIYW5kbGVyID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIGNvbnN0IHsgaXNEaXNhYmxlZCwgb25DaGFuZ2UgfSA9IHRoaXMuYXJncztcblxuICAgIGlmICh0eXBlb2Ygb25DaGFuZ2UgIT09ICdmdW5jdGlvbicgfHwgaXNEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUsIGV2ZW50KTtcbiAgfTtcblxuICBpbnB1dEhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBpc0Rpc2FibGVkLCBvbklucHV0IH0gPSB0aGlzLmFyZ3M7XG5cbiAgICBpZiAodHlwZW9mIG9uSW5wdXQgIT09ICdmdW5jdGlvbicgfHwgaXNEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9uSW5wdXQoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSwgZXZlbnQpO1xuICB9O1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPXt7Y25cbiAgICAgICAgXCJ2ZWx2ZXQtaW5wdXRcIlxuICAgICAgICAoY29uY2F0IFwidmVsdmV0LWlucHV0LVwiIChvciBAc2l6ZSBcIm1kXCIpKVxuICAgICAgICAoY29uY2F0IFwidmVsdmV0LWlucHV0LVwiIChvciBAdmFyaWFudCBcInByaW1hcnlcIikpXG4gICAgICAgIChpZiBAaXNJbnZhbGlkIFwidmVsdmV0LWlucHV0LWludmFsaWRcIilcbiAgICAgICAgKGlmIEBpc1BpbGwgXCJ2ZWx2ZXQtaW5wdXQtcGlsbFwiKVxuICAgICAgICAoaWYgQGlzRGlzYWJsZWQgXCJ2ZWx2ZXQtaW5wdXQtZGlzYWJsZWRcIilcbiAgICAgICAgXCJmb3JtLWlucHV0XCJcbiAgICAgIH19XG4gICAgICBkaXNhYmxlZD17e0Bpc0Rpc2FibGVkfX1cbiAgICAgIHBsYWNlaG9sZGVyPXt7QHBsYWNlaG9sZGVyfX1cbiAgICAgIHR5cGU9e3tvciBAdHlwZSBcInRleHRcIn19XG4gICAgICB2YWx1ZT17e0B2YWx1ZX19XG4gICAgICB7e29uIFwiY2hhbmdlXCIgdGhpcy5jaGFuZ2VIYW5kbGVyfX1cbiAgICAgIHt7b24gXCJpbnB1dFwiIHRoaXMuaW5wdXRIYW5kbGVyfX1cbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAvPlxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLE1BQU0sUUFBUSxnQkFBZ0I7QUFDdkMsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBQ3JDLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxFQUFFLFFBQVEsc0JBQXNCO0FBQ3pDLFNBQVMsRUFBRSxRQUFRLDRCQUE0QjtBQUUvQyxpQkFBaUI7SUFDZjtRQUNFLHNDQUFzQztRQUN0QyxvQkFBb0I7UUFDcEIsYUFBYSxPQUFPO1FBRXBCLHFDQUFxQztRQUNyQyxvQkFBb0I7UUFDcEIsWUFBWSxPQUFPO1FBRW5CLHlDQUF5QztRQUN6QyxvQkFBb0I7UUFDcEIsU0FBUyxPQUFPO1FBRWhCLHNDQUFzQztRQUN0Qyx3QkFBd0I7UUFDeEIsWUFBWSxPQUFPLE1BQU0sRUFBRSxPQUFPLFVBQVUsSUFBSTtRQUVoRCxxQ0FBcUM7UUFDckMsd0JBQXdCO1FBQ3hCLFdBQVcsT0FBTyxNQUFNLEVBQUUsT0FBTyxVQUFVLElBQUk7UUFFL0MsaUNBQWlDO1FBQ2pDLGlCQUFpQjtRQUNqQixjQUFjLE1BQU07UUFFcEIsMEJBQTBCO1FBQzFCLG1CQUFtQjtRQUNuQixPQUFPLE9BQU8sT0FBTztRQUVyQiwwQkFBMEI7UUFDMUIsaUJBQWlCO1FBQ2pCLE9BQU8sTUFBTTtRQUViLDJCQUEyQjtRQUMzQixpQkFBaUI7UUFDakIsUUFBUSxNQUFNO1FBRWQsZ0NBQWdDO1FBQ2hDLHdCQUF3QjtRQUN4QixVQUFVLE1BQU0sR0FBRzs7SUFFckIsU0FBUzs7QUFHWCxlQUFlLE1BQU0sb0JBQW9CLFVBQVU7SUFDakQsZ0JBQWdCLENBQUMsUUFBTztRQUN0QixNQUFNLEVBQUUsWUFBQSxXQUFVLEVBQUUsVUFBQSxTQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSTtRQUUxQyxJQUFJLE9BQU8sY0FBYSxjQUFjLGdCQUFlLE1BQU07WUFDekQ7UUFDRjtRQUVBLFVBQVMsQ0FBQyxPQUFNLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUU7SUFDckQsRUFBRTtJQUVGLGVBQWUsQ0FBQyxRQUFPO1FBQ3JCLE1BQU0sRUFBRSxZQUFBLFdBQVUsRUFBRSxTQUFBLFFBQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBRXpDLElBQUksT0FBTyxhQUFZLGNBQWMsZ0JBQWUsTUFBTTtZQUN4RDtRQUNGO1FBRUEsU0FBUSxDQUFDLE9BQU0sTUFBTSxJQUFJLGdCQUFnQixFQUFFLEtBQUssRUFBRTtJQUNwRCxFQUFFO0lBRUYsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FuQkE7QUFvQloifQ"],"names":["VelvetInput","Component","changeHandler","event1","isDisabled","isDisabled1","onChange","onChange1","args","target","value","inputHandler","onInput","onInput1","setComponentTemplate","precompileTemplate","scope","cn","concat","or","on","strictMode"],"mappings":";;;;;;;;AAmDe,MAAMA,WAAA,SAAoBC,SAAA,CAAU;AACjDC,EAAAA,aAAA,GAAiBC,MAAO,IAAA;IACtB,MAAM;AAAEC,MAAAA,UAAA,EAAAC,WAAU;AAAEC,MAAAA,QAAA,EAAAC,SAAAA;KAAU,GAAG,IAAI,CAACC,IAAI,CAAA;AAE1C,IAAA,IAAI,OAAOD,SAAA,KAAa,UAAcF,IAAAA,WAAA,KAAe,IAAM,EAAA;AACzD,MAAA,OAAA;AACF,KAAA;AAEAE,IAAAA,SAAA,CAAUJ,MAAA,CAAMM,MAAM,CAAsBC,KAAK,EAAEP,MAAA,CAAA,CAAA;AACrD,GAAA,CAAA;AAEAQ,EAAAA,YAAA,GAAgBR,MAAO,IAAA;IACrB,MAAM;AAAEC,MAAAA,UAAA,EAAAC,WAAU;AAAEO,MAAAA,OAAA,EAAAC,QAAAA;KAAS,GAAG,IAAI,CAACL,IAAI,CAAA;AAEzC,IAAA,IAAI,OAAOK,QAAA,KAAY,UAAcR,IAAAA,WAAA,KAAe,IAAM,EAAA;AACxD,MAAA,OAAA;AACF,KAAA;AAEAQ,IAAAA,QAAA,CAASV,MAAA,CAAMM,MAAM,CAAsBC,KAAK,EAAEP,MAAA,CAAA,CAAA;AACpD,GAAA,CAAA;AAEA,EAAA;IAAAW,oBAAA,CAAAC,kBAAA,CAmBA,mdAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;AAAAC,QAAAA,EAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,40 @@
1
+ import { concat } from '@ember/helper';
2
+ import { on } from '@ember/modifier';
3
+ import { service } from '@ember/service';
4
+ import Component from '@glimmer/component';
5
+ import 'ember-link';
6
+ import { or } from 'ember-truth-helpers';
7
+ import { cn } from '../-private/helpers/cn.js';
8
+ import { g, i } from 'decorator-transforms/runtime';
9
+ import { precompileTemplate } from '@ember/template-compilation';
10
+ import { setComponentTemplate } from '@ember/component';
11
+
12
+ class VelvetLink extends Component {
13
+ static {
14
+ g(this.prototype, "linkManagerService", [service('link-manager')]);
15
+ }
16
+ #linkManagerService = (i(this, "linkManagerService"), void 0);
17
+ get link() {
18
+ const {
19
+ to: to1
20
+ } = this.args;
21
+ if (typeof to1 === 'string') {
22
+ return this.linkManagerService.createLink(this.linkManagerService.getLinkParamsFromURL(to1));
23
+ }
24
+ return to1;
25
+ }
26
+ static {
27
+ setComponentTemplate(precompileTemplate("\n <a class={{cn \"velvet-link\" (concat \"velvet-link-\" (or @size \"md\")) (concat \"velvet-link-\" (or @variant \"primary\")) (if @isPill \"velvet-link-pill\")}} href={{this.link.url}} {{on \"click\" this.link.transitionTo}} ...attributes>\n {{yield}}\n </a>\n ", {
28
+ scope: () => ({
29
+ cn,
30
+ concat,
31
+ or,
32
+ on
33
+ }),
34
+ strictMode: true
35
+ }), this);
36
+ }
37
+ }
38
+
39
+ export { VelvetLink as default };
40
+ //# sourceMappingURL=velvet-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-link.js","sources":["../../src/components/velvet-link.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { service } from '@ember/service';\nimport Component from '@glimmer/component';\nimport { type Link, type LinkManagerService } from 'ember-link';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetLinkSignature {\n Args: {\n /// Indicate if the link is pill shaped.\n /// @default [false]\n isPill?: boolean;\n /// The size of the link.\n /// @default [\"md\"]\n size?: 'xs' | 'sm' | 'md' | 'lg';\n /// A valid route path or a custom `ember-link` `Link` instance.\n /// @default [undefined]\n to: string | Link;\n /// The appearance of the link.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Blocks: {\n /// The content of the link.\n default: [];\n };\n Element: HTMLAnchorElement;\n}\nexport default class VelvetLink extends Component<VelvetLinkSignature> {\n @service('link-manager')\n linkManagerService: LinkManagerService;\n get link() {\n const { to: to1 } = this.args;\n if (typeof to1 === 'string') {\n return this.linkManagerService.createLink(this.linkManagerService.getLinkParamsFromURL(to1));\n }\n return to1;\n }\n static{\n template(`\n <a\n class={{cn\n \"velvet-link\"\n (concat \"velvet-link-\" (or @size \"md\"))\n (concat \"velvet-link-\" (or @variant \"primary\"))\n (if @isPill \"velvet-link-pill\")\n }}\n href={{this.link.url}}\n {{on \"click\" this.link.transitionTo}}\n ...attributes\n >\n {{yield}}\n </a>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LWxpbmsuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmNhdCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgb24gfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xuaW1wb3J0IHsgc2VydmljZSB9IGZyb20gJ0BlbWJlci9zZXJ2aWNlJztcbmltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IHR5cGUgTGluaywgdHlwZSBMaW5rTWFuYWdlclNlcnZpY2UgfSBmcm9tICdlbWJlci1saW5rJztcbmltcG9ydCB7IG9yIH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMvY24udHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlbHZldExpbmtTaWduYXR1cmUge1xuICBBcmdzOiB7XG4gICAgLy8vIEluZGljYXRlIGlmIHRoZSBsaW5rIGlzIHBpbGwgc2hhcGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNQaWxsPzogYm9vbGVhbjtcblxuICAgIC8vLyBUaGUgc2l6ZSBvZiB0aGUgbGluay5cbiAgICAvLy8gQGRlZmF1bHQgW1wibWRcIl1cbiAgICBzaXplPzogJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJztcblxuICAgIC8vLyBBIHZhbGlkIHJvdXRlIHBhdGggb3IgYSBjdXN0b20gYGVtYmVyLWxpbmtgIGBMaW5rYCBpbnN0YW5jZS5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICB0bzogc3RyaW5nIHwgTGluaztcblxuICAgIC8vLyBUaGUgYXBwZWFyYW5jZSBvZiB0aGUgbGluay5cbiAgICAvLy8gQGRlZmF1bHQgW1wicHJpbWFyeVwiXVxuICAgIHZhcmlhbnQ_OiBzdHJpbmcgfCAncHJpbWFyeSc7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIC8vLyBUaGUgY29udGVudCBvZiB0aGUgbGluay5cbiAgICBkZWZhdWx0OiBbXTtcbiAgfTtcbiAgRWxlbWVudDogSFRNTEFuY2hvckVsZW1lbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbHZldExpbmsgZXh0ZW5kcyBDb21wb25lbnQ8VmVsdmV0TGlua1NpZ25hdHVyZT4ge1xuICBAc2VydmljZSgnbGluay1tYW5hZ2VyJykgZGVjbGFyZSBsaW5rTWFuYWdlclNlcnZpY2U6IExpbmtNYW5hZ2VyU2VydmljZTtcblxuICBnZXQgbGluaygpIHtcbiAgICBjb25zdCB7IHRvIH0gPSB0aGlzLmFyZ3M7XG5cbiAgICBpZiAodHlwZW9mIHRvID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMubGlua01hbmFnZXJTZXJ2aWNlLmNyZWF0ZUxpbmsoXG4gICAgICAgIHRoaXMubGlua01hbmFnZXJTZXJ2aWNlLmdldExpbmtQYXJhbXNGcm9tVVJMKHRvKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRvO1xuICB9XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxhXG4gICAgICBjbGFzcz17e2NuXG4gICAgICAgIFwidmVsdmV0LWxpbmtcIlxuICAgICAgICAoY29uY2F0IFwidmVsdmV0LWxpbmstXCIgKG9yIEBzaXplIFwibWRcIikpXG4gICAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtbGluay1cIiAob3IgQHZhcmlhbnQgXCJwcmltYXJ5XCIpKVxuICAgICAgICAoaWYgQGlzUGlsbCBcInZlbHZldC1saW5rLXBpbGxcIilcbiAgICAgIH19XG4gICAgICBocmVmPXt7dGhpcy5saW5rLnVybH19XG4gICAgICB7e29uIFwiY2xpY2tcIiB0aGlzLmxpbmsudHJhbnNpdGlvblRvfX1cbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICA-XG4gICAgICB7e3lpZWxkfX1cbiAgICA8L2E-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFDckMsU0FBUyxPQUFPLFFBQVEsaUJBQWlCO0FBQ3pDLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxLQUFLLElBQUksRUFBRSxLQUFLLGtCQUFrQixRQUFRLGFBQWE7QUFDaEUsU0FBUyxFQUFFLFFBQVEsc0JBQXNCO0FBQ3pDLFNBQVMsRUFBRSxRQUFRLDRCQUE0QjtBQUUvQyxpQkFBaUI7SUFDZjtRQUNFLHdDQUF3QztRQUN4QyxvQkFBb0I7UUFDcEIsU0FBUyxPQUFPO1FBRWhCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIsT0FBTyxPQUFPLE9BQU8sT0FBTztRQUU1QixnRUFBZ0U7UUFDaEUsd0JBQXdCO1FBQ3hCLElBQUksTUFBTSxHQUFHO1FBRWIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QixVQUFVLE1BQU0sR0FBRzs7SUFFckI7UUFDRSw0QkFBNEI7UUFDNUI7O0lBRUYsU0FBUzs7QUFHWCxlQUFlLE1BQU0sbUJBQW1CLFVBQVU7SUFDaEQsQ0FBQyxRQUFRO0lBQXdCLG9CQUFvQixtQkFBbUI7SUFFeEUsSUFBSSxPQUFPO1FBQ1QsTUFBTSxFQUFFLElBQUEsR0FBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUk7UUFFeEIsSUFBSSxPQUFPLFFBQU8sVUFBVTtZQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUVqRDtRQUVBLE9BQU87SUFDVDtJQUVBLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY1YsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBZEE7QUFlWiJ9"],"names":["VelvetLink","Component","g","this","prototype","service","i","void 0","link","to","to1","args","linkManagerService","createLink","getLinkParamsFromURL","setComponentTemplate","precompileTemplate","scope","cn","concat","or","on","strictMode"],"mappings":";;;;;;;;;;;AAiCe,MAAMA,UAAA,SAAmBC,SAAA,CAAU;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,EAAA,oBAAA,EAAA,CAC/CC,OAAA,CAAQ,cAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,mBAAA,IAAAC,CAAA,CAAAH,IAAA,yBAAAI,KAAA,CAAA,EAAA;AAET,EAAA,IAAIC,OAAO;IACT,MAAM;AAAEC,MAAAA,EAAA,EAAAC,GAAAA;KAAI,GAAG,IAAI,CAACC,IAAI,CAAA;IAExB,IAAI,OAAOD,GAAA,KAAO,QAAU,EAAA;AAC1B,MAAA,OAAO,IAAI,CAACE,kBAAkB,CAACC,UAAU,CACvC,IAAI,CAACD,kBAAkB,CAACE,oBAAoB,CAACJ,GAAA,CAAA,CAAA,CAAA;AAEjD,KAAA;AAEA,IAAA,OAAOA,GAAA,CAAA;AACT,GAAA;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CAcA,sRAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;AAAAC,QAAAA,EAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,42 @@
1
+ import { concat } from '@ember/helper';
2
+ import { htmlSafe } from '@ember/template';
3
+ import Component from '@glimmer/component';
4
+ import { or } from 'ember-truth-helpers';
5
+ import { cn } from '../-private/helpers/cn.js';
6
+ import { precompileTemplate } from '@ember/template-compilation';
7
+ import { setComponentTemplate } from '@ember/component';
8
+
9
+ class VelvetProgress extends Component {
10
+ get lineStyle() {
11
+ const {
12
+ max: max1,
13
+ min: min1,
14
+ value: value1
15
+ } = this;
16
+ const progress1 = Math.floor((value1 - min1) / (max1 - min1) * 100);
17
+ const progressClipped1 = Math.max(0, Math.min(100, progress1));
18
+ return htmlSafe(`width: ${progressClipped1}%;`);
19
+ }
20
+ get max() {
21
+ return typeof this.args.max === 'number' ? this.args.max : 100;
22
+ }
23
+ get min() {
24
+ return typeof this.args.min === 'number' ? this.args.min : 0;
25
+ }
26
+ get value() {
27
+ return typeof this.args.value === 'number' ? this.args.value : 0;
28
+ }
29
+ static {
30
+ setComponentTemplate(precompileTemplate("\n <div class={{cn \"velvet-progress\" (concat \"velvet-progress-\" (or @size \"md\")) (concat \"velvet-progress-\" (or @variant \"primary\"))}} aria-valuemax={{this.max}} aria-valuemin={{this.min}} aria-valuenow={{this.value}} aria-valuetext={{@text}} role=\"progressbar\" ...attributes>\n <div class=\"velvet-progress-line\" style={{this.lineStyle}}></div>\n </div>\n ", {
31
+ scope: () => ({
32
+ cn,
33
+ concat,
34
+ or
35
+ }),
36
+ strictMode: true
37
+ }), this);
38
+ }
39
+ }
40
+
41
+ export { VelvetProgress as default };
42
+ //# sourceMappingURL=velvet-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-progress.js","sources":["../../src/components/velvet-progress.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { htmlSafe } from '@ember/template';\nimport Component from '@glimmer/component';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetProgressSignature {\n Args: {\n /// The maximum value of the progress.\n /// @default [100]\n max?: number;\n /// The minimum value of the progress.\n /// @default [0]\n min?: number;\n /// The size of the progress.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The text describing the process in progress.\n /// @default [\"\"]\n text?: string;\n /// The value of the progress.\n /// @default [0]\n value?: number;\n /// The appearance of the progress.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Element: HTMLDivElement;\n}\nexport default class VelvetProgress extends Component<VelvetProgressSignature> {\n get lineStyle() {\n const { max: max1, min: min1, value: value1 } = this;\n const progress1 = Math.floor(((value1 - min1) / (max1 - min1)) * 100);\n const progressClipped1 = Math.max(0, Math.min(100, progress1));\n return htmlSafe(`width: ${progressClipped1}%;`);\n }\n get max() {\n return typeof this.args.max === 'number' ? this.args.max : 100;\n }\n get min() {\n return typeof this.args.min === 'number' ? this.args.min : 0;\n }\n get value() {\n return typeof this.args.value === 'number' ? this.args.value : 0;\n }\n static{\n template(`\n <div\n class={{cn\n \"velvet-progress\"\n (concat \"velvet-progress-\" (or @size \"md\"))\n (concat \"velvet-progress-\" (or @variant \"primary\"))\n }}\n aria-valuemax={{this.max}}\n aria-valuemin={{this.min}}\n aria-valuenow={{this.value}}\n aria-valuetext={{@text}}\n role=\"progressbar\"\n ...attributes\n >\n <div class=\"velvet-progress-line\" style={{this.lineStyle}}></div>\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LXByb2dyZXNzLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQgfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IGh0bWxTYWZlIH0gZnJvbSAnQGVtYmVyL3RlbXBsYXRlJztcbmltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IG9yIH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMvY24udHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlbHZldFByb2dyZXNzU2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIC8vLyBUaGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgcHJvZ3Jlc3MuXG4gICAgLy8vIEBkZWZhdWx0IFsxMDBdXG4gICAgbWF4PzogbnVtYmVyO1xuXG4gICAgLy8vIFRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBwcm9ncmVzcy5cbiAgICAvLy8gQGRlZmF1bHQgWzBdXG4gICAgbWluPzogbnVtYmVyO1xuXG4gICAgLy8vIFRoZSBzaXplIG9mIHRoZSBwcm9ncmVzcy5cbiAgICAvLy8gQGRlZmF1bHQgW1wibWRcIl1cbiAgICBzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xuXG4gICAgLy8vIFRoZSB0ZXh0IGRlc2NyaWJpbmcgdGhlIHByb2Nlc3MgaW4gcHJvZ3Jlc3MuXG4gICAgLy8vIEBkZWZhdWx0IFtcIlwiXVxuICAgIHRleHQ_OiBzdHJpbmc7XG5cbiAgICAvLy8gVGhlIHZhbHVlIG9mIHRoZSBwcm9ncmVzcy5cbiAgICAvLy8gQGRlZmF1bHQgWzBdXG4gICAgdmFsdWU_OiBudW1iZXI7XG5cbiAgICAvLy8gVGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHByb2dyZXNzLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJwcmltYXJ5XCJdXG4gICAgdmFyaWFudD86IHN0cmluZyB8ICdwcmltYXJ5JztcbiAgfTtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbHZldFByb2dyZXNzIGV4dGVuZHMgQ29tcG9uZW50PFZlbHZldFByb2dyZXNzU2lnbmF0dXJlPiB7XG4gIGdldCBsaW5lU3R5bGUoKSB7XG4gICAgY29uc3QgeyBtYXgsIG1pbiwgdmFsdWUgfSA9IHRoaXM7XG4gICAgY29uc3QgcHJvZ3Jlc3MgPSBNYXRoLmZsb29yKCgodmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbikpICogMTAwKTtcbiAgICBjb25zdCBwcm9ncmVzc0NsaXBwZWQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHByb2dyZXNzKSk7XG5cbiAgICByZXR1cm4gaHRtbFNhZmUoYHdpZHRoOiAke3Byb2dyZXNzQ2xpcHBlZH0lO2ApO1xuICB9XG5cbiAgZ2V0IG1heCgpIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuYXJncy5tYXggPT09ICdudW1iZXInID8gdGhpcy5hcmdzLm1heCA6IDEwMDtcbiAgfVxuXG4gIGdldCBtaW4oKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmFyZ3MubWluID09PSAnbnVtYmVyJyA_IHRoaXMuYXJncy5taW4gOiAwO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5hcmdzLnZhbHVlID09PSAnbnVtYmVyJyA_IHRoaXMuYXJncy52YWx1ZSA6IDA7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPGRpdlxuICAgICAgY2xhc3M9e3tjblxuICAgICAgICBcInZlbHZldC1wcm9ncmVzc1wiXG4gICAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtcHJvZ3Jlc3MtXCIgKG9yIEBzaXplIFwibWRcIikpXG4gICAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtcHJvZ3Jlc3MtXCIgKG9yIEB2YXJpYW50IFwicHJpbWFyeVwiKSlcbiAgICAgIH19XG4gICAgICBhcmlhLXZhbHVlbWF4PXt7dGhpcy5tYXh9fVxuICAgICAgYXJpYS12YWx1ZW1pbj17e3RoaXMubWlufX1cbiAgICAgIGFyaWEtdmFsdWVub3c9e3t0aGlzLnZhbHVlfX1cbiAgICAgIGFyaWEtdmFsdWV0ZXh0PXt7QHRleHR9fVxuICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICA-XG4gICAgICA8ZGl2IGNsYXNzPVwidmVsdmV0LXByb2dyZXNzLWxpbmVcIiBzdHlsZT17e3RoaXMubGluZVN0eWxlfX0-PC9kaXY-XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxTQUFTLFFBQVEsUUFBUSxrQkFBa0I7QUFDM0MsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLEVBQUUsUUFBUSxzQkFBc0I7QUFDekMsU0FBUyxFQUFFLFFBQVEsNEJBQTRCO0FBRS9DLGlCQUFpQjtJQUNmO1FBQ0Usc0NBQXNDO1FBQ3RDLGtCQUFrQjtRQUNsQixNQUFNLE1BQU07UUFFWixzQ0FBc0M7UUFDdEMsZ0JBQWdCO1FBQ2hCLE1BQU0sTUFBTTtRQUVaLDZCQUE2QjtRQUM3QixtQkFBbUI7UUFDbkIsT0FBTyxPQUFPLE9BQU87UUFFckIsZ0RBQWdEO1FBQ2hELGlCQUFpQjtRQUNqQixPQUFPLE1BQU07UUFFYiw4QkFBOEI7UUFDOUIsZ0JBQWdCO1FBQ2hCLFFBQVEsTUFBTTtRQUVkLG1DQUFtQztRQUNuQyx3QkFBd0I7UUFDeEIsVUFBVSxNQUFNLEdBQUc7O0lBRXJCLFNBQVM7O0FBR1gsZUFBZSxNQUFNLHVCQUF1QixVQUFVO0lBQ3BELElBQUksWUFBWTtRQUNkLE1BQU0sRUFBRSxLQUFBLElBQUcsRUFBRSxLQUFBLElBQUcsRUFBRSxPQUFBLE1BQUssRUFBRSxHQUFHLElBQUk7UUFDaEMsTUFBTSxZQUFXLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFRLElBQUcsSUFBSSxDQUFDLE9BQU0sSUFBRyxDQUFDLElBQUk7UUFDNUQsTUFBTSxtQkFBa0IsS0FBSyxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxLQUFLO1FBRWxELE9BQU8sU0FBUyxDQUFDLE9BQU8sRUFBRSxpQkFBZ0IsRUFBRSxDQUFDO0lBQy9DO0lBRUEsSUFBSSxNQUFNO1FBQ1IsT0FBTyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUc7SUFDN0Q7SUFFQSxJQUFJLE1BQU07UUFDUixPQUFPLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRztJQUM3RDtJQUVBLElBQUksUUFBUTtRQUNWLE9BQU8sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHO0lBQ2pFO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7OztFQWdCVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FoQkE7QUFpQloifQ"],"names":["VelvetProgress","Component","lineStyle","max","max1","min","min1","value","value1","progress1","Math","floor","progressClipped1","htmlSafe","args","setComponentTemplate","precompileTemplate","scope","cn","concat","or","strictMode"],"mappings":";;;;;;;;AAmCe,MAAMA,cAAA,SAAuBC,SAAA,CAAU;AACpD,EAAA,IAAIC,YAAY;IACd,MAAM;AAAEC,MAAAA,GAAA,EAAAC,IAAG;AAAEC,MAAAA,GAAA,EAAAC,IAAG;AAAEC,MAAAA,KAAA,EAAAC,MAAAA;AAAK,KAAE,GAAG,IAAI,CAAA;AAChC,IAAA,MAAMC,SAAA,GAAWC,IAAA,CAAKC,KAAK,CAAE,CAACH,MAAA,GAAQF,IAAG,KAAKF,IAAA,GAAME,IAAG,CAAC,GAAI,GAAA,CAAA,CAAA;AAC5D,IAAA,MAAMM,gBAAA,GAAkBF,IAAA,CAAKP,GAAG,CAAC,CAAGO,EAAAA,IAAA,CAAKL,GAAG,CAAC,GAAA,EAAKI,SAAA,CAAA,CAAA,CAAA;AAElD,IAAA,OAAOI,QAAA,CAAU,CAASD,OAAAA,EAAAA,gBAAgB,CAAG,EAAA,CAAA,CAAA,CAAA;AAC/C,GAAA;AAEA,EAAA,IAAIT,MAAM;AACR,IAAA,OAAO,OAAO,IAAI,CAACW,IAAI,CAACX,GAAG,KAAK,QAAA,GAAW,IAAI,CAACW,IAAI,CAACX,GAAG,GAAG,GAAA,CAAA;AAC7D,GAAA;AAEA,EAAA,IAAIE,MAAM;AACR,IAAA,OAAO,OAAO,IAAI,CAACS,IAAI,CAACT,GAAG,KAAK,QAAA,GAAW,IAAI,CAACS,IAAI,CAACT,GAAG,GAAG,CAAA,CAAA;AAC7D,GAAA;AAEA,EAAA,IAAIE,QAAQ;AACV,IAAA,OAAO,OAAO,IAAI,CAACO,IAAI,CAACP,KAAK,KAAK,QAAA,GAAW,IAAI,CAACO,IAAI,CAACP,KAAK,GAAG,CAAA,CAAA;AACjE,GAAA;AAEA,EAAA;IAAAQ,oBAAA,CAAAC,kBAAA,CAgBA,gYAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;AAAAC,QAAAA,EAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,27 @@
1
+ import { concat, hash } from '@ember/helper';
2
+ import { guidFor } from '@ember/object/internals';
3
+ import Component from '@glimmer/component';
4
+ import { or } from 'ember-truth-helpers';
5
+ import { cn } from '../-private/helpers/cn.js';
6
+ import VelvetRadio from './velvet-radio.js';
7
+ import { precompileTemplate } from '@ember/template-compilation';
8
+ import { setComponentTemplate } from '@ember/component';
9
+
10
+ class VelvetRadioGroup extends Component {
11
+ uniqueName = guidFor(this);
12
+ static {
13
+ setComponentTemplate(precompileTemplate("\n <div class={{cn \"velvet-radio-group\" (concat \"velvet-radio-group-\" (or @size \"md\")) (if @isDisabled \"velvet-radio-group-disabled\")}} role=\"group\" ...attributes>\n {{yield (hash Radio=(component VelvetRadio isDisabled=@isDisabled name=(or @name this.uniqueName) size=@size privateGroupValue=@value privateInGroup=true privateOnChangeGroup=@onChange))}}\n </div>\n ", {
14
+ scope: () => ({
15
+ cn,
16
+ concat,
17
+ or,
18
+ hash,
19
+ VelvetRadio
20
+ }),
21
+ strictMode: true
22
+ }), this);
23
+ }
24
+ }
25
+
26
+ export { VelvetRadioGroup as default };
27
+ //# sourceMappingURL=velvet-radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-radio-group.js","sources":["../../src/components/velvet-radio-group.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat, hash } from '@ember/helper';\nimport { guidFor } from '@ember/object/internals';\nimport Component from '@glimmer/component';\nimport type { WithBoundArgs } from '@glint/template';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nimport VelvetRadio from './velvet-radio.gts';\nimport type { Size } from './velvet-radio.gts';\nexport interface VelvetRadioGroupSignature {\n Args: {\n /// Indicate if the radio group is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// The name of the radio group.\n /// @default [\"\"]\n name?: string;\n /// Handle the radio group's `change` event.\n /// @default [undefined]\n onChange?: (value: unknown, event: Event) => void;\n /// The size of the radios.\n /// @default [\"md\"]\n size?: Size;\n /// The value of the radio group.\n /// @default [undefined]\n value?: unknown;\n };\n Blocks: {\n /// The radios for the radio group.\n default: [{\n Radio: WithBoundArgs<typeof VelvetRadio, 'isDisabled' | 'name' | 'size' | 'privateGroupValue' | 'privateInGroup' | 'privateOnChangeGroup'>;\n }];\n };\n Element: HTMLDivElement;\n}\nexport default class VelvetRadioGroup extends Component<VelvetRadioGroupSignature> {\n uniqueName = guidFor(this);\n static{\n template(`\n <div\n class={{cn\n \"velvet-radio-group\"\n (concat \"velvet-radio-group-\" (or @size \"md\"))\n (if @isDisabled \"velvet-radio-group-disabled\")\n }}\n role=\"group\"\n ...attributes\n >\n {{yield\n (hash\n Radio=(component\n VelvetRadio\n isDisabled=@isDisabled\n name=(or @name this.uniqueName)\n size=@size\n privateGroupValue=@value\n privateInGroup=true\n privateOnChangeGroup=@onChange\n )\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LXJhZGlvLWdyb3VwLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQsIGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IGd1aWRGb3IgfSBmcm9tICdAZW1iZXIvb2JqZWN0L2ludGVybmFscyc7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IFdpdGhCb3VuZEFyZ3MgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuaW1wb3J0IHsgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycy9jbi50cyc7XG5pbXBvcnQgVmVsdmV0UmFkaW8gZnJvbSAnLi92ZWx2ZXQtcmFkaW8uZ3RzJztcbmltcG9ydCB0eXBlIHsgU2l6ZSB9IGZyb20gJy4vdmVsdmV0LXJhZGlvLmd0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVsdmV0UmFkaW9Hcm91cFNpZ25hdHVyZSB7XG4gIEFyZ3M6IHtcbiAgICAvLy8gSW5kaWNhdGUgaWYgdGhlIHJhZGlvIGdyb3VwIGlzIGRpc2FibGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgICAvLy8gVGhlIG5hbWUgb2YgdGhlIHJhZGlvIGdyb3VwLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJcIl1cbiAgICBuYW1lPzogc3RyaW5nO1xuXG4gICAgLy8vIEhhbmRsZSB0aGUgcmFkaW8gZ3JvdXAncyBgY2hhbmdlYCBldmVudC5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICBvbkNoYW5nZT86ICh2YWx1ZTogdW5rbm93biwgZXZlbnQ6IEV2ZW50KSA9PiB2b2lkO1xuXG4gICAgLy8vIFRoZSBzaXplIG9mIHRoZSByYWRpb3MuXG4gICAgLy8vIEBkZWZhdWx0IFtcIm1kXCJdXG4gICAgc2l6ZT86IFNpemU7XG5cbiAgICAvLy8gVGhlIHZhbHVlIG9mIHRoZSByYWRpbyBncm91cC5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICB2YWx1ZT86IHVua25vd247XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIC8vLyBUaGUgcmFkaW9zIGZvciB0aGUgcmFkaW8gZ3JvdXAuXG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICBSYWRpbzogV2l0aEJvdW5kQXJnczxcbiAgICAgICAgICB0eXBlb2YgVmVsdmV0UmFkaW8sXG4gICAgICAgICAgfCAnaXNEaXNhYmxlZCdcbiAgICAgICAgICB8ICduYW1lJ1xuICAgICAgICAgIHwgJ3NpemUnXG4gICAgICAgICAgfCAncHJpdmF0ZUdyb3VwVmFsdWUnXG4gICAgICAgICAgfCAncHJpdmF0ZUluR3JvdXAnXG4gICAgICAgICAgfCAncHJpdmF0ZU9uQ2hhbmdlR3JvdXAnXG4gICAgICAgID47XG4gICAgICB9LFxuICAgIF07XG4gIH07XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWx2ZXRSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50PFZlbHZldFJhZGlvR3JvdXBTaWduYXR1cmU-IHtcbiAgdW5pcXVlTmFtZSA9IGd1aWRGb3IodGhpcyk7XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPXt7Y25cbiAgICAgICAgXCJ2ZWx2ZXQtcmFkaW8tZ3JvdXBcIlxuICAgICAgICAoY29uY2F0IFwidmVsdmV0LXJhZGlvLWdyb3VwLVwiIChvciBAc2l6ZSBcIm1kXCIpKVxuICAgICAgICAoaWYgQGlzRGlzYWJsZWQgXCJ2ZWx2ZXQtcmFkaW8tZ3JvdXAtZGlzYWJsZWRcIilcbiAgICAgIH19XG4gICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgLi4uYXR0cmlidXRlc1xuICAgID5cbiAgICAgIHt7eWllbGRcbiAgICAgICAgKGhhc2hcbiAgICAgICAgICBSYWRpbz0oY29tcG9uZW50XG4gICAgICAgICAgICBWZWx2ZXRSYWRpb1xuICAgICAgICAgICAgaXNEaXNhYmxlZD1AaXNEaXNhYmxlZFxuICAgICAgICAgICAgbmFtZT0ob3IgQG5hbWUgdGhpcy51bmlxdWVOYW1lKVxuICAgICAgICAgICAgc2l6ZT1Ac2l6ZVxuICAgICAgICAgICAgcHJpdmF0ZUdyb3VwVmFsdWU9QHZhbHVlXG4gICAgICAgICAgICBwcml2YXRlSW5Hcm91cD10cnVlXG4gICAgICAgICAgICBwcml2YXRlT25DaGFuZ2VHcm91cD1Ab25DaGFuZ2VcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIH19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsTUFBTSxFQUFFLElBQUksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBUyxPQUFPLFFBQVEsMEJBQTBCO0FBQ2xELE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsY0FBYyxhQUFhLFFBQVEsa0JBQWtCO0FBQ3JELFNBQVMsRUFBRSxRQUFRLHNCQUFzQjtBQUN6QyxTQUFTLEVBQUUsUUFBUSw0QkFBNEI7QUFDL0MsT0FBTyxpQkFBaUIscUJBQXFCO0FBQzdDLGNBQWMsSUFBSSxRQUFRLHFCQUFxQjtBQUUvQyxpQkFBaUI7SUFDZjtRQUNFLDRDQUE0QztRQUM1QyxvQkFBb0I7UUFDcEIsYUFBYSxPQUFPO1FBRXBCLGdDQUFnQztRQUNoQyxpQkFBaUI7UUFDakIsT0FBTyxNQUFNO1FBRWIsNENBQTRDO1FBQzVDLHdCQUF3QjtRQUN4QixZQUFZLE9BQU8sT0FBTyxFQUFFLE9BQU8sVUFBVSxJQUFJO1FBRWpELDJCQUEyQjtRQUMzQixtQkFBbUI7UUFDbkIsT0FBTztRQUVQLGlDQUFpQztRQUNqQyx3QkFBd0I7UUFDeEIsUUFBUSxPQUFPOztJQUVqQjtRQUNFLG1DQUFtQztRQUNuQztnQkFFSSxPQUFPLHFCQUNFLGFBQ0wsZUFDQSxTQUNBLFNBQ0Esc0JBQ0EsbUJBQ0E7OztJQUtWLFNBQVM7O0FBR1gsZUFBZSxNQUFNLHlCQUF5QixVQUFVO0lBQ3RELGFBQWEsUUFBUSxJQUFJLEVBQUU7SUFFM0IsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0JWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQXhCQTtBQXlCWiJ9"],"names":["VelvetRadioGroup","Component","uniqueName","guidFor","setComponentTemplate","precompileTemplate","scope","cn","concat","or","hash","VelvetRadio","strictMode"],"mappings":";;;;;;;;;AAkDe,MAAMA,gBAAA,SAAyBC,SAAA,CAAU;EACtDC,UAAA,GAAaC,OAAA,CAAQ,IAAI,CAAA,CAAA;AAEzB,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAwBA,sYAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,IAAA;AAAAC,QAAAA,WAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,55 @@
1
+ import { concat } from '@ember/helper';
2
+ import { on } from '@ember/modifier';
3
+ import Component from '@glimmer/component';
4
+ import { or } from 'ember-truth-helpers';
5
+ import { cn } from '../-private/helpers/cn.js';
6
+ import { precompileTemplate } from '@ember/template-compilation';
7
+ import { setComponentTemplate } from '@ember/component';
8
+
9
+ class VelvetRadio extends Component {
10
+ get isChecked() {
11
+ const {
12
+ privateInGroup: privateInGroup1,
13
+ isChecked: isChecked1,
14
+ privateGroupValue: privateGroupValue1,
15
+ value: value1
16
+ } = this.args;
17
+ return privateInGroup1 ? value1 === privateGroupValue1 : isChecked1;
18
+ }
19
+ get valueAttr() {
20
+ const {
21
+ value: value1
22
+ } = this.args;
23
+ return value1 === undefined ? undefined : String(value1);
24
+ }
25
+ changeHandler = event1 => {
26
+ if (this.args.isDisabled === true) {
27
+ return;
28
+ }
29
+ const {
30
+ privateInGroup: privateInGroup1,
31
+ onChange: onChange1,
32
+ privateOnChangeGroup: privateOnChangeGroup1,
33
+ value: value1
34
+ } = this.args;
35
+ if (privateInGroup1 && typeof privateOnChangeGroup1 === 'function') {
36
+ privateOnChangeGroup1(value1, event1);
37
+ } else if (typeof onChange1 === 'function') {
38
+ onChange1(event1.target.checked, event1);
39
+ }
40
+ };
41
+ static {
42
+ setComponentTemplate(precompileTemplate("\n <label class={{cn \"velvet-radio\" (concat \"velvet-radio-\" (or @size \"md\")) (if @isDisabled \"velvet-radio-disabled\")}}>\n <input checked={{this.isChecked}} class=\"velvet-radio-input form-radio\" disabled={{@isDisabled}} name={{@name}} type=\"radio\" value={{this.valueAttr}} {{on \"change\" this.changeHandler}} ...attributes />\n {{yield}}\n </label>\n ", {
43
+ scope: () => ({
44
+ cn,
45
+ concat,
46
+ or,
47
+ on
48
+ }),
49
+ strictMode: true
50
+ }), this);
51
+ }
52
+ }
53
+
54
+ export { VelvetRadio as default };
55
+ //# sourceMappingURL=velvet-radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-radio.js","sources":["../../src/components/velvet-radio.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport type Size = 'sm' | 'md' | 'lg';\nexport interface VelvetRadioSignature {\n Args: {\n /// Indicate if the radio is checked.\n /// @default [false]\n isChecked?: boolean;\n /// Indicate if the radio is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// The name of the radio.\n /// @default [\"\"]\n name?: string;\n /// Handle the radio's `change` event.\n /// @default [undefined]\n onChange?: (isChecked: boolean, event: Event) => void;\n /// The size of the radio.\n /// @default [\"md\"]\n size?: Size;\n /// The value of the radio.\n /// @default [undefined]\n value?: unknown;\n privateGroupValue?: unknown;\n privateInGroup?: boolean;\n privateOnChangeGroup?: (value: unknown, event: Event) => void;\n };\n Blocks: {\n /// The label of the radio.\n default: [];\n };\n Element: HTMLInputElement;\n}\nexport default class VelvetRadio extends Component<VelvetRadioSignature> {\n get isChecked() {\n const { privateInGroup: privateInGroup1, isChecked: isChecked1, privateGroupValue: privateGroupValue1, value: value1 } = this.args;\n return privateInGroup1 ? value1 === privateGroupValue1 : isChecked1;\n }\n get valueAttr() {\n const { value: value1 } = this.args;\n return value1 === undefined ? undefined : String(value1);\n }\n changeHandler = (event1: Event)=>{\n if (this.args.isDisabled === true) {\n return;\n }\n const { privateInGroup: privateInGroup1, onChange: onChange1, privateOnChangeGroup: privateOnChangeGroup1, value: value1 } = this.args;\n if (privateInGroup1 && typeof privateOnChangeGroup1 === 'function') {\n privateOnChangeGroup1(value1, event1);\n } else if (typeof onChange1 === 'function') {\n onChange1((event1.target as HTMLInputElement).checked, event1);\n }\n };\n static{\n template(`\n <label\n class={{cn\n \"velvet-radio\"\n (concat \"velvet-radio-\" (or @size \"md\"))\n (if @isDisabled \"velvet-radio-disabled\")\n }}\n >\n <input\n checked={{this.isChecked}}\n class=\"velvet-radio-input form-radio\"\n disabled={{@isDisabled}}\n name={{@name}}\n type=\"radio\"\n value={{this.valueAttr}}\n {{on \"change\" this.changeHandler}}\n ...attributes\n />\n {{yield}}\n </label>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LXJhZGlvLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXQgfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IG9yIH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMvY24udHMnO1xuXG5leHBvcnQgdHlwZSBTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlbHZldFJhZGlvU2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgcmFkaW8gaXMgY2hlY2tlZC5cbiAgICAvLy8gQGRlZmF1bHQgW2ZhbHNlXVxuICAgIGlzQ2hlY2tlZD86IGJvb2xlYW47XG5cbiAgICAvLy8gSW5kaWNhdGUgaWYgdGhlIHJhZGlvIGlzIGRpc2FibGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgICAvLy8gVGhlIG5hbWUgb2YgdGhlIHJhZGlvLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJcIl1cbiAgICBuYW1lPzogc3RyaW5nO1xuXG4gICAgLy8vIEhhbmRsZSB0aGUgcmFkaW8ncyBgY2hhbmdlYCBldmVudC5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICBvbkNoYW5nZT86IChpc0NoZWNrZWQ6IGJvb2xlYW4sIGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcblxuICAgIC8vLyBUaGUgc2l6ZSBvZiB0aGUgcmFkaW8uXG4gICAgLy8vIEBkZWZhdWx0IFtcIm1kXCJdXG4gICAgc2l6ZT86IFNpemU7XG5cbiAgICAvLy8gVGhlIHZhbHVlIG9mIHRoZSByYWRpby5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICB2YWx1ZT86IHVua25vd247XG5cbiAgICBwcml2YXRlR3JvdXBWYWx1ZT86IHVua25vd247XG4gICAgcHJpdmF0ZUluR3JvdXA_OiBib29sZWFuO1xuICAgIHByaXZhdGVPbkNoYW5nZUdyb3VwPzogKHZhbHVlOiB1bmtub3duLCBldmVudDogRXZlbnQpID0-IHZvaWQ7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIC8vLyBUaGUgbGFiZWwgb2YgdGhlIHJhZGlvLlxuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xuICBFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWx2ZXRSYWRpbyBleHRlbmRzIENvbXBvbmVudDxWZWx2ZXRSYWRpb1NpZ25hdHVyZT4ge1xuICBnZXQgaXNDaGVja2VkKCkge1xuICAgIGNvbnN0IHsgcHJpdmF0ZUluR3JvdXAsIGlzQ2hlY2tlZCwgcHJpdmF0ZUdyb3VwVmFsdWUsIHZhbHVlIH0gPSB0aGlzLmFyZ3M7XG5cbiAgICByZXR1cm4gcHJpdmF0ZUluR3JvdXAgPyB2YWx1ZSA9PT0gcHJpdmF0ZUdyb3VwVmFsdWUgOiBpc0NoZWNrZWQ7XG4gIH1cblxuICBnZXQgdmFsdWVBdHRyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuYXJncztcblxuICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogU3RyaW5nKHZhbHVlKTtcbiAgfVxuXG4gIGNoYW5nZUhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgaWYgKHRoaXMuYXJncy5pc0Rpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBwcml2YXRlSW5Hcm91cCwgb25DaGFuZ2UsIHByaXZhdGVPbkNoYW5nZUdyb3VwLCB2YWx1ZSB9ID0gdGhpcy5hcmdzO1xuXG4gICAgaWYgKHByaXZhdGVJbkdyb3VwICYmIHR5cGVvZiBwcml2YXRlT25DaGFuZ2VHcm91cCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJpdmF0ZU9uQ2hhbmdlR3JvdXAodmFsdWUsIGV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBvbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb25DaGFuZ2UoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkLCBldmVudCk7XG4gICAgfVxuICB9O1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPXt7Y25cbiAgICAgICAgXCJ2ZWx2ZXQtcmFkaW9cIlxuICAgICAgICAoY29uY2F0IFwidmVsdmV0LXJhZGlvLVwiIChvciBAc2l6ZSBcIm1kXCIpKVxuICAgICAgICAoaWYgQGlzRGlzYWJsZWQgXCJ2ZWx2ZXQtcmFkaW8tZGlzYWJsZWRcIilcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNoZWNrZWQ9e3t0aGlzLmlzQ2hlY2tlZH19XG4gICAgICAgIGNsYXNzPVwidmVsdmV0LXJhZGlvLWlucHV0IGZvcm0tcmFkaW9cIlxuICAgICAgICBkaXNhYmxlZD17e0Bpc0Rpc2FibGVkfX1cbiAgICAgICAgbmFtZT17e0BuYW1lfX1cbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgdmFsdWU9e3t0aGlzLnZhbHVlQXR0cn19XG4gICAgICAgIHt7b24gXCJjaGFuZ2VcIiB0aGlzLmNoYW5nZUhhbmRsZXJ9fVxuICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAvPlxuICAgICAge3t5aWVsZH19XG4gICAgPC9sYWJlbD5cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxNQUFNLFFBQVEsZ0JBQWdCO0FBQ3ZDLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUNyQyxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsRUFBRSxRQUFRLHNCQUFzQjtBQUN6QyxTQUFTLEVBQUUsUUFBUSw0QkFBNEI7QUFFL0MsWUFBWSxPQUFPLE9BQU8sT0FBTztBQUVqQyxpQkFBaUI7SUFDZjtRQUNFLHFDQUFxQztRQUNyQyxvQkFBb0I7UUFDcEIsWUFBWSxPQUFPO1FBRW5CLHNDQUFzQztRQUN0QyxvQkFBb0I7UUFDcEIsYUFBYSxPQUFPO1FBRXBCLDBCQUEwQjtRQUMxQixpQkFBaUI7UUFDakIsT0FBTyxNQUFNO1FBRWIsc0NBQXNDO1FBQ3RDLHdCQUF3QjtRQUN4QixZQUFZLFdBQVcsT0FBTyxFQUFFLE9BQU8sVUFBVSxJQUFJO1FBRXJELDBCQUEwQjtRQUMxQixtQkFBbUI7UUFDbkIsT0FBTztRQUVQLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIsUUFBUSxPQUFPO1FBRWYsb0JBQW9CLE9BQU87UUFDM0IsaUJBQWlCLE9BQU87UUFDeEIsd0JBQXdCLE9BQU8sT0FBTyxFQUFFLE9BQU8sVUFBVSxJQUFJOztJQUUvRDtRQUNFLDJCQUEyQjtRQUMzQjs7SUFFRixTQUFTOztBQUdYLGVBQWUsTUFBTSxvQkFBb0IsVUFBVTtJQUNqRCxJQUFJLFlBQVk7UUFDZCxNQUFNLEVBQUUsZ0JBQUEsZUFBYyxFQUFFLFdBQUEsVUFBUyxFQUFFLG1CQUFBLGtCQUFpQixFQUFFLE9BQUEsTUFBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUk7UUFFekUsT0FBTyxrQkFBaUIsV0FBVSxxQkFBb0I7SUFDeEQ7SUFFQSxJQUFJLFlBQVk7UUFDZCxNQUFNLEVBQUUsT0FBQSxNQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSTtRQUUzQixPQUFPLFdBQVUsWUFBWSxZQUFZLE9BQU87SUFDbEQ7SUFFQSxnQkFBZ0IsQ0FBQyxRQUFPO1FBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssTUFBTTtZQUNqQztRQUNGO1FBRUEsTUFBTSxFQUFFLGdCQUFBLGVBQWMsRUFBRSxVQUFBLFNBQVEsRUFBRSxzQkFBQSxxQkFBb0IsRUFBRSxPQUFBLE1BQUssRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBRTNFLElBQUksbUJBQWtCLE9BQU8sMEJBQXlCLFlBQVk7WUFDaEUsc0JBQXFCLFFBQU87UUFDOUIsT0FBTyxJQUFJLE9BQU8sY0FBYSxZQUFZO1lBQ3pDLFVBQVMsQ0FBQyxPQUFNLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUU7UUFDdkQ7SUFDRixFQUFFO0lBRUYsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFvQlYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBcEJBO0FBcUJaIn0"],"names":["VelvetRadio","Component","isChecked","privateInGroup","privateInGroup1","isChecked1","privateGroupValue","privateGroupValue1","value","value1","args","valueAttr","undefined","String","changeHandler","event1","isDisabled","onChange","onChange1","privateOnChangeGroup","privateOnChangeGroup1","target","checked","setComponentTemplate","precompileTemplate","scope","cn","concat","or","on","strictMode"],"mappings":";;;;;;;;AA6Ce,MAAMA,WAAA,SAAoBC,SAAA,CAAU;AACjD,EAAA,IAAIC,YAAY;IACd,MAAM;AAAEC,MAAAA,cAAA,EAAAC,eAAc;AAAEF,MAAAA,SAAA,EAAAG,UAAS;AAAEC,MAAAA,iBAAA,EAAAC,kBAAiB;AAAEC,MAAAA,KAAA,EAAAC,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI,CAAA;AAEzE,IAAA,OAAON,eAAA,GAAiBK,MAAA,KAAUF,kBAAA,GAAoBF,UAAA,CAAA;AACxD,GAAA;AAEA,EAAA,IAAIM,YAAY;IACd,MAAM;AAAEH,MAAAA,KAAA,EAAAC,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI,CAAA;IAE3B,OAAOD,MAAA,KAAUG,SAAA,GAAYA,SAAA,GAAYC,MAAA,CAAOJ,MAAA,CAAA,CAAA;AAClD,GAAA;AAEAK,EAAAA,aAAA,GAAiBC,MAAO,IAAA;AACtB,IAAA,IAAI,IAAI,CAACL,IAAI,CAACM,UAAU,KAAK,IAAM,EAAA;AACjC,MAAA,OAAA;AACF,KAAA;IAEA,MAAM;AAAEb,MAAAA,cAAA,EAAAC,eAAc;AAAEa,MAAAA,QAAA,EAAAC,SAAQ;AAAEC,MAAAA,oBAAA,EAAAC,qBAAoB;AAAEZ,MAAAA,KAAA,EAAAC,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI,CAAA;AAE3E,IAAA,IAAIN,eAAA,IAAkB,OAAOgB,qBAAA,KAAyB,UAAY,EAAA;MAChEA,qBAAA,CAAqBX,MAAA,EAAOM,MAAA,CAAA,CAAA;AAC9B,KAAA,MAAO,IAAI,OAAOG,SAAA,KAAa,UAAY,EAAA;AACzCA,MAAAA,SAAA,CAAUH,MAAA,CAAMM,MAAM,CAAsBC,OAAO,EAAEP,MAAA,CAAA,CAAA;AACvD,KAAA;AACF,GAAA,CAAA;AAEA,EAAA;IAAAQ,oBAAA,CAAAC,kBAAA,CAoBA,+XAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;AAAAC,QAAAA,EAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,27 @@
1
+ import { guidFor } from '@ember/object/internals';
2
+ import Component from '@glimmer/component';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { setComponentTemplate } from '@ember/component';
5
+
6
+ class VelvetSelectOption extends Component {
7
+ uniqueId = guidFor(this);
8
+ get isSelected() {
9
+ return this.args.value === this.args.privateSelected;
10
+ }
11
+ constructor(owner1, args1) {
12
+ super(owner1, args1);
13
+ this.args.privateOnCreate(this.uniqueId, this.args.value);
14
+ }
15
+ willDestroy() {
16
+ super.willDestroy();
17
+ this.args.privateOnDestroy(this.uniqueId);
18
+ }
19
+ static {
20
+ setComponentTemplate(precompileTemplate("\n <option selected={{this.isSelected}} value={{this.uniqueId}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{!-- @glint-expect-error --}}\n {{@value}}\n {{/if}}\n </option>\n ", {
21
+ strictMode: true
22
+ }), this);
23
+ }
24
+ }
25
+
26
+ export { VelvetSelectOption as default };
27
+ //# sourceMappingURL=option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.js","sources":["../../../src/components/velvet-select/option.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { guidFor } from '@ember/object/internals';\nimport Component from '@glimmer/component';\nexport interface VelvetSelectOptionSignature {\n Args: {\n /// The value of the option.\n /// @default [undefined]\n value: unknown;\n privateOnCreate: (id: string, value: unknown) => void;\n privateOnDestroy: (id: string) => void;\n privateSelected: unknown;\n };\n Blocks: {\n /// The label of the option.\n default: [];\n };\n Element: HTMLOptionElement;\n}\nexport default class VelvetSelectOption extends Component<VelvetSelectOptionSignature> {\n uniqueId = guidFor(this);\n get isSelected() {\n return this.args.value === this.args.privateSelected;\n }\n constructor(owner1: unknown, args1: VelvetSelectOptionSignature['Args']){\n super(owner1, args1);\n this.args.privateOnCreate(this.uniqueId, this.args.value);\n }\n willDestroy() {\n super.willDestroy();\n this.args.privateOnDestroy(this.uniqueId);\n }\n static{\n template(`\n <option selected={{this.isSelected}} value={{this.uniqueId}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{! @glint-expect-error }}\n {{@value}}\n {{/if}}\n </option>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LXNlbGVjdC9vcHRpb24uZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGd1aWRGb3IgfSBmcm9tICdAZW1iZXIvb2JqZWN0L2ludGVybmFscyc7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVsdmV0U2VsZWN0T3B0aW9uU2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIC8vLyBUaGUgdmFsdWUgb2YgdGhlIG9wdGlvbi5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICB2YWx1ZTogdW5rbm93bjtcblxuICAgIHByaXZhdGVPbkNyZWF0ZTogKGlkOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSA9PiB2b2lkO1xuICAgIHByaXZhdGVPbkRlc3Ryb3k6IChpZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIHByaXZhdGVTZWxlY3RlZDogdW5rbm93bjtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgLy8vIFRoZSBsYWJlbCBvZiB0aGUgb3B0aW9uLlxuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xuICBFbGVtZW50OiBIVE1MT3B0aW9uRWxlbWVudDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsdmV0U2VsZWN0T3B0aW9uIGV4dGVuZHMgQ29tcG9uZW50PFZlbHZldFNlbGVjdE9wdGlvblNpZ25hdHVyZT4ge1xuICB1bmlxdWVJZCA9IGd1aWRGb3IodGhpcyk7XG5cbiAgZ2V0IGlzU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJncy52YWx1ZSA9PT0gdGhpcy5hcmdzLnByaXZhdGVTZWxlY3RlZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG93bmVyOiB1bmtub3duLCBhcmdzOiBWZWx2ZXRTZWxlY3RPcHRpb25TaWduYXR1cmVbJ0FyZ3MnXSkge1xuICAgIHN1cGVyKG93bmVyLCBhcmdzKTtcblxuICAgIHRoaXMuYXJncy5wcml2YXRlT25DcmVhdGUodGhpcy51bmlxdWVJZCwgdGhpcy5hcmdzLnZhbHVlKTtcbiAgfVxuXG4gIHdpbGxEZXN0cm95KCkge1xuICAgIHN1cGVyLndpbGxEZXN0cm95KCk7XG5cbiAgICB0aGlzLmFyZ3MucHJpdmF0ZU9uRGVzdHJveSh0aGlzLnVuaXF1ZUlkKTtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8b3B0aW9uIHNlbGVjdGVkPXt7dGhpcy5pc1NlbGVjdGVkfX0gdmFsdWU9e3t0aGlzLnVuaXF1ZUlkfX0gLi4uYXR0cmlidXRlcz5cbiAgICAgIHt7I2lmIChoYXMtYmxvY2spfX1cbiAgICAgICAge3t5aWVsZH19XG4gICAgICB7e2Vsc2V9fVxuICAgICAgICB7eyEgQGdsaW50LWV4cGVjdC1lcnJvciB9fVxuICAgICAgICB7e0B2YWx1ZX19XG4gICAgICB7ey9pZn19XG4gICAgPC9vcHRpb24-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsT0FBTyxRQUFRLDBCQUEwQjtBQUNsRCxPQUFPLGVBQWUscUJBQXFCO0FBRTNDLGlCQUFpQjtJQUNmO1FBQ0UsNEJBQTRCO1FBQzVCLHdCQUF3QjtRQUN4QixPQUFPLE9BQU87UUFFZCxrQkFBa0IsSUFBSSxNQUFNLEVBQUUsT0FBTyxPQUFPLEtBQUssSUFBSTtRQUNyRCxtQkFBbUIsSUFBSSxNQUFNLEtBQUssSUFBSTtRQUN0QyxpQkFBaUIsT0FBTzs7SUFFMUI7UUFDRSw0QkFBNEI7UUFDNUI7O0lBRUYsU0FBUzs7QUFHWCxlQUFlLE1BQU0sMkJBQTJCLFVBQVU7SUFDeEQsV0FBVyxRQUFRLElBQUksRUFBRTtJQUV6QixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtJQUN0RDtJQUVBLFlBQVksUUFBTyxPQUFPLEVBQUUsT0FBTSw0QkFBNEIsT0FBTyxDQUFFO1FBQ3JFLEtBQUssQ0FBQyxRQUFPO1FBRWIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7SUFDMUQ7SUFFQSxjQUFjO1FBQ1osS0FBSyxDQUFDO1FBRU4sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUTtJQUMxQztJQUVBLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7OztFQVNWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQVRBO0FBVVoifQ"],"names":["VelvetSelectOption","Component","uniqueId","guidFor","isSelected","args","value","privateSelected","constructor","owner1","args1","privateOnCreate","willDestroy","privateOnDestroy","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAoBe,MAAMA,kBAAA,SAA2BC,SAAA,CAAU;EACxDC,QAAA,GAAWC,OAAA,CAAQ,IAAI,CAAA,CAAA;AAEvB,EAAA,IAAIC,aAAa;IACf,OAAO,IAAI,CAACC,IAAI,CAACC,KAAK,KAAK,IAAI,CAACD,IAAI,CAACE,eAAe,CAAA;AACtD,GAAA;EAEAC,WAAYC,CAAAA,MAAc,EAAEC,KAAyC,EAAE;IACrE,KAAK,CAACD,MAAA,EAAOC,KAAA,CAAA,CAAA;AAEb,IAAA,IAAI,CAACL,IAAI,CAACM,eAAe,CAAC,IAAI,CAACT,QAAQ,EAAE,IAAI,CAACG,IAAI,CAACC,KAAK,CAAA,CAAA;AAC1D,GAAA;AAEAM,EAAAA,WAAAA,GAAc;AACZ,IAAA,KAAK,CAACA,WAAA,EAAA,CAAA;AAEN,IAAA,IAAI,CAACP,IAAI,CAACQ,gBAAgB,CAAC,IAAI,CAACX,QAAQ,CAAA,CAAA;AAC1C,GAAA;AAEA,EAAA;IAAAY,oBAAA,CAAAC,kBAAA,CASA,+OAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,50 @@
1
+ import { concat, hash } from '@ember/helper';
2
+ import { on } from '@ember/modifier';
3
+ import Component from '@glimmer/component';
4
+ import { or } from 'ember-truth-helpers';
5
+ import { cn } from '../-private/helpers/cn.js';
6
+ import VelvetSelectOption from './velvet-select/option.js';
7
+ import { precompileTemplate } from '@ember/template-compilation';
8
+ import { setComponentTemplate } from '@ember/component';
9
+
10
+ class VelvetSelect extends Component {
11
+ options = new Map();
12
+ get hasSelection() {
13
+ return this.args.selected !== undefined && this.args.selected !== null;
14
+ }
15
+ get shouldRenderPlaceholder() {
16
+ return Boolean(this.args.placeholder) && this.hasSelection === false;
17
+ }
18
+ changeHandler = event1 => {
19
+ const {
20
+ isDisabled: isDisabled1,
21
+ onChange: onChange1
22
+ } = this.args;
23
+ if (typeof onChange1 !== 'function' || isDisabled1 === true) {
24
+ return;
25
+ }
26
+ onChange1(this.options.get(event1.target.value), event1);
27
+ };
28
+ addOption = (id1, value1) => {
29
+ this.options.set(id1, value1);
30
+ };
31
+ removeOption = id1 => {
32
+ this.options.delete(id1);
33
+ };
34
+ static {
35
+ setComponentTemplate(precompileTemplate("\n <select class={{cn \"velvet-select\" (concat \"velvet-select-\" (or @size \"md\")) (concat \"velvet-select-\" (or @variant \"primary\")) (if @isInvalid \"velvet-select-invalid\") (if @isPill \"velvet-select-pill\") (if @isDisabled \"velvet-select-disabled\") (if this.shouldRenderPlaceholder \"velvet-select-placeholder\") \"form-select\"}} disabled={{@isDisabled}} {{on \"change\" this.changeHandler}} ...attributes>\n {{#if this.shouldRenderPlaceholder}}\n <option disabled selected={{true}}>\n {{@placeholder}}\n </option>\n {{/if}}\n {{yield (hash Option=(component VelvetSelectOption privateOnCreate=this.addOption privateOnDestroy=this.removeOption privateSelected=@selected))}}\n </select>\n ", {
36
+ scope: () => ({
37
+ cn,
38
+ concat,
39
+ or,
40
+ on,
41
+ hash,
42
+ VelvetSelectOption
43
+ }),
44
+ strictMode: true
45
+ }), this);
46
+ }
47
+ }
48
+
49
+ export { VelvetSelect as default };
50
+ //# sourceMappingURL=velvet-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-select.js","sources":["../../src/components/velvet-select.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat, hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport type { WithBoundArgs } from '@glint/template';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nimport VelvetSelectOption from './velvet-select/option.gts';\nexport interface VelvetSelectSignature {\n Args: {\n /// Indicate if the select is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Indicate if the select is invalid.\n /// @default [false]\n isInvalid?: boolean;\n /// Indicate if the select is pill shaped.\n /// @default [false]\n isPill?: boolean;\n /// Handle the select's `change` event.\n /// @default [undefined]\n onChange?: (selected: unknown, event: Event) => void;\n /// The placeholder of the select.\n /// @default [\"\"]\n placeholder?: string;\n /// The selected option of the select.\n /// @default [undefined]\n selected?: unknown;\n /// The size of the select.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The appearance of the select.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Blocks: {\n /// The options of the select.\n default: [{\n Option: WithBoundArgs<typeof VelvetSelectOption, 'privateOnCreate' | 'privateOnDestroy' | 'privateSelected'>;\n }];\n };\n Element: HTMLSelectElement;\n}\nexport default class VelvetSelect extends Component<VelvetSelectSignature> {\n options = new Map();\n get hasSelection() {\n return this.args.selected !== undefined && this.args.selected !== null;\n }\n get shouldRenderPlaceholder() {\n return Boolean(this.args.placeholder) && this.hasSelection === false;\n }\n changeHandler = (event1: Event)=>{\n const { isDisabled: isDisabled1, onChange: onChange1 } = this.args;\n if (typeof onChange1 !== 'function' || isDisabled1 === true) {\n return;\n }\n onChange1(this.options.get((event1.target as HTMLSelectElement).value), event1);\n };\n addOption = (id1: string, value1: unknown)=>{\n this.options.set(id1, value1);\n };\n removeOption = (id1: string)=>{\n this.options.delete(id1);\n };\n static{\n template(`\n <select\n class={{cn\n \"velvet-select\"\n (concat \"velvet-select-\" (or @size \"md\"))\n (concat \"velvet-select-\" (or @variant \"primary\"))\n (if @isInvalid \"velvet-select-invalid\")\n (if @isPill \"velvet-select-pill\")\n (if @isDisabled \"velvet-select-disabled\")\n (if this.shouldRenderPlaceholder \"velvet-select-placeholder\")\n \"form-select\"\n }}\n disabled={{@isDisabled}}\n {{on \"change\" this.changeHandler}}\n ...attributes\n >\n {{#if this.shouldRenderPlaceholder}}\n <option disabled selected={{true}}>\n {{@placeholder}}\n </option>\n {{/if}}\n {{yield\n (hash\n Option=(component\n VelvetSelectOption\n privateOnCreate=this.addOption\n privateOnDestroy=this.removeOption\n privateSelected=@selected\n )\n )\n }}\n </select>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LXNlbGVjdC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uY2F0LCBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IFdpdGhCb3VuZEFyZ3MgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuaW1wb3J0IHsgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycy9jbi50cyc7XG5pbXBvcnQgVmVsdmV0U2VsZWN0T3B0aW9uIGZyb20gJy4vdmVsdmV0LXNlbGVjdC9vcHRpb24uZ3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBWZWx2ZXRTZWxlY3RTaWduYXR1cmUge1xuICBBcmdzOiB7XG4gICAgLy8vIEluZGljYXRlIGlmIHRoZSBzZWxlY3QgaXMgZGlzYWJsZWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcblxuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgc2VsZWN0IGlzIGludmFsaWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc0ludmFsaWQ_OiBib29sZWFuO1xuXG4gICAgLy8vIEluZGljYXRlIGlmIHRoZSBzZWxlY3QgaXMgcGlsbCBzaGFwZWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc1BpbGw_OiBib29sZWFuO1xuXG4gICAgLy8vIEhhbmRsZSB0aGUgc2VsZWN0J3MgYGNoYW5nZWAgZXZlbnQuXG4gICAgLy8vIEBkZWZhdWx0IFt1bmRlZmluZWRdXG4gICAgb25DaGFuZ2U_OiAoc2VsZWN0ZWQ6IHVua25vd24sIGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcblxuICAgIC8vLyBUaGUgcGxhY2Vob2xkZXIgb2YgdGhlIHNlbGVjdC5cbiAgICAvLy8gQGRlZmF1bHQgW1wiXCJdXG4gICAgcGxhY2Vob2xkZXI_OiBzdHJpbmc7XG5cbiAgICAvLy8gVGhlIHNlbGVjdGVkIG9wdGlvbiBvZiB0aGUgc2VsZWN0LlxuICAgIC8vLyBAZGVmYXVsdCBbdW5kZWZpbmVkXVxuICAgIHNlbGVjdGVkPzogdW5rbm93bjtcblxuICAgIC8vLyBUaGUgc2l6ZSBvZiB0aGUgc2VsZWN0LlxuICAgIC8vLyBAZGVmYXVsdCBbXCJtZFwiXVxuICAgIHNpemU_OiAnc20nIHwgJ21kJyB8ICdsZyc7XG5cbiAgICAvLy8gVGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHNlbGVjdC5cbiAgICAvLy8gQGRlZmF1bHQgW1wicHJpbWFyeVwiXVxuICAgIHZhcmlhbnQ_OiBzdHJpbmcgfCAncHJpbWFyeSc7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIC8vLyBUaGUgb3B0aW9ucyBvZiB0aGUgc2VsZWN0LlxuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAgT3B0aW9uOiBXaXRoQm91bmRBcmdzPFxuICAgICAgICAgIHR5cGVvZiBWZWx2ZXRTZWxlY3RPcHRpb24sXG4gICAgICAgICAgJ3ByaXZhdGVPbkNyZWF0ZScgfCAncHJpdmF0ZU9uRGVzdHJveScgfCAncHJpdmF0ZVNlbGVjdGVkJ1xuICAgICAgICA-O1xuICAgICAgfSxcbiAgICBdO1xuICB9O1xuICBFbGVtZW50OiBIVE1MU2VsZWN0RWxlbWVudDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsdmV0U2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50PFZlbHZldFNlbGVjdFNpZ25hdHVyZT4ge1xuICBvcHRpb25zID0gbmV3IE1hcCgpO1xuXG4gIGdldCBoYXNTZWxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJncy5zZWxlY3RlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYXJncy5zZWxlY3RlZCAhPT0gbnVsbDtcbiAgfVxuXG4gIGdldCBzaG91bGRSZW5kZXJQbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmFyZ3MucGxhY2Vob2xkZXIpICYmIHRoaXMuaGFzU2VsZWN0aW9uID09PSBmYWxzZTtcbiAgfVxuXG4gIGNoYW5nZUhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBpc0Rpc2FibGVkLCBvbkNoYW5nZSB9ID0gdGhpcy5hcmdzO1xuXG4gICAgaWYgKHR5cGVvZiBvbkNoYW5nZSAhPT0gJ2Z1bmN0aW9uJyB8fCBpc0Rpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb25DaGFuZ2UoXG4gICAgICB0aGlzLm9wdGlvbnMuZ2V0KChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlKSxcbiAgICAgIGV2ZW50LFxuICAgICk7XG4gIH07XG5cbiAgYWRkT3B0aW9uID0gKGlkOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSA9PiB7XG4gICAgdGhpcy5vcHRpb25zLnNldChpZCwgdmFsdWUpO1xuICB9O1xuXG4gIHJlbW92ZU9wdGlvbiA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy5vcHRpb25zLmRlbGV0ZShpZCk7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxzZWxlY3RcbiAgICAgIGNsYXNzPXt7Y25cbiAgICAgICAgXCJ2ZWx2ZXQtc2VsZWN0XCJcbiAgICAgICAgKGNvbmNhdCBcInZlbHZldC1zZWxlY3QtXCIgKG9yIEBzaXplIFwibWRcIikpXG4gICAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtc2VsZWN0LVwiIChvciBAdmFyaWFudCBcInByaW1hcnlcIikpXG4gICAgICAgIChpZiBAaXNJbnZhbGlkIFwidmVsdmV0LXNlbGVjdC1pbnZhbGlkXCIpXG4gICAgICAgIChpZiBAaXNQaWxsIFwidmVsdmV0LXNlbGVjdC1waWxsXCIpXG4gICAgICAgIChpZiBAaXNEaXNhYmxlZCBcInZlbHZldC1zZWxlY3QtZGlzYWJsZWRcIilcbiAgICAgICAgKGlmIHRoaXMuc2hvdWxkUmVuZGVyUGxhY2Vob2xkZXIgXCJ2ZWx2ZXQtc2VsZWN0LXBsYWNlaG9sZGVyXCIpXG4gICAgICAgIFwiZm9ybS1zZWxlY3RcIlxuICAgICAgfX1cbiAgICAgIGRpc2FibGVkPXt7QGlzRGlzYWJsZWR9fVxuICAgICAge3tvbiBcImNoYW5nZVwiIHRoaXMuY2hhbmdlSGFuZGxlcn19XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgPlxuICAgICAge3sjaWYgdGhpcy5zaG91bGRSZW5kZXJQbGFjZWhvbGRlcn19XG4gICAgICAgIDxvcHRpb24gZGlzYWJsZWQgc2VsZWN0ZWQ9e3t0cnVlfX0-XG4gICAgICAgICAge3tAcGxhY2Vob2xkZXJ9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIHt7L2lmfX1cbiAgICAgIHt7eWllbGRcbiAgICAgICAgKGhhc2hcbiAgICAgICAgICBPcHRpb249KGNvbXBvbmVudFxuICAgICAgICAgICAgVmVsdmV0U2VsZWN0T3B0aW9uXG4gICAgICAgICAgICBwcml2YXRlT25DcmVhdGU9dGhpcy5hZGRPcHRpb25cbiAgICAgICAgICAgIHByaXZhdGVPbkRlc3Ryb3k9dGhpcy5yZW1vdmVPcHRpb25cbiAgICAgICAgICAgIHByaXZhdGVTZWxlY3RlZD1Ac2VsZWN0ZWRcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIH19XG4gICAgPC9zZWxlY3Q-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsTUFBTSxFQUFFLElBQUksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBQ3JDLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsY0FBYyxhQUFhLFFBQVEsa0JBQWtCO0FBQ3JELFNBQVMsRUFBRSxRQUFRLHNCQUFzQjtBQUN6QyxTQUFTLEVBQUUsUUFBUSw0QkFBNEI7QUFDL0MsT0FBTyx3QkFBd0IsNkJBQTZCO0FBRTVELGlCQUFpQjtJQUNmO1FBQ0UsdUNBQXVDO1FBQ3ZDLG9CQUFvQjtRQUNwQixhQUFhLE9BQU87UUFFcEIsc0NBQXNDO1FBQ3RDLG9CQUFvQjtRQUNwQixZQUFZLE9BQU87UUFFbkIsMENBQTBDO1FBQzFDLG9CQUFvQjtRQUNwQixTQUFTLE9BQU87UUFFaEIsdUNBQXVDO1FBQ3ZDLHdCQUF3QjtRQUN4QixZQUFZLFVBQVUsT0FBTyxFQUFFLE9BQU8sVUFBVSxJQUFJO1FBRXBELGtDQUFrQztRQUNsQyxpQkFBaUI7UUFDakIsY0FBYyxNQUFNO1FBRXBCLHNDQUFzQztRQUN0Qyx3QkFBd0I7UUFDeEIsV0FBVyxPQUFPO1FBRWxCLDJCQUEyQjtRQUMzQixtQkFBbUI7UUFDbkIsT0FBTyxPQUFPLE9BQU87UUFFckIsaUNBQWlDO1FBQ2pDLHdCQUF3QjtRQUN4QixVQUFVLE1BQU0sR0FBRzs7SUFFckI7UUFDRSw4QkFBOEI7UUFDOUI7Z0JBRUksUUFBUSxxQkFDQyxvQkFDUCxvQkFBb0IscUJBQXFCOzs7SUFLakQsU0FBUzs7QUFHWCxlQUFlLE1BQU0scUJBQXFCLFVBQVU7SUFDbEQsVUFBVSxJQUFJLE1BQU07SUFFcEIsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSztJQUNwRTtJQUVBLElBQUksMEJBQTBCO1FBQzVCLE9BQU8sUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsWUFBWSxLQUFLO0lBQ2pFO0lBRUEsZ0JBQWdCLENBQUMsUUFBTztRQUN0QixNQUFNLEVBQUUsWUFBQSxXQUFVLEVBQUUsVUFBQSxTQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSTtRQUUxQyxJQUFJLE9BQU8sY0FBYSxjQUFjLGdCQUFlLE1BQU07WUFDekQ7UUFDRjtRQUVBLFVBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFNLE1BQU0sSUFBSSxpQkFBaUIsRUFBRSxLQUFLLEdBQzFEO0lBRUosRUFBRTtJQUVGLFlBQVksQ0FBQyxLQUFJLE1BQU0sRUFBRSxRQUFPLE9BQU87UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSTtJQUN2QixFQUFFO0lBRUYsZUFBZSxDQUFDLEtBQUksTUFBTTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN0QixFQUFFO0lBRUYsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQ1YsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBaENBO0FBaUNaIn0"],"names":["VelvetSelect","Component","options","Map","hasSelection","args","selected","undefined","shouldRenderPlaceholder","Boolean","placeholder","changeHandler","event1","isDisabled","isDisabled1","onChange","onChange1","get","target","value","addOption","id1","value1","set","removeOption","delete","setComponentTemplate","precompileTemplate","scope","cn","concat","or","on","hash","VelvetSelectOption","strictMode"],"mappings":";;;;;;;;;AAwDe,MAAMA,YAAA,SAAqBC,SAAA,CAAU;EAClDC,OAAA,GAAU,IAAIC,GAAA,EAAA,CAAA;AAEd,EAAA,IAAIC,eAAe;AACjB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACC,QAAQ,KAAKC,SAAA,IAAa,IAAI,CAACF,IAAI,CAACC,QAAQ,KAAK,IAAA,CAAA;AACpE,GAAA;AAEA,EAAA,IAAIE,0BAA0B;IAC5B,OAAOC,OAAA,CAAQ,IAAI,CAACJ,IAAI,CAACK,WAAW,CAAK,IAAA,IAAI,CAACN,YAAY,KAAK,KAAA,CAAA;AACjE,GAAA;AAEAO,EAAAA,aAAA,GAAiBC,MAAO,IAAA;IACtB,MAAM;AAAEC,MAAAA,UAAA,EAAAC,WAAU;AAAEC,MAAAA,QAAA,EAAAC,SAAAA;KAAU,GAAG,IAAI,CAACX,IAAI,CAAA;AAE1C,IAAA,IAAI,OAAOW,SAAA,KAAa,UAAcF,IAAAA,WAAA,KAAe,IAAM,EAAA;AACzD,MAAA,OAAA;AACF,KAAA;AAEAE,IAAAA,SAAA,CACE,IAAI,CAACd,OAAO,CAACe,GAAG,CAAEL,MAAA,CAAMM,MAAM,CAAuBC,KAAK,GAC1DP,MAAA,CAAA,CAAA;AAEJ,GAAA,CAAA;AAEAQ,EAAAA,SAAA,GAAYA,CAACC,GAAU,EAAEC,MAAc,KAAA;AACrC,IAAA,IAAI,CAACpB,OAAO,CAACqB,GAAG,CAACF,GAAA,EAAIC,MAAA,CAAA,CAAA;AACvB,GAAA,CAAA;AAEAE,EAAAA,YAAA,GAAgBH,GAAU,IAAA;AACxB,IAAA,IAAI,CAACnB,OAAO,CAACuB,MAAM,CAACJ,GAAA,CAAA,CAAA;AACtB,GAAA,CAAA;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CAgCA,6uBAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,EAAA;QAAAC,IAAA;AAAAC,QAAAA,kBAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,18 @@
1
+ import { concat } from '@ember/helper';
2
+ import { or } from 'ember-truth-helpers';
3
+ import { cn } from '../-private/helpers/cn.js';
4
+ import { precompileTemplate } from '@ember/template-compilation';
5
+ import { setComponentTemplate } from '@ember/component';
6
+ import templateOnly from '@ember/component/template-only';
7
+
8
+ const VelvetSpinner = setComponentTemplate(precompileTemplate("\n <svg class={{cn \"velvet-spinner\" (concat \"velvet-spinner-\" (or @size \"md\"))}} fill=\"none\" role=\"status\" stroke=\"currentColor\" stroke-width=\"10\" viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" ...attributes>\n <circle class=\"velvet-spinner-track\" cx=\"40\" cy=\"40\" r=\"35\"></circle>\n <circle class=\"velvet-spinner-line\" cx=\"40\" cy=\"40\" r=\"35\" stroke-dasharray=\"40, 160\" stroke-linecap=\"round\"></circle>\n </svg>\n", {
9
+ scope: () => ({
10
+ cn,
11
+ concat,
12
+ or
13
+ }),
14
+ strictMode: true
15
+ }), templateOnly());
16
+
17
+ export { VelvetSpinner as default };
18
+ //# sourceMappingURL=velvet-spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velvet-spinner.js","sources":["../../src/components/velvet-spinner.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport type { TOC } from '@ember/component/template-only';\nimport { concat } from '@ember/helper';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetSpinnerSignature {\n Args: {\n /// The size of the spinner.\n /// @default [\"md\"]\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n };\n Element: SVGElement;\n}\nconst VelvetSpinner: TOC<VelvetSpinnerSignature> = template(`\n <svg\n class={{cn\n \"velvet-spinner\"\n (concat \"velvet-spinner-\" (or @size \"md\"))\n }}\n fill=\"none\"\n role=\"status\"\n stroke=\"currentColor\"\n stroke-width=\"10\"\n viewBox=\"0 0 80 80\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ...attributes\n >\n <circle class=\"velvet-spinner-track\" cx=\"40\" cy=\"40\" r=\"35\"></circle>\n <circle\n class=\"velvet-spinner-line\"\n cx=\"40\"\n cy=\"40\"\n r=\"35\"\n stroke-dasharray=\"40, 160\"\n stroke-linecap=\"round\"\n ></circle>\n </svg>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default VelvetSpinner;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LXNwaW5uZXIuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycy9jbi50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVsdmV0U3Bpbm5lclNpZ25hdHVyZSB7XG4gIEFyZ3M6IHtcbiAgICAvLy8gVGhlIHNpemUgb2YgdGhlIHNwaW5uZXIuXG4gICAgLy8vIEBkZWZhdWx0IFtcIm1kXCJdXG4gICAgc2l6ZT86ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuICB9O1xuICBFbGVtZW50OiBTVkdFbGVtZW50O1xufVxuXG5jb25zdCBWZWx2ZXRTcGlubmVyOiBUT0M8VmVsdmV0U3Bpbm5lclNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIDxzdmdcbiAgICBjbGFzcz17e2NuXG4gICAgICBcInZlbHZldC1zcGlubmVyXCJcbiAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtc3Bpbm5lci1cIiAob3IgQHNpemUgXCJtZFwiKSlcbiAgICB9fVxuICAgIGZpbGw9XCJub25lXCJcbiAgICByb2xlPVwic3RhdHVzXCJcbiAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgIHN0cm9rZS13aWR0aD1cIjEwXCJcbiAgICB2aWV3Qm94PVwiMCAwIDgwIDgwXCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAuLi5hdHRyaWJ1dGVzXG4gID5cbiAgICA8Y2lyY2xlIGNsYXNzPVwidmVsdmV0LXNwaW5uZXItdHJhY2tcIiBjeD1cIjQwXCIgY3k9XCI0MFwiIHI9XCIzNVwiPjwvY2lyY2xlPlxuICAgIDxjaXJjbGVcbiAgICAgIGNsYXNzPVwidmVsdmV0LXNwaW5uZXItbGluZVwiXG4gICAgICBjeD1cIjQwXCJcbiAgICAgIGN5PVwiNDBcIlxuICAgICAgcj1cIjM1XCJcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCI0MCwgMTYwXCJcbiAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgID48L2NpcmNsZT5cbiAgPC9zdmc-XG48L3RlbXBsYXRlPjtcblxuZXhwb3J0IGRlZmF1bHQgVmVsdmV0U3Bpbm5lcjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO0FBQzFELFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxTQUFTLEVBQUUsUUFBUSxzQkFBc0I7QUFDekMsU0FBUyxFQUFFLFFBQVEsNEJBQTRCO0FBRS9DLGlCQUFpQjtJQUNmO1FBQ0UsNEJBQTRCO1FBQzVCLG1CQUFtQjtRQUNuQixPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU87O0lBRXJDLFNBQVM7O0FBR1gsTUFBTSxlQUFlLElBQUksMEJBQTBCLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0I3RCxDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUE7QUFFVixlQUFlLGNBQWMifQ"],"names":["VelvetSpinner","setComponentTemplate","precompileTemplate","scope","cn","concat","or","strictMode","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAwBnD,odAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;IAAAC,MAAA;AAAAC,IAAAA,EAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}