@quaffui/quaff 0.1.0-prealpha6 → 0.1.0-prealpha8

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 (99) hide show
  1. package/dist/components/avatar/QAvatar.svelte +8 -7
  2. package/dist/components/avatar/props.d.ts +2 -2
  3. package/dist/components/button/QBtn.svelte +6 -3
  4. package/dist/components/button/QBtn.svelte.d.ts +1 -0
  5. package/dist/components/button/docs.props.js +8 -0
  6. package/dist/components/button/index.scss +1 -1
  7. package/dist/components/button/props.d.ts +7 -2
  8. package/dist/components/card/docs.props.js +1 -1
  9. package/dist/components/checkbox/index.scss +4 -0
  10. package/dist/components/chip/QChip.svelte +8 -2
  11. package/dist/components/chip/docs.props.js +3 -3
  12. package/dist/components/chip/props.d.ts +2 -2
  13. package/dist/components/codeBlock/QCodeBlock.svelte +1 -1
  14. package/dist/components/dialog/QDialog.svelte +7 -8
  15. package/dist/components/dialog/docs.props.js +10 -2
  16. package/dist/components/dialog/index.scss +150 -3
  17. package/dist/components/drawer/QDrawer.svelte +3 -2
  18. package/dist/components/drawer/QDrawer.svelte.d.ts +1 -0
  19. package/dist/components/drawer/props.d.ts +2 -2
  20. package/dist/components/footer/QFooter.svelte +13 -3
  21. package/dist/components/footer/props.d.ts +2 -2
  22. package/dist/components/icon/QIcon.svelte +11 -13
  23. package/dist/components/icon/QIcon.svelte.d.ts +1 -1
  24. package/dist/components/icon/docs.props.js +1 -1
  25. package/dist/components/icon/index.scss +63 -6
  26. package/dist/components/icon/props.d.ts +3 -3
  27. package/dist/components/index.d.ts +2 -1
  28. package/dist/components/index.js +2 -1
  29. package/dist/components/list/QItem.svelte +1 -1
  30. package/dist/components/list/docs.d.ts +2 -0
  31. package/dist/components/list/docs.js +11 -0
  32. package/dist/components/list/docs.props.js +1 -1
  33. package/dist/components/list/index.scss +6 -0
  34. package/dist/components/private/QApi.svelte +21 -20
  35. package/dist/components/private/QDocs.svelte +38 -10
  36. package/dist/components/private/QDocsSection.svelte +2 -2
  37. package/dist/components/progress/QCircularProgress.svelte +4 -3
  38. package/dist/components/progress/QCircularProgress.svelte.d.ts +1 -1
  39. package/dist/components/progress/QLinearProgress.svelte +8 -2
  40. package/dist/components/progress/docs.d.ts +2 -0
  41. package/dist/components/progress/docs.js +11 -0
  42. package/dist/components/progress/docs.props.d.ts +8 -0
  43. package/dist/components/progress/docs.props.js +42 -0
  44. package/dist/components/progress/index.scss +15 -0
  45. package/dist/components/progress/props.d.ts +26 -9
  46. package/dist/components/progress/props.js +1 -7
  47. package/dist/components/railbar/QRailbar.svelte +2 -1
  48. package/dist/components/railbar/QRailbar.svelte.d.ts +1 -1
  49. package/dist/components/railbar/docs.d.ts +2 -0
  50. package/dist/components/railbar/docs.js +11 -0
  51. package/dist/components/railbar/props.d.ts +11 -3
  52. package/dist/components/railbar/props.js +1 -7
  53. package/dist/components/select/QSelect.svelte +6 -4
  54. package/dist/components/select/docs.props.js +2 -2
  55. package/dist/components/separator/docs.d.ts +2 -0
  56. package/dist/components/separator/docs.js +11 -0
  57. package/dist/components/tabs/docs.d.ts +2 -0
  58. package/dist/components/tabs/docs.js +11 -0
  59. package/dist/components/tabs/docs.props.js +3 -11
  60. package/dist/components/toolbar/QToolbar.svelte +2 -1
  61. package/dist/components/toolbar/QToolbar.svelte.d.ts +1 -1
  62. package/dist/components/toolbar/QToolbarTitle.svelte +10 -0
  63. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +22 -0
  64. package/dist/components/toolbar/docs.d.ts +2 -0
  65. package/dist/components/toolbar/docs.js +11 -0
  66. package/dist/components/toolbar/docs.props.d.ts +8 -0
  67. package/dist/components/toolbar/docs.props.js +10 -0
  68. package/dist/components/toolbar/index.scss +27 -0
  69. package/dist/components/toolbar/props.d.ts +14 -3
  70. package/dist/components/toolbar/props.js +1 -6
  71. package/dist/components/tooltip/QTooltip.svelte +3 -5
  72. package/dist/components/tooltip/docs.d.ts +2 -0
  73. package/dist/components/tooltip/docs.js +11 -0
  74. package/dist/components/tooltip/index.scss +77 -2
  75. package/dist/composables/use-align.js +17 -6
  76. package/dist/composables/use-size.d.ts +8 -10
  77. package/dist/composables/use-size.js +24 -12
  78. package/dist/css/flex.scss +41 -0
  79. package/dist/css/fonts.scss +4 -0
  80. package/dist/css/grid.scss +1 -16
  81. package/dist/css/index.css +1 -1
  82. package/dist/css/index.scss +3 -22
  83. package/dist/css/theme/bridge.scss +15 -0
  84. package/dist/css/theme/elevate.scss +57 -0
  85. package/dist/css/theme/page.scss +16 -0
  86. package/dist/css/theme/palette.scss +633 -0
  87. package/dist/css/theme/reset.scss +40 -0
  88. package/dist/css/theme/theme.dark.scss +1 -0
  89. package/dist/css/theme/theme.light.scss +1 -0
  90. package/dist/css/theme/theme.scss +6 -0
  91. package/dist/css/theme/typography.scss +111 -0
  92. package/dist/css/variables-sass.scss +16 -0
  93. package/dist/helpers/version.d.ts +1 -1
  94. package/dist/helpers/version.js +1 -1
  95. package/dist/index.d.ts +1 -0
  96. package/dist/index.js +1 -0
  97. package/dist/utils/types.d.ts +3 -0
  98. package/dist/utils/types.json +1 -1
  99. package/package.json +5 -1
@@ -1,5 +1,5 @@
1
- import type { NativeProps } from "../../utils/types";
2
- export type QIconSizeOptions = "xs" | "sm" | "md" | "lg" | "xl" | string | number;
1
+ import type { CssValue, NativeProps, QuaffSizes } from "../../utils/types";
2
+ export type QIconSizeOptions = QuaffSizes | CssValue | number;
3
3
  export type QIconTypeOptions = "outlined" | "sharp" | "rounded";
4
4
  export interface QIconProps extends NativeProps {
5
5
  /**
@@ -21,7 +21,7 @@ export interface QIconProps extends NativeProps {
21
21
  * Determines whether the icon should be filled.
22
22
  * @default false
23
23
  */
24
- fill: boolean;
24
+ filled: boolean;
25
25
  /**
26
26
  * The SVG content for the icon.
27
27
  * @default undefined
@@ -25,5 +25,6 @@ import QTab from "./tabs/QTab.svelte";
25
25
  import QTable from "./table/QTable.svelte";
26
26
  import QToggle from "./toggle/QToggle.svelte";
27
27
  import QToolbar from "./toolbar/QToolbar.svelte";
28
+ import QToolbarTitle from "./toolbar/QToolbarTitle.svelte";
28
29
  import QTooltip from "./tooltip/QTooltip.svelte";
29
- export { QAvatar, QBtn, QCard, QCardSection, QCardActions, QCheckbox, QChip, QCodeBlock, QDialog, QDrawer, QFooter, QIcon, QInput, QSelect, QLayout, QList, QItem, QItemSection, QLinearProgress, QRadio, QRailbar, QSeparator, QTabs, QTab, QTable, QToggle, QToolbar, QTooltip, };
30
+ export { QAvatar, QBtn, QCard, QCardSection, QCardActions, QCheckbox, QChip, QCodeBlock, QDialog, QDrawer, QFooter, QIcon, QInput, QSelect, QLayout, QList, QItem, QItemSection, QLinearProgress, QRadio, QRailbar, QSeparator, QTabs, QTab, QTable, QToggle, QToolbar, QToolbarTitle, QTooltip, };
@@ -25,5 +25,6 @@ import QTab from "./tabs/QTab.svelte";
25
25
  import QTable from "./table/QTable.svelte";
26
26
  import QToggle from "./toggle/QToggle.svelte";
27
27
  import QToolbar from "./toolbar/QToolbar.svelte";
28
+ import QToolbarTitle from "./toolbar/QToolbarTitle.svelte";
28
29
  import QTooltip from "./tooltip/QTooltip.svelte";
29
- export { QAvatar, QBtn, QCard, QCardSection, QCardActions, QCheckbox, QChip, QCodeBlock, QDialog, QDrawer, QFooter, QIcon, QInput, QSelect, QLayout, QList, QItem, QItemSection, QLinearProgress, QRadio, QRailbar, QSeparator, QTabs, QTab, QTable, QToggle, QToolbar, QTooltip, };
30
+ export { QAvatar, QBtn, QCard, QCardSection, QCardActions, QCheckbox, QChip, QCodeBlock, QDialog, QDrawer, QFooter, QIcon, QInput, QSelect, QLayout, QList, QItem, QItemSection, QLinearProgress, QRadio, QRailbar, QSeparator, QTabs, QTab, QTable, QToggle, QToolbar, QToolbarTitle, QTooltip, };
@@ -26,7 +26,7 @@ $:
26
26
  isActive = isRouteActive($Quaff.router, to);
27
27
  $:
28
28
  classes = createClasses([
29
- "q-item flex middle-align",
29
+ "q-item flex items-center",
30
30
  $hasMultiplLines && "multiline",
31
31
  dense && "dense",
32
32
  hasLink && active && "q-item--active",
@@ -0,0 +1,2 @@
1
+ import type { QComponentDocs } from "../../utils/types";
2
+ export declare let QListDocs: QComponentDocs;
@@ -0,0 +1,11 @@
1
+ import { QListDocsProps } from "./docs.props";
2
+ export let QListDocs = {
3
+ name: "QList",
4
+ description: "The QList component is used to display a list of items with options for adding text, icons and actions.",
5
+ docs: {
6
+ props: QListDocsProps,
7
+ slots: [],
8
+ methods: [],
9
+ events: [],
10
+ },
11
+ };
@@ -149,7 +149,7 @@ export const QListDocsProps = [
149
149
  },
150
150
  {
151
151
  name: "separatorOptions",
152
- type: 'QSeparatorProps["textAlign"]\r\n };',
152
+ type: 'QSeparatorProps["textAlign"]\n };',
153
153
  optional: false,
154
154
  clickableType: true,
155
155
  description: "",
@@ -24,6 +24,12 @@
24
24
  }
25
25
 
26
26
  .q-item {
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: flex-start;
30
+ white-space: nowrap;
31
+ gap: 1rem;
32
+
27
33
  min-width: 100%;
28
34
  min-height: 56px;
29
35
  margin-top: 0 !important;
@@ -34,28 +34,28 @@ function getType(type) {
34
34
  let found = type in Types ? Types[type] : void 0;
35
35
  return found;
36
36
  }
37
- function handleDrawer(QDocument, doc) {
37
+ function handleDrawer(QDocument, doc, e) {
38
+ e.stopPropagation();
38
39
  let content = getType(doc.type);
40
+ for (let docName in drawer[QDocument.name]) {
41
+ if (drawer[QDocument.name][docName] === true && docName !== doc.name) {
42
+ drawer[QDocument.name][docName] = false;
43
+ }
44
+ }
39
45
  if (!drawer[QDocument.name][doc.name]) {
40
- drawerContent = content;
41
- drawer[QDocument.name][doc.name] = true;
46
+ setTimeout(() => {
47
+ drawerContent = content;
48
+ drawer[QDocument.name][doc.name] = true;
49
+ }, 100);
42
50
  } else {
43
- if (content !== drawerContent) {
44
- drawer[QDocument.name][doc.name] = false;
45
- setTimeout(() => {
46
- drawerContent = content;
47
- drawer[QDocument.name][doc.name] = true;
48
- }, 250);
49
- } else {
50
- drawer[QDocument.name][doc.name] = false;
51
- }
51
+ drawer[QDocument.name][doc.name] = false;
52
52
  }
53
53
  }
54
54
  </script>
55
55
 
56
56
  {#each QComponentDocs as QDocument, index}
57
- <QCard class="q-px-none q-pb-none">
58
- <div slot="title" class="flex between-align middle-align q-px-md">
57
+ <QCard class="q-px-none q-pb-none q-mt-lg">
58
+ <div slot="title" class="flex justify-between items-center q-px-md">
59
59
  <h5 class="no-margin">
60
60
  <QIcon name="info" />
61
61
  <span class="q-ml-md">{QDocument.name} API</span>
@@ -64,7 +64,7 @@ function handleDrawer(QDocument, doc) {
64
64
  {#each Object.entries(QDocument.docs) as [tabName, _tabDoc]}
65
65
  {#if _tabDoc.length !== 0}
66
66
  <QTab name={tabName} style="min-width: 100px">
67
- <h6>{capitalize(tabName)}</h6>
67
+ <h6 style="margin: 0">{capitalize(tabName)}</h6>
68
68
  </QTab>
69
69
  {/if}
70
70
  {/each}
@@ -77,7 +77,7 @@ function handleDrawer(QDocument, doc) {
77
77
  {#if isProp(doc, index) && doc.clickableType}
78
78
  <QDrawer
79
79
  side="right"
80
- class="no-padding"
80
+ class="no-padding api-drawer"
81
81
  style="height: fit-content; max-height: 400%; overflow: auto; border-radius: 0;"
82
82
  bind:value={drawer[QDocument.name][doc.name]}
83
83
  width="50%"
@@ -87,7 +87,7 @@ function handleDrawer(QDocument, doc) {
87
87
  {/if}
88
88
  <QItemSection type="content" style="overflow: visible">
89
89
  <div slot="headline" class="q-my-sm" style="flex: 1 1 0; white-space: nowrap">
90
- <span class=" small-padding surface-variant small-round">
90
+ <span class="q-pa-sm surface-variant">
91
91
  <b>{doc.name}</b>
92
92
  {#if isProp(doc, index)}
93
93
  {doc.optional ? "?" : ""}
@@ -95,7 +95,7 @@ function handleDrawer(QDocument, doc) {
95
95
  <!-- svelte-ignore a11y-click-events-have-key-events -->
96
96
  <span
97
97
  class="prop-type clickable"
98
- on:click={() => isProp(doc, index) && handleDrawer(QDocument, doc)}
98
+ on:click={(e) => isProp(doc, index) && handleDrawer(QDocument, doc, e)}
99
99
  >
100
100
  : {doc.type}
101
101
  </span>
@@ -131,10 +131,11 @@ function handleDrawer(QDocument, doc) {
131
131
  .q-item {
132
132
  overflow: visible;
133
133
  }
134
- pre[class*=language-] {
134
+
135
+ :global(.q-drawer.api-drawer pre) {
135
136
  margin: 0;
136
- padding: 1em;
137
137
  border-radius: inherit;
138
+ white-space: pre-wrap;
138
139
  }
139
140
 
140
141
  :global(.prop-description > a:hover) {
@@ -7,28 +7,32 @@ $:
7
7
  let principalDocument = Array.isArray(QComponentDocs) ? QComponentDocs[0] : QComponentDocs;
8
8
  </script>
9
9
 
10
- <div style="margin: 1rem">
11
- <div class="grid" style="min-height: 400px">
12
- <QCard class="s12 l6 flex center-align" fill="primary">
10
+ <div class="q-docs" style="margin: 1rem">
11
+ <div class="row q-gutter-lg q-mb-lg" style="min-height: 400px">
12
+ <QCard class="col-sm-12 col-lg-6 flex flex-center" fill="primary" style="min-height: 400px">
13
13
  <h1 class="large no-margin" slot="title">{principalDocument.name}</h1>
14
14
  </QCard>
15
- <QCard class="s12 l6 q-mt-none q-pa-none" fill="secondary">
16
- <QCardSection class="no-padding">
15
+ <QCard
16
+ class="q-docs__preview col-sm-12 col-lg-6 q-mt-none q-pa-none"
17
+ fill="secondary"
18
+ style="min-height: 400px"
19
+ >
20
+ <QCardSection class="q-pa-none">
17
21
  <div
18
- class="flex center-align middle-align"
22
+ class="flex flex-center"
19
23
  style="position: absolute; height: 100%; width: 100%; z-index: 1;"
20
24
  >
21
25
  <slot name="display" />
22
26
  </div>
23
27
  <img
24
- class="responsive medium"
28
+ class="q-docs__image"
25
29
  src="/beer-splash-{isDark ? 'dark' : 'light'}.jpg"
26
30
  alt="Close-up of the content of a glass of beer"
27
31
  style={isDark ? "filter:brightness(0.3)" : ""}
28
32
  />
29
33
  </QCardSection>
30
- <QCardSection class="flex center-align middle-align">
31
- <h3 class="small">
34
+ <QCardSection class="q-docs__description flex flex-center">
35
+ <h3 class="q-docs__description-text">
32
36
  {principalDocument.description}
33
37
  </h3>
34
38
  </QCardSection>
@@ -50,7 +54,31 @@ let principalDocument = Array.isArray(QComponentDocs) ? QComponentDocs[0] : QCom
50
54
  <slot />
51
55
  </div>
52
56
 
53
- <style>.prop-type {
57
+ <style>.q-docs :global(.q-pa-none) {
58
+ padding: 0 !important;
59
+ }
60
+ .q-docs__image {
61
+ width: 100%;
62
+ height: 12rem;
63
+ object-fit: cover;
64
+ border-bottom-left-radius: 0;
65
+ border-bottom-right-radius: 0;
66
+ }
67
+ .q-docs :global(.q-docs__preview) {
68
+ display: flex !important;
69
+ flex-direction: column;
70
+ }
71
+ .q-docs :global(.q-docs__description) {
72
+ display: flex;
73
+ flex-grow: 1;
74
+ justify-content: center;
75
+ align-items: center;
76
+ }
77
+ .q-docs :global(.q-docs__description-text) {
78
+ font-size: 1.75rem;
79
+ }
80
+
81
+ .prop-type {
54
82
  opacity: 0.75;
55
83
  }
56
84
  .prop-type.clickable {
@@ -8,13 +8,13 @@
8
8
  </script>
9
9
 
10
10
  <div style="margin-bottom:48px">
11
- <div class="flex between-align q-mb-md">
11
+ <div class="flex justify-between q-mb-md">
12
12
  <h5>{title}</h5>
13
13
  {#if snippets}
14
14
  <QDialog
15
15
  class="snippet-dialog"
16
16
  bind:value={dialog}
17
- btnAttrs={{ outline: true, icon: "code", class: "circle" }}
17
+ btnAttrs={{ outline: true, round: true, icon: "code" }}
18
18
  on:btnClick={() => (dialog = true)}
19
19
  modal
20
20
  >
@@ -1,9 +1,10 @@
1
- <script>import { createClasses } from "../../utils/props";
1
+ <script>import { useSize } from "../../composables/use-size";
2
+ import { createClasses } from "../../utils/props";
2
3
  import { isNumber } from "../../utils/types";
3
4
  export let value = 0, indeterminate = false, size = "2em", color = void 0, thickness = 5, userClasses = void 0;
4
5
  export { userClasses as class };
5
6
  $:
6
- spinnerSize = isNumber(size) ? `${size}px` : size;
7
+ spinnerSize = useSize(size);
7
8
  $:
8
9
  classes = createClasses([indeterminate && "indeterminate"], {
9
10
  component: "q-circular-progress",
@@ -12,7 +13,7 @@ $:
12
13
  });
13
14
  </script>
14
15
 
15
- <svg class={classes} height={spinnerSize} width={spinnerSize} viewBox="25 25 50 50">
16
+ <svg class={classes} height={spinnerSize.style} width={spinnerSize.style} viewBox="25 25 50 50">
16
17
  <circle
17
18
  class="path"
18
19
  cx="50"
@@ -4,7 +4,7 @@ declare const __propDef: {
4
4
  props: {
5
5
  value?: number | undefined;
6
6
  indeterminate?: boolean | undefined;
7
- size?: string | number | undefined;
7
+ size?: number | `${number}px` | `${number}%` | `${number}em` | `${number}ex` | `${number}ch` | `${number}rem` | `${number}vw` | `${number}vh` | `${number}vmin` | `${number}vmax` | undefined;
8
8
  color?: QCircularProgressProps["color"];
9
9
  thickness?: number | undefined;
10
10
  class?: string | undefined;
@@ -6,9 +6,15 @@ $:
6
6
  borderRadius: rounded ? "12px" : "0"
7
7
  };
8
8
  $:
9
- containerClasses = createClasses(["small-space", "border", userClasses]);
9
+ containerClasses = createClasses(["small-space", "border"], {
10
+ component: "q-linear-progress",
11
+ userClasses
12
+ });
10
13
  $:
11
- progressClasses = createClasses(["progress", from]);
14
+ progressClasses = createClasses([from], {
15
+ component: "q-linear-progress",
16
+ element: "progress"
17
+ });
12
18
  $:
13
19
  containerStyle = createStyles(roundedStyle, userStyles);
14
20
  $:
@@ -0,0 +1,2 @@
1
+ import type { QComponentDocs } from "../../utils/types";
2
+ export declare let QProgressDocs: QComponentDocs;
@@ -0,0 +1,11 @@
1
+ import { QLinearProgressDocsProps } from "./docs.props";
2
+ export let QProgressDocs = {
3
+ name: "QProgress",
4
+ description: "The QProgress component is used to display a progress bar, indicating the completion status of a task or process.",
5
+ docs: {
6
+ props: QLinearProgressDocsProps,
7
+ slots: [],
8
+ methods: [],
9
+ events: [],
10
+ },
11
+ };
@@ -6,3 +6,11 @@ export declare const QLinearProgressDocsProps: {
6
6
  description: string;
7
7
  default: string;
8
8
  }[];
9
+ export declare const QCircularProgressDocsProps: {
10
+ name: string;
11
+ type: string;
12
+ optional: boolean;
13
+ clickableType: boolean;
14
+ description: string;
15
+ default: string;
16
+ }[];
@@ -24,3 +24,45 @@ export const QLinearProgressDocsProps = [
24
24
  default: "",
25
25
  },
26
26
  ];
27
+ export const QCircularProgressDocsProps = [
28
+ {
29
+ name: "value",
30
+ type: "number",
31
+ optional: false,
32
+ clickableType: false,
33
+ description: "",
34
+ default: "",
35
+ },
36
+ {
37
+ name: "indeterminate",
38
+ type: "boolean",
39
+ optional: false,
40
+ clickableType: false,
41
+ description: "",
42
+ default: "",
43
+ },
44
+ {
45
+ name: "size",
46
+ type: "string | number",
47
+ optional: false,
48
+ clickableType: false,
49
+ description: "",
50
+ default: "",
51
+ },
52
+ {
53
+ name: "color",
54
+ type: "string",
55
+ optional: true,
56
+ clickableType: false,
57
+ description: "",
58
+ default: "",
59
+ },
60
+ {
61
+ name: "thickness",
62
+ type: "number",
63
+ optional: false,
64
+ clickableType: false,
65
+ description: "",
66
+ default: "",
67
+ },
68
+ ];
@@ -1,4 +1,19 @@
1
1
  // Linear progress
2
+ .q-linear-progress {
3
+ height: 1rem;
4
+ @include border;
5
+
6
+ &__progress {
7
+ position: absolute;
8
+ background-color: var(--active);
9
+ top: 0;
10
+ bottom: 0;
11
+ left: 0;
12
+ right: 0;
13
+ transition: var(--speed4) clip-path;
14
+ clip-path: polygon(0% 0%, 0% 0%, 0% 0%, 0% 0%);
15
+ }
16
+ }
2
17
 
3
18
  // Circular progress
4
19
  .q-circular-progress {
@@ -1,20 +1,37 @@
1
- import { type NativeProps } from "../../utils/types";
1
+ import type { NativeProps, CssValue } from "../../utils/types";
2
2
  export interface QLinearProgressProps extends NativeProps {
3
+ /**
4
+ * @default 0
5
+ */
3
6
  value: number;
7
+ /**
8
+ * @default left
9
+ */
4
10
  from: "left" | "right";
11
+ /**
12
+ * @default false
13
+ */
5
14
  rounded: boolean;
6
15
  }
7
16
  export interface QCircularProgressProps extends NativeProps {
17
+ /**
18
+ * @default 0
19
+ */
8
20
  value: number;
21
+ /**
22
+ * @default false
23
+ */
9
24
  indeterminate: boolean;
10
- size: string | number;
25
+ /**
26
+ * @default 2em
27
+ */
28
+ size: CssValue | number;
29
+ /**
30
+ * @default undefined
31
+ */
11
32
  color?: string;
33
+ /**
34
+ * @default 5
35
+ */
12
36
  thickness: number;
13
37
  }
14
- export declare const QLinearProgressPropsDefaults: {
15
- userClasses?: string | undefined;
16
- userStyles?: string | undefined;
17
- value: number;
18
- from: string;
19
- rounded: boolean;
20
- };
@@ -1,7 +1 @@
1
- import { NativePropsDefaults } from "../../utils/types";
2
- export const QLinearProgressPropsDefaults = {
3
- value: 0,
4
- from: "left",
5
- rounded: false,
6
- ...NativePropsDefaults,
7
- };
1
+ export {};
@@ -1,6 +1,7 @@
1
1
  <script>import { getContext } from "svelte";
2
2
  import { createClasses, createStyles } from "../../utils/props";
3
3
  import { isNumber } from "../../utils/types";
4
+ import { useSize } from "../../composables/use-size";
4
5
  export let width = 88, side = "left", bordered = false, userClasses = void 0, userStyles = void 0;
5
6
  export { userClasses as class, userStyles as style };
6
7
  let ctx = getContext("layout");
@@ -21,7 +22,7 @@ $:
21
22
  userClasses
22
23
  ]);
23
24
  $:
24
- widthStyle = ctx === void 0 ? isNumber(width) ? `${width}px` : width : void 0;
25
+ widthStyle = $ctx && useSize(width).style;
25
26
  $:
26
27
  style = createStyles(
27
28
  {
@@ -2,7 +2,7 @@ import { SvelteComponent } from "svelte";
2
2
  import type { QRailbarProps } from "./props";
3
3
  declare const __propDef: {
4
4
  props: {
5
- width?: string | number | undefined;
5
+ width?: number | `${number}px` | `${number}%` | `${number}em` | `${number}ex` | `${number}ch` | `${number}rem` | `${number}vw` | `${number}vh` | `${number}vmin` | `${number}vmax` | undefined;
6
6
  side?: "left" | "right" | undefined;
7
7
  bordered?: boolean | undefined;
8
8
  class?: string | undefined;
@@ -0,0 +1,2 @@
1
+ import type { QComponentDocs } from "../../utils/types";
2
+ export declare let QRailbarDocs: QComponentDocs;
@@ -0,0 +1,11 @@
1
+ import { QRailbarDocsProps } from "./docs.props";
2
+ export let QRailbarDocs = {
3
+ name: "QRailbar",
4
+ description: "Railbars are used to provide navigation between different sections or views within an application.",
5
+ docs: {
6
+ props: QRailbarDocsProps,
7
+ slots: [],
8
+ methods: [],
9
+ events: [],
10
+ },
11
+ };
@@ -1,7 +1,15 @@
1
- import { type NativeProps } from "../../utils/types";
1
+ import type { NativeProps, CssValue } from "../../utils/types";
2
2
  export interface QRailbarProps extends NativeProps {
3
- width: number | string;
3
+ /**
4
+ * @default 88px
5
+ */
6
+ width: CssValue | number;
7
+ /**
8
+ * @default left
9
+ */
4
10
  side: "left" | "right";
11
+ /**
12
+ * @default false
13
+ */
5
14
  bordered: boolean;
6
15
  }
7
- export declare const QRailbarPropsDefaults: QRailbarProps;
@@ -1,7 +1 @@
1
- import { NativePropsDefaults } from "../../utils/types";
2
- export const QRailbarPropsDefaults = {
3
- width: 88,
4
- side: "left",
5
- bordered: false,
6
- ...NativePropsDefaults,
7
- };
1
+ export {};
@@ -1,4 +1,5 @@
1
- <script>import { onDestroy, onMount } from "svelte";
1
+ <script>import QIcon from "../icon/QIcon.svelte";
2
+ import { onDestroy, onMount } from "svelte";
2
3
  import { createClasses } from "../../utils/props";
3
4
  import { textWidth } from "../../utils/fields";
4
5
  import { browser } from "$app/environment";
@@ -129,9 +130,10 @@ onDestroy(() => {
129
130
  disabled={disable}
130
131
  />
131
132
 
132
- <i class="q-select__arrow-toggle" class:q-select__arrow-toggle--has-append={$$slots.append}
133
- >{`arrow_drop_${isMenuOpen ? "up" : "down"}`}</i
134
- >
133
+ <QIcon
134
+ class="q-select__arrow-toggle {$$slots.append ? 'q-select__arrow-toggle--has-append' : ''}"
135
+ name={`arrow_drop_${isMenuOpen ? "up" : "down"}`}
136
+ />
135
137
 
136
138
  <slot name="append" />
137
139
 
@@ -1,9 +1,9 @@
1
1
  export const QSelectDocsProps = [
2
2
  {
3
3
  name: "value",
4
- type: "string | string[]",
4
+ type: "string | string[] | number | number[]",
5
5
  optional: false,
6
- clickableType: false,
6
+ clickableType: true,
7
7
  description: "",
8
8
  default: "",
9
9
  },
@@ -0,0 +1,2 @@
1
+ import type { QComponentDocs } from "../../utils/types";
2
+ export declare let QSeparatorDocs: QComponentDocs;
@@ -0,0 +1,11 @@
1
+ import { QSeparatorPropsVertical } from "./docs.props";
2
+ export let QSeparatorDocs = {
3
+ name: "QSeparator",
4
+ description: "Separators can be used to create a dividing line or space between elements within a layout, offering visual separation and organization.",
5
+ docs: {
6
+ props: QSeparatorPropsVertical,
7
+ slots: [],
8
+ methods: [],
9
+ events: [],
10
+ },
11
+ };
@@ -0,0 +1,2 @@
1
+ import type { QComponentDocs } from "../../utils/types";
2
+ export declare let QTabsDocs: QComponentDocs;
@@ -0,0 +1,11 @@
1
+ import { QTabsDocsProps } from "./docs.props";
2
+ export let QTabsDocs = {
3
+ name: "QTabs",
4
+ description: "Tabs allow creating navigational tabs, enabling users to switch between different views or functional aspects.",
5
+ docs: {
6
+ props: QTabsDocsProps,
7
+ slots: [],
8
+ methods: [],
9
+ events: [],
10
+ },
11
+ };
@@ -8,10 +8,10 @@ export const QTabsDocsProps = [
8
8
  default: "",
9
9
  },
10
10
  {
11
- name: "vertical",
12
- type: "boolean",
11
+ name: "variant",
12
+ type: "QTabsVariants",
13
13
  optional: false,
14
- clickableType: false,
14
+ clickableType: true,
15
15
  description: "",
16
16
  default: "",
17
17
  },
@@ -23,14 +23,6 @@ export const QTabsDocsProps = [
23
23
  description: "",
24
24
  default: "",
25
25
  },
26
- {
27
- name: "smallIndicator",
28
- type: "boolean",
29
- optional: false,
30
- clickableType: false,
31
- description: "",
32
- default: "",
33
- },
34
26
  ];
35
27
  export const QTabDocsProps = [
36
28
  {