@leaflink/stash 51.10.0 → 51.11.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.
- package/dist/DataViewToolbar.js +148 -81
- package/dist/DataViewToolbar.js.map +1 -1
- package/dist/DataViewToolbar.vue.d.ts +102 -1
- package/dist/MoreActions.js +489 -0
- package/dist/MoreActions.js.map +1 -0
- package/dist/MoreActions.vue.d.ts +203 -0
- package/dist/Tab.js +9 -9
- package/dist/Tab.js.map +1 -1
- package/dist/Tabs.js +2 -2
- package/dist/Tabs.vue.d.ts +1 -119
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js +78 -0
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js.map +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/components.css +1 -1
- package/dist/index-XZqpB2_R.js +294 -0
- package/dist/{index-GUu9zvbg.js.map → index-XZqpB2_R.js.map} +1 -1
- package/dist/tailwind-base.d.ts +18 -0
- package/dist/tailwind-base.js +18 -8
- package/dist/tailwind-base.js.map +1 -1
- package/dist/useSortable.js +1 -1
- package/package.json +1 -1
- package/tailwind-base.ts +11 -0
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js +0 -156
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js.map +0 -1
- package/dist/index-GUu9zvbg.js +0 -128
package/dist/tailwind-base.d.ts
CHANGED
|
@@ -247,6 +247,8 @@ declare const _default: {
|
|
|
247
247
|
grow: string;
|
|
248
248
|
pulse: string;
|
|
249
249
|
shake: string;
|
|
250
|
+
'fade-in': string;
|
|
251
|
+
'fade-out': string;
|
|
250
252
|
};
|
|
251
253
|
keyframes: {
|
|
252
254
|
grow: {
|
|
@@ -276,6 +278,22 @@ declare const _default: {
|
|
|
276
278
|
transform: string;
|
|
277
279
|
};
|
|
278
280
|
};
|
|
281
|
+
'fade-in': {
|
|
282
|
+
'0%': {
|
|
283
|
+
opacity: string;
|
|
284
|
+
};
|
|
285
|
+
'100%': {
|
|
286
|
+
opacity: string;
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
'fade-out': {
|
|
290
|
+
'0%': {
|
|
291
|
+
opacity: string;
|
|
292
|
+
};
|
|
293
|
+
'100%': {
|
|
294
|
+
opacity: string;
|
|
295
|
+
};
|
|
296
|
+
};
|
|
279
297
|
};
|
|
280
298
|
transitionTimingFunction: {
|
|
281
299
|
'fast-out-slow-in': string;
|
package/dist/tailwind-base.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SCREEN_SIZES as i } from "./constants.js";
|
|
2
|
-
const
|
|
2
|
+
const o = {
|
|
3
3
|
content: [
|
|
4
4
|
// Todo: can/should this be optimized? Where should we be looking for classes?
|
|
5
5
|
"./src/**/*.{vue,ts,tsx,js,jsx,mdx}"
|
|
@@ -334,7 +334,9 @@ const l = {
|
|
|
334
334
|
animation: {
|
|
335
335
|
grow: "grow 1s",
|
|
336
336
|
pulse: "pulse 2s cubic-bezier(.4, 0, .6,1) infinite",
|
|
337
|
-
shake: "shake 1s ease 0s 1 normal none running"
|
|
337
|
+
shake: "shake 1s ease 0s 1 normal none running",
|
|
338
|
+
"fade-in": "fade-in 0.3s ease-out",
|
|
339
|
+
"fade-out": "fade-out 0.3s ease-in"
|
|
338
340
|
},
|
|
339
341
|
keyframes: {
|
|
340
342
|
grow: {
|
|
@@ -359,6 +361,14 @@ const l = {
|
|
|
359
361
|
"20%, 40%, 60%, 80%": {
|
|
360
362
|
transform: "translate3d(10px, 0, 0)"
|
|
361
363
|
}
|
|
364
|
+
},
|
|
365
|
+
"fade-in": {
|
|
366
|
+
"0%": { opacity: "0" },
|
|
367
|
+
"100%": { opacity: "1" }
|
|
368
|
+
},
|
|
369
|
+
"fade-out": {
|
|
370
|
+
"0%": { opacity: "1" },
|
|
371
|
+
"100%": { opacity: "0" }
|
|
362
372
|
}
|
|
363
373
|
},
|
|
364
374
|
// .tw-ease-*
|
|
@@ -385,18 +395,18 @@ const l = {
|
|
|
385
395
|
container: !1,
|
|
386
396
|
preflight: !1
|
|
387
397
|
}
|
|
388
|
-
},
|
|
398
|
+
}, p = () => {
|
|
389
399
|
const e = [];
|
|
390
|
-
return ["purple", "royal", "blue", "seafoam", "teal", "green", "yellow", "orange", "red", "ice"].forEach((
|
|
400
|
+
return ["purple", "royal", "blue", "seafoam", "teal", "green", "yellow", "orange", "red", "ice"].forEach((r) => {
|
|
391
401
|
["bg", "text", "border", "stroke"].forEach((t) => {
|
|
392
|
-
["", "400"].forEach((
|
|
393
|
-
e.push(`tw-${t}-${
|
|
402
|
+
["", "400"].forEach((a) => {
|
|
403
|
+
e.push(`tw-${t}-${r}${a ? `-${a}` : ""}`);
|
|
394
404
|
});
|
|
395
405
|
});
|
|
396
406
|
}), e;
|
|
397
407
|
};
|
|
398
408
|
export {
|
|
399
|
-
|
|
400
|
-
|
|
409
|
+
o as default,
|
|
410
|
+
p as getColorClasses
|
|
401
411
|
};
|
|
402
412
|
//# sourceMappingURL=tailwind-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind-base.js","sources":["../tailwind-base.ts"],"sourcesContent":["import type { Config } from 'tailwindcss';\n\nimport { SCREEN_SIZES } from './src/constants';\n\nexport default {\n content: [\n // Todo: can/should this be optimized? Where should we be looking for classes?\n './src/**/*.{vue,ts,tsx,js,jsx,mdx}',\n ],\n\n prefix: 'tw-',\n\n // ALWAYS include these color related classes. This allows us to dynamically\n // create color classes based on a color prop in our components instead of\n // listing the full class name like is encouraged in the docs.\n // https://tailwindcss.com/docs/content-configuration#using-regular-expressions\n //\n // Note: If any stash components change which color classes they dynamically build,\n // this needs to change. Keep this list as small as possible.\n //\n // Note: Patterns can only match against base utility names like /bg-red-.+/, and won’t match if the pattern\n // includes a variant modifier like /hover:bg-red-.+/.\n safelist: [\n {\n pattern: /(bg|text|border)-(purple|royal|blue|seafoam|teal|green|yellow|orange|red|ice)(-[1,5,7,9]00)$/,\n },\n // Illustration.vue stroke color.\n {\n pattern: /stroke-(purple|royal|blue|seafoam|teal|green|yellow|orange|red|ice)-500$/,\n },\n // Illustration.vue dynamic text.\n {\n pattern: /text-(purple|royal|blue|seafoam|teal|green|yellow|orange|red|ice)-400$/,\n },\n // Dynamic bg color for components using the colorScheme function (Chip, Avatar, etc.)\n 'bg-ice-200',\n // These are custom classes that we might not use in our Stash code, but we\n // define in Stash and want to keep in the final CSS for downstream use.\n 'heading-jumbo',\n // allow white and black to be used dynamically\n 'bg-white',\n 'bg-black',\n 'text-white',\n 'text-black',\n 'border-white',\n 'border-black',\n ],\n\n // Conflicts with our own custom classes\n // https://tailwindcss.com/docs/content-configuration#discarding-classes\n blocklist: ['container'],\n\n theme: {\n screens: SCREEN_SIZES,\n\n fontFamily: {\n mono: ['monospace'],\n sans: ['Sofia', 'sans-serif'],\n /**\n * @deprecated - use `tw-font-sans` instead!\n */\n sofia: ['Sofia', 'sans-serif'],\n },\n\n colors: {\n white: '#fff',\n black: '#000',\n transparent: 'transparent',\n inherit: 'inherit',\n\n // --color-white: #ffffff;\n // --color-black: #000000;\n // --color-blue-hover: rgba(0,114,240,0.74902);\n // --color-red-hover: rgba(228,0,43,0.74902);\n // --color-ice-700-hover: rgba(118,121,127,0.11765);\n // --color-white-hover: rgba(255,255,255,0.11765);\n // --button-secondary-blue-hover: rgba(0,114,240,0.11765);\n // --button-secondary-red-hover: rgba(228,0,43,0.11765);\n\n // https://tailwindcss.com/docs/upgrade-guide#fill-and-stroke-use-color-palette\n current: 'currentColor',\n\n purple: {\n 900: '#06040F',\n 800: '#0C091E',\n 700: '#120D2D',\n 600: '#18123C',\n 500: '#1E164B',\n 400: '#4B456F',\n 300: '#787393',\n 200: '#A5A2B7',\n 100: '#D2D0DB',\n },\n\n royal: {\n 900: '#0A0C24',\n 800: '#131747',\n 700: '#1D236B',\n 600: '#262E8E',\n 500: '#303AB2',\n 400: '#5961C1',\n 300: '#8389D1',\n 200: '#ACB0E0',\n 100: '#D6D8F0',\n },\n\n blue: {\n 900: '#001730',\n 800: '#002E60',\n 700: '#004490',\n 600: '#005BC0',\n 500: '#0072F0',\n 400: '#338EF3',\n 300: '#66AAF6',\n 200: '#99C7F9',\n 100: '#CCE3FC',\n },\n\n teal: {\n 900: '#002528',\n 800: '#004B50',\n 700: '#017078',\n 600: '#0196A0',\n 500: '#01BBC8',\n 400: '#34C9D3',\n 300: '#67D6DE',\n 200: '#99E4E9',\n 100: '#CCF1F4',\n },\n\n green: {\n 900: '#062313',\n 800: '#0C4627',\n 700: '#11683A',\n 600: '#178B4E',\n 500: '#1DAE61',\n 400: '#4ABE81',\n 300: '#77CEA0',\n 200: '#A5DFC0',\n 100: '#D2EFDF',\n },\n\n seafoam: {\n 900: '#0C2C26',\n 800: '#18584D',\n 700: '#248373',\n 600: '#30AF9A',\n 500: '#3CDBC0',\n 400: '#63E2CD',\n 300: '#8AE9D9',\n 200: '#B1F1E6',\n 100: '#D8F8F2',\n },\n\n yellow: {\n 900: '#332A00',\n 800: '#665500',\n 700: '#997F00',\n 600: '#CCAA00',\n 500: '#FFD400',\n 400: '#FFDD33',\n 300: '#FFE566',\n 200: '#FFEE99',\n 100: '#FFF6CC',\n },\n\n orange: {\n 900: '#331E07',\n 800: '#663B0F',\n 700: '#995916',\n 600: '#CC761E',\n 500: '#FF9425',\n 400: '#FFA951',\n 300: '#FFBF7C',\n 200: '#FFD4A8',\n 100: '#FFEAD3',\n },\n\n red: {\n 900: '#2E0009',\n 800: '#5B0011',\n 700: '#89001A',\n 600: '#B60022',\n 500: '#E4002B',\n 400: '#E93355',\n 300: '#EF6680',\n 200: '#F499AA',\n 100: '#FACCD5',\n },\n\n ice: {\n 900: '#27282A',\n 800: '#4F5055',\n 700: '#76797F',\n 600: '#9EA1AA',\n 500: '#C5C9D4',\n 400: '#D1D4DD',\n 300: '#DCDFE5',\n 200: '#E8E9EE',\n 100: '#F3F4F6',\n },\n },\n\n // Custom additions to Tailwind's existing utility classes.\n // https://tailwindcss.com/docs/theme#extending-the-default-theme\n extend: {\n backgroundImage: {\n 'scroll-shadow': 'linear-gradient(0deg, rgb(197 201 212 / 35%), rgb(38 38 38 / 0%))',\n },\n\n borderWidth: {\n 6: '6px',\n 10: '10px',\n 12: '12px',\n },\n\n // .tw-shadow-*\n boxShadow: {\n // Modules or Images if necessary (Previously Shadow Low)\n DEFAULT: '0px 2px 2px 0px rgba(38, 38, 38, 0.05), 0px 2px 6px 0px rgba(38, 38, 38, 0.10)',\n\n // Cards Scroll Lock Modules like Global Nav or the Bulk Select Mobile Pattern\n md: '0px 3px 3px 1px rgba(38, 38, 38, 0.05), 0px 3px 12px 1px rgba(38, 38, 38, 0.10)',\n\n // TBD\n lg: '0px 6px 6px 0px rgba(38, 38, 38, 0.05), 0px 6px 18px 2px rgba(38, 38, 38, 0.10), 0px 6px 18px 2px rgba(38, 38, 38, 0.15)',\n\n // Floating UIs like the Zendesk Help center\n xl: '0px 12px 12px 0px rgba(38, 38, 38, 0.05), 0px 12px 12px 2px rgba(38, 38, 38, 0.10), 0px 12px 24px 2px rgba(38, 38, 38, 0.15)',\n\n // Dropdowns, Selects, Menus\n '2xl':\n '0px 18px 18px 4px rgba(38, 38, 38, 0.05), 0px 18px 18px 4px rgba(38, 38, 38, 0.10), 0px 18px 30px 0px rgba(38, 38, 38, 0.15)',\n\n // Dialogs, Modals and any other Overlay types (Previously Shadow High)\n '3xl':\n '0px 24px 24px 0px rgba(38, 38, 38, 0.05), 0px 24px 24px 8px rgba(38, 38, 38, 0.10), 0px 24px 48px 8px rgba(38, 38, 38, 0.15)',\n\n // @deprecated - use `tw-shadow` instead!\n low: '0 2px 4px rgba(0, 15, 35, 0.06)',\n\n // @deprecated - use `tw-shadow-3xl` instead!\n high: '0 4px 8px rgba(0, 15, 35, 0.06)',\n },\n\n // .tw-text-*\n // Note: All these font SIZES match tailwind! We're only overriding default\n // line-height to match LL typography & adjust for Sofia.\n fontSize: {\n '2xl': [\n '1.5rem',\n {\n lineHeight: 'calc(32/24)',\n },\n ],\n\n xl: [\n '1.25rem',\n {\n lineHeight: 'calc(28/20)',\n },\n ],\n\n base: [\n '1rem',\n {\n lineHeight: 'calc(24/16)',\n },\n ],\n\n sm: [\n '0.875rem',\n {\n lineHeight: 'calc(20/14)',\n },\n ],\n\n xs: [\n '0.75rem',\n {\n lineHeight: 'calc(16/12)',\n },\n ],\n },\n\n height: {\n input: '2.25rem', // 36px\n logo: '1.375rem', // 22px\n topbar: '3.5rem', // 56px\n chip: '1.375rem', // 22px\n },\n\n // .tw-max-h-*\n maxHeight: {\n 'select-menu': '18.75rem', // 300px - sharable with dropdown, date, etc.\n },\n\n // .tw-leading-*\n lineHeight: {\n initial: 'initial',\n '2xl': 'calc(32/24)',\n xl: 'calc(28/20)',\n base: 'calc(24/16)',\n // for backwards compatibility with LL typography line-heights\n body: 'calc(20/14)',\n small: 'calc(16/12)',\n button: 'calc(24/14)',\n },\n\n // .tw-min-w-*\n minWidth: {\n auto: 'auto',\n input: '9rem', // 144px\n },\n\n // .tw-max-w-*\n maxWidth: {\n field: '18rem', // 288px - standard width used for form field elements\n initial: 'initial',\n container: '87.5rem', // 1400px - max width used for page content\n },\n\n // .tw-rotate-*\n rotate: {\n '270': '270deg',\n },\n\n // https://tailwindcss.com/docs/customizing-spacing\n spacing: {\n 15: '3.75rem', // 60px (same as ll-spacing-6 to help migrate)\n // This is the only tailwind setting dependent on a variable and this is because the\n // variable actually has responsive styles baked in, and there's no way to do that\n // with tailwind. Defined in `styles/base.css`.\n gutter: 'var(--grid-gutter)',\n sidebar: '17.5rem', // 280px\n },\n\n // .tw-w-*\n width: {\n container: '87.5rem', // 1400px\n 'inline-edit': '8.75rem', // 140px - standard width used for ll-inline-edit elements\n 'inline-edit-small': '5.6rem', // 90px - standard width used for smaller ll-inline-edit elements\n sidebar: '17.5rem', // 280px\n 'select-menu': '5rem', // 80px\n },\n\n // .tw-z-*\n zIndex: {\n '-10': '-10',\n '-20': '-20',\n '-30': '-30',\n behind: '-1',\n content: '100', // general content on the page\n control: '200', // for UI controls, widgets, buttons, etc. These are given one level higher priority\n page: '300', // applies to page-level blocks, ie. site-header, side-nav, etc\n screen: '400', // covers all \"standard\" things visible on the screen: page-level blocks, UI/control things, general content\n modal: '1000', // covers all things except dialogs, including other elements promoted along the z-axis.\n dialog: '1001', // covers all things, including other elements promoted along the z-axis.\n },\n\n animation: {\n grow: 'grow 1s',\n pulse: 'pulse 2s cubic-bezier(.4, 0, .6,1) infinite',\n shake: 'shake 1s ease 0s 1 normal none running',\n },\n\n keyframes: {\n grow: {\n 'from, to': {\n transform: 'scale3d(1, 1, 1)',\n },\n '50%': {\n transform: 'scale3d(1.25, 1.25, 1.25)',\n },\n },\n\n pulse: {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.25' },\n },\n\n shake: {\n 'from, to': {\n transform: 'translate3d(0, 0, 0)',\n },\n '10%, 30%, 50%, 70%, 90%': {\n transform: 'translate3d(-10px, 0, 0)',\n },\n '20%, 40%, 60%, 80%': {\n transform: 'translate3d(10px, 0, 0)',\n },\n },\n },\n\n // .tw-ease-*\n transitionTimingFunction: {\n 'fast-out-slow-in': 'cubic-bezier(0.4, 0, 0.2, 1)',\n 'linear-out-slow-in': 'cubic-bezier(0, 0, 0.2, 1)',\n 'fast-out-linear-in': 'cubic-bezier(0.4, 0, 1, 1)',\n 'ease-in-out': 'cubic-bezier(0.4, 0, 0.6, 1)',\n 'fast-in-fast-out': 'cubic-bezier(0.25, 0.8, 0.25, 1)',\n swing: 'cubic-bezier(0.25, 0.8, 0.5, 1)',\n },\n\n // .tw-duration-*\n transitionDuration: {\n snap: '0.1s',\n fast: '0.165s',\n brisk: '0.333s',\n slow: '0.5s',\n sleepy: '1s',\n },\n },\n },\n\n corePlugins: {\n // because we have our own\n container: false,\n preflight: false,\n },\n} satisfies Config;\n\n/**\n * Utility to return a holistic array of tailwind color classes.\n *\n * This function will allow downstream applications to easily **blocklist** the same color\n * classes that are safelisted in the base preset, just in case they need to prevent unnecessarily\n * duplicating classes in their final build.\n *\n * @see {@link https://tailwindcss.com/docs/content-configuration#discarding-classes}\n */\nexport const getColorClasses = () => {\n const classes: Array<string> = [];\n\n ['purple', 'royal', 'blue', 'seafoam', 'teal', 'green', 'yellow', 'orange', 'red', 'ice'].forEach((color) => {\n ['bg', 'text', 'border', 'stroke'].forEach((plugin) => {\n ['', '400'].forEach((shade) => {\n classes.push(`tw-${plugin}-${color}${shade ? `-${shade}` : ''}`);\n });\n });\n });\n\n return classes;\n};\n"],"names":["tailwindBase","SCREEN_SIZES","getColorClasses","classes","color","plugin","shade"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tailwind-base.js","sources":["../tailwind-base.ts"],"sourcesContent":["import type { Config } from 'tailwindcss';\n\nimport { SCREEN_SIZES } from './src/constants';\n\nexport default {\n content: [\n // Todo: can/should this be optimized? Where should we be looking for classes?\n './src/**/*.{vue,ts,tsx,js,jsx,mdx}',\n ],\n\n prefix: 'tw-',\n\n // ALWAYS include these color related classes. This allows us to dynamically\n // create color classes based on a color prop in our components instead of\n // listing the full class name like is encouraged in the docs.\n // https://tailwindcss.com/docs/content-configuration#using-regular-expressions\n //\n // Note: If any stash components change which color classes they dynamically build,\n // this needs to change. Keep this list as small as possible.\n //\n // Note: Patterns can only match against base utility names like /bg-red-.+/, and won’t match if the pattern\n // includes a variant modifier like /hover:bg-red-.+/.\n safelist: [\n {\n pattern: /(bg|text|border)-(purple|royal|blue|seafoam|teal|green|yellow|orange|red|ice)(-[1,5,7,9]00)$/,\n },\n // Illustration.vue stroke color.\n {\n pattern: /stroke-(purple|royal|blue|seafoam|teal|green|yellow|orange|red|ice)-500$/,\n },\n // Illustration.vue dynamic text.\n {\n pattern: /text-(purple|royal|blue|seafoam|teal|green|yellow|orange|red|ice)-400$/,\n },\n // Dynamic bg color for components using the colorScheme function (Chip, Avatar, etc.)\n 'bg-ice-200',\n // These are custom classes that we might not use in our Stash code, but we\n // define in Stash and want to keep in the final CSS for downstream use.\n 'heading-jumbo',\n // allow white and black to be used dynamically\n 'bg-white',\n 'bg-black',\n 'text-white',\n 'text-black',\n 'border-white',\n 'border-black',\n ],\n\n // Conflicts with our own custom classes\n // https://tailwindcss.com/docs/content-configuration#discarding-classes\n blocklist: ['container'],\n\n theme: {\n screens: SCREEN_SIZES,\n\n fontFamily: {\n mono: ['monospace'],\n sans: ['Sofia', 'sans-serif'],\n /**\n * @deprecated - use `tw-font-sans` instead!\n */\n sofia: ['Sofia', 'sans-serif'],\n },\n\n colors: {\n white: '#fff',\n black: '#000',\n transparent: 'transparent',\n inherit: 'inherit',\n\n // --color-white: #ffffff;\n // --color-black: #000000;\n // --color-blue-hover: rgba(0,114,240,0.74902);\n // --color-red-hover: rgba(228,0,43,0.74902);\n // --color-ice-700-hover: rgba(118,121,127,0.11765);\n // --color-white-hover: rgba(255,255,255,0.11765);\n // --button-secondary-blue-hover: rgba(0,114,240,0.11765);\n // --button-secondary-red-hover: rgba(228,0,43,0.11765);\n\n // https://tailwindcss.com/docs/upgrade-guide#fill-and-stroke-use-color-palette\n current: 'currentColor',\n\n purple: {\n 900: '#06040F',\n 800: '#0C091E',\n 700: '#120D2D',\n 600: '#18123C',\n 500: '#1E164B',\n 400: '#4B456F',\n 300: '#787393',\n 200: '#A5A2B7',\n 100: '#D2D0DB',\n },\n\n royal: {\n 900: '#0A0C24',\n 800: '#131747',\n 700: '#1D236B',\n 600: '#262E8E',\n 500: '#303AB2',\n 400: '#5961C1',\n 300: '#8389D1',\n 200: '#ACB0E0',\n 100: '#D6D8F0',\n },\n\n blue: {\n 900: '#001730',\n 800: '#002E60',\n 700: '#004490',\n 600: '#005BC0',\n 500: '#0072F0',\n 400: '#338EF3',\n 300: '#66AAF6',\n 200: '#99C7F9',\n 100: '#CCE3FC',\n },\n\n teal: {\n 900: '#002528',\n 800: '#004B50',\n 700: '#017078',\n 600: '#0196A0',\n 500: '#01BBC8',\n 400: '#34C9D3',\n 300: '#67D6DE',\n 200: '#99E4E9',\n 100: '#CCF1F4',\n },\n\n green: {\n 900: '#062313',\n 800: '#0C4627',\n 700: '#11683A',\n 600: '#178B4E',\n 500: '#1DAE61',\n 400: '#4ABE81',\n 300: '#77CEA0',\n 200: '#A5DFC0',\n 100: '#D2EFDF',\n },\n\n seafoam: {\n 900: '#0C2C26',\n 800: '#18584D',\n 700: '#248373',\n 600: '#30AF9A',\n 500: '#3CDBC0',\n 400: '#63E2CD',\n 300: '#8AE9D9',\n 200: '#B1F1E6',\n 100: '#D8F8F2',\n },\n\n yellow: {\n 900: '#332A00',\n 800: '#665500',\n 700: '#997F00',\n 600: '#CCAA00',\n 500: '#FFD400',\n 400: '#FFDD33',\n 300: '#FFE566',\n 200: '#FFEE99',\n 100: '#FFF6CC',\n },\n\n orange: {\n 900: '#331E07',\n 800: '#663B0F',\n 700: '#995916',\n 600: '#CC761E',\n 500: '#FF9425',\n 400: '#FFA951',\n 300: '#FFBF7C',\n 200: '#FFD4A8',\n 100: '#FFEAD3',\n },\n\n red: {\n 900: '#2E0009',\n 800: '#5B0011',\n 700: '#89001A',\n 600: '#B60022',\n 500: '#E4002B',\n 400: '#E93355',\n 300: '#EF6680',\n 200: '#F499AA',\n 100: '#FACCD5',\n },\n\n ice: {\n 900: '#27282A',\n 800: '#4F5055',\n 700: '#76797F',\n 600: '#9EA1AA',\n 500: '#C5C9D4',\n 400: '#D1D4DD',\n 300: '#DCDFE5',\n 200: '#E8E9EE',\n 100: '#F3F4F6',\n },\n },\n\n // Custom additions to Tailwind's existing utility classes.\n // https://tailwindcss.com/docs/theme#extending-the-default-theme\n extend: {\n backgroundImage: {\n 'scroll-shadow': 'linear-gradient(0deg, rgb(197 201 212 / 35%), rgb(38 38 38 / 0%))',\n },\n\n borderWidth: {\n 6: '6px',\n 10: '10px',\n 12: '12px',\n },\n\n // .tw-shadow-*\n boxShadow: {\n // Modules or Images if necessary (Previously Shadow Low)\n DEFAULT: '0px 2px 2px 0px rgba(38, 38, 38, 0.05), 0px 2px 6px 0px rgba(38, 38, 38, 0.10)',\n\n // Cards Scroll Lock Modules like Global Nav or the Bulk Select Mobile Pattern\n md: '0px 3px 3px 1px rgba(38, 38, 38, 0.05), 0px 3px 12px 1px rgba(38, 38, 38, 0.10)',\n\n // TBD\n lg: '0px 6px 6px 0px rgba(38, 38, 38, 0.05), 0px 6px 18px 2px rgba(38, 38, 38, 0.10), 0px 6px 18px 2px rgba(38, 38, 38, 0.15)',\n\n // Floating UIs like the Zendesk Help center\n xl: '0px 12px 12px 0px rgba(38, 38, 38, 0.05), 0px 12px 12px 2px rgba(38, 38, 38, 0.10), 0px 12px 24px 2px rgba(38, 38, 38, 0.15)',\n\n // Dropdowns, Selects, Menus\n '2xl':\n '0px 18px 18px 4px rgba(38, 38, 38, 0.05), 0px 18px 18px 4px rgba(38, 38, 38, 0.10), 0px 18px 30px 0px rgba(38, 38, 38, 0.15)',\n\n // Dialogs, Modals and any other Overlay types (Previously Shadow High)\n '3xl':\n '0px 24px 24px 0px rgba(38, 38, 38, 0.05), 0px 24px 24px 8px rgba(38, 38, 38, 0.10), 0px 24px 48px 8px rgba(38, 38, 38, 0.15)',\n\n // @deprecated - use `tw-shadow` instead!\n low: '0 2px 4px rgba(0, 15, 35, 0.06)',\n\n // @deprecated - use `tw-shadow-3xl` instead!\n high: '0 4px 8px rgba(0, 15, 35, 0.06)',\n },\n\n // .tw-text-*\n // Note: All these font SIZES match tailwind! We're only overriding default\n // line-height to match LL typography & adjust for Sofia.\n fontSize: {\n '2xl': [\n '1.5rem',\n {\n lineHeight: 'calc(32/24)',\n },\n ],\n\n xl: [\n '1.25rem',\n {\n lineHeight: 'calc(28/20)',\n },\n ],\n\n base: [\n '1rem',\n {\n lineHeight: 'calc(24/16)',\n },\n ],\n\n sm: [\n '0.875rem',\n {\n lineHeight: 'calc(20/14)',\n },\n ],\n\n xs: [\n '0.75rem',\n {\n lineHeight: 'calc(16/12)',\n },\n ],\n },\n\n height: {\n input: '2.25rem', // 36px\n logo: '1.375rem', // 22px\n topbar: '3.5rem', // 56px\n chip: '1.375rem', // 22px\n },\n\n // .tw-max-h-*\n maxHeight: {\n 'select-menu': '18.75rem', // 300px - sharable with dropdown, date, etc.\n },\n\n // .tw-leading-*\n lineHeight: {\n initial: 'initial',\n '2xl': 'calc(32/24)',\n xl: 'calc(28/20)',\n base: 'calc(24/16)',\n // for backwards compatibility with LL typography line-heights\n body: 'calc(20/14)',\n small: 'calc(16/12)',\n button: 'calc(24/14)',\n },\n\n // .tw-min-w-*\n minWidth: {\n auto: 'auto',\n input: '9rem', // 144px\n },\n\n // .tw-max-w-*\n maxWidth: {\n field: '18rem', // 288px - standard width used for form field elements\n initial: 'initial',\n container: '87.5rem', // 1400px - max width used for page content\n },\n\n // .tw-rotate-*\n rotate: {\n '270': '270deg',\n },\n\n // https://tailwindcss.com/docs/customizing-spacing\n spacing: {\n 15: '3.75rem', // 60px (same as ll-spacing-6 to help migrate)\n // This is the only tailwind setting dependent on a variable and this is because the\n // variable actually has responsive styles baked in, and there's no way to do that\n // with tailwind. Defined in `styles/base.css`.\n gutter: 'var(--grid-gutter)',\n sidebar: '17.5rem', // 280px\n },\n\n // .tw-w-*\n width: {\n container: '87.5rem', // 1400px\n 'inline-edit': '8.75rem', // 140px - standard width used for ll-inline-edit elements\n 'inline-edit-small': '5.6rem', // 90px - standard width used for smaller ll-inline-edit elements\n sidebar: '17.5rem', // 280px\n 'select-menu': '5rem', // 80px\n },\n\n // .tw-z-*\n zIndex: {\n '-10': '-10',\n '-20': '-20',\n '-30': '-30',\n behind: '-1',\n content: '100', // general content on the page\n control: '200', // for UI controls, widgets, buttons, etc. These are given one level higher priority\n page: '300', // applies to page-level blocks, ie. site-header, side-nav, etc\n screen: '400', // covers all \"standard\" things visible on the screen: page-level blocks, UI/control things, general content\n modal: '1000', // covers all things except dialogs, including other elements promoted along the z-axis.\n dialog: '1001', // covers all things, including other elements promoted along the z-axis.\n },\n\n animation: {\n grow: 'grow 1s',\n pulse: 'pulse 2s cubic-bezier(.4, 0, .6,1) infinite',\n shake: 'shake 1s ease 0s 1 normal none running',\n 'fade-in': 'fade-in 0.3s ease-out',\n 'fade-out': 'fade-out 0.3s ease-in',\n },\n\n keyframes: {\n grow: {\n 'from, to': {\n transform: 'scale3d(1, 1, 1)',\n },\n '50%': {\n transform: 'scale3d(1.25, 1.25, 1.25)',\n },\n },\n\n pulse: {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.25' },\n },\n\n shake: {\n 'from, to': {\n transform: 'translate3d(0, 0, 0)',\n },\n '10%, 30%, 50%, 70%, 90%': {\n transform: 'translate3d(-10px, 0, 0)',\n },\n '20%, 40%, 60%, 80%': {\n transform: 'translate3d(10px, 0, 0)',\n },\n },\n\n 'fade-in': {\n '0%': { opacity: '0' },\n '100%': { opacity: '1' },\n },\n 'fade-out': {\n '0%': { opacity: '1' },\n '100%': { opacity: '0' },\n },\n },\n\n // .tw-ease-*\n transitionTimingFunction: {\n 'fast-out-slow-in': 'cubic-bezier(0.4, 0, 0.2, 1)',\n 'linear-out-slow-in': 'cubic-bezier(0, 0, 0.2, 1)',\n 'fast-out-linear-in': 'cubic-bezier(0.4, 0, 1, 1)',\n 'ease-in-out': 'cubic-bezier(0.4, 0, 0.6, 1)',\n 'fast-in-fast-out': 'cubic-bezier(0.25, 0.8, 0.25, 1)',\n swing: 'cubic-bezier(0.25, 0.8, 0.5, 1)',\n },\n\n // .tw-duration-*\n transitionDuration: {\n snap: '0.1s',\n fast: '0.165s',\n brisk: '0.333s',\n slow: '0.5s',\n sleepy: '1s',\n },\n },\n },\n\n corePlugins: {\n // because we have our own\n container: false,\n preflight: false,\n },\n} satisfies Config;\n\n/**\n * Utility to return a holistic array of tailwind color classes.\n *\n * This function will allow downstream applications to easily **blocklist** the same color\n * classes that are safelisted in the base preset, just in case they need to prevent unnecessarily\n * duplicating classes in their final build.\n *\n * @see {@link https://tailwindcss.com/docs/content-configuration#discarding-classes}\n */\nexport const getColorClasses = () => {\n const classes: Array<string> = [];\n\n ['purple', 'royal', 'blue', 'seafoam', 'teal', 'green', 'yellow', 'orange', 'red', 'ice'].forEach((color) => {\n ['bg', 'text', 'border', 'stroke'].forEach((plugin) => {\n ['', '400'].forEach((shade) => {\n classes.push(`tw-${plugin}-${color}${shade ? `-${shade}` : ''}`);\n });\n });\n });\n\n return classes;\n};\n"],"names":["tailwindBase","SCREEN_SIZES","getColorClasses","classes","color","plugin","shade"],"mappings":"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"}
|
package/dist/useSortable.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import d from "@leaflink/snitch";
|
|
2
|
-
import { u as C } from "./index-
|
|
2
|
+
import { u as C } from "./index-XZqpB2_R.js";
|
|
3
3
|
import { isRef as I, toValue as D, nextTick as w, computed as i, ref as y, watch as A, onMounted as S, onBeforeUnmount as $ } from "vue";
|
|
4
4
|
function G({ list: o, from: l, to: e }) {
|
|
5
5
|
if (l === e) return;
|
package/package.json
CHANGED
package/tailwind-base.ts
CHANGED
|
@@ -362,6 +362,8 @@ export default {
|
|
|
362
362
|
grow: 'grow 1s',
|
|
363
363
|
pulse: 'pulse 2s cubic-bezier(.4, 0, .6,1) infinite',
|
|
364
364
|
shake: 'shake 1s ease 0s 1 normal none running',
|
|
365
|
+
'fade-in': 'fade-in 0.3s ease-out',
|
|
366
|
+
'fade-out': 'fade-out 0.3s ease-in',
|
|
365
367
|
},
|
|
366
368
|
|
|
367
369
|
keyframes: {
|
|
@@ -390,6 +392,15 @@ export default {
|
|
|
390
392
|
transform: 'translate3d(10px, 0, 0)',
|
|
391
393
|
},
|
|
392
394
|
},
|
|
395
|
+
|
|
396
|
+
'fade-in': {
|
|
397
|
+
'0%': { opacity: '0' },
|
|
398
|
+
'100%': { opacity: '1' },
|
|
399
|
+
},
|
|
400
|
+
'fade-out': {
|
|
401
|
+
'0%': { opacity: '1' },
|
|
402
|
+
'100%': { opacity: '0' },
|
|
403
|
+
},
|
|
393
404
|
},
|
|
394
405
|
|
|
395
406
|
// .tw-ease-*
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { defineComponent as S, useCssModule as $, ref as a, computed as p, provide as z, onMounted as j, onUpdated as U, onDeactivated as V, onBeforeUnmount as q, createElementBlock as J, openBlock as _, createElementVNode as b, normalizeClass as C, normalizeStyle as R, renderSlot as L, createBlock as F, createCommentVNode as H, withCtx as T, unref as f, createTextVNode as K, createVNode as W, toDisplayString as Y } from "vue";
|
|
2
|
-
import Z from "lodash-es/debounce";
|
|
3
|
-
import G from "lodash-es/uniqueId";
|
|
4
|
-
import { DEBOUNCE as P } from "./constants.js";
|
|
5
|
-
import { t as Q } from "./locale.js";
|
|
6
|
-
import X from "./Dropdown.js";
|
|
7
|
-
import ee from "./Icon.js";
|
|
8
|
-
const te = Object.freeze({
|
|
9
|
-
key: Symbol("TABS_INJECTION_KEY")
|
|
10
|
-
});
|
|
11
|
-
var k = /* @__PURE__ */ ((i) => (i.Line = "line", i.Enclosed = "enclosed", i))(k || {});
|
|
12
|
-
const oe = {
|
|
13
|
-
class: "stash-tabs tw-relative",
|
|
14
|
-
role: "tabList",
|
|
15
|
-
"data-test": "stash-tabs"
|
|
16
|
-
}, re = ["aria-controls", "aria-expanded", "onClick"], ae = ["id"], ve = /* @__PURE__ */ S({
|
|
17
|
-
__name: "Tabs",
|
|
18
|
-
props: {
|
|
19
|
-
activeTab: {},
|
|
20
|
-
variant: { default: k.Line }
|
|
21
|
-
},
|
|
22
|
-
emits: ["update:activeTab"],
|
|
23
|
-
setup(i, { emit: I }) {
|
|
24
|
-
const A = I, d = i, N = $(), l = a(), c = a(), n = a(void 0), M = "IntersectionObserver" in window, r = a(/* @__PURE__ */ new Set()), m = a(0), h = a(), g = G("more-dropdown-menu-"), u = a(!1), v = p({
|
|
25
|
-
get() {
|
|
26
|
-
return d.activeTab;
|
|
27
|
-
},
|
|
28
|
-
set(t) {
|
|
29
|
-
A("update:activeTab", t);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
function O(t) {
|
|
33
|
-
v.value = t;
|
|
34
|
-
}
|
|
35
|
-
z(te.key, {
|
|
36
|
-
activeTab: p(() => v.value),
|
|
37
|
-
variant: p(() => d.variant),
|
|
38
|
-
setActiveTab: O
|
|
39
|
-
});
|
|
40
|
-
function E() {
|
|
41
|
-
if (!M || !l.value)
|
|
42
|
-
return;
|
|
43
|
-
const t = Array.from(l.value?.children), x = {
|
|
44
|
-
root: l.value,
|
|
45
|
-
rootMargin: "0px",
|
|
46
|
-
threshold: Array.from({ length: 100 }).map((e, s) => (s + 1) / 100)
|
|
47
|
-
};
|
|
48
|
-
if (n.value = new IntersectionObserver((e) => {
|
|
49
|
-
e.forEach((s) => {
|
|
50
|
-
const o = s.target.getAttribute("id");
|
|
51
|
-
s.intersectionRatio > 0.94 ? r.value.has(o) && r.value.delete(o) : o && !r.value.has(o) && r.value.add(o);
|
|
52
|
-
});
|
|
53
|
-
}, x), t.forEach((e) => {
|
|
54
|
-
n.value?.observe(e), r.value.has(e.getAttribute("id")) ? e.classList.add("tw-invisible") : e.classList.remove("tw-invisible");
|
|
55
|
-
}), m.value = h.value?.$el?.getBoundingClientRect().width || 0, !c.value)
|
|
56
|
-
return;
|
|
57
|
-
Array.from(c.value.children).forEach((e) => {
|
|
58
|
-
const s = e.firstElementChild;
|
|
59
|
-
if (s.className = "", e.className = "", e.classList.add(
|
|
60
|
-
N["menu-tab"],
|
|
61
|
-
"tw-flex",
|
|
62
|
-
"tw-items-center",
|
|
63
|
-
"tw-justify-between",
|
|
64
|
-
"tw-rounded",
|
|
65
|
-
"tw-text-sm",
|
|
66
|
-
"tw-p-1.5",
|
|
67
|
-
"tw-text-left",
|
|
68
|
-
"tw-cursor-pointer",
|
|
69
|
-
"tw-text-ice-700",
|
|
70
|
-
"hover:!tw-bg-ice-200",
|
|
71
|
-
"aria-disabled:tw-text-ice-500",
|
|
72
|
-
"aria-disabled:tw-pointer-events-none",
|
|
73
|
-
"aria-disabled:hover:tw-text-ice-500",
|
|
74
|
-
"aria-disabled:hover:tw-bg-inherit",
|
|
75
|
-
"aria-disabled:hover:tw-cursor-default",
|
|
76
|
-
"aria-selected:tw-bg-blue-100"
|
|
77
|
-
), e.querySelector(".stash-tabs__dropdown-selected-tab-icon")?.remove(), e.getAttribute("id") === `tab-${v.value}`) {
|
|
78
|
-
const o = document.createElement("span");
|
|
79
|
-
o.className = "stash-tabs__dropdown-selected-tab-icon", o.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" class="tw-text-blue-500 tw-w-6 tw-h-6" viewBox="0 0 24 24" fill="none"><path fill="currentColor" fill-rule="evenodd" d="M20.707 6.854 9 18.561l-5.707-5.707 1.414-1.414L9 15.733 19.293 5.44l1.414 1.414Z" clip-rule="evenodd"/></svg>', e.appendChild(o);
|
|
80
|
-
}
|
|
81
|
-
r.value.has(e.getAttribute("id")) ? e.classList.remove("tw-hidden") : e.classList.add("tw-hidden"), e.removeEventListener("click", () => {
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
const B = Z(E, P.FAST, { leading: !0 });
|
|
86
|
-
function w() {
|
|
87
|
-
n.value && (n.value.disconnect(), n.value = void 0);
|
|
88
|
-
}
|
|
89
|
-
j(() => {
|
|
90
|
-
E();
|
|
91
|
-
}), U(() => {
|
|
92
|
-
w(), B();
|
|
93
|
-
}), V(() => {
|
|
94
|
-
w();
|
|
95
|
-
}), q(() => {
|
|
96
|
-
w();
|
|
97
|
-
});
|
|
98
|
-
function D(t) {
|
|
99
|
-
t(), u.value = !u.value;
|
|
100
|
-
}
|
|
101
|
-
return (t, x) => (_(), J("div", oe, [
|
|
102
|
-
b("ul", {
|
|
103
|
-
ref_key: "tabListEl",
|
|
104
|
-
ref: l,
|
|
105
|
-
style: R({
|
|
106
|
-
width: `calc(100% - ${m.value}px)`
|
|
107
|
-
}),
|
|
108
|
-
class: C(["stash-tabs-list tw-flex tw-items-end", {
|
|
109
|
-
"stash-tabs-list--line": t.variant === "line",
|
|
110
|
-
"stash-tabs-list--enclosed": t.variant === "enclosed",
|
|
111
|
-
"tw-gap-6": t.variant === "line"
|
|
112
|
-
}])
|
|
113
|
-
}, [
|
|
114
|
-
L(t.$slots, "default"),
|
|
115
|
-
r.value.size ? (_(), F(X, {
|
|
116
|
-
key: 0,
|
|
117
|
-
ref_key: "moreDropdownEl",
|
|
118
|
-
ref: h,
|
|
119
|
-
class: "!tw-absolute tw-right-0 tw-top-0"
|
|
120
|
-
}, {
|
|
121
|
-
toggle: T(({ toggle: y }) => [
|
|
122
|
-
b("button", {
|
|
123
|
-
"aria-haspopup": "menu",
|
|
124
|
-
"aria-controls": f(g),
|
|
125
|
-
"aria-expanded": u.value,
|
|
126
|
-
class: C(["tw-flex tw-cursor-pointer tw-items-center tw-justify-center tw-border-solid tw-px-6 tw-py-1.5 tw-text-sm tw-font-medium tw-text-blue-500 hover:tw-text-blue-700", { "tw-border-t-4 tw-border-transparent": d.variant === "enclosed" }]),
|
|
127
|
-
type: "button",
|
|
128
|
-
onClick: (e) => D(y)
|
|
129
|
-
}, [
|
|
130
|
-
K(Y(f(Q)("ll.more")) + " ", 1),
|
|
131
|
-
W(ee, { name: "caret-down" })
|
|
132
|
-
], 10, re)
|
|
133
|
-
]),
|
|
134
|
-
default: T(() => [
|
|
135
|
-
b("ul", {
|
|
136
|
-
id: f(g),
|
|
137
|
-
ref_key: "moreDropdownMenuEl",
|
|
138
|
-
ref: c,
|
|
139
|
-
class: "tw-space-y-1.5 tw-px-1.5 tw-pb-1.5",
|
|
140
|
-
role: "menu"
|
|
141
|
-
}, [
|
|
142
|
-
L(t.$slots, "default")
|
|
143
|
-
], 8, ae)
|
|
144
|
-
]),
|
|
145
|
-
_: 3
|
|
146
|
-
}, 512)) : H("", !0)
|
|
147
|
-
], 6)
|
|
148
|
-
]));
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
export {
|
|
152
|
-
te as T,
|
|
153
|
-
ve as _,
|
|
154
|
-
k as a
|
|
155
|
-
};
|
|
156
|
-
//# sourceMappingURL=Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js","sources":["../src/components/Tabs/keys.ts","../src/components/Tabs/models.ts","../src/components/Tabs/Tabs.vue"],"sourcesContent":["import { Injection } from '../../../types/utils';\nimport { TabsInjection } from './models';\n\nexport const TABS_INJECTION: Injection<TabsInjection> = Object.freeze({\n key: Symbol('TABS_INJECTION_KEY'),\n});\n","import { ComputedRef } from 'vue';\n\nexport enum TabVariant {\n Line = 'line',\n Enclosed = 'enclosed',\n}\n\nexport type TabVariants = `${TabVariant}`;\n\nexport interface TabsInjection {\n activeTab: ComputedRef<string>;\n variant: ComputedRef<TabVariants>;\n setActiveTab: (newTabValue: string) => void;\n}\n","<script lang=\"ts\">\n import { TabVariant, TabVariants } from './models';\n\n export * from './keys';\n export * from './models';\n\n export interface TabsProps {\n /**\n * The currently active tab value\n */\n activeTab: string;\n\n /**\n * Tabs variant\n */\n variant?: TabVariants;\n }\n</script>\n\n<script setup lang=\"ts\">\n import debounce from 'lodash-es/debounce';\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, onBeforeUnmount, onDeactivated, onMounted, onUpdated, provide, Ref, ref, useCssModule } from 'vue';\n\n import { DEBOUNCE } from '../../constants';\n import { t } from '../../locale';\n import Dropdown from '../Dropdown/Dropdown.vue';\n import Icon from '../Icon/Icon.vue';\n import { TABS_INJECTION } from './keys';\n\n const emit = defineEmits<{\n (e: 'update:activeTab', newTabValue: TabsProps['activeTab']): void;\n }>();\n\n const props = withDefaults(defineProps<TabsProps>(), {\n variant: TabVariant.Line,\n });\n const classes = useCssModule();\n\n const tabListEl = ref();\n const moreDropdownMenuEl = ref();\n const observer: Ref<IntersectionObserver | undefined> = ref(undefined);\n const hasIntersectionObserver = 'IntersectionObserver' in window;\n const overflowIds = ref<Set<string>>(new Set());\n const moreDropdownWidth = ref(0);\n const moreDropdownEl = ref<InstanceType<typeof Dropdown>>();\n const moreMenuId = uniqueId('more-dropdown-menu-');\n const isMoreMenuOpen = ref(false);\n\n const currentActiveTab = computed({\n get() {\n return props.activeTab;\n },\n set(nv: TabsProps['activeTab']) {\n emit('update:activeTab', nv);\n },\n });\n\n function setActiveTab(newTabValue: TabsProps['activeTab']) {\n currentActiveTab.value = newTabValue;\n }\n\n provide(TABS_INJECTION.key, {\n activeTab: computed(() => currentActiveTab.value),\n variant: computed(() => props.variant),\n setActiveTab,\n });\n\n function initObserve() {\n if (!hasIntersectionObserver) {\n return;\n }\n\n if (!tabListEl.value) {\n return;\n }\n\n const tabs = Array.from(tabListEl.value?.children as HTMLLIElement[]);\n const options = {\n root: tabListEl.value,\n rootMargin: '0px',\n threshold: Array.from({ length: 100 }).map((v, i) => (i + 1) / 100),\n };\n\n observer.value = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n const dataId = entry.target.getAttribute('id') as string;\n /**\n * Check for partial intersection.\n * Zooming out can result in ratio of approx 0.984\n * Anything higher will result in nav items disappearing\n */\n if (entry.intersectionRatio > 0.94) {\n // show tab, hide in dropdown\n if (overflowIds.value.has(dataId)) {\n overflowIds.value.delete(dataId);\n }\n } else {\n // hide tab, show in dropdown\n if (dataId && !overflowIds.value.has(dataId)) {\n overflowIds.value.add(dataId);\n }\n }\n });\n }, options);\n\n tabs.forEach((element) => {\n observer.value?.observe(element);\n if (overflowIds.value.has(element.getAttribute('id') as string)) {\n element.classList.add('tw-invisible');\n } else {\n element.classList.remove('tw-invisible');\n }\n });\n\n moreDropdownWidth.value = moreDropdownEl.value?.$el?.getBoundingClientRect().width || 0;\n\n if (!moreDropdownMenuEl.value) {\n return;\n }\n\n const dropdownList = Array.from(moreDropdownMenuEl.value.children as HTMLLIElement[]);\n dropdownList.forEach((element) => {\n const firstElementChild = element.firstElementChild as Element;\n firstElementChild.className = '';\n element.className = '';\n\n element.classList.add(\n classes['menu-tab'],\n 'tw-flex',\n 'tw-items-center',\n 'tw-justify-between',\n 'tw-rounded',\n 'tw-text-sm',\n 'tw-p-1.5',\n 'tw-text-left',\n 'tw-cursor-pointer',\n 'tw-text-ice-700',\n 'hover:!tw-bg-ice-200',\n 'aria-disabled:tw-text-ice-500',\n 'aria-disabled:tw-pointer-events-none',\n 'aria-disabled:hover:tw-text-ice-500',\n 'aria-disabled:hover:tw-bg-inherit',\n 'aria-disabled:hover:tw-cursor-default',\n 'aria-selected:tw-bg-blue-100',\n );\n\n element.querySelector('.stash-tabs__dropdown-selected-tab-icon')?.remove();\n\n if (element.getAttribute('id') === `tab-${currentActiveTab.value}`) {\n const span = document.createElement('span');\n span.className = 'stash-tabs__dropdown-selected-tab-icon';\n span.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tw-text-blue-500 tw-w-6 tw-h-6\" viewBox=\"0 0 24 24\" fill=\"none\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M20.707 6.854 9 18.561l-5.707-5.707 1.414-1.414L9 15.733 19.293 5.44l1.414 1.414Z\" clip-rule=\"evenodd\"/></svg>`;\n element.appendChild(span);\n }\n\n if (!overflowIds.value.has(element.getAttribute('id') as string)) {\n element.classList.add('tw-hidden');\n } else {\n element.classList.remove('tw-hidden');\n }\n\n element.removeEventListener('click', () => {});\n });\n }\n\n const debouncedInitObserve = debounce(initObserve, DEBOUNCE.FAST, { leading: true });\n\n function destroyObserver() {\n if (observer.value) {\n observer.value.disconnect();\n observer.value = undefined;\n }\n }\n\n onMounted(() => {\n initObserve();\n });\n\n onUpdated(() => {\n destroyObserver();\n debouncedInitObserve();\n });\n\n onDeactivated(() => {\n destroyObserver();\n });\n\n onBeforeUnmount(() => {\n destroyObserver();\n });\n\n function onMoreClick(toggleMoreDropdown) {\n toggleMoreDropdown();\n isMoreMenuOpen.value = !isMoreMenuOpen.value;\n }\n</script>\n\n<template>\n <div class=\"stash-tabs tw-relative\" role=\"tabList\" data-test=\"stash-tabs\">\n <ul\n ref=\"tabListEl\"\n :style=\"{\n width: `calc(100% - ${moreDropdownWidth}px)`,\n }\"\n class=\"stash-tabs-list tw-flex tw-items-end\"\n :class=\"{\n 'stash-tabs-list--line': variant === 'line',\n 'stash-tabs-list--enclosed': variant === 'enclosed',\n 'tw-gap-6': variant === 'line',\n }\"\n >\n <slot></slot>\n\n <Dropdown v-if=\"overflowIds.size\" ref=\"moreDropdownEl\" class=\"!tw-absolute tw-right-0 tw-top-0\">\n <template #toggle=\"{ toggle }\">\n <button\n aria-haspopup=\"menu\"\n :aria-controls=\"moreMenuId\"\n :aria-expanded=\"isMoreMenuOpen\"\n class=\"tw-flex tw-cursor-pointer tw-items-center tw-justify-center tw-border-solid tw-px-6 tw-py-1.5 tw-text-sm tw-font-medium tw-text-blue-500 hover:tw-text-blue-700\"\n :class=\"{ 'tw-border-t-4 tw-border-transparent': props.variant === 'enclosed' }\"\n type=\"button\"\n @click=\"onMoreClick(toggle)\"\n >\n {{ t('ll.more') }}\n <Icon name=\"caret-down\" />\n </button>\n </template>\n <template #default>\n <ul :id=\"moreMenuId\" ref=\"moreDropdownMenuEl\" class=\"tw-space-y-1.5 tw-px-1.5 tw-pb-1.5\" role=\"menu\">\n <slot></slot>\n </ul>\n </template>\n </Dropdown>\n </ul>\n </div>\n</template>\n\n<style module>\n .menu-tab > a {\n /* prevents the global link styles to overwrite the overflowed tab styles */\n &,\n &:hover,\n &:focus {\n color: inherit;\n }\n }\n</style>\n"],"names":["TABS_INJECTION","TabVariant","emit","__emit","props","__props","classes","useCssModule","tabListEl","ref","moreDropdownMenuEl","observer","hasIntersectionObserver","overflowIds","moreDropdownWidth","moreDropdownEl","moreMenuId","uniqueId","isMoreMenuOpen","currentActiveTab","computed","nv","setActiveTab","newTabValue","provide","initObserve","tabs","options","v","i","entries","entry","dataId","element","firstElementChild","span","debouncedInitObserve","debounce","DEBOUNCE","destroyObserver","onMounted","onUpdated","onDeactivated","onBeforeUnmount","onMoreClick","toggleMoreDropdown","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeStyle","variant","_renderSlot","_ctx","_createBlock","Dropdown","_withCtx","toggle","_unref","_normalizeClass","$event","_createTextVNode","_toDisplayString","t","_createVNode","Icon"],"mappings":"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"}
|
package/dist/index-GUu9zvbg.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { unref as T, getCurrentScope as j, onScopeDispose as C, ref as v, watch as H } from "vue";
|
|
2
|
-
function _(e) {
|
|
3
|
-
return j() ? (C(e), !0) : !1;
|
|
4
|
-
}
|
|
5
|
-
function A(e) {
|
|
6
|
-
return typeof e == "function" ? e() : T(e);
|
|
7
|
-
}
|
|
8
|
-
const L = typeof window < "u" && typeof document < "u";
|
|
9
|
-
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
|
|
10
|
-
const k = Object.prototype.toString, B = (e) => k.call(e) === "[object Object]", D = () => {
|
|
11
|
-
}, W = L ? window : void 0;
|
|
12
|
-
function M(e) {
|
|
13
|
-
var n;
|
|
14
|
-
const s = A(e);
|
|
15
|
-
return (n = s?.$el) != null ? n : s;
|
|
16
|
-
}
|
|
17
|
-
function S(...e) {
|
|
18
|
-
let n, s, l, a;
|
|
19
|
-
if (typeof e[0] == "string" || Array.isArray(e[0]) ? ([s, l, a] = e, n = W) : [n, s, l, a] = e, !n)
|
|
20
|
-
return D;
|
|
21
|
-
Array.isArray(s) || (s = [s]), Array.isArray(l) || (l = [l]);
|
|
22
|
-
const o = [], f = () => {
|
|
23
|
-
o.forEach((u) => u()), o.length = 0;
|
|
24
|
-
}, g = (u, c, r, i) => (u.addEventListener(c, r, i), () => u.removeEventListener(c, r, i)), p = H(
|
|
25
|
-
() => [M(n), A(a)],
|
|
26
|
-
([u, c]) => {
|
|
27
|
-
if (f(), !u)
|
|
28
|
-
return;
|
|
29
|
-
const r = B(c) ? { ...c } : c;
|
|
30
|
-
o.push(
|
|
31
|
-
...s.flatMap((i) => l.map((m) => g(u, i, m, r)))
|
|
32
|
-
);
|
|
33
|
-
},
|
|
34
|
-
{ immediate: !0, flush: "post" }
|
|
35
|
-
), d = () => {
|
|
36
|
-
p(), f();
|
|
37
|
-
};
|
|
38
|
-
return _(d), d;
|
|
39
|
-
}
|
|
40
|
-
const G = {
|
|
41
|
-
page: (e) => [e.pageX, e.pageY],
|
|
42
|
-
client: (e) => [e.clientX, e.clientY],
|
|
43
|
-
screen: (e) => [e.screenX, e.screenY],
|
|
44
|
-
movement: (e) => e instanceof Touch ? null : [e.movementX, e.movementY]
|
|
45
|
-
};
|
|
46
|
-
function P(e = {}) {
|
|
47
|
-
const {
|
|
48
|
-
type: n = "page",
|
|
49
|
-
touch: s = !0,
|
|
50
|
-
resetOnTouchEnds: l = !1,
|
|
51
|
-
initialValue: a = { x: 0, y: 0 },
|
|
52
|
-
window: o = W,
|
|
53
|
-
target: f = o,
|
|
54
|
-
scroll: g = !0,
|
|
55
|
-
eventFilter: p
|
|
56
|
-
} = e;
|
|
57
|
-
let d = null, u = 0, c = 0;
|
|
58
|
-
const r = v(a.x), i = v(a.y), m = v(null), h = typeof n == "function" ? n : G[n], w = (t) => {
|
|
59
|
-
const O = h(t);
|
|
60
|
-
d = t, O && ([r.value, i.value] = O, m.value = "mouse"), o && (u = o.scrollX, c = o.scrollY);
|
|
61
|
-
}, y = (t) => {
|
|
62
|
-
if (t.touches.length > 0) {
|
|
63
|
-
const O = h(t.touches[0]);
|
|
64
|
-
O && ([r.value, i.value] = O, m.value = "touch");
|
|
65
|
-
}
|
|
66
|
-
}, b = () => {
|
|
67
|
-
if (!d || !o)
|
|
68
|
-
return;
|
|
69
|
-
const t = h(d);
|
|
70
|
-
d instanceof MouseEvent && t && (r.value = t[0] + o.scrollX - u, i.value = t[1] + o.scrollY - c);
|
|
71
|
-
}, x = () => {
|
|
72
|
-
r.value = a.x, i.value = a.y;
|
|
73
|
-
}, E = p ? (t) => p(() => w(t), {}) : (t) => w(t), X = p ? (t) => p(() => y(t), {}) : (t) => y(t), Y = p ? () => p(() => b(), {}) : () => b();
|
|
74
|
-
if (f) {
|
|
75
|
-
const t = { passive: !0 };
|
|
76
|
-
S(f, ["mousemove", "dragover"], E, t), s && n !== "movement" && (S(f, ["touchstart", "touchmove"], X, t), l && S(f, "touchend", x, t)), g && n === "page" && S(o, "scroll", Y, { passive: !0 });
|
|
77
|
-
}
|
|
78
|
-
return {
|
|
79
|
-
x: r,
|
|
80
|
-
y: i,
|
|
81
|
-
sourceType: m
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
function V(e, n = {}) {
|
|
85
|
-
const {
|
|
86
|
-
handleOutside: s = !0,
|
|
87
|
-
window: l = W
|
|
88
|
-
} = n, a = n.type || "page", { x: o, y: f, sourceType: g } = P(n), p = v(e ?? l?.document.body), d = v(0), u = v(0), c = v(0), r = v(0), i = v(0), m = v(0), h = v(!0);
|
|
89
|
-
let w = () => {
|
|
90
|
-
};
|
|
91
|
-
return l && (w = H(
|
|
92
|
-
[p, o, f],
|
|
93
|
-
() => {
|
|
94
|
-
const y = M(p);
|
|
95
|
-
if (!y || !(y instanceof Element))
|
|
96
|
-
return;
|
|
97
|
-
const {
|
|
98
|
-
left: b,
|
|
99
|
-
top: x,
|
|
100
|
-
width: E,
|
|
101
|
-
height: X
|
|
102
|
-
} = y.getBoundingClientRect();
|
|
103
|
-
c.value = b + (a === "page" ? l.pageXOffset : 0), r.value = x + (a === "page" ? l.pageYOffset : 0), i.value = X, m.value = E;
|
|
104
|
-
const Y = o.value - c.value, t = f.value - r.value;
|
|
105
|
-
h.value = E === 0 || X === 0 || Y < 0 || t < 0 || Y > E || t > X, (s || !h.value) && (d.value = Y, u.value = t);
|
|
106
|
-
},
|
|
107
|
-
{ immediate: !0 }
|
|
108
|
-
), S(document, "mouseleave", () => {
|
|
109
|
-
h.value = !0;
|
|
110
|
-
})), {
|
|
111
|
-
x: o,
|
|
112
|
-
y: f,
|
|
113
|
-
sourceType: g,
|
|
114
|
-
elementX: d,
|
|
115
|
-
elementY: u,
|
|
116
|
-
elementPositionX: c,
|
|
117
|
-
elementPositionY: r,
|
|
118
|
-
elementHeight: i,
|
|
119
|
-
elementWidth: m,
|
|
120
|
-
isOutside: h,
|
|
121
|
-
stop: w
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
export {
|
|
125
|
-
V as a,
|
|
126
|
-
M as u
|
|
127
|
-
};
|
|
128
|
-
//# sourceMappingURL=index-GUu9zvbg.js.map
|