sveltekit-ui 1.0.1 → 1.0.4

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.
package/README.md CHANGED
@@ -7,8 +7,6 @@ You can use an existing sveltekit project and install this package in your proje
7
7
 
8
8
  or to start a new project with a starter template (recommended). In your terminal cd into a folder you want to put your project files in such as /projects/my-project-all to use as the parent folder for stuff related to your project (but replace "my-project" with your own project name)
9
9
 
10
- wait until july 1st for this part create-sveltekit-ui-site
11
-
12
10
  `npx create-sveltekit-ui-site my-project`
13
11
 
14
12
  ## Open Code Editor
@@ -0,0 +1,82 @@
1
+ <script>
2
+ let { url, size = 4 } = $props()
3
+ </script>
4
+
5
+ <a
6
+ href={url}
7
+ role="button"
8
+ tabindex="0"
9
+ class="button_container"
10
+ target="_blank"
11
+ data-show-count="false"
12
+ aria-label="share youtube channel"
13
+ style="min-height: {size}rem; border-radius: {size / 2.5}rem; padding: {size / 4}rem {size / 3}rem;
14
+ font-size: {size / 1.8}rem;"
15
+ >
16
+ <svg
17
+ width="100%"
18
+ height="{size / 1.5}rem"
19
+ viewBox="0 0 381 86"
20
+ version="1.1"
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ xmlns:xlink="http://www.w3.org/1999/xlink"
23
+ xml:space="preserve"
24
+ style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"
25
+ >
26
+ <g>
27
+ <path
28
+ d="M118.946,13.279C117.549,8.052 113.433,3.936 108.206,2.539C98.731,0 60.742,0 60.742,0C60.742,0 22.753,0 13.278,2.539C8.052,3.936 3.935,8.052 2.538,13.279C0,22.753 0,42.52 0,42.52C0,42.52 0,62.287 2.538,71.76C3.935,76.987 8.052,81.104 13.278,82.501C22.753,85.039 60.742,85.039 60.742,85.039C60.742,85.039 98.731,85.039 108.206,82.501C113.433,81.104 117.549,76.987 118.946,71.76C121.485,62.287 121.485,42.52 121.485,42.52C121.485,42.52 121.485,22.753 118.946,13.279Z"
29
+ style="fill:rgb(237,31,36);fill-rule:nonzero;"
30
+ />
31
+ <path d="M48.593,60.743L80.155,42.52L48.593,24.297L48.593,60.743Z" style="fill:white;fill-rule:nonzero;" />
32
+ <path
33
+ d="M189.801,69.023C190.466,67.287 190.8,64.449 190.8,60.51L190.8,43.916C190.8,40.094 190.466,37.3 189.801,35.533C189.135,33.767 187.962,32.883 186.283,32.883C184.661,32.883 183.516,33.767 182.851,35.533C182.185,37.3 181.852,40.094 181.852,43.916L181.852,60.51C181.852,64.449 182.17,67.287 182.808,69.023C183.444,70.761 184.602,71.629 186.283,71.629C187.962,71.629 189.135,70.761 189.801,69.023ZM176.336,77.364C173.931,75.744 172.222,73.223 171.21,69.805C170.196,66.389 169.69,61.842 169.69,56.166L169.69,48.434C169.69,42.7 170.268,38.095 171.427,34.621C172.585,31.146 174.394,28.612 176.857,27.019C179.318,25.427 182.547,24.63 186.544,24.63C190.482,24.63 193.638,25.441 196.013,27.063C198.387,28.684 200.125,31.219 201.226,34.664C202.325,38.111 202.876,42.7 202.876,48.434L202.876,56.166C202.876,61.842 202.34,66.404 201.269,69.849C200.197,73.296 198.459,75.815 196.056,77.407C193.652,79 190.395,79.796 186.283,79.796C182.054,79.796 178.738,78.985 176.336,77.364Z"
34
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
35
+ />
36
+ <path
37
+ d="M362.376,33.878C361.769,34.632 361.362,35.862 361.16,37.57C360.956,39.279 360.857,41.871 360.857,45.346L360.857,49.169L369.63,49.169L369.63,45.346C369.63,41.929 369.514,39.337 369.283,37.57C369.051,35.804 368.632,34.56 368.024,33.835C367.415,33.111 366.474,32.749 365.2,32.749C363.925,32.749 362.984,33.126 362.376,33.878ZM360.857,56.293L360.857,58.986C360.857,62.404 360.956,64.966 361.16,66.674C361.362,68.383 361.781,69.629 362.42,70.411C363.057,71.192 364.04,71.584 365.374,71.584C367.168,71.584 368.4,70.888 369.066,69.498C369.731,68.108 370.093,65.792 370.151,62.548L380.49,63.156C380.548,63.621 380.577,64.257 380.577,65.067C380.577,69.991 379.231,73.669 376.537,76.101C373.845,78.533 370.035,79.75 365.113,79.75C359.206,79.75 355.064,77.897 352.69,74.189C350.314,70.484 349.127,64.75 349.127,56.988L349.127,47.691C349.127,39.699 350.358,33.865 352.82,30.186C355.281,26.508 359.495,24.669 365.461,24.669C369.572,24.669 372.729,25.422 374.93,26.928C377.13,28.435 378.68,30.78 379.578,33.965C380.476,37.151 380.925,41.553 380.925,47.17L380.925,56.293L360.857,56.293Z"
38
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
39
+ />
40
+ <path
41
+ d="M147.142,55.295L133.502,6.036L145.404,6.036L150.182,28.363C151.399,33.867 152.296,38.558 152.875,42.437L153.223,42.437C153.628,39.657 154.526,34.996 155.916,28.45L160.868,6.036L172.77,6.036L158.957,55.295L158.957,78.927L147.142,78.927L147.142,55.295Z"
42
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
43
+ />
44
+ <path
45
+ d="M241.586,25.672L241.586,78.927L232.203,78.927L231.16,72.412L230.9,72.412C228.351,77.335 224.528,79.796 219.432,79.796C215.899,79.796 213.293,78.638 211.613,76.321C209.933,74.005 209.094,70.384 209.094,65.462L209.094,25.672L221.083,25.672L221.083,64.766C221.083,67.142 221.344,68.836 221.865,69.848C222.386,70.863 223.255,71.369 224.471,71.369C225.514,71.369 226.513,71.051 227.468,70.413C228.424,69.776 229.133,68.966 229.597,67.981L229.597,25.672L241.586,25.672Z"
46
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
47
+ />
48
+ <path
49
+ d="M303.082,25.672L303.082,78.927L293.699,78.927L292.656,72.412L292.397,72.412C289.846,77.335 286.024,79.796 280.928,79.796C277.395,79.796 274.789,78.638 273.109,76.321C271.429,74.005 270.59,70.384 270.59,65.462L270.59,25.672L282.579,25.672L282.579,64.766C282.579,67.142 282.839,68.836 283.36,69.848C283.882,70.863 284.751,71.369 285.967,71.369C287.01,71.369 288.009,71.051 288.964,70.413C289.92,69.776 290.629,68.966 291.093,67.981L291.093,25.672L303.082,25.672Z"
50
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
51
+ />
52
+ <path
53
+ d="M274.164,15.681L262.262,15.681L262.262,78.927L250.534,78.927L250.534,15.681L238.632,15.681L238.632,6.037L274.164,6.037L274.164,15.681Z"
54
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
55
+ />
56
+ <path
57
+ d="M331.772,55.908C331.772,59.789 331.611,62.83 331.293,65.03C330.975,67.232 330.439,68.796 329.686,69.721C328.933,70.648 327.918,71.111 326.646,71.111C325.66,71.111 324.748,70.88 323.909,70.416C323.068,69.953 322.389,69.258 321.867,68.331L321.867,38.098C322.272,36.651 322.967,35.463 323.952,34.536C324.937,33.611 326.007,33.146 327.166,33.146C328.383,33.146 329.323,33.624 329.99,34.579C330.655,35.535 331.119,37.142 331.38,39.402C331.641,41.66 331.772,44.874 331.772,49.044L331.772,55.908ZM342.761,34.185C342.036,30.827 340.863,28.394 339.242,26.887C337.62,25.382 335.39,24.629 332.553,24.629C330.352,24.629 328.296,25.252 326.385,26.497C324.474,27.742 322.996,29.378 321.954,31.405L321.866,31.405L321.867,3.344L310.313,3.344L310.313,78.926L320.216,78.926L321.433,73.888L321.693,73.888C322.619,75.683 324.009,77.102 325.863,78.145C327.716,79.187 329.773,79.709 332.032,79.709C336.085,79.709 339.068,77.84 340.98,74.105C342.891,70.369 343.847,64.535 343.847,56.599L343.847,48.173C343.847,42.208 343.484,37.545 342.761,34.185Z"
58
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
59
+ />
60
+ </g>
61
+ </svg>
62
+ </a>
63
+
64
+ <style>
65
+ .button_container {
66
+ display: flex;
67
+ width: fit-content;
68
+ gap: 0.8rem;
69
+ align-items: center;
70
+ background-color: var(--g1-t);
71
+ color: var(--g24-t);
72
+ text-decoration: none;
73
+ font-weight: 600;
74
+ box-shadow: 0px 0.5rem 1rem var(--g15-t);
75
+ transition: all 0.3s ease 0s;
76
+ }
77
+ .button_container:hover {
78
+ background-color: var(--g4-t);
79
+ box-shadow: 0px 0.3rem 2rem var(--g15-t);
80
+ transform: translateY(-0.2rem);
81
+ }
82
+ </style>
@@ -7495,6 +7495,23 @@ export const definitions = {
7495
7495
  },
7496
7496
  },
7497
7497
  },
7498
+ youtube_channel_button: {
7499
+ component_name: "YoutubeChannelButton",
7500
+ is_not_builder: true,
7501
+ description: "A button linking to a Youtube Channel with a customizable size and handle.",
7502
+ properties: {
7503
+ url: {
7504
+ type: "string",
7505
+ required: true,
7506
+ description: "The url to link to.",
7507
+ },
7508
+ size: {
7509
+ type: "number",
7510
+ default: 4,
7511
+ description: "The size of the button, which scales its height, font, and padding.",
7512
+ },
7513
+ },
7514
+ },
7498
7515
  youtube_video: {
7499
7516
  component_name: "YouTubeVideo",
7500
7517
  builder_function_name: "create_youtube_video_manager",
@@ -7553,7 +7570,7 @@ export const docs_overview_code_sample = `<script>
7553
7570
  create_text_input_manager,
7554
7571
  TextInput,
7555
7572
  copy_to_clipboard,
7556
- } from "@upppllc/sveltekit-ui"
7573
+ } from "sveltekit-ui"
7557
7574
 
7558
7575
  let manager = $state(null)
7559
7576
 
@@ -7596,12 +7613,12 @@ export const docs_overview_code_sample = `<script>
7596
7613
  export function docs_definition_to_sample_code(definition) {
7597
7614
  return definition?.is_not_builder
7598
7615
  ? `<script>
7599
- import { ${definition?.component_name} } from "@upppllc/sveltekit-ui"
7616
+ import { ${definition?.component_name} } from "sveltekit-ui"
7600
7617
  <\/script>
7601
7618
 
7602
7619
  <${definition?.component_name} some_property="example" />`
7603
7620
  : `<script>
7604
- import { ${definition?.builder_function_name}, ${definition?.component_name} } from "@upppllc/sveltekit-ui"
7621
+ import { ${definition?.builder_function_name}, ${definition?.component_name} } from "sveltekit-ui"
7605
7622
 
7606
7623
  let example_${definition?.builder_function_name?.slice(7)} = ${definition?.builder_function_name}({
7607
7624
  some_config_property: "example"
package/dist/index.js CHANGED
@@ -75,6 +75,10 @@ export { create_table_advanced_manager } from "./Components/TableAdvanced/index.
75
75
  export { default as Spacer } from "./Components/Spacer/index.svelte"
76
76
  export { default as TransparentBackground } from "./Components/TransparentBackground/index.svelte"
77
77
  export { default as XFollow } from "./Components/XFollow/index.svelte"
78
+ export { default as XPost } from "./Components/XPost/index.svelte"
79
+ export { create_x_post_manager } from "./Components/XPost/index.svelte.js"
80
+ export { default as YoutubeChannelButton } from "./Components/YoutubeChannelButton/index.svelte"
81
+ export { default as YoutubeVideo } from "./Components/YoutubeVideo/index.svelte"
78
82
 
79
83
  // export { default as ArrayDisplay } from "./Array/index.svelte"
80
84
  // export { create_array_manager } from "./Array/index.svelte.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sveltekit-ui",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "description": "A SvelteKit UI component library for building modern web applications",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,7 +19,7 @@
19
19
  "dependencies": {
20
20
  "context-filter-polyfill": "^0.3.23",
21
21
  "qr-code-styling": "^1.9.2",
22
- "svelte": "^5.34.9"
22
+ "svelte": "^5.35.2"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@sveltejs/kit": "^2.22.2"
@@ -0,0 +1,82 @@
1
+ <script>
2
+ let { url, size = 4 } = $props()
3
+ </script>
4
+
5
+ <a
6
+ href={url}
7
+ role="button"
8
+ tabindex="0"
9
+ class="button_container"
10
+ target="_blank"
11
+ data-show-count="false"
12
+ aria-label="share youtube channel"
13
+ style="min-height: {size}rem; border-radius: {size / 2.5}rem; padding: {size / 4}rem {size / 3}rem;
14
+ font-size: {size / 1.8}rem;"
15
+ >
16
+ <svg
17
+ width="100%"
18
+ height="{size / 1.5}rem"
19
+ viewBox="0 0 381 86"
20
+ version="1.1"
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ xmlns:xlink="http://www.w3.org/1999/xlink"
23
+ xml:space="preserve"
24
+ style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"
25
+ >
26
+ <g>
27
+ <path
28
+ d="M118.946,13.279C117.549,8.052 113.433,3.936 108.206,2.539C98.731,0 60.742,0 60.742,0C60.742,0 22.753,0 13.278,2.539C8.052,3.936 3.935,8.052 2.538,13.279C0,22.753 0,42.52 0,42.52C0,42.52 0,62.287 2.538,71.76C3.935,76.987 8.052,81.104 13.278,82.501C22.753,85.039 60.742,85.039 60.742,85.039C60.742,85.039 98.731,85.039 108.206,82.501C113.433,81.104 117.549,76.987 118.946,71.76C121.485,62.287 121.485,42.52 121.485,42.52C121.485,42.52 121.485,22.753 118.946,13.279Z"
29
+ style="fill:rgb(237,31,36);fill-rule:nonzero;"
30
+ />
31
+ <path d="M48.593,60.743L80.155,42.52L48.593,24.297L48.593,60.743Z" style="fill:white;fill-rule:nonzero;" />
32
+ <path
33
+ d="M189.801,69.023C190.466,67.287 190.8,64.449 190.8,60.51L190.8,43.916C190.8,40.094 190.466,37.3 189.801,35.533C189.135,33.767 187.962,32.883 186.283,32.883C184.661,32.883 183.516,33.767 182.851,35.533C182.185,37.3 181.852,40.094 181.852,43.916L181.852,60.51C181.852,64.449 182.17,67.287 182.808,69.023C183.444,70.761 184.602,71.629 186.283,71.629C187.962,71.629 189.135,70.761 189.801,69.023ZM176.336,77.364C173.931,75.744 172.222,73.223 171.21,69.805C170.196,66.389 169.69,61.842 169.69,56.166L169.69,48.434C169.69,42.7 170.268,38.095 171.427,34.621C172.585,31.146 174.394,28.612 176.857,27.019C179.318,25.427 182.547,24.63 186.544,24.63C190.482,24.63 193.638,25.441 196.013,27.063C198.387,28.684 200.125,31.219 201.226,34.664C202.325,38.111 202.876,42.7 202.876,48.434L202.876,56.166C202.876,61.842 202.34,66.404 201.269,69.849C200.197,73.296 198.459,75.815 196.056,77.407C193.652,79 190.395,79.796 186.283,79.796C182.054,79.796 178.738,78.985 176.336,77.364Z"
34
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
35
+ />
36
+ <path
37
+ d="M362.376,33.878C361.769,34.632 361.362,35.862 361.16,37.57C360.956,39.279 360.857,41.871 360.857,45.346L360.857,49.169L369.63,49.169L369.63,45.346C369.63,41.929 369.514,39.337 369.283,37.57C369.051,35.804 368.632,34.56 368.024,33.835C367.415,33.111 366.474,32.749 365.2,32.749C363.925,32.749 362.984,33.126 362.376,33.878ZM360.857,56.293L360.857,58.986C360.857,62.404 360.956,64.966 361.16,66.674C361.362,68.383 361.781,69.629 362.42,70.411C363.057,71.192 364.04,71.584 365.374,71.584C367.168,71.584 368.4,70.888 369.066,69.498C369.731,68.108 370.093,65.792 370.151,62.548L380.49,63.156C380.548,63.621 380.577,64.257 380.577,65.067C380.577,69.991 379.231,73.669 376.537,76.101C373.845,78.533 370.035,79.75 365.113,79.75C359.206,79.75 355.064,77.897 352.69,74.189C350.314,70.484 349.127,64.75 349.127,56.988L349.127,47.691C349.127,39.699 350.358,33.865 352.82,30.186C355.281,26.508 359.495,24.669 365.461,24.669C369.572,24.669 372.729,25.422 374.93,26.928C377.13,28.435 378.68,30.78 379.578,33.965C380.476,37.151 380.925,41.553 380.925,47.17L380.925,56.293L360.857,56.293Z"
38
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
39
+ />
40
+ <path
41
+ d="M147.142,55.295L133.502,6.036L145.404,6.036L150.182,28.363C151.399,33.867 152.296,38.558 152.875,42.437L153.223,42.437C153.628,39.657 154.526,34.996 155.916,28.45L160.868,6.036L172.77,6.036L158.957,55.295L158.957,78.927L147.142,78.927L147.142,55.295Z"
42
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
43
+ />
44
+ <path
45
+ d="M241.586,25.672L241.586,78.927L232.203,78.927L231.16,72.412L230.9,72.412C228.351,77.335 224.528,79.796 219.432,79.796C215.899,79.796 213.293,78.638 211.613,76.321C209.933,74.005 209.094,70.384 209.094,65.462L209.094,25.672L221.083,25.672L221.083,64.766C221.083,67.142 221.344,68.836 221.865,69.848C222.386,70.863 223.255,71.369 224.471,71.369C225.514,71.369 226.513,71.051 227.468,70.413C228.424,69.776 229.133,68.966 229.597,67.981L229.597,25.672L241.586,25.672Z"
46
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
47
+ />
48
+ <path
49
+ d="M303.082,25.672L303.082,78.927L293.699,78.927L292.656,72.412L292.397,72.412C289.846,77.335 286.024,79.796 280.928,79.796C277.395,79.796 274.789,78.638 273.109,76.321C271.429,74.005 270.59,70.384 270.59,65.462L270.59,25.672L282.579,25.672L282.579,64.766C282.579,67.142 282.839,68.836 283.36,69.848C283.882,70.863 284.751,71.369 285.967,71.369C287.01,71.369 288.009,71.051 288.964,70.413C289.92,69.776 290.629,68.966 291.093,67.981L291.093,25.672L303.082,25.672Z"
50
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
51
+ />
52
+ <path
53
+ d="M274.164,15.681L262.262,15.681L262.262,78.927L250.534,78.927L250.534,15.681L238.632,15.681L238.632,6.037L274.164,6.037L274.164,15.681Z"
54
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
55
+ />
56
+ <path
57
+ d="M331.772,55.908C331.772,59.789 331.611,62.83 331.293,65.03C330.975,67.232 330.439,68.796 329.686,69.721C328.933,70.648 327.918,71.111 326.646,71.111C325.66,71.111 324.748,70.88 323.909,70.416C323.068,69.953 322.389,69.258 321.867,68.331L321.867,38.098C322.272,36.651 322.967,35.463 323.952,34.536C324.937,33.611 326.007,33.146 327.166,33.146C328.383,33.146 329.323,33.624 329.99,34.579C330.655,35.535 331.119,37.142 331.38,39.402C331.641,41.66 331.772,44.874 331.772,49.044L331.772,55.908ZM342.761,34.185C342.036,30.827 340.863,28.394 339.242,26.887C337.62,25.382 335.39,24.629 332.553,24.629C330.352,24.629 328.296,25.252 326.385,26.497C324.474,27.742 322.996,29.378 321.954,31.405L321.866,31.405L321.867,3.344L310.313,3.344L310.313,78.926L320.216,78.926L321.433,73.888L321.693,73.888C322.619,75.683 324.009,77.102 325.863,78.145C327.716,79.187 329.773,79.709 332.032,79.709C336.085,79.709 339.068,77.84 340.98,74.105C342.891,70.369 343.847,64.535 343.847,56.599L343.847,48.173C343.847,42.208 343.484,37.545 342.761,34.185Z"
58
+ style="fill:rgb(39,39,39);fill-rule:nonzero;"
59
+ />
60
+ </g>
61
+ </svg>
62
+ </a>
63
+
64
+ <style>
65
+ .button_container {
66
+ display: flex;
67
+ width: fit-content;
68
+ gap: 0.8rem;
69
+ align-items: center;
70
+ background-color: var(--g1-t);
71
+ color: var(--g24-t);
72
+ text-decoration: none;
73
+ font-weight: 600;
74
+ box-shadow: 0px 0.5rem 1rem var(--g15-t);
75
+ transition: all 0.3s ease 0s;
76
+ }
77
+ .button_container:hover {
78
+ background-color: var(--g4-t);
79
+ box-shadow: 0px 0.3rem 2rem var(--g15-t);
80
+ transform: translateY(-0.2rem);
81
+ }
82
+ </style>
@@ -7495,6 +7495,23 @@ export const definitions = {
7495
7495
  },
7496
7496
  },
7497
7497
  },
7498
+ youtube_channel_button: {
7499
+ component_name: "YoutubeChannelButton",
7500
+ is_not_builder: true,
7501
+ description: "A button linking to a Youtube Channel with a customizable size and handle.",
7502
+ properties: {
7503
+ url: {
7504
+ type: "string",
7505
+ required: true,
7506
+ description: "The url to link to.",
7507
+ },
7508
+ size: {
7509
+ type: "number",
7510
+ default: 4,
7511
+ description: "The size of the button, which scales its height, font, and padding.",
7512
+ },
7513
+ },
7514
+ },
7498
7515
  youtube_video: {
7499
7516
  component_name: "YouTubeVideo",
7500
7517
  builder_function_name: "create_youtube_video_manager",
@@ -7553,7 +7570,7 @@ export const docs_overview_code_sample = `<script>
7553
7570
  create_text_input_manager,
7554
7571
  TextInput,
7555
7572
  copy_to_clipboard,
7556
- } from "@upppllc/sveltekit-ui"
7573
+ } from "sveltekit-ui"
7557
7574
 
7558
7575
  let manager = $state(null)
7559
7576
 
@@ -7596,12 +7613,12 @@ export const docs_overview_code_sample = `<script>
7596
7613
  export function docs_definition_to_sample_code(definition) {
7597
7614
  return definition?.is_not_builder
7598
7615
  ? `<script>
7599
- import { ${definition?.component_name} } from "@upppllc/sveltekit-ui"
7616
+ import { ${definition?.component_name} } from "sveltekit-ui"
7600
7617
  <\/script>
7601
7618
 
7602
7619
  <${definition?.component_name} some_property="example" />`
7603
7620
  : `<script>
7604
- import { ${definition?.builder_function_name}, ${definition?.component_name} } from "@upppllc/sveltekit-ui"
7621
+ import { ${definition?.builder_function_name}, ${definition?.component_name} } from "sveltekit-ui"
7605
7622
 
7606
7623
  let example_${definition?.builder_function_name?.slice(7)} = ${definition?.builder_function_name}({
7607
7624
  some_config_property: "example"
package/src/lib/index.js CHANGED
@@ -75,6 +75,10 @@ export { create_table_advanced_manager } from "./Components/TableAdvanced/index.
75
75
  export { default as Spacer } from "./Components/Spacer/index.svelte"
76
76
  export { default as TransparentBackground } from "./Components/TransparentBackground/index.svelte"
77
77
  export { default as XFollow } from "./Components/XFollow/index.svelte"
78
+ export { default as XPost } from "./Components/XPost/index.svelte"
79
+ export { create_x_post_manager } from "./Components/XPost/index.svelte.js"
80
+ export { default as YoutubeChannelButton } from "./Components/YoutubeChannelButton/index.svelte"
81
+ export { default as YoutubeVideo } from "./Components/YoutubeVideo/index.svelte"
78
82
 
79
83
  // export { default as ArrayDisplay } from "./Array/index.svelte"
80
84
  // export { create_array_manager } from "./Array/index.svelte.js"
@@ -46,7 +46,7 @@
46
46
  { name: "Cron Input", key: "cron_input" },
47
47
  { name: "Dropdown", key: "dropdown" },
48
48
  { name: "File Input", key: "file_input" },
49
- { name: "Function Input", key: "function_input" },
49
+ // { name: "Function Input", key: "function_input" },
50
50
  { name: "Icon", key: "icon" },
51
51
  { name: "Icon Input", key: "icon_input" },
52
52
  { name: "Image", key: "image" },
@@ -76,6 +76,7 @@
76
76
  { name: "TransparentBackground", key: "transparent_background" },
77
77
  { name: "XPost", key: "x_post" },
78
78
  { name: "XFollow", key: "x_follow" },
79
+ { name: "Youtube Follow Button", key: "youtube_channel_button" },
79
80
  { name: "Youtube Video", key: "youtube_video" },
80
81
  // { name: "Conditions Input TBD", key: "conditions_input" },
81
82
  // { name: "Text Array TBD", key: "text_array" },
@@ -101,6 +102,30 @@
101
102
  // })
102
103
  </script>
103
104
 
105
+ <svelte:head>
106
+ <title>Sveltekit-UI</title>
107
+ <meta name="description" content="Svelte UI component library for coding websites." />
108
+ <meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
109
+ <meta property="og:title" content="Sveltekit-UI" />
110
+ <meta property="og:description" content="Svelte UI component library for coding websites." />
111
+ <meta property="og:image" content="https://www.sveltekit-ui.com/thumbnail.webp" />
112
+ <meta property="og:url" content="https://www.sveltekit-ui.com" />
113
+ <meta property="og:type" content="website" />
114
+ <meta name="twitter:card" content="summary_large_image" />
115
+ <meta name="twitter:title" content="Contibase" />
116
+ <meta name="twitter:description" content="Svelte UI component library for coding websites" />
117
+ <meta name="twitter:image" content="https://www.sveltekit-ui.com/thumbnail.webp" />
118
+ <script async src="https://www.googletagmanager.com/gtag/js?id=AW-17171374425"></script>
119
+ <script>
120
+ window.dataLayer = window.dataLayer || []
121
+ function gtag() {
122
+ dataLayer.push(arguments)
123
+ }
124
+ gtag("js", new Date())
125
+ gtag("config", "AW-17171374425")
126
+ </script>
127
+ </svelte:head>
128
+
104
129
  <Layout manager={layout_manager}>
105
130
  {#snippet nav_bar_logo()}
106
131
  <div class="container" style="--color1: var(--primary-t);">
@@ -1,9 +1,9 @@
1
1
  <script>
2
2
  import Button from "$lib/Components/Button/index.svelte"
3
3
  import { create_button_manager } from "$lib/Components/Button/index.svelte.js"
4
- import { goto } from "$app/navigation"
5
4
  import Code from "$lib/Components/Code/index.svelte"
6
5
  import { create_code_manager } from "$lib/Components/Code/index.svelte.js"
6
+ import { goto } from "$app/navigation"
7
7
  import { definitions, docs_definition_to_sample_code, docs_overview_code_sample } from "$lib/client/docs/index.js"
8
8
  import { copy_to_clipboard } from "$lib/client/index.js"
9
9
 
@@ -19,7 +19,7 @@
19
19
  content: docs_overview_code_sample,
20
20
  })
21
21
 
22
- const overview_intro = `Each component can be combined into a more complex component. This is intended for sveltekit projects. The whole "tree" of docs should be initialized at the parent-most level which is likely in the <script> tags of a +page.svelte file. For a .svelte page or custom component you might combine components in a way such as the following:`
22
+ const overview_intro = `Each component can be combined into a more complex component. This is intended for sveltekit projects. The whole "tree" of components should be initialized at the parent-most level which is likely in the <script> tags of a +page.svelte file.`
23
23
 
24
24
  let copy_all_docs_button_manager = create_button_manager({
25
25
  type: "outlined",
@@ -48,19 +48,53 @@ below are the docs for each component individually
48
48
  copy_to_clipboard(overview + JSON.stringify(docs_prepped))
49
49
  },
50
50
  })
51
+
52
+ let copy_npm_button_manager = create_button_manager({
53
+ type: "outlined",
54
+ is_uniform: true,
55
+ is_success_animation: true,
56
+ support_icon: "clipboard",
57
+ on_click: () => copy_to_clipboard("npm i sveltekit-ui"),
58
+ })
59
+ let copy_quick_start_button_manager = create_button_manager({
60
+ type: "outlined",
61
+ is_uniform: true,
62
+ is_success_animation: true,
63
+ support_icon: "clipboard",
64
+ on_click: () => copy_to_clipboard("npx create-sveltekit-ui-site my-project"),
65
+ })
51
66
  </script>
52
67
 
53
68
  <div class="container">
54
- <h1>Not currently available for public Use</h1>
69
+ <h1>Welcome to Sveltekit-UI</h1>
55
70
  <p>
56
- As of January, 2025, I have been working on these components for a few years one by one. As a perfectionist I am
57
- frequently making breaking changes.
71
+ npm package at <a href="https://www.npmjs.com/package/sveltekit-ui" target="_blank" rel="noopener noreferrer"
72
+ >https://www.npmjs.com/package/sveltekit-ui</a
73
+ >
58
74
  </p>
75
+ <div style="display: inline-flex; gap: .5rem;">
76
+ <code>npm i sveltekit-ui</code>
77
+ <Button manager={copy_npm_button_manager} />
78
+ </div>
79
+
80
+ <h4>Quick start project with starter template (recommended)</h4>
81
+ <div style="display: inline-flex; gap: .5rem;">
82
+ <code>npx create-sveltekit-ui-site my-project</code>
83
+ <Button manager={copy_quick_start_button_manager} />
84
+ </div>
59
85
  <p>
60
- I have made some basic docs so far but currently still have the package set to private on npm but may release a
61
- public version in the coming months or make it available to www.contibase.com users only. tbd.
86
+ Our components use svelte 5 Runes. We have taken an approach where components are mostly built in javascript to
87
+ allow for control of your entire tree of components in one parent object that can then be passed down through all
88
+ HTML and CSS components.
89
+ </p>
90
+ <p>
91
+ After a lot of work, these components are in a state that we are happy to release to the public and encourage people
92
+ to use as of July 2025. You can also go to
93
+ <a href="https://www.contibase.com/code_generator" target="_blank" rel="noopener noreferrer"
94
+ >www.contibase.com/code_generator</a
95
+ >
96
+ to help you build with sveltekit-ui. Contibase is also a very compatible project to use alongside sveltekit-ui.
62
97
  </p>
63
- <p>{overview_intro}</p>
64
98
  <br />
65
99
  <Code manager={overview_sample_code_manager} />
66
100
  <p>Explore the docs for details on each individual component</p>
@@ -74,10 +108,16 @@ below are the docs for each component individually
74
108
  <style>
75
109
  .container {
76
110
  margin: auto;
77
- padding: 2rem;
111
+ padding: 0 2rem 10rem 2rem;
78
112
  max-width: 60rem;
79
113
  }
80
114
  p {
81
115
  margin-top: 2rem;
82
116
  }
117
+ code {
118
+ background-color: var(--shadow2-t);
119
+ border-radius: 0.5rem;
120
+ padding: 0.5rem 0.5rem 0.2rem 0.5rem;
121
+ border: 1px solid var(--shadow4-t);
122
+ }
83
123
  </style>
@@ -47,6 +47,7 @@
47
47
  import TransparentBackgroundShowcase from "./Showcase/TransparentBackground/index.svelte"
48
48
  import XPostShowcase from "./Showcase/XPost/index.svelte"
49
49
  import XFollowShowcase from "./Showcase/XFollow/index.svelte"
50
+ import YoutubeChannelButtonShowcase from "./Showcase/YoutubeChannelButton/index.svelte"
50
51
  import YoutubeVideoShowcase from "./Showcase/YoutubeVideo/index.svelte"
51
52
  import { page } from "$app/state"
52
53
  // tbd
@@ -158,6 +159,8 @@
158
159
  <XPostShowcase />
159
160
  {:else if page?.params?.component == "x_follow"}
160
161
  <XFollowShowcase />
162
+ {:else if page?.params?.component == "youtube_channel_button"}
163
+ <YoutubeChannelButtonShowcase />
161
164
  {:else if page?.params?.component == "youtube_video"}
162
165
  <YoutubeVideoShowcase />
163
166
  {/if}
@@ -0,0 +1,7 @@
1
+ <script>
2
+ import YoutubeChannelButton from "$lib/Components/YoutubeChannelButton/index.svelte"
3
+ </script>
4
+
5
+ <div>
6
+ <YoutubeChannelButton url="https://www.youtube.com/@contibase" />
7
+ </div>
Binary file
Binary file