@visitwonders/assembly 0.1.0 → 0.2.0

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 (241) hide show
  1. package/declarations/action/button-group.d.ts +89 -0
  2. package/declarations/action/button-group.d.ts.map +1 -0
  3. package/declarations/action/button.d.ts +4 -0
  4. package/declarations/action/button.d.ts.map +1 -1
  5. package/declarations/action/index.d.ts +1 -0
  6. package/declarations/action/index.d.ts.map +1 -1
  7. package/declarations/components/form/checkbox.d.ts +0 -65
  8. package/declarations/components/form/control.d.ts +0 -36
  9. package/declarations/components/form/error-message.d.ts +0 -22
  10. package/declarations/components/form/field.d.ts +0 -21
  11. package/declarations/components/form/form.d.ts +0 -14
  12. package/declarations/components/form/help-text.d.ts +0 -14
  13. package/declarations/components/form/index.d.ts +0 -15
  14. package/declarations/components/form/input.d.ts +0 -80
  15. package/declarations/components/form/label.d.ts +0 -34
  16. package/declarations/components/form/radio-group.d.ts +0 -43
  17. package/declarations/components/form/radio.d.ts +0 -54
  18. package/declarations/components/form/search-input.d.ts +0 -35
  19. package/declarations/components/form/select.d.ts +0 -36
  20. package/declarations/components/form/test.d.ts +0 -11
  21. package/declarations/components/form/textarea.d.ts +0 -79
  22. package/declarations/components/form/toggle.d.ts +0 -23
  23. package/declarations/components/primitives/grid-item.d.ts +0 -21
  24. package/declarations/components/primitives/grid.d.ts +0 -49
  25. package/declarations/components/primitives/h-stack.d.ts +0 -17
  26. package/declarations/components/primitives/heading.d.ts +0 -52
  27. package/declarations/components/primitives/image.d.ts +0 -24
  28. package/declarations/components/primitives/index.d.ts +0 -8
  29. package/declarations/components/primitives/link.d.ts +0 -16
  30. package/declarations/components/primitives/stack.d.ts +0 -23
  31. package/declarations/components/primitives/text.d.ts +0 -50
  32. package/declarations/components/primitives/v-stack.d.ts +0 -16
  33. package/declarations/components/ui/badge.d.ts +0 -14
  34. package/declarations/components/ui/button.d.ts +0 -32
  35. package/declarations/components/ui/card.d.ts +0 -27
  36. package/declarations/components/ui/description-list.d.ts +0 -22
  37. package/declarations/components/ui/drawer.d.ts +0 -14
  38. package/declarations/components/ui/icon-button.d.ts +0 -21
  39. package/declarations/components/ui/icon.d.ts +0 -21
  40. package/declarations/components/ui/index.d.ts +0 -17
  41. package/declarations/components/ui/modal.d.ts +0 -14
  42. package/declarations/components/ui/page-header.d.ts +0 -16
  43. package/declarations/components/ui/skeleton-card.d.ts +0 -17
  44. package/declarations/components/ui/skeleton-text.d.ts +0 -16
  45. package/declarations/components/ui/skeleton.d.ts +0 -20
  46. package/declarations/components/ui/spinner.d.ts +0 -11
  47. package/declarations/components/ui/tab-nav/index.d.ts +0 -36
  48. package/declarations/components/ui/table/body.d.ts +0 -11
  49. package/declarations/components/ui/table/caption.d.ts +0 -18
  50. package/declarations/components/ui/table/cell.d.ts +0 -31
  51. package/declarations/components/ui/table/footer.d.ts +0 -11
  52. package/declarations/components/ui/table/header-cell.d.ts +0 -35
  53. package/declarations/components/ui/table/header.d.ts +0 -11
  54. package/declarations/components/ui/table/row.d.ts +0 -21
  55. package/declarations/components/ui/table_old.d.ts +0 -29
  56. package/declarations/data/table.d.ts +0 -1
  57. package/declarations/data/table.d.ts.map +1 -1
  58. package/declarations/form/calendar.d.ts +0 -1
  59. package/declarations/form/calendar.d.ts.map +1 -1
  60. package/declarations/form/control.d.ts +5 -1
  61. package/declarations/form/control.d.ts.map +1 -1
  62. package/declarations/form/country-select-field.d.ts +6 -0
  63. package/declarations/form/country-select-field.d.ts.map +1 -1
  64. package/declarations/form/country-select.d.ts +0 -1
  65. package/declarations/form/country-select.d.ts.map +1 -1
  66. package/declarations/form/date-picker-field.d.ts +6 -0
  67. package/declarations/form/date-picker-field.d.ts.map +1 -1
  68. package/declarations/form/date-picker.d.ts +0 -1
  69. package/declarations/form/date-picker.d.ts.map +1 -1
  70. package/declarations/form/date-range-picker-field.d.ts +6 -0
  71. package/declarations/form/date-range-picker-field.d.ts.map +1 -1
  72. package/declarations/form/date-range-picker.d.ts +0 -1
  73. package/declarations/form/date-range-picker.d.ts.map +1 -1
  74. package/declarations/form/fieldset.d.ts +22 -0
  75. package/declarations/form/fieldset.d.ts.map +1 -0
  76. package/declarations/form/form.d.ts +0 -1
  77. package/declarations/form/form.d.ts.map +1 -1
  78. package/declarations/form/index.d.ts +1 -0
  79. package/declarations/form/index.d.ts.map +1 -1
  80. package/declarations/form/label.d.ts +4 -0
  81. package/declarations/form/label.d.ts.map +1 -1
  82. package/declarations/form/listbox.d.ts +0 -1
  83. package/declarations/form/listbox.d.ts.map +1 -1
  84. package/declarations/form/money-field.d.ts +6 -1
  85. package/declarations/form/money-field.d.ts.map +1 -1
  86. package/declarations/form/multi-select.d.ts +0 -1
  87. package/declarations/form/multi-select.d.ts.map +1 -1
  88. package/declarations/form/number-field.d.ts +9 -1
  89. package/declarations/form/number-field.d.ts.map +1 -1
  90. package/declarations/form/select-field.d.ts +4 -1
  91. package/declarations/form/select-field.d.ts.map +1 -1
  92. package/declarations/form/test.d.ts +0 -11
  93. package/declarations/form/text-field.d.ts +9 -0
  94. package/declarations/form/text-field.d.ts.map +1 -1
  95. package/declarations/form/time-picker-field.d.ts +6 -0
  96. package/declarations/form/time-picker-field.d.ts.map +1 -1
  97. package/declarations/form/time-picker.d.ts +0 -1
  98. package/declarations/form/time-picker.d.ts.map +1 -1
  99. package/declarations/form/toggle.d.ts +4 -0
  100. package/declarations/form/toggle.d.ts.map +1 -1
  101. package/declarations/layout/index.d.ts +1 -0
  102. package/declarations/layout/index.d.ts.map +1 -1
  103. package/declarations/layout/panel.d.ts +34 -0
  104. package/declarations/layout/panel.d.ts.map +1 -0
  105. package/declarations/media/icon.d.ts +0 -1
  106. package/declarations/media/icon.d.ts.map +1 -1
  107. package/declarations/media/image.d.ts +1 -1
  108. package/declarations/overlay/blanket.d.ts +0 -1
  109. package/declarations/overlay/blanket.d.ts.map +1 -1
  110. package/declarations/overlay/drawer.d.ts +4 -1
  111. package/declarations/overlay/drawer.d.ts.map +1 -1
  112. package/declarations/overlay/modal.d.ts +0 -1
  113. package/declarations/overlay/modal.d.ts.map +1 -1
  114. package/declarations/overlay/popover.d.ts +0 -1
  115. package/declarations/overlay/popover.d.ts.map +1 -1
  116. package/declarations/overlay/toast.d.ts +0 -1
  117. package/declarations/overlay/toast.d.ts.map +1 -1
  118. package/declarations/overlay/tooltip.d.ts +0 -1
  119. package/declarations/overlay/tooltip.d.ts.map +1 -1
  120. package/declarations/primitives/grid-item.d.ts +0 -21
  121. package/declarations/primitives/grid.d.ts +0 -49
  122. package/declarations/primitives/h-stack.d.ts +0 -17
  123. package/declarations/primitives/heading.d.ts +0 -52
  124. package/declarations/primitives/image.d.ts +0 -24
  125. package/declarations/primitives/index.d.ts +0 -4
  126. package/declarations/primitives/link.d.ts +0 -16
  127. package/declarations/primitives/stack.d.ts +0 -23
  128. package/declarations/primitives/text.d.ts +0 -50
  129. package/declarations/primitives/v-stack.d.ts +0 -16
  130. package/declarations/status/badge.d.ts +0 -1
  131. package/declarations/status/badge.d.ts.map +1 -1
  132. package/declarations/status/skeleton-avatar.d.ts +1 -1
  133. package/declarations/status/skeleton-avatar.d.ts.map +1 -1
  134. package/declarations/status/skeleton-button.d.ts +1 -1
  135. package/declarations/status/skeleton-button.d.ts.map +1 -1
  136. package/declarations/status/skeleton-image.d.ts +1 -1
  137. package/declarations/status/skeleton-image.d.ts.map +1 -1
  138. package/declarations/status/skeleton-text.d.ts +1 -1
  139. package/declarations/status/skeleton-text.d.ts.map +1 -1
  140. package/declarations/status/skeleton.d.ts +1 -1
  141. package/declarations/status/skeleton.d.ts.map +1 -1
  142. package/declarations/status/tag.d.ts +0 -1
  143. package/declarations/status/tag.d.ts.map +1 -1
  144. package/declarations/typography/link.d.ts +0 -16
  145. package/declarations/ui/button.d.ts +0 -50
  146. package/declarations/ui/icon.d.ts +0 -21
  147. package/dist/_app_/action/button-group.js +1 -0
  148. package/dist/_app_/form/fieldset.js +1 -0
  149. package/dist/_app_/layout/panel.js +1 -0
  150. package/dist/action/button-group.css +18 -0
  151. package/dist/action/button-group.js +130 -0
  152. package/dist/action/button-group.js.map +1 -0
  153. package/dist/action/button.css +152 -0
  154. package/dist/action/button.js +1 -1
  155. package/dist/action/index.js +1 -0
  156. package/dist/action/index.js.map +1 -1
  157. package/dist/data/table.css +48 -47
  158. package/dist/data/table.js +1 -1
  159. package/dist/form/checkbox.css +3 -3
  160. package/dist/form/control-css-02e93d930aecac651d5c69dc10a83504.css +36 -0
  161. package/dist/form/control.js +2 -2
  162. package/dist/form/country-select-field.js +1 -1
  163. package/dist/form/country-select-field.js.map +1 -1
  164. package/dist/form/country-select.css +1 -1
  165. package/dist/form/date-picker-field.js +1 -1
  166. package/dist/form/date-picker-field.js.map +1 -1
  167. package/dist/form/date-range-picker-field.js +1 -1
  168. package/dist/form/date-range-picker-field.js.map +1 -1
  169. package/dist/form/field.css +3 -3
  170. package/dist/form/fieldset.css +65 -0
  171. package/dist/form/fieldset.js +20 -0
  172. package/dist/form/fieldset.js.map +1 -0
  173. package/dist/form/help-text.css +1 -1
  174. package/dist/form/index.js +1 -0
  175. package/dist/form/index.js.map +1 -1
  176. package/dist/form/input.css +1 -0
  177. package/dist/form/label.css +15 -1
  178. package/dist/form/label.js +10 -4
  179. package/dist/form/money-field.js +1 -1
  180. package/dist/form/multi-select.css +1 -1
  181. package/dist/form/number-field.css +1 -0
  182. package/dist/form/number-field.js +1 -1
  183. package/dist/form/radio.css +3 -3
  184. package/dist/form/select-field.js +1 -1
  185. package/dist/form/select-field.js.map +1 -1
  186. package/dist/form/select.css +1 -1
  187. package/dist/form/{text-field-css-f60360f3f8aaf4da664eaccd1bcc9f8f.css → text-field-css-754feeb82dbd9fc9afdc1f00dceb13ad.css} +22 -1
  188. package/dist/form/text-field.js +2 -2
  189. package/dist/form/textarea.css +2 -1
  190. package/dist/form/time-picker-field.js +1 -1
  191. package/dist/form/time-picker-field.js.map +1 -1
  192. package/dist/form/toggle.css +27 -1
  193. package/dist/form/toggle.js +4 -1
  194. package/dist/layout/{divider-css-1ba104b9c606cbd1f542b45640fb5f2b.css → divider-css-7e0cc7d350e31172582851c6cb2cf586.css} +2 -2
  195. package/dist/layout/divider.js +1 -1
  196. package/dist/layout/{grid-css-086976eb41686e3714554f56c098d3d5.css → grid-css-c8259b34d7062f44e78f0a2cc139cb44.css} +13 -13
  197. package/dist/layout/grid.js +1 -1
  198. package/dist/layout/index.js +1 -0
  199. package/dist/layout/index.js.map +1 -1
  200. package/dist/layout/panel.css +229 -0
  201. package/dist/layout/panel.js +32 -0
  202. package/dist/layout/panel.js.map +1 -0
  203. package/dist/overlay/blanket.css +12 -11
  204. package/dist/overlay/blanket.js +1 -1
  205. package/dist/overlay/drawer.css +99 -62
  206. package/dist/overlay/drawer.js +7 -4
  207. package/dist/overlay/modal.css +22 -21
  208. package/dist/overlay/modal.js +4 -4
  209. package/dist/overlay/popover.css +30 -29
  210. package/dist/overlay/popover.js +4 -4
  211. package/dist/overlay/toast.css +49 -48
  212. package/dist/overlay/toast.js +2 -2
  213. package/dist/overlay/tooltip.css +38 -37
  214. package/dist/overlay/tooltip.js +2 -2
  215. package/dist/skeleton-shared-BTA5oAjw.js +3 -0
  216. package/dist/skeleton-shared-BTA5oAjw.js.map +1 -0
  217. package/dist/status/badge.css +30 -29
  218. package/dist/status/badge.js +1 -1
  219. package/dist/status/skeleton-avatar.js +1 -1
  220. package/dist/status/skeleton-avatar.js.map +1 -1
  221. package/dist/status/skeleton-button.js +1 -1
  222. package/dist/status/skeleton-button.js.map +1 -1
  223. package/dist/status/skeleton-image.js +1 -1
  224. package/dist/status/skeleton-image.js.map +1 -1
  225. package/dist/status/skeleton-text.js +1 -1
  226. package/dist/status/skeleton-text.js.map +1 -1
  227. package/dist/status/skeleton.js +1 -1
  228. package/dist/status/skeleton.js.map +1 -1
  229. package/dist/status/tag.css +50 -51
  230. package/dist/status/tag.js +1 -1
  231. package/dist/styles/base/typography.css +1 -1
  232. package/dist/styles/primitive/typography.css +10 -7
  233. package/dist/styles/semantic/typography.css +4 -4
  234. package/dist/styles.css +15 -12
  235. package/dist/typography/{heading-css-8850735eabc2efb34f15240b852c99e7.css → heading-css-726c4c3109f2b741657733e1ba103c67.css} +9 -9
  236. package/dist/typography/heading.js +1 -1
  237. package/package.json +22 -18
  238. package/dist/form/control-css-6c81caf37fd813b36033091d5340bc70.css +0 -20
  239. package/dist/skeleton-CL5Pcwrk.js +0 -3
  240. package/dist/skeleton-CL5Pcwrk.js.map +0 -1
  241. /package/dist/status/{skeleton.css → skeleton-shared.css} +0 -0
@@ -1,4 +1,4 @@
1
- import "./text-field-css-f60360f3f8aaf4da664eaccd1bcc9f8f.css"
1
+ import "./text-field-css-754feeb82dbd9fc9afdc1f00dceb13ad.css"
2
2
  import Component from '@glimmer/component';
3
3
  import { tracked } from '@glimmer/tracking';
4
4
  import { action } from '@ember/object';
@@ -123,7 +123,7 @@ class TextField extends Component {
123
123
  n(this.prototype, "handleBlur", [action]);
124
124
  }
125
125
  static {
126
- setComponentTemplate(precompileTemplate("\n\n<div class=\"text-field_e2680f9ba\" data-invalid={{if this.isInvalid \"true\" \"false\"}} data-disabled={{if this.isDisabled \"true\" \"false\"}} data-readonly={{if this.isReadOnly \"true\" \"false\"}} data-over-limit={{if this.isOverLimit \"true\" \"false\"}} data-test-text-field ...attributes>\n <Label @for={{this.id}} @isRequired={{this.isRequired}} @isDisabled={{this.isDisabled}} @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </Label>\n\n {{#if @multiline}}\n <FormTextarea id={{this.id}} @size={{@size}} @variant={{@variant}} @value={{this.currentValue}} @placeholder={{@placeholder}} @isDisabled={{this.isDisabled}} @isReadOnly={{this.isReadOnly}} @isRequired={{this.isRequired}} @isInvalid={{this.isInvalid}} @rows={{this.rows}} @autoGrow={{@autoResize}} @maxLength={{@maxLength}} @name={{@name}} @onInput={{this.handleTextareaInput}} @onChange={{this.handleTextareaChange}} @onFocus={{this.handleFocus}} @onBlur={{this.handleBlur}} aria-describedby={{if this.ariaDescribedBy this.ariaDescribedBy}} />\n {{else}}\n <FormInput id={{this.id}} @type={{@type}} @size={{@size}} @variant={{@variant}} @value={{this.currentValue}} @placeholder={{@placeholder}} @isDisabled={{this.isDisabled}} @isReadOnly={{this.isReadOnly}} @isRequired={{this.isRequired}} @isInvalid={{this.isInvalid}} @maxLength={{@maxLength}} @autoComplete={{@autoComplete}} @name={{@name}} aria-describedby={{if this.ariaDescribedBy this.ariaDescribedBy}} {{on \"input\" this.handleInputEvent}} {{on \"change\" this.handleChangeEvent}} {{on \"focus\" this.handleFocus}} {{on \"blur\" this.handleBlur}}>\n <:prefix>{{yield to=\"prefix\"}}{{@prefix}}</:prefix>\n <:suffix>{{yield to=\"suffix\"}}{{@suffix}}</:suffix>\n </FormInput>\n {{/if}}\n\n {{#if this.showFooter}}\n <div class=\"text-field-footer_e2680f9ba\" data-test-text-field-footer>\n {{#if @error}}\n <ErrorMessage id={{this.errorMessageId}} @isInvalid={{this.isInvalid}}>\n {{@error}}\n </ErrorMessage>\n {{else if @helpText}}\n <HelpText id={{this.helpTextId}}>\n {{@helpText}}\n </HelpText>\n {{/if}}\n\n {{#if @showCharacterCount}}\n <span class=\"text-field-character-count_e2680f9ba\" aria-live=\"polite\" data-test-character-count>\n {{this.characterCount}}{{#if @maxLength}}/{{@maxLength}}{{/if}}\n </span>\n {{/if}}\n </div>\n {{/if}}\n</div>", {
126
+ setComponentTemplate(precompileTemplate("\n\n<div class=\"text-field_e2680f9ba\" data-invalid={{if this.isInvalid \"true\" \"false\"}} data-disabled={{if this.isDisabled \"true\" \"false\"}} data-readonly={{if this.isReadOnly \"true\" \"false\"}} data-over-limit={{if this.isOverLimit \"true\" \"false\"}} data-monospace={{if @monospace \"true\" \"false\"}} data-max-width={{@maxWidth}} data-test-text-field ...attributes>\n {{#if (has-block \"info\")}}\n <Label @for={{this.id}} @isRequired={{this.isRequired}} @isDisabled={{this.isDisabled}} @isVisuallyHidden={{this.isLabelHidden}} @info={{@labelInfo}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </Label>\n {{else}}\n <Label @for={{this.id}} @isRequired={{this.isRequired}} @isDisabled={{this.isDisabled}} @isVisuallyHidden={{this.isLabelHidden}} @info={{@labelInfo}}>\n {{@label}}\n </Label>\n {{/if}}\n\n {{#if @multiline}}\n <FormTextarea id={{this.id}} @size={{@size}} @variant={{@variant}} @value={{this.currentValue}} @placeholder={{@placeholder}} @isDisabled={{this.isDisabled}} @isReadOnly={{this.isReadOnly}} @isRequired={{this.isRequired}} @isInvalid={{this.isInvalid}} @rows={{this.rows}} @autoGrow={{@autoResize}} @maxLength={{@maxLength}} @name={{@name}} @onInput={{this.handleTextareaInput}} @onChange={{this.handleTextareaChange}} @onFocus={{this.handleFocus}} @onBlur={{this.handleBlur}} aria-describedby={{if this.ariaDescribedBy this.ariaDescribedBy}} />\n {{else}}\n <FormInput id={{this.id}} @type={{@type}} @size={{@size}} @variant={{@variant}} @value={{this.currentValue}} @placeholder={{@placeholder}} @isDisabled={{this.isDisabled}} @isReadOnly={{this.isReadOnly}} @isRequired={{this.isRequired}} @isInvalid={{this.isInvalid}} @maxLength={{@maxLength}} @autoComplete={{@autoComplete}} @name={{@name}} aria-describedby={{if this.ariaDescribedBy this.ariaDescribedBy}} {{on \"input\" this.handleInputEvent}} {{on \"change\" this.handleChangeEvent}} {{on \"focus\" this.handleFocus}} {{on \"blur\" this.handleBlur}}>\n <:prefix>{{yield to=\"prefix\"}}{{@prefix}}</:prefix>\n <:suffix>{{yield to=\"suffix\"}}{{@suffix}}</:suffix>\n </FormInput>\n {{/if}}\n\n {{#if this.showFooter}}\n <div class=\"text-field-footer_e2680f9ba\" data-test-text-field-footer>\n {{#if @error}}\n <ErrorMessage id={{this.errorMessageId}} @isInvalid={{this.isInvalid}}>\n {{@error}}\n </ErrorMessage>\n {{else if @helpText}}\n <HelpText id={{this.helpTextId}}>\n {{@helpText}}\n </HelpText>\n {{/if}}\n\n {{#if @showCharacterCount}}\n <span class=\"text-field-character-count_e2680f9ba\" aria-live=\"polite\" data-test-character-count>\n {{this.characterCount}}{{#if @maxLength}}/{{@maxLength}}{{/if}}\n </span>\n {{/if}}\n </div>\n {{/if}}\n</div>", {
127
127
  strictMode: true,
128
128
  scope: () => ({
129
129
  Label,
@@ -13,6 +13,7 @@
13
13
 
14
14
  /* Textarea element */
15
15
  .textarea_eb3566bbf {
16
+ box-sizing: border-box;
16
17
  width: 100%;
17
18
  padding: var(--spacing-2);
18
19
  border: var(--border-width-1) solid var(--color-border-control);
@@ -21,7 +22,7 @@
21
22
  color: var(--color-text);
22
23
  font-family: inherit;
23
24
  font-size: var(--font-size-13);
24
- line-height: var(--line-height-1-25);
25
+ line-height: var(--line-height-tight);
25
26
  transition:
26
27
  border-color var(--transition-fast),
27
28
  box-shadow var(--transition-fast);
@@ -23,7 +23,7 @@ class TimePickerField extends Component {
23
23
  return parts.length > 0 ? parts.join(' ') : undefined;
24
24
  };
25
25
  static {
26
- setComponentTemplate(precompileTemplate("<Control @isInvalid={{this.isInvalid}} @isDisabled={{@isDisabled}} @isRequired={{@isRequired}} @isReadOnly={{@isReadOnly}} ...attributes as |ctrl|>\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n\n <TimePicker @id={{ctrl.id}} @name={{@name}} @value={{@value}} @placeholder={{@placeholder}} @format={{@format}} @interval={{@interval}} @minTime={{@minTime}} @maxTime={{@maxTime}} @showNow={{@showNow}} @allowTextInput={{@allowTextInput}} @closeOnSelect={{@closeOnSelect}} @showIcon={{@showIcon}} @hideDisabledOptions={{@hideDisabledOptions}} @snapToInterval={{@snapToInterval}} @isDisabled={{@isDisabled}} @isInvalid={{this.isInvalid}} @isRequired={{@isRequired}} @isReadOnly={{@isReadOnly}} @aria-describedby={{this.getAriaDescribedBy ctrl.id}} @onChange={{@onChange}} @onBlur={{@onBlur}} @onFocus={{@onFocus}} data-test-time-picker-field />\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n</Control>", {
26
+ setComponentTemplate(precompileTemplate("<Control @isInvalid={{this.isInvalid}} @isDisabled={{@isDisabled}} @isRequired={{@isRequired}} @isReadOnly={{@isReadOnly}} @labelInfo={{@labelInfo}} ...attributes as |ctrl|>\n {{#if (has-block \"info\")}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </ctrl.Label>\n {{else}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n {{/if}}\n\n <TimePicker @id={{ctrl.id}} @name={{@name}} @value={{@value}} @placeholder={{@placeholder}} @format={{@format}} @interval={{@interval}} @minTime={{@minTime}} @maxTime={{@maxTime}} @showNow={{@showNow}} @allowTextInput={{@allowTextInput}} @closeOnSelect={{@closeOnSelect}} @showIcon={{@showIcon}} @hideDisabledOptions={{@hideDisabledOptions}} @snapToInterval={{@snapToInterval}} @isDisabled={{@isDisabled}} @isInvalid={{this.isInvalid}} @isRequired={{@isRequired}} @isReadOnly={{@isReadOnly}} @aria-describedby={{this.getAriaDescribedBy ctrl.id}} @onChange={{@onChange}} @onBlur={{@onBlur}} @onFocus={{@onFocus}} data-test-time-picker-field />\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n</Control>", {
27
27
  strictMode: true,
28
28
  scope: () => ({
29
29
  Control,
@@ -1 +1 @@
1
- {"version":3,"file":"time-picker-field.js","sources":["../../src/form/time-picker-field.gts"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport Control from './control.gts';\nimport TimePicker, { type TimeFormat } from './time-picker.gts';\n\nexport type LabelVisibility = 'visible' | 'hidden';\n\nexport interface TimePickerFieldSignature {\n Element: HTMLDivElement;\n Args: {\n /** Label text (required) */\n label: string;\n\n /** Current selected time value (HH:mm format) */\n value?: string | null;\n\n /** Placeholder text shown when no value is selected */\n placeholder?: string;\n\n /** Time format (12h or 24h) */\n format?: TimeFormat;\n\n /** Minutes between options (default: 15) */\n interval?: number;\n\n /** Minimum allowed time (HH:mm format) */\n minTime?: string;\n\n /** Maximum allowed time (HH:mm format) */\n maxTime?: string;\n\n /** Show \"Now\" option at the top */\n showNow?: boolean;\n\n /** Allow typing in the input */\n allowTextInput?: boolean;\n\n /** Close dropdown when a time is selected */\n closeOnSelect?: boolean;\n\n /** Show clock icon */\n showIcon?: boolean;\n\n /** Hide disabled options from the dropdown */\n hideDisabledOptions?: boolean;\n\n /** Round typed values to the nearest interval on blur */\n snapToInterval?: boolean;\n\n /** Help text displayed below the input */\n helpText?: string;\n\n /** Error message (also sets invalid state) */\n error?: string;\n\n /** Field is required */\n isRequired?: boolean;\n\n /** Field is disabled */\n isDisabled?: boolean;\n\n /** Field is read-only */\n isReadOnly?: boolean;\n\n /** Label visibility */\n labelVisibility?: LabelVisibility;\n\n /** Input name for forms */\n name?: string;\n\n /** Change event handler */\n onChange?: (value: string | null) => void;\n\n /** Blur event handler */\n onBlur?: (event: FocusEvent) => void;\n\n /** Focus event handler */\n onFocus?: (event: FocusEvent) => void;\n };\n}\n\nexport default class TimePickerField extends Component<TimePickerFieldSignature> {\n get isInvalid(): boolean {\n return !!this.args.error;\n }\n\n get isLabelHidden(): boolean {\n return this.args.labelVisibility === 'hidden';\n }\n\n /** Build aria-describedby from the control's help text and error message IDs */\n getAriaDescribedBy = (controlId: string): string | undefined => {\n const parts: string[] = [];\n if (this.args.helpText) {\n parts.push(`${controlId}-help-text`);\n }\n if (this.args.error) {\n parts.push(`${controlId}-error-message`);\n }\n return parts.length > 0 ? parts.join(' ') : undefined;\n };\n\n <template>\n <Control\n @isInvalid={{this.isInvalid}}\n @isDisabled={{@isDisabled}}\n @isRequired={{@isRequired}}\n @isReadOnly={{@isReadOnly}}\n ...attributes\n as |ctrl|\n >\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n\n <TimePicker\n @id={{ctrl.id}}\n @name={{@name}}\n @value={{@value}}\n @placeholder={{@placeholder}}\n @format={{@format}}\n @interval={{@interval}}\n @minTime={{@minTime}}\n @maxTime={{@maxTime}}\n @showNow={{@showNow}}\n @allowTextInput={{@allowTextInput}}\n @closeOnSelect={{@closeOnSelect}}\n @showIcon={{@showIcon}}\n @hideDisabledOptions={{@hideDisabledOptions}}\n @snapToInterval={{@snapToInterval}}\n @isDisabled={{@isDisabled}}\n @isInvalid={{this.isInvalid}}\n @isRequired={{@isRequired}}\n @isReadOnly={{@isReadOnly}}\n @aria-describedby={{this.getAriaDescribedBy ctrl.id}}\n @onChange={{@onChange}}\n @onBlur={{@onBlur}}\n @onFocus={{@onFocus}}\n data-test-time-picker-field\n />\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n </Control>\n </template>\n}\n"],"names":["TimePickerField","Component","isInvalid","args","error","isLabelHidden","labelVisibility","getAriaDescribedBy","controlId","parts","helpText","push","length","join","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","Control","TimePicker"],"mappings":";;;;;;AAiFe,MAAMA,wBAAwBC,SAAA,CAAU;EACrD,IAAIC,SAAAA,GAAqB;AACvB,IAAA,OAAO,CAAC,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK;AAC1B,EAAA;EAEA,IAAIC,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACF,IAAI,CAACG,eAAe,KAAK,QAAA;AACvC,EAAA;AAEA;EACAC,qBAAsBC,SAAiB,IAAqB;IAC1D,MAAMC,KAAa,GAAK,EAAE;AAC1B,IAAA,IAAI,IAAI,CAACN,IAAI,CAACO,QAAQ,EAAE;AACtBD,MAAAA,KAAA,CAAME,IAAI,CAAC,CAAA,EAAGH,SAAA,YAAqB,CAAA;AACrC,IAAA;AACA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACC,KAAK,EAAE;AACnBK,MAAAA,KAAA,CAAME,IAAI,CAAC,CAAA,EAAGH,SAAA,gBAAyB,CAAA;AACzC,IAAA;AACA,IAAA,OAAOC,MAAMG,MAAM,GAAG,IAAIH,KAAA,CAAMI,IAAI,CAAC,GAAA,CAAA,GAAOC,SAAA;EAC9C,CAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,6iCAAA,EA+CA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"time-picker-field.js","sources":["../../src/form/time-picker-field.gts"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport Control from './control.gts';\nimport TimePicker, { type TimeFormat } from './time-picker.gts';\n\nexport type LabelVisibility = 'visible' | 'hidden';\n\nexport interface TimePickerFieldSignature {\n Element: HTMLDivElement;\n Args: {\n /** Label text (required) */\n label: string;\n\n /** Current selected time value (HH:mm format) */\n value?: string | null;\n\n /** Placeholder text shown when no value is selected */\n placeholder?: string;\n\n /** Time format (12h or 24h) */\n format?: TimeFormat;\n\n /** Minutes between options (default: 15) */\n interval?: number;\n\n /** Minimum allowed time (HH:mm format) */\n minTime?: string;\n\n /** Maximum allowed time (HH:mm format) */\n maxTime?: string;\n\n /** Show \"Now\" option at the top */\n showNow?: boolean;\n\n /** Allow typing in the input */\n allowTextInput?: boolean;\n\n /** Close dropdown when a time is selected */\n closeOnSelect?: boolean;\n\n /** Show clock icon */\n showIcon?: boolean;\n\n /** Hide disabled options from the dropdown */\n hideDisabledOptions?: boolean;\n\n /** Round typed values to the nearest interval on blur */\n snapToInterval?: boolean;\n\n /** Help text displayed below the input */\n helpText?: string;\n\n /** Error message (also sets invalid state) */\n error?: string;\n\n /** Field is required */\n isRequired?: boolean;\n\n /** Field is disabled */\n isDisabled?: boolean;\n\n /** Field is read-only */\n isReadOnly?: boolean;\n\n /** Info tooltip text shown next to the label */\n labelInfo?: string;\n\n /** Label visibility */\n labelVisibility?: LabelVisibility;\n\n /** Input name for forms */\n name?: string;\n\n /** Change event handler */\n onChange?: (value: string | null) => void;\n\n /** Blur event handler */\n onBlur?: (event: FocusEvent) => void;\n\n /** Focus event handler */\n onFocus?: (event: FocusEvent) => void;\n };\n Blocks: {\n /** Rich tooltip content shown next to the label */\n info: [];\n };\n}\n\nexport default class TimePickerField extends Component<TimePickerFieldSignature> {\n get isInvalid(): boolean {\n return !!this.args.error;\n }\n\n get isLabelHidden(): boolean {\n return this.args.labelVisibility === 'hidden';\n }\n\n /** Build aria-describedby from the control's help text and error message IDs */\n getAriaDescribedBy = (controlId: string): string | undefined => {\n const parts: string[] = [];\n if (this.args.helpText) {\n parts.push(`${controlId}-help-text`);\n }\n if (this.args.error) {\n parts.push(`${controlId}-error-message`);\n }\n return parts.length > 0 ? parts.join(' ') : undefined;\n };\n\n <template>\n <Control\n @isInvalid={{this.isInvalid}}\n @isDisabled={{@isDisabled}}\n @isRequired={{@isRequired}}\n @isReadOnly={{@isReadOnly}}\n @labelInfo={{@labelInfo}}\n ...attributes\n as |ctrl|\n >\n {{#if (has-block \"info\")}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </ctrl.Label>\n {{else}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n {{/if}}\n\n <TimePicker\n @id={{ctrl.id}}\n @name={{@name}}\n @value={{@value}}\n @placeholder={{@placeholder}}\n @format={{@format}}\n @interval={{@interval}}\n @minTime={{@minTime}}\n @maxTime={{@maxTime}}\n @showNow={{@showNow}}\n @allowTextInput={{@allowTextInput}}\n @closeOnSelect={{@closeOnSelect}}\n @showIcon={{@showIcon}}\n @hideDisabledOptions={{@hideDisabledOptions}}\n @snapToInterval={{@snapToInterval}}\n @isDisabled={{@isDisabled}}\n @isInvalid={{this.isInvalid}}\n @isRequired={{@isRequired}}\n @isReadOnly={{@isReadOnly}}\n @aria-describedby={{this.getAriaDescribedBy ctrl.id}}\n @onChange={{@onChange}}\n @onBlur={{@onBlur}}\n @onFocus={{@onFocus}}\n data-test-time-picker-field\n />\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n </Control>\n </template>\n}\n"],"names":["TimePickerField","Component","isInvalid","args","error","isLabelHidden","labelVisibility","getAriaDescribedBy","controlId","parts","helpText","push","length","join","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","Control","TimePicker"],"mappings":";;;;;;AAwFe,MAAMA,wBAAwBC,SAAA,CAAU;EACrD,IAAIC,SAAAA,GAAqB;AACvB,IAAA,OAAO,CAAC,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK;AAC1B,EAAA;EAEA,IAAIC,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACF,IAAI,CAACG,eAAe,KAAK,QAAA;AACvC,EAAA;AAEA;EACAC,qBAAsBC,SAAiB,IAAqB;IAC1D,MAAMC,KAAa,GAAK,EAAE;AAC1B,IAAA,IAAI,IAAI,CAACN,IAAI,CAACO,QAAQ,EAAE;AACtBD,MAAAA,KAAA,CAAME,IAAI,CAAC,CAAA,EAAGH,SAAA,YAAqB,CAAA;AACrC,IAAA;AACA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACC,KAAK,EAAE;AACnBK,MAAAA,KAAA,CAAME,IAAI,CAAC,CAAA,EAAGH,SAAA,gBAAyB,CAAA;AACzC,IAAA;AACA,IAAA,OAAOC,MAAMG,MAAM,GAAG,IAAIH,KAAA,CAAMI,IAAI,CAAC,GAAA,CAAA,GAAOC,SAAA;EAC9C,CAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,qyCAAA,EAuDA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -118,6 +118,31 @@
118
118
  background-color: var(--color-bg-fill-accent-hover);
119
119
  }
120
120
 
121
+ /* Sentiment variants - checked state */
122
+ .wrapper_eb612ecfd[data-sentiment="success"] .track_eb612ecfd.checked_eb612ecfd {
123
+ background-color: var(--color-bg-fill-success);
124
+ }
125
+
126
+ .wrapper_eb612ecfd[data-sentiment="success"] .label-wrapper_eb612ecfd:hover .track_eb612ecfd.checked_eb612ecfd {
127
+ background-color: var(--color-bg-fill-success-hover);
128
+ }
129
+
130
+ .wrapper_eb612ecfd[data-sentiment="warning"] .track_eb612ecfd.checked_eb612ecfd {
131
+ background-color: var(--color-bg-fill-warning);
132
+ }
133
+
134
+ .wrapper_eb612ecfd[data-sentiment="warning"] .label-wrapper_eb612ecfd:hover .track_eb612ecfd.checked_eb612ecfd {
135
+ background-color: var(--color-bg-fill-warning-hover);
136
+ }
137
+
138
+ .wrapper_eb612ecfd[data-sentiment="critical"] .track_eb612ecfd.checked_eb612ecfd {
139
+ background-color: var(--color-bg-fill-critical);
140
+ }
141
+
142
+ .wrapper_eb612ecfd[data-sentiment="critical"] .label-wrapper_eb612ecfd:hover .track_eb612ecfd.checked_eb612ecfd {
143
+ background-color: var(--color-bg-fill-critical-hover);
144
+ }
145
+
121
146
  /* Checked state - thumb position */
122
147
  .wrapper_eb612ecfd[data-size="sm"] .track_eb612ecfd.checked_eb612ecfd .thumb_eb612ecfd {
123
148
  transform: translateX(14px);
@@ -161,8 +186,9 @@
161
186
 
162
187
  /* Label */
163
188
  .label_eb612ecfd {
164
- font-size: var(--font-size-md);
165
189
  color: var(--color-text);
190
+ font-weight: var(--font-weight-regular);
191
+ font-size: var(--font-size-md);
166
192
  line-height: var(--line-height-normal);
167
193
  }
168
194
 
@@ -39,6 +39,9 @@ class Toggle extends Component {
39
39
  get labelPosition() {
40
40
  return this.args.labelPosition ?? 'start';
41
41
  }
42
+ get sentiment() {
43
+ return this.args.sentiment ?? 'default';
44
+ }
42
45
  get value() {
43
46
  return this.args.value ?? 'on';
44
47
  }
@@ -89,7 +92,7 @@ class Toggle extends Component {
89
92
  n(this.prototype, "handleBlur", [action]);
90
93
  }
91
94
  static {
92
- setComponentTemplate(precompileTemplate("<div class=\"wrapper_eb612ecfd\" data-size={{this.size}} data-label-position={{this.labelPosition}} data-disabled={{if @isDisabled \"true\"}} data-test-toggle-wrapper ...attributes>\n <label class=\"label-wrapper_eb612ecfd\">\n {{#if this.hasLabel}}\n {{#if (eq this.labelPosition \"start\")}}\n <span class=\"label_eb612ecfd\" data-test-toggle-label>\n {{@label}}\n {{#if @isRequired}}\n <span class=\"required_eb612ecfd\">*</span>\n {{/if}}\n </span>\n {{/if}}\n {{/if}}\n\n <input id={{this.inputId}} type=\"checkbox\" role=\"switch\" class=\"input_eb612ecfd\" name={{@name}} value={{this.value}} checked={{this.checked}} disabled={{@isDisabled}} required={{@isRequired}} aria-checked={{if this.checked \"true\" \"false\"}} aria-describedby={{this.ariaDescribedBy}} {{on \"change\" this.handleChange}} {{on \"focus\" this.handleFocus}} {{on \"blur\" this.handleBlur}} data-test-toggle />\n\n <span class=\"track_eb612ecfd\n {{if this.checked \"checked_eb612ecfd\"}}\n {{if this.isFocused \"focused_eb612ecfd\"}}\" data-focused={{if this.isFocused \"true\"}} data-test-toggle-track>\n <span class=\"thumb_eb612ecfd\" data-test-toggle-thumb></span>\n </span>\n\n {{#if this.hasLabel}}\n {{#if (eq this.labelPosition \"end\")}}\n <span class=\"label_eb612ecfd\" data-test-toggle-label>\n {{@label}}\n {{#if @isRequired}}\n <span class=\"required_eb612ecfd\">*</span>\n {{/if}}\n </span>\n {{/if}}\n {{/if}}\n </label>\n\n {{#if this.hasDescription}}\n <p id={{this.descriptionId}} class=\"description_eb612ecfd\" data-test-toggle-description>\n {{@description}}\n </p>\n {{/if}}\n</div>", {
95
+ setComponentTemplate(precompileTemplate("<div class=\"wrapper_eb612ecfd\" data-size={{this.size}} data-sentiment={{this.sentiment}} data-label-position={{this.labelPosition}} data-disabled={{if @isDisabled \"true\"}} data-test-toggle-wrapper ...attributes>\n <label class=\"label-wrapper_eb612ecfd\">\n {{#if this.hasLabel}}\n {{#if (eq this.labelPosition \"start\")}}\n <span class=\"label_eb612ecfd\" data-test-toggle-label>\n {{@label}}\n {{#if @isRequired}}\n <span class=\"required_eb612ecfd\">*</span>\n {{/if}}\n </span>\n {{/if}}\n {{/if}}\n\n <input id={{this.inputId}} type=\"checkbox\" role=\"switch\" class=\"input_eb612ecfd\" name={{@name}} value={{this.value}} checked={{this.checked}} disabled={{@isDisabled}} required={{@isRequired}} aria-checked={{if this.checked \"true\" \"false\"}} aria-describedby={{this.ariaDescribedBy}} {{on \"change\" this.handleChange}} {{on \"focus\" this.handleFocus}} {{on \"blur\" this.handleBlur}} data-test-toggle />\n\n <span class=\"track_eb612ecfd\n {{if this.checked \"checked_eb612ecfd\"}}\n {{if this.isFocused \"focused_eb612ecfd\"}}\" data-focused={{if this.isFocused \"true\"}} data-test-toggle-track>\n <span class=\"thumb_eb612ecfd\" data-test-toggle-thumb></span>\n </span>\n\n {{#if this.hasLabel}}\n {{#if (eq this.labelPosition \"end\")}}\n <span class=\"label_eb612ecfd\" data-test-toggle-label>\n {{@label}}\n {{#if @isRequired}}\n <span class=\"required_eb612ecfd\">*</span>\n {{/if}}\n </span>\n {{/if}}\n {{/if}}\n </label>\n\n {{#if this.hasDescription}}\n <p id={{this.descriptionId}} class=\"description_eb612ecfd\" data-test-toggle-description>\n {{@description}}\n </p>\n {{/if}}\n</div>", {
93
96
  strictMode: true,
94
97
  scope: () => ({
95
98
  eq,
@@ -1,4 +1,4 @@
1
- /* <inline>/src/layout/divider-css-1ba104b9c606cbd1f542b45640fb5f2b.css */
1
+ /* <inline>/src/layout/divider-css-7e0cc7d350e31172582851c6cb2cf586.css */
2
2
 
3
3
  .divider_e11f7c205 {
4
4
  display: flex;
@@ -97,7 +97,7 @@
97
97
  flex-shrink: 0;
98
98
  color: var(--color-text-tertiary);
99
99
  font-size: var(--font-size-sm);
100
- line-height: var(--line-height-sm);
100
+ line-height: var(--line-height-tight);
101
101
  }
102
102
 
103
103
  .divider_e11f7c205[data-orientation="horizontal"] .divider__label_e11f7c205 {
@@ -1,4 +1,4 @@
1
- import "./divider-css-1ba104b9c606cbd1f542b45640fb5f2b.css"
1
+ import "./divider-css-7e0cc7d350e31172582851c6cb2cf586.css"
2
2
  import Component from '@glimmer/component';
3
3
  import { precompileTemplate } from '@ember/template-compilation';
4
4
  import { setComponentTemplate } from '@ember/component';
@@ -1,4 +1,4 @@
1
- /* <inline>/src/layout/grid-css-086976eb41686e3714554f56c098d3d5.css */
1
+ /* <inline>/src/layout/grid-css-c8259b34d7062f44e78f0a2cc139cb44.css */
2
2
 
3
3
  .grid_e46af672c {
4
4
  display: grid;
@@ -11,22 +11,22 @@
11
11
 
12
12
  /* Fixed column counts */
13
13
  .grid_e46af672c[data-columns="1"] {
14
- grid-template-columns: repeat(1, 1fr);
14
+ grid-template-columns: repeat(1, minmax(0, 1fr));
15
15
  }
16
16
  .grid_e46af672c[data-columns="2"] {
17
- grid-template-columns: repeat(2, 1fr);
17
+ grid-template-columns: repeat(2, minmax(0, 1fr));
18
18
  }
19
19
  .grid_e46af672c[data-columns="3"] {
20
- grid-template-columns: repeat(3, 1fr);
20
+ grid-template-columns: repeat(3, minmax(0, 1fr));
21
21
  }
22
22
  .grid_e46af672c[data-columns="4"] {
23
- grid-template-columns: repeat(4, 1fr);
23
+ grid-template-columns: repeat(4, minmax(0, 1fr));
24
24
  }
25
25
  .grid_e46af672c[data-columns="5"] {
26
- grid-template-columns: repeat(5, 1fr);
26
+ grid-template-columns: repeat(5, minmax(0, 1fr));
27
27
  }
28
28
  .grid_e46af672c[data-columns="6"] {
29
- grid-template-columns: repeat(6, 1fr);
29
+ grid-template-columns: repeat(6, minmax(0, 1fr));
30
30
  }
31
31
 
32
32
  /* Auto columns with min-child-width */
@@ -63,22 +63,22 @@
63
63
 
64
64
  /* Fixed row counts */
65
65
  .grid_e46af672c[data-rows="1"] {
66
- grid-template-rows: repeat(1, 1fr);
66
+ grid-template-rows: repeat(1, minmax(0, 1fr));
67
67
  }
68
68
  .grid_e46af672c[data-rows="2"] {
69
- grid-template-rows: repeat(2, 1fr);
69
+ grid-template-rows: repeat(2, minmax(0, 1fr));
70
70
  }
71
71
  .grid_e46af672c[data-rows="3"] {
72
- grid-template-rows: repeat(3, 1fr);
72
+ grid-template-rows: repeat(3, minmax(0, 1fr));
73
73
  }
74
74
  .grid_e46af672c[data-rows="4"] {
75
- grid-template-rows: repeat(4, 1fr);
75
+ grid-template-rows: repeat(4, minmax(0, 1fr));
76
76
  }
77
77
  .grid_e46af672c[data-rows="5"] {
78
- grid-template-rows: repeat(5, 1fr);
78
+ grid-template-rows: repeat(5, minmax(0, 1fr));
79
79
  }
80
80
  .grid_e46af672c[data-rows="6"] {
81
- grid-template-rows: repeat(6, 1fr);
81
+ grid-template-rows: repeat(6, minmax(0, 1fr));
82
82
  }
83
83
 
84
84
  /* Auto rows */
@@ -1,4 +1,4 @@
1
- import "./grid-css-086976eb41686e3714554f56c098d3d5.css"
1
+ import "./grid-css-c8259b34d7062f44e78f0a2cc139cb44.css"
2
2
  import Component from '@glimmer/component';
3
3
  import GridItem from './grid-item.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
@@ -4,4 +4,5 @@ export { default as VStack } from './v-stack.js';
4
4
  export { default as Grid } from './grid.js';
5
5
  export { default as GridItem } from './grid-item.js';
6
6
  export { default as Divider } from './divider.js';
7
+ export { default as Panel } from './panel.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,229 @@
1
+ /* src/layout/panel.css */
2
+ /* ===================================
3
+ * Panel Component
4
+ * =================================== */
5
+
6
+ .panel_efcbf2ade {
7
+ /* Layout */
8
+ position: relative;
9
+ display: flex;
10
+ flex-direction: column;
11
+
12
+ /* Shape */
13
+ overflow: hidden;
14
+ }
15
+
16
+ /* ===================================
17
+ * Border Radius
18
+ * =================================== */
19
+
20
+ .panel_efcbf2ade[data-border-radius="sm"] {
21
+ border-radius: var(--radius-sm);
22
+ }
23
+
24
+ .panel_efcbf2ade[data-border-radius="md"] {
25
+ border-radius: var(--radius-md);
26
+ }
27
+
28
+ .panel_efcbf2ade[data-border-radius="lg"] {
29
+ border-radius: var(--radius-lg);
30
+ }
31
+
32
+ /* ===================================
33
+ * Elevation
34
+ * =================================== */
35
+
36
+ .panel_efcbf2ade[data-elevation="sm"] {
37
+ box-shadow: var(--shadow-sm);
38
+ }
39
+
40
+ .panel_efcbf2ade[data-elevation="md"] {
41
+ box-shadow: var(--shadow-md);
42
+ }
43
+
44
+ /* ===================================
45
+ * Variant: Subtle
46
+ * =================================== */
47
+
48
+ .panel_efcbf2ade[data-variant="subtle"][data-tone="neutral"] {
49
+ background: var(--color-bg-neutral-subtle);
50
+ color: var(--color-text);
51
+ }
52
+
53
+ .panel_efcbf2ade[data-variant="subtle"][data-tone="primary"] {
54
+ background: var(--color-bg-primary-subtle);
55
+ color: var(--color-text-primary);
56
+ }
57
+
58
+ .panel_efcbf2ade[data-variant="subtle"][data-tone="success"] {
59
+ background: var(--color-bg-success-subtle);
60
+ color: var(--color-text-success);
61
+ }
62
+
63
+ .panel_efcbf2ade[data-variant="subtle"][data-tone="warning"] {
64
+ background: var(--color-bg-warning-subtle);
65
+ color: var(--color-text-warning);
66
+ }
67
+
68
+ .panel_efcbf2ade[data-variant="subtle"][data-tone="critical"] {
69
+ background: var(--color-bg-critical-subtle);
70
+ color: var(--color-text-critical);
71
+ }
72
+
73
+ .panel_efcbf2ade[data-variant="subtle"][data-tone="info"] {
74
+ background: var(--color-bg-info-subtle);
75
+ color: var(--color-text-info);
76
+ }
77
+
78
+ /* ===================================
79
+ * Variant: Outline
80
+ * =================================== */
81
+
82
+ .panel_efcbf2ade[data-variant="outline"] {
83
+ background: var(--color-bg-surface);
84
+ color: var(--color-text);
85
+ }
86
+
87
+ .panel_efcbf2ade[data-variant="outline"][data-tone="neutral"] {
88
+ border: 1px solid var(--color-border);
89
+ }
90
+
91
+ .panel_efcbf2ade[data-variant="outline"][data-tone="primary"] {
92
+ border: 1px solid var(--color-border-primary);
93
+ }
94
+
95
+ .panel_efcbf2ade[data-variant="outline"][data-tone="success"] {
96
+ border: 1px solid var(--color-border-success);
97
+ }
98
+
99
+ .panel_efcbf2ade[data-variant="outline"][data-tone="warning"] {
100
+ border: 1px solid var(--color-border-warning);
101
+ }
102
+
103
+ .panel_efcbf2ade[data-variant="outline"][data-tone="critical"] {
104
+ border: 1px solid var(--color-border-critical);
105
+ }
106
+
107
+ .panel_efcbf2ade[data-variant="outline"][data-tone="info"] {
108
+ border: 1px solid var(--color-border-info);
109
+ }
110
+
111
+ /* ===================================
112
+ * Variant: Filled
113
+ * =================================== */
114
+
115
+ .panel_efcbf2ade[data-variant="filled"][data-tone="neutral"] {
116
+ background: var(--color-bg-fill-neutral);
117
+ color: var(--color-text-on-neutral);
118
+ }
119
+
120
+ .panel_efcbf2ade[data-variant="filled"][data-tone="primary"] {
121
+ background: var(--color-bg-fill-primary);
122
+ color: var(--color-text-on-primary);
123
+ }
124
+
125
+ .panel_efcbf2ade[data-variant="filled"][data-tone="success"] {
126
+ background: var(--color-bg-fill-success);
127
+ color: var(--color-text-on-success);
128
+ }
129
+
130
+ .panel_efcbf2ade[data-variant="filled"][data-tone="warning"] {
131
+ background: var(--color-bg-fill-warning);
132
+ color: var(--color-text-on-warning);
133
+ }
134
+
135
+ .panel_efcbf2ade[data-variant="filled"][data-tone="critical"] {
136
+ background: var(--color-bg-fill-critical);
137
+ color: var(--color-text-on-critical);
138
+ }
139
+
140
+ .panel_efcbf2ade[data-variant="filled"][data-tone="info"] {
141
+ background: var(--color-bg-fill-info);
142
+ color: var(--color-text-on-info);
143
+ }
144
+
145
+ /* ===================================
146
+ * Sections (Header, Body, Footer)
147
+ * =================================== */
148
+
149
+ .panel-header_efcbf2ade,
150
+ .panel-body_efcbf2ade,
151
+ .panel-footer_efcbf2ade {
152
+ /* Inherit text color from panel */
153
+ color: inherit;
154
+ }
155
+
156
+ /* Padding: none */
157
+ .panel_efcbf2ade[data-padding="none"] .panel-header_efcbf2ade,
158
+ .panel_efcbf2ade[data-padding="none"] .panel-footer_efcbf2ade {
159
+ padding: var(--spacing-3) 0;
160
+ }
161
+
162
+ .panel_efcbf2ade[data-padding="none"] .panel-body_efcbf2ade {
163
+ padding: 0;
164
+ }
165
+
166
+ /* Padding: sm */
167
+ .panel_efcbf2ade[data-padding="sm"] .panel-header_efcbf2ade,
168
+ .panel_efcbf2ade[data-padding="sm"] .panel-footer_efcbf2ade {
169
+ padding: var(--spacing-3) var(--spacing-3);
170
+ }
171
+
172
+ .panel_efcbf2ade[data-padding="sm"] .panel-body_efcbf2ade {
173
+ padding: var(--spacing-3);
174
+ }
175
+
176
+ /* Padding: md */
177
+ .panel_efcbf2ade[data-padding="md"] .panel-header_efcbf2ade,
178
+ .panel_efcbf2ade[data-padding="md"] .panel-footer_efcbf2ade {
179
+ padding: var(--spacing-3) var(--spacing-4);
180
+ }
181
+
182
+ .panel_efcbf2ade[data-padding="md"] .panel-body_efcbf2ade {
183
+ padding: var(--spacing-4);
184
+ }
185
+
186
+ /* Padding: lg */
187
+ .panel_efcbf2ade[data-padding="lg"] .panel-header_efcbf2ade,
188
+ .panel_efcbf2ade[data-padding="lg"] .panel-footer_efcbf2ade {
189
+ padding: var(--spacing-3) var(--spacing-6);
190
+ }
191
+
192
+ .panel_efcbf2ade[data-padding="lg"] .panel-body_efcbf2ade {
193
+ padding: var(--spacing-6);
194
+ }
195
+
196
+ /* ===================================
197
+ * Section Separators
198
+ * =================================== */
199
+
200
+ /* Subtle + Outline variants use subtle border */
201
+ .panel_efcbf2ade[data-variant="subtle"] .panel-header_efcbf2ade,
202
+ .panel_efcbf2ade[data-variant="outline"] .panel-header_efcbf2ade {
203
+ border-bottom: 1px solid var(--color-border-subtle);
204
+ }
205
+
206
+ .panel_efcbf2ade[data-variant="subtle"] .panel-footer_efcbf2ade,
207
+ .panel_efcbf2ade[data-variant="outline"] .panel-footer_efcbf2ade {
208
+ border-top: 1px solid var(--color-border-subtle);
209
+ }
210
+
211
+ /* Filled variant uses translucent white border */
212
+ .panel_efcbf2ade[data-variant="filled"] .panel-header_efcbf2ade {
213
+ border-bottom: 1px solid rgba(255, 255, 255, 0.2);
214
+ }
215
+
216
+ .panel_efcbf2ade[data-variant="filled"] .panel-footer_efcbf2ade {
217
+ border-top: 1px solid rgba(255, 255, 255, 0.2);
218
+ }
219
+
220
+ /* Warning/neutral filled use dark separator for contrast on light fills */
221
+ .panel_efcbf2ade[data-variant="filled"][data-tone="warning"] .panel-header_efcbf2ade,
222
+ .panel_efcbf2ade[data-variant="filled"][data-tone="neutral"] .panel-header_efcbf2ade {
223
+ border-bottom-color: rgba(0, 0, 0, 0.1);
224
+ }
225
+
226
+ .panel_efcbf2ade[data-variant="filled"][data-tone="warning"] .panel-footer_efcbf2ade,
227
+ .panel_efcbf2ade[data-variant="filled"][data-tone="neutral"] .panel-footer_efcbf2ade {
228
+ border-top-color: rgba(0, 0, 0, 0.1);
229
+ }
@@ -0,0 +1,32 @@
1
+ import "./panel.css"
2
+ import Component from '@glimmer/component';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { setComponentTemplate } from '@ember/component';
5
+
6
+ ;
7
+
8
+ class Panel extends Component {
9
+ get tone() {
10
+ return this.args.tone ?? 'neutral';
11
+ }
12
+ get variant() {
13
+ return this.args.variant ?? 'subtle';
14
+ }
15
+ get elevation() {
16
+ return this.args.elevation ?? 'none';
17
+ }
18
+ get padding() {
19
+ return this.args.padding ?? 'md';
20
+ }
21
+ get borderRadius() {
22
+ return this.args.borderRadius ?? 'lg';
23
+ }
24
+ static {
25
+ setComponentTemplate(precompileTemplate("<div class=\"panel_efcbf2ade\" data-tone={{this.tone}} data-variant={{this.variant}} data-elevation={{this.elevation}} data-padding={{this.padding}} data-border-radius={{this.borderRadius}} data-test-panel ...attributes>\n {{#if (has-block \"header\")}}\n <div class=\"panel-header_efcbf2ade\" data-test-panel-header>\n {{yield to=\"header\"}}\n </div>\n {{/if}}\n\n <div class=\"panel-body_efcbf2ade\" data-test-panel-body>\n {{yield}}\n </div>\n\n {{#if (has-block \"footer\")}}\n <div class=\"panel-footer_efcbf2ade\" data-test-panel-footer>\n {{yield to=\"footer\"}}\n </div>\n {{/if}}\n</div>", {
26
+ strictMode: true
27
+ }), this);
28
+ }
29
+ }
30
+
31
+ export { Panel as default };
32
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,9 +1,10 @@
1
+ /* src/overlay/blanket.css */
1
2
  /* ===================================
2
3
  * Blanket Component
3
4
  * Full-screen overlay backdrop
4
5
  * =================================== */
5
6
 
6
- .blanket {
7
+ .blanket_e68ef6998 {
7
8
  /* Positioning */
8
9
  position: fixed;
9
10
  inset: 0;
@@ -17,15 +18,15 @@
17
18
  * Opacity Variants
18
19
  * =================================== */
19
20
 
20
- .blanket[data-opacity="light"] {
21
+ .blanket_e68ef6998[data-opacity="light"] {
21
22
  background: rgba(0, 0, 0, 0.3);
22
23
  }
23
24
 
24
- .blanket[data-opacity="default"] {
25
+ .blanket_e68ef6998[data-opacity="default"] {
25
26
  background: rgba(0, 0, 0, 0.5);
26
27
  }
27
28
 
28
- .blanket[data-opacity="heavy"] {
29
+ .blanket_e68ef6998[data-opacity="heavy"] {
29
30
  background: rgba(0, 0, 0, 0.8);
30
31
  }
31
32
 
@@ -34,16 +35,16 @@
34
35
  * =================================== */
35
36
 
36
37
  /* Fade in (visible state) */
37
- .blanket[data-animated="true"][data-state="visible"] {
38
- animation: blanket-fade-in var(--duration-200) var(--easing-out);
38
+ .blanket_e68ef6998[data-animated="true"][data-state="visible"] {
39
+ animation: blanket-fade-in__e68ef6998 var(--duration-200) var(--easing-out);
39
40
  }
40
41
 
41
42
  /* Fade out (hidden state) */
42
- .blanket[data-animated="true"][data-state="hidden"] {
43
- animation: blanket-fade-out var(--duration-150) var(--easing-in) forwards;
43
+ .blanket_e68ef6998[data-animated="true"][data-state="hidden"] {
44
+ animation: blanket-fade-out__e68ef6998 var(--duration-150) var(--easing-in) forwards;
44
45
  }
45
46
 
46
- @keyframes blanket-fade-in {
47
+ @keyframes blanket-fade-in__e68ef6998 {
47
48
  from {
48
49
  opacity: 0;
49
50
  }
@@ -52,7 +53,7 @@
52
53
  }
53
54
  }
54
55
 
55
- @keyframes blanket-fade-out {
56
+ @keyframes blanket-fade-out__e68ef6998 {
56
57
  from {
57
58
  opacity: 1;
58
59
  }
@@ -62,6 +63,6 @@
62
63
  }
63
64
 
64
65
  /* No animation */
65
- .blanket[data-animated="false"] {
66
+ .blanket_e68ef6998[data-animated="false"] {
66
67
  animation: none;
67
68
  }
@@ -126,7 +126,7 @@ class Blanket extends Component {
126
126
  // Template
127
127
  // ============================================================================
128
128
  static {
129
- setComponentTemplate(precompileTemplate("{{!-- Track visibility changes to manage exit animation state --}}\n<span hidden {{this.trackVisibility visible=@visible animated=this.animated}} data-test-blanket-tracker></span>\n\n{{#if this.shouldRender}}\n {{#in-element this.destinationElement insertBefore=null}}\n {{!-- template-lint-disable no-invalid-interactive --}}\n <div class=\"blanket\" aria-hidden=\"true\" data-opacity={{this.opacity}} data-animated={{if this.animated \"true\" \"false\"}} data-state={{this.dataState}} style={{this.zIndexStyle}} {{on \"click\" this.handleClick}} {{on \"animationend\" this.handleAnimationEnd}} {{this.scrollLock enabled=this.lockScroll}} data-test-blanket ...attributes>\n {{yield}}\n </div>\n {{/in-element}}\n{{/if}}", {
129
+ setComponentTemplate(precompileTemplate("{{!-- Track visibility changes to manage exit animation state --}}\n<span hidden {{this.trackVisibility visible=@visible animated=this.animated}} data-test-blanket-tracker></span>\n\n{{#if this.shouldRender}}\n {{#in-element this.destinationElement insertBefore=null}}\n {{!-- template-lint-disable no-invalid-interactive --}}\n <div class=\"blanket_e68ef6998\" aria-hidden=\"true\" data-opacity={{this.opacity}} data-animated={{if this.animated \"true\" \"false\"}} data-state={{this.dataState}} style={{this.zIndexStyle}} {{on \"click\" this.handleClick}} {{on \"animationend\" this.handleAnimationEnd}} {{this.scrollLock enabled=this.lockScroll}} data-test-blanket ...attributes>\n {{yield}}\n </div>\n {{/in-element}}\n{{/if}}", {
130
130
  strictMode: true,
131
131
  scope: () => ({
132
132
  on